操作系統(tǒng)ch2教材_第1頁(yè)
操作系統(tǒng)ch2教材_第2頁(yè)
操作系統(tǒng)ch2教材_第3頁(yè)
操作系統(tǒng)ch2教材_第4頁(yè)
操作系統(tǒng)ch2教材_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章 操作系統(tǒng)的運(yùn)行環(huán)境

4學(xué)時(shí)

第2章主要教學(xué)內(nèi)容2.1計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)2.2中央處理機(jī)(CPU)2.3計(jì)算機(jī)的存儲(chǔ)結(jié)構(gòu)2.4計(jì)算機(jī)系統(tǒng)的I/O系統(tǒng)結(jié)構(gòu)2.5中斷技術(shù)2.6多道程序設(shè)計(jì)技術(shù)2.1計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)1.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)2.引導(dǎo)程序的作用3.引導(dǎo)裝載程序與“引導(dǎo)塊”1.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)現(xiàn)代的通用計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是一種層次式結(jié)構(gòu)。最內(nèi)層是硬件系統(tǒng),最外層是使用計(jì)算機(jī)系統(tǒng)的人,人與硬件之間是軟件系統(tǒng)。軟件系統(tǒng)包括系統(tǒng)軟件、支援軟件和應(yīng)用軟件三部分。硬件系統(tǒng)由中央處理器、存儲(chǔ)器、輸入輸出控制系統(tǒng)和各種外圍設(shè)備組成。第4章才真正進(jìn)入操作系統(tǒng)2.引導(dǎo)程序(自舉程序)咱書(shū):bootstrapprogram其他叫法:bootstraploaderbootstrapbootloader誰(shuí)來(lái)加載操作系統(tǒng)?應(yīng)用程序由操作系統(tǒng)從硬盤(pán)加載至內(nèi)存問(wèn):硬盤(pán)上的操作系統(tǒng)由誰(shuí)來(lái)加載?答:由操作系統(tǒng)自己(的一部分)來(lái)加載,自己加載自己,所以叫“自舉”這部分就叫bootstraploader誰(shuí)來(lái)加載bootstraploader?答:ROM中的一段代碼可是,你作為rom中的一段代碼,你怕連硬盤(pán)上是啥操作系統(tǒng)都不知道呢吧,你咋加載人家呢?師父領(lǐng)進(jìn)門(mén),修行靠個(gè)人ROM中的小loader加載硬盤(pán)上的大loader硬盤(pán)上的大loader加載操作系統(tǒng)好處是??PC機(jī)的自舉過(guò)程PC機(jī)加電后,二話不說(shuō),就開(kāi)始執(zhí)行地址FFFFFFF0處的指令。這個(gè)位置有什么指令呢?FFFFFFF0這個(gè)位置剛好位于ROM中,放的是一段名為BIOS的程序。BIOS這個(gè)程序干很多事:先power-onself-test(POST),然后加載……加載what?POST硬盤(pán)上的大loader的兩步走ROM中的BIOS加載硬盤(pán)上的MasterBootRecord(MBR)MBR中的代碼再加載active分區(qū)中的VolumeBootRecord(VBR),這個(gè)東西不同的操作系統(tǒng)不一樣:Linux的GRUB,LILOWindows的NTLDRGRUBLILONTLDR為啥整這么麻煩?硬盤(pán)上可以同時(shí)裝多個(gè)操作系統(tǒng)MBR放不了多少東西PC機(jī)的硬盤(pán)硬盤(pán)最多可分成四個(gè)分區(qū)(partition)分區(qū)表在MBR中想要更多分區(qū)怎么辦?名為“擴(kuò)展分區(qū)(extendedpartition)”的分區(qū),可以進(jìn)一步劃分為多個(gè)邏輯分區(qū)(logicalpartition)2.2中央處理機(jī)(CPU)2.2.1CPU的組成2.2.2CPU的工作狀態(tài)和運(yùn)行現(xiàn)場(chǎng)2.2.3特權(quán)指令與非特權(quán)指令1.CPU的組成教材這塊寫(xiě)的比較混亂請(qǐng)以《組成原理》為準(zhǔn)CPU的工作過(guò)程(程序控制原理)簡(jiǎn)單說(shuō):CPU一條指令一條指令挨著執(zhí)行。執(zhí)行完一條指令,就執(zhí)行下一條。所謂“下一條”:如果剛執(zhí)行完的那條是普通指令,下一條就是緊跟其后的那條指令;如果剛執(zhí)行完的那條指令是跳轉(zhuǎn)指令,下一條就是跳至的那個(gè)位置處的那條指令CPU的運(yùn)行現(xiàn)場(chǎng)各種各樣的寄存器、計(jì)數(shù)器的當(dāng)前狀態(tài):programcounter:該寄存器里放著下一條將要執(zhí)行的指令的地址,跳轉(zhuǎn)指令會(huì)改變?cè)摷拇嫫鞯膬?nèi)容statusregister:cmp指令會(huì)影響該寄存器的內(nèi)容,然后條件跳轉(zhuǎn)根據(jù)該寄存器的內(nèi)容決定程序走向cmpax,10jgeoutCPU的運(yùn)行現(xiàn)場(chǎng)(續(xù))跟stack相關(guān)的寄存器:stackpointer、framepointer一大堆通用寄存器:AX、BX與中斷相關(guān)的:interruptmaskregister保護(hù)現(xiàn)場(chǎng)是運(yùn)行現(xiàn)場(chǎng),非犯罪現(xiàn)場(chǎng)犯罪現(xiàn)場(chǎng)不能破壞運(yùn)行現(xiàn)場(chǎng)呢?你可以破壞但前提是:你必須有辦法恢復(fù)(備注:電視頻道、頭發(fā))同一進(jìn)程內(nèi)調(diào)個(gè)函數(shù)都要保護(hù)現(xiàn)場(chǎng)用戶進(jìn)程之間切換呢?用戶進(jìn)程與系統(tǒng)內(nèi)核之間切換呢?當(dāng)然也要保護(hù)現(xiàn)場(chǎng)!要保護(hù)更多的東西古老的PSW寄存器Programstatusword(PSW),源自IBMSystem/360(誕生于1964年)這是一個(gè)大大大寄存器功能分化到:programcounterstatusregisterinterruptmaskregister2.CPU的工作模式(mode)大多數(shù)系統(tǒng)將CPU的工作狀態(tài)劃分為兩種:內(nèi)核模式(核心態(tài)又叫管態(tài)或系統(tǒng)態(tài)或特權(quán)狀態(tài))用戶模式(用戶態(tài)又叫算態(tài)或目態(tài))所謂“核心模式”是指內(nèi)核正占用CPU運(yùn)行時(shí)的工作狀態(tài);所謂“用戶模式”是指用戶程序正占用CPU運(yùn)行時(shí)的工作狀態(tài)。3.特權(quán)指令與非特權(quán)指令內(nèi)核才是機(jī)子的主宰內(nèi)核可以執(zhí)行所有的操作(指令),用戶進(jìn)程只能執(zhí)行對(duì)他人無(wú)害的操作(指令)什么是特權(quán)指令?核心模式下可以執(zhí)行,用戶模式下執(zhí)行不了的指令稱為特權(quán)指令。在用戶模式下執(zhí)行特權(quán)指令會(huì)如何?答:……為什么要做這種區(qū)分?答:怕你亂來(lái)(備注:sudo,張海軍)特權(quán)指令有以下幾種:1)有關(guān)對(duì)外設(shè)使用的指令2)訪問(wèn)PSW寄存器的指令3)存取特殊寄存器的指令4)其它訪問(wèn)系統(tǒng)狀態(tài)和直接訪問(wèn)系統(tǒng)資源的指令。一句話:能影響到其他進(jìn)程或內(nèi)核的指令,就是特權(quán)指令。兩個(gè)進(jìn)程同時(shí)控制打印機(jī)你打兩句,我再打兩句。絕對(duì)不行操控打印機(jī)的指令,只能內(nèi)核來(lái)執(zhí)行訪管指令訪管指令是一條具有中斷性質(zhì)的特殊機(jī)器指令,導(dǎo)致:

1)CPU從用戶模式切換到內(nèi)核模式。

2)在內(nèi)核模式下,內(nèi)核代碼完成用戶進(jìn)程請(qǐng)求的工作。

3)然后由內(nèi)核模式切換回用戶模式。注意:用戶模式與內(nèi)核模式間切換要保護(hù)/恢復(fù)現(xiàn)場(chǎng)例子IBMSystem/360的SupervisorCallinstruction(SVC)dos、windows、linux的INT指令注意:dos的系統(tǒng)調(diào)用并不涉及用戶模式與內(nèi)核模式的切換為什么不用普通的CALL指令?call后邊要跟地址,你知道這個(gè)地址么?2.3計(jì)算機(jī)的存儲(chǔ)結(jié)構(gòu)1.計(jì)算機(jī)的多級(jí)存儲(chǔ)體系2.主存和輔存3.高速緩存(Cache)計(jì)算機(jī)的多級(jí)存儲(chǔ)體系

寄存器高速緩存內(nèi)存磁盤(pán)光盤(pán)磁帶圖2.1多級(jí)存儲(chǔ)體系結(jié)構(gòu)請(qǐng)參考《組成原理》中的“三級(jí)存儲(chǔ)體系”——cache、內(nèi)存、硬盤(pán)cache是透明的,連操作系統(tǒng)也看不見(jiàn)它操作系統(tǒng)利用內(nèi)存跟硬盤(pán)構(gòu)建虛擬存儲(chǔ)器好鋼用在刀刃上——獲得“跟硬盤(pán)一樣的價(jià)格,跟cache一樣的速度”2.4計(jì)算機(jī)系統(tǒng)的I/O系統(tǒng)結(jié)構(gòu)2.4.1I/O部件2.4.2總線型I/O系統(tǒng)結(jié)構(gòu)2.4.3DMA控制器2.4.4通道結(jié)構(gòu)2.4.1I/O部件外圍設(shè)備通常兩部分組成:機(jī)械部件(其實(shí)叫非電子部分更確切)電子部件計(jì)算機(jī)與外設(shè)之間那點(diǎn)事計(jì)算機(jī)內(nèi)部歡迎來(lái)到微觀世界全景圖(各種層次的接口)將設(shè)備和控制器分開(kāi)的原因?yàn)榱诉_(dá)到設(shè)計(jì)的模塊性和通用性;因?yàn)椴僮飨到y(tǒng)大多與控制器打交道,而非設(shè)備本身;由于各臺(tái)設(shè)備常常不是同時(shí)使用電子部件,因此同一個(gè)控制器可以控制多臺(tái)設(shè)備,從而可以降低計(jì)算機(jī)硬件的成本??刂破鞯闹饕δ芙邮芎妥R(shí)別CPU發(fā)來(lái)的各種命令數(shù)據(jù)交換表示和報(bào)告設(shè)備狀態(tài)數(shù)據(jù)的緩沖存儲(chǔ)地址譯碼和識(shí)別差錯(cuò)控制設(shè)備接口(的主要功能

)實(shí)現(xiàn)數(shù)據(jù)緩沖實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)化(串并)提供外設(shè)的狀態(tài)實(shí)現(xiàn)計(jì)算機(jī)與外設(shè)間的通信聯(lián)絡(luò)2.4.2總線型I/O系統(tǒng)結(jié)構(gòu)微、小型計(jì)算機(jī)的I/O硬件組織大多采用總線結(jié)構(gòu)。在總線結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)中,CPU和內(nèi)存、CPU和I/O設(shè)備以及內(nèi)存和I/O設(shè)備之間都通過(guò)總線連接,都要經(jīng)過(guò)總線來(lái)交換數(shù)據(jù)??偩€按傳輸信息的不同分為三種:

控制總線(CB)數(shù)據(jù)總線(DB)地址總線(AB)。

2.4.3DMA控制器(繞過(guò)CPU)對(duì)于高速I(mǎi)/O設(shè)備(如磁盤(pán))可以采用直接內(nèi)存訪問(wèn)(directmemoryaccess,簡(jiǎn)寫(xiě)為DMA)方式實(shí)現(xiàn)主存與外設(shè)之間的數(shù)據(jù)傳輸操作,DMA控制器因此而產(chǎn)生。(圖在書(shū)上)2.4.4通道結(jié)構(gòu)

中央處理器(CPU)主存儲(chǔ)器(MM)通道1(CH1)磁盤(pán)控制器通道2(CH2)卡片控制器打印機(jī)控制器通道3(CH3)磁帶控制器磁盤(pán)機(jī)卡片機(jī)打印機(jī)磁帶機(jī)圖8.6I/O系統(tǒng)四級(jí)連接結(jié)構(gòu)按信息交換方式和連接的設(shè)備類(lèi)型不同,通道可分為3種類(lèi)型:(看看就行了)(1)字節(jié)多路通道:可以在字節(jié)多路方式和成組方式下工作,主要用于連接低速或中速的I/O設(shè)備。(2)選擇通道:在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,因此只允許一臺(tái)設(shè)備傳送數(shù)據(jù),直到釋放通道后,才允許其他設(shè)備使用。這類(lèi)通道用于連接高速外存,每次傳輸一批數(shù)據(jù)。(3)數(shù)組多路通道:在通道中同時(shí)運(yùn)行幾個(gè)通道程序,可同時(shí)允許多臺(tái)設(shè)備傳輸成組的數(shù)據(jù)。這類(lèi)通道用于連接多臺(tái)高速設(shè)備。2.5中斷技術(shù)2.5.1中斷的概念2.5.2中斷的分類(lèi)2.5.3中斷優(yōu)先級(jí)、中斷嵌套和中斷屏蔽2.5.4中斷響應(yīng)2.5.5中斷處理輪詢vs.中斷輪詢:我曾經(jīng)問(wèn)個(gè)不休你何時(shí)跟我走(煩人不煩人呀)中斷:我忙去了,你想好了告訴我(酷)1.什么是中斷?中斷(Interrupt)是指程序執(zhí)行過(guò)程中,當(dāng)發(fā)生某個(gè)事件時(shí),中止CPU對(duì)現(xiàn)行程序的執(zhí)行,引出處理該事件的服務(wù)程序?qū)υ撌录M(jìn)行處理,處理結(jié)束后返回?cái)帱c(diǎn)繼續(xù)執(zhí)行原程序的過(guò)程。當(dāng)發(fā)生某個(gè)事件時(shí)所發(fā)出的信號(hào)稱為中斷信號(hào),引起中斷的事件稱為中斷源,用于處理中斷事件的程序稱為中斷處理程序。中斷系統(tǒng)由軟件(即操作系統(tǒng)的中斷處理程序)和硬件(一般稱為中斷裝置)兩部分組成。2.中斷的主要作用

(1)實(shí)現(xiàn)CPU與I/O設(shè)備的并行工作;(2)硬件故障和突發(fā)事件的處理;(3)實(shí)現(xiàn)人——機(jī)聯(lián)系;(4)實(shí)現(xiàn)多道程序設(shè)計(jì)和分時(shí)操作;(5)實(shí)現(xiàn)實(shí)時(shí)處理;(6)實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)的聯(lián)系;(7)實(shí)現(xiàn)多處理機(jī)系統(tǒng)中處理機(jī)之間的聯(lián)系。2.5.2中斷的分類(lèi)1.強(qiáng)迫性中斷和自愿性中斷從中斷事件的性質(zhì)和激活的手段來(lái)說(shuō),可以分成強(qiáng)迫性中斷和自愿性中斷兩大類(lèi)。IBM/370大型機(jī)操作系統(tǒng)使用了上述分類(lèi)方法。(1)強(qiáng)迫性中斷①硬件故障中斷例如電源故障、主存儲(chǔ)器出錯(cuò)等。②程序性中斷例如定點(diǎn)溢出、除數(shù)為0、地址越界等。由于這類(lèi)中斷反映程序執(zhí)行中發(fā)現(xiàn)的例外情況,所以又稱異常。③外部中斷。例如時(shí)鐘的定時(shí)中斷、控制臺(tái)發(fā)出控制信息等。④輸入輸出中斷。例如設(shè)備出錯(cuò)、傳輸結(jié)束等。(2)自愿性中斷自愿性中斷是正在運(yùn)行的程序所期待的事件,這種事件是由于執(zhí)行了一條訪管指令而引起的.例如,要求操作系統(tǒng)協(xié)助啟動(dòng)外圍設(shè)備進(jìn)行I/O操作。如何區(qū)分“強(qiáng)迫”和“自愿”?其實(shí)叫“異步事件引起的中斷”跟“同步事件引起的中斷”更合適異步事件:事件的發(fā)生是我意外的同步事件:事件的發(fā)生是我故意的故意、意外是相對(duì)的:對(duì)于用戶進(jìn)程來(lái)說(shuō)是故意的,對(duì)于內(nèi)核來(lái)說(shuō)是意外的2.外中斷和內(nèi)中斷

(即中斷和異常)按照中斷信號(hào)的來(lái)源,把中斷分為外中斷和內(nèi)中斷兩類(lèi)。外中斷,一般又稱中斷,是指來(lái)自處理器和主存儲(chǔ)器之外的中斷。內(nèi)中斷是指來(lái)自處理器和主存內(nèi)部的中斷,一般又稱異常(Exception)。(1)外中斷外中斷包括電源故障中斷、時(shí)鐘中斷、控制臺(tái)中斷、多機(jī)系統(tǒng)中一個(gè)CPU與另一個(gè)CPU的通信中斷和I/O中斷等。每種不同的中斷具有不同的優(yōu)先級(jí),在處理高一級(jí)中斷時(shí),往往會(huì)屏蔽部分或全部低級(jí)中斷。(誰(shuí)要緊?ups)(2)內(nèi)中斷內(nèi)中斷包括通信校驗(yàn)錯(cuò)、主存奇偶錯(cuò)、非法操作碼、地址越界、頁(yè)面失效、調(diào)試指令、訪管中斷、算術(shù)操作溢出等各種程序性中斷。其中訪管中斷是指機(jī)器提供的特殊指令執(zhí)行時(shí)而引起的中斷。異常是不能被屏蔽的,一旦出現(xiàn)異常應(yīng)

立即響應(yīng)并加以處理。

3.硬中斷和軟中斷通過(guò)硬件設(shè)施產(chǎn)生中斷請(qǐng)求,都可以看作硬中斷。不必由硬件發(fā)信號(hào)而引發(fā)的一種中斷稱為軟中斷。2.5.3中斷優(yōu)先級(jí)、

中斷嵌套和中斷屏蔽1.中斷優(yōu)先級(jí)系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫性,給每種中斷事件規(guī)定了一個(gè)優(yōu)先級(jí)。一般地,中斷優(yōu)先級(jí)從高到低的順序?yàn)椋河布收现袛?、自愿性中斷,程序性中斷,外部中斷,I/O中斷。

2.中斷嵌套及其處理在處理一個(gè)中斷事件時(shí),CPU又響應(yīng)了新的中斷事件,于是暫時(shí)停止正在運(yùn)行的中斷處理程序,轉(zhuǎn)去執(zhí)行新的中斷處理程序,這就是中斷的嵌套。3.中斷屏蔽(不要打攪我)如何保證優(yōu)先級(jí)低的事件不能打斷優(yōu)先級(jí)高的事件的處理呢?就是采用中斷屏蔽技術(shù)。讓PSW中的中斷屏蔽位與一些中斷事件相對(duì)應(yīng),當(dāng)某位有屏蔽標(biāo)志時(shí),表示封鎖對(duì)應(yīng)事件的響應(yīng)。2.5.4中斷響應(yīng)通常在CPU執(zhí)行完一條指令后,中斷裝置立即檢查有無(wú)中斷事件,若發(fā)現(xiàn)中斷,則暫?,F(xiàn)行進(jìn)程的運(yùn)行,而讓操作系統(tǒng)的中斷處理程序占用CPU,這個(gè)過(guò)程就叫中斷響應(yīng)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論