計算機操作系統(tǒng)綜述相關知識
計算機操作系統(tǒng)綜述相關知識
計算機操作系統(tǒng)或許你天天都有用到,但是你了解操作系統(tǒng)的基本概念嗎?下面由學習啦小編為大家整理了計算機操作系統(tǒng)綜述的相關知識,希望對大家有幫助!
計算機操作系統(tǒng)綜述
1.計算機系統(tǒng)主要由四個基礎部分組成:處理器、存儲器、輸入輸出(IO)模塊和系統(tǒng)總線。
處理器:控制計算機的操作,執(zhí)行數(shù)據(jù)的處理,通常指CPU。在處理中含有寄存器,寄存器相對內(nèi)存來說容量很小,但存取速度相當快,可以用來暫存指令和數(shù)據(jù)等。寄存器有多種不同的分類。如地址寄存器和指令寄存器等。地址寄存器存放下一步需要從存儲器中讀取的存儲器地址,指令寄存器存取當前正在執(zhí)行的程序指令。
存儲器:分為內(nèi)存和外存。主要用于存儲數(shù)據(jù)和程序,通常都是易失的(計算機關機后數(shù)據(jù)丟失),因此也是數(shù)據(jù)臨時性的存放場所。
輸入輸出模塊:在計算機和外部環(huán)境之間移動數(shù)據(jù),外部環(huán)境包括各種設備(如硬盤、磁盤和各種終端等)。輸入模塊是把人們所熟悉的某種信息形式變換為及其內(nèi)部所能接收和識別的二進制信息形式。輸出設備把計算機處理結果變化為人和其他機器設備所能接收和識別的信息形式。注意:IO模塊也可以直接和處理器交換數(shù)據(jù)。也可以直接與內(nèi)存交換數(shù)據(jù),此時,IO模塊對存儲器發(fā)出讀命令或寫命令,從而免去了處理器負責數(shù)據(jù)交換的任務。這種操作叫做直接內(nèi)存存儲(DMA)。
系統(tǒng)總線:是計算機系統(tǒng)各部件之間進行數(shù)據(jù)傳送的公共通路。
2.指令的執(zhí)行
在不考慮中斷的情況下,指令的執(zhí)行包括兩個階段:處理器從存儲器中取指令階段和處理器執(zhí)行指令階段。去取指令階段和執(zhí)行指令階段構成一個指令周期。寄存器中的程序計算器保存下一次要取的指令地址,每次取到的指令放在指令寄存器,處理器解釋指令并執(zhí)行對應的操作。
中斷:中斷是處理器中斷當前正在執(zhí)行的程序指令,是其他模塊(IO模塊、存儲器)中斷處理器正常處理過程的機制。主要目的是提高處理器的效率。原因是因為其他模塊在執(zhí)行過程中比處理器慢很多,導致在處理器在執(zhí)行過程中如果遇到與其他的模塊進行交互(因為其他模塊可能需要進行自己的特有某些操作,如打印機打印操作過程中,此時是不需要處理器在一直處理等待狀態(tài)的...),有很長時間實際上是處于等待狀態(tài)而未得到充分利用。
中斷請求:是其他模塊向處理器發(fā)送的用于希望處理器中斷當前處理器正在執(zhí)行的指令,轉而執(zhí)行此外部模塊的中斷程序,并且處理器負責將正在執(zhí)行的程序掛起。當中斷處理完成后,處理器恢復執(zhí)行。
考慮到中斷階段,指令的執(zhí)行周期變?yōu)榱巳≈噶铍A段、執(zhí)行階段和中斷階段。
3. 中斷處理流程:
其他模塊設別控制器或其他系統(tǒng)硬件產(chǎn)生一個中斷信號給處理器 >> 處理器結束當前指令的執(zhí)行 >> 處理器發(fā)送中斷應答信號 >> 處理器將程序狀態(tài)字和程序計數(shù)器壓入控制棧 >> 根據(jù)中斷,處理器加載新的程序計數(shù)器 >> 保存剩余的處理狀態(tài)信息 >> 處理器處理中斷程序 >> 中斷處理完成后,處理器恢復處理狀態(tài)信息 >> 處理器恢復老的程序狀態(tài)字和程序計算器 >> 處理器繼續(xù)執(zhí)行原來的程序指令
4. 存儲器的存儲結構
存儲器的設計主要要在三個方面做出協(xié)調(diào):容量、速度和價格。存儲器的層次結構是依據(jù)局部性原理:處理器訪問存儲器時,無論是存取指令還是存取數(shù)據(jù),所訪問的存儲單元都趨于聚集在一個較小的連續(xù)單元中。也就是說位于被訪問字附件的數(shù)據(jù)在近期被訪問到的概率比較大。局部性又包括三種不同的類型:時間局部性——如果一個信息項正在被訪問,那么在近期它很可能還會被再次訪問??臻g局部性——在最近和將來用到的信息很可能與現(xiàn)在使用的信息在空間商地址上是臨近的。順序局部性——在典型程序中,除轉移類指令外,大部分指令是順序執(zhí)行的。
二級存儲器:與一級存儲器相對,二級存儲器是外部的非易失性,外部的或可移動的。二級存儲設備容量上更大,讀取更慢但相對更便宜。
高速緩存:介于處理器和內(nèi)存中間的高速小容量的存儲器,和內(nèi)存一起構成一級存儲器。高速緩存存儲器和內(nèi)存之間的信息調(diào)度和傳送是由硬件自動進行的。高速緩存有時也分為一級高速緩存、二級高速緩存...每級高速緩存都比前一級存取速度慢但容量大。高速緩存是為了解決處理器處理速度遠快于內(nèi)存的速度而出現(xiàn)的,其基本原理還是局部性原理。高速緩存包含一部分內(nèi)存數(shù)據(jù)的副本,此后處理器讀取數(shù)據(jù)時,首先從高速緩存中判斷是否存在,若有則直接從高速緩存中傳送過去,若沒有則從內(nèi)存中以一定長度的塊數(shù)據(jù)先讀入高速緩存,然后再從高速緩存中傳到處理器。
補充:關于計算機操作系統(tǒng)概念的一些疑點和難點
并行性與并發(fā)性的區(qū)別和聯(lián)系
并行性和并發(fā)性是既相似又有區(qū)別的兩個概念。并行性是指兩個或多個事件在同一時刻發(fā)生。并發(fā)性是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生。
在多道程序環(huán)境下,并發(fā)性是指在一段時間內(nèi),宏觀上有多個程序在同時運行,但在單處理器系統(tǒng)中每一時刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時地交替執(zhí)行。倘若在計算機系統(tǒng)中有多個處理器(CPU),則這些可以并發(fā)執(zhí)行的程序便被分配到多個處理器上,實現(xiàn)并行執(zhí)行,即利用每個處理器來處理一個可并發(fā)執(zhí)行的程序。
特權指令與非特權指令
所謂特權指令是指有特殊權限的指令,由于這類指令的權限最大,如果使用不當,將導致整個系統(tǒng)崩潰。比如:清內(nèi)存、置時鐘、分配系統(tǒng)資源、修改虛存的段表或頁表、修改用戶的訪問權限等。如果所有的程序都能使用這些指令,那么你的系統(tǒng)一天死機《回就不足為奇了。為了保證系統(tǒng)安全,這類指令只能用于操作系統(tǒng)或其他系統(tǒng)軟件,不直接提供給用戶使用。因此,特權指令必須在核心態(tài)執(zhí)行。實際上,CPU在核心態(tài)下可以執(zhí)行指令系統(tǒng)的全集。形象地說,特權指令就是那些兒童不宜的東西,而非特權指令則是老少皆宜。
為了防止用戶程序中使用特權指令,用戶態(tài)下只能使用非特權指令,核心態(tài)下可以使用全部指令。當在用戶態(tài)下使用特權指令時,將產(chǎn)生中斷以阻止用戶使用特權指令。所以把用戶程序放在用戶態(tài)下運行,而操作系統(tǒng)中必須使用特權指令的那部分程序在核心態(tài)下運行,保證了計算機系統(tǒng)的安全可靠。從用戶態(tài)轉換為核心態(tài)的唯一途徑是中斷或異常。
訪管指令與訪管中斷
訪管指令是一條可以在用戶態(tài)下執(zhí)行的指令。在用戶程序中,因要求操作系統(tǒng)提供服務而有意識地使用訪管指令,從而產(chǎn)生一個中斷事件(自愿中斷),將操作系統(tǒng)轉換為核心態(tài),稱為訪管中斷。訪管中斷由訪管指令產(chǎn)生,程序員使用訪管指令向操作系統(tǒng)請求服務。
為什么要在程序中引入訪管指令呢?這是因為用戶程序只能在用戶態(tài)下運行,如果用戶程序想要完成在用戶態(tài)下無法完成的工作,該怎么辦?解決這個問題要靠訪管指令。訪管指令本身不是特權指令,其基本功能是讓程序擁有“自愿進管”的手段,從而引起訪管中斷。
當處于用戶態(tài)的用戶程序使用訪管指令時,系統(tǒng)根據(jù)訪管指令的操作數(shù)執(zhí)行訪管中斷處理程序,訪管中斷處理程序將按系統(tǒng)調(diào)用的操作數(shù)和參數(shù)轉到相應的例行子程序。完成服務功能后,退出中斷,返回到用戶程序斷點繼續(xù)執(zhí)行。