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