當(dāng)前位置: 首頁(yè) > 自學(xué)考試 > 自學(xué)考試備考資料 > 2012年自考工學(xué)類“操作系統(tǒng)原理”復(fù)習(xí)資料(3)

2012年自考工學(xué)類“操作系統(tǒng)原理”復(fù)習(xí)資料(3)

更新時(shí)間:2012-10-30 10:51:37 來(lái)源:|0 瀏覽0收藏0

自學(xué)考試報(bào)名、考試、查分時(shí)間 免費(fèi)短信提醒

地區(qū)

獲取驗(yàn)證 立即預(yù)約

請(qǐng)?zhí)顚憟D片驗(yàn)證碼后獲取短信驗(yàn)證碼

看不清楚,換張圖片

免費(fèi)獲取短信驗(yàn)證碼

  本章考核知識(shí)點(diǎn):1、重定位2、固定分區(qū)存儲(chǔ)管理3、可變分區(qū)存儲(chǔ)管理4、頁(yè)式存儲(chǔ)管理5、段式存儲(chǔ)管理6、虛擬存儲(chǔ)器

  自學(xué)要求:明確存儲(chǔ)管理的職能是對(duì)主存儲(chǔ)器中的用戶區(qū)域進(jìn)行管理;理解在不同的管理方式下如何實(shí)現(xiàn)存儲(chǔ)保護(hù)、地址轉(zhuǎn)換、以及主存空間的分配和回收;比較各種管理方式的特點(diǎn);掌握虛擬存儲(chǔ)器的實(shí)現(xiàn)原理和方法。

  重點(diǎn)是:各種管理方式的特點(diǎn);可變分區(qū)方式的主存分配算法以及移動(dòng)技術(shù);分頁(yè)式虛擬存儲(chǔ)管理的實(shí)現(xiàn)以及頁(yè)面調(diào)度算法;分段式虛擬存儲(chǔ)管理的實(shí)現(xiàn)。

  操作系統(tǒng)的存儲(chǔ)管理如同一個(gè)大地主,管著一個(gè)大莊園,當(dāng)有農(nóng)戶需要租用田地時(shí),地主就給分配一塊地讓他種(用戶區(qū)分配)。等到地里長(zhǎng)出了果實(shí)(結(jié)果出來(lái)后,地主還得來(lái)收回這塊地(去配)。

  為了管好這片田地,地主還要管好莊園的門,凡是要進(jìn)去種地的,都得由地主根據(jù)他的需要讓他到位置確定實(shí)際的田地上去干活。(把邏輯地址轉(zhuǎn)換成物理地址)

  莊園里還有一些大家共同可以使用的地方,比如地主的花園,工具房等,大家可以進(jìn)去,也可以使用,但是不許改變?nèi)魏维F(xiàn)有的東東,還有,每個(gè)農(nóng)戶只能在自己的地里刨食吃,如果有人膽敢到別人地里或地主的花園里摘花偷食,可要當(dāng)心他們養(yǎng)的狼狗跳出來(lái)哦。(共享和保護(hù))

  當(dāng)然,再大的地也是不夠多的,地主為了多賺些錢,當(dāng)所有的地都租出去的時(shí)候,他想辦法把有些種田人暫時(shí)不種的那塊地里的東東連地皮一起挖出來(lái)放到倉(cāng)庫(kù)里先堆著。把地騰出來(lái)租給別人種(這一招可夠絕的,不過(guò)地主說(shuō)啦,這就是“虛擬存儲(chǔ)”。)

  你說(shuō)這個(gè)地主是好是壞??

  概述:本章討論的是主存儲(chǔ)器空間的管理。主存儲(chǔ)空間分成系統(tǒng)區(qū)和用戶區(qū)兩部分。存儲(chǔ)管理的功能包括:主存空間的分配和去配、實(shí)現(xiàn)地址轉(zhuǎn)換、主存空間的區(qū)享和保護(hù)和主存空間擴(kuò)充。

  一、重定位(領(lǐng)會(huì))轉(zhuǎn)自環(huán) 球 網(wǎng) 校edu24ol.com

  1、區(qū)分邏輯地址與絕對(duì)地址。

  絕對(duì)地址:主存儲(chǔ)器以字節(jié)為編址單位,容量為n的主存儲(chǔ)器中,每個(gè)單元有唯一的編號(hào),從0到n-1,這個(gè)唯一的編號(hào)就是主存儲(chǔ)器的物理地址。

  比如我們現(xiàn)在用的128MB內(nèi)存條中就有128×1024×1024=134217728字節(jié),所以它的內(nèi)存絕對(duì)地址就是從0到134217727  101到200號(hào)那100塊地就分給你吧,以后你要找哪塊地養(yǎng)鴨養(yǎng)魚的,就得按我給你編的號(hào)來(lái)找。每個(gè)地址都已經(jīng)加上100了,不會(huì)找錯(cuò)吧。別說(shuō)我沒講清楚哦。

  至于動(dòng)態(tài)重定位,莊主笑道:這個(gè)我也能做到,這么實(shí)現(xiàn)的:李四來(lái)租地時(shí),我也不問(wèn)他,直接把他帶到空閑的一片地方。派人記著這那片地的第一個(gè)地址。比如說(shuō)是100號(hào)吧。李四這個(gè)笨小子干著干著會(huì)叫起來(lái)說(shuō):“老板,現(xiàn)在我要到32號(hào)地里抓魚!”旁邊人一聽,馬上告訴他“哎呀,你現(xiàn)在已經(jīng)分了地啦,起始地塊是100號(hào),那你就得到132號(hào)地去才對(duì)!”就這樣,李四每一次要找地方時(shí),都叫別人給他重新算一下。這樣他才不會(huì)找錯(cuò)位置。這樣也有一個(gè)好處,就是如果有人出價(jià)更好,我可以讓他搬到別處去干活,反正都是叫別人給他重新算位置,所以他就不用記住搬地方后的物理地址啦。

  (1)靜態(tài)重定位

  在裝入一個(gè)作業(yè)時(shí),把作業(yè)中的指令地址和數(shù)據(jù)地址全部轉(zhuǎn)換成絕對(duì)地址。這種轉(zhuǎn)換工作是在作業(yè)開始前集中完成的,在作業(yè)執(zhí)行過(guò)程中無(wú)需再進(jìn)行地址轉(zhuǎn)換。所以稱為“靜態(tài)重定位”。

  (2)動(dòng)態(tài)重定位

  在裝入一個(gè)作業(yè)時(shí),不進(jìn)行地址轉(zhuǎn)換,而是直接把作業(yè)裝到分配的主區(qū)域中。在作業(yè)執(zhí)行過(guò)程中,每當(dāng)執(zhí)行一條指令時(shí)都由硬件的地址轉(zhuǎn)換機(jī)構(gòu)轉(zhuǎn)換成絕對(duì)地址。這種方式的地址轉(zhuǎn)換是在作業(yè)執(zhí)行時(shí)動(dòng)態(tài)完成的,所以稱為動(dòng)態(tài)重定位。

  動(dòng)態(tài)重定位由軟件(操作系統(tǒng))和硬件(地址轉(zhuǎn)換機(jī)構(gòu))相互配合來(lái)實(shí)現(xiàn)。動(dòng)態(tài)重定位的系統(tǒng)支持“程序浮動(dòng)”,而靜態(tài)重定位則不能。

  二、固定分區(qū)存儲(chǔ)管理(領(lǐng)會(huì))

  分區(qū)存儲(chǔ)管理是把存儲(chǔ)器中的用戶區(qū)作為一個(gè)連續(xù)區(qū)或分成若干連續(xù)區(qū)進(jìn)行管理。早先使用一個(gè)分區(qū)的存儲(chǔ)管理,后發(fā)展成多分區(qū)的存儲(chǔ)管理。多個(gè)分區(qū)的管理可采用固定分區(qū)方式和可變分區(qū)方式。

  1、固定分區(qū)存儲(chǔ)管理的原理

  固定分區(qū)的意思就是指主存空間劃分成若干連續(xù)區(qū)后,這些分區(qū)的大小和個(gè)數(shù)就固定不變。

  固定分區(qū)管理利用一張“主存分配表”說(shuō)明各分區(qū)的情況。裝入和結(jié)束作業(yè)均通過(guò)這個(gè)分區(qū)表來(lái)記錄分區(qū)使用的變化情況。

  2、如何實(shí)現(xiàn)存儲(chǔ)保護(hù)

  固定分區(qū)管理可采用靜態(tài)重定位的方式裝入作業(yè)。裝入程序把作業(yè)中的邏輯地址轉(zhuǎn)換為絕對(duì)地址。并檢查絕對(duì)地址是否在指定(裝入)的分區(qū)內(nèi),如果是,就裝入這個(gè)作業(yè)。否則就不能裝入。如果裝入主存分區(qū)的作業(yè)占用處理器時(shí)(注意,是運(yùn)行時(shí)),進(jìn)程調(diào)度程序(不是裝入程序了)必須把作業(yè)所在分區(qū)的上下限地址存入“下限寄存器”和“上限寄存器”中,這樣可以在指令執(zhí)行中判斷其所用到的絕對(duì)地址是否越界,達(dá)到存儲(chǔ)保護(hù)的目的。

  3、怎樣提高主存空間的利用率這里有幾種辦法:

  (1)分區(qū)按大小順序排列,這樣可以使作業(yè)總是先使用滿足要求的最小分區(qū)。

  (2)根據(jù)經(jīng)常出現(xiàn)的作業(yè)大小和頻率劃分分區(qū)。

  (3)按作業(yè)的對(duì)主存空間的需求量排成多個(gè)隊(duì)列,規(guī)定隊(duì)列與分區(qū)的對(duì)應(yīng)關(guān)系。也就是說(shuō)多大的作業(yè)只能放在多大的分區(qū)里,就算有更大的分區(qū)空著,也不許他進(jìn)入。

  三、可變分區(qū)的管理(領(lǐng)會(huì))

  可變就是指分區(qū)的大小和位置不是固定的,而是根據(jù)作業(yè)要求的主存量來(lái)分配分區(qū)的大小。

  1、主存的分配和去配(回收)

  在系統(tǒng)初始化時(shí),主存除了操作系統(tǒng)所占部分外,整個(gè)用戶區(qū)是  大的空閑區(qū),可以按作業(yè)需要的空間大小順序分配空閑區(qū)直到不夠時(shí)為止。

  當(dāng)作業(yè)結(jié)束時(shí),它的占用分區(qū)被收回。這個(gè)空閑區(qū)又可以根據(jù)新作業(yè)的大小重新用于分配,所以主存中的已占分區(qū)和空閑區(qū)的數(shù)目和大小都是在變化的??梢杂脙蓮埍怼耙逊峙鋮^(qū)表”和“空閑區(qū)表”來(lái)記錄和管理。

  2、常用的分配算法

  最先適應(yīng)分配算法:簡(jiǎn)單地說(shuō),就是在分區(qū)表中順序查找,找到夠大的空閑區(qū)就分配。但是這樣的分配算法可能形成許多不連續(xù)的空閑區(qū),造成許多“碎片”,使主存空間利用率降低。

  最優(yōu)適應(yīng)分配算法:這種算法總是挑選一個(gè)能滿足作業(yè)要求的最小空閑區(qū)。但是這種算法可能形成一些極小的空閑區(qū),以致無(wú)法使用,這也會(huì)影響主存利用率。

  最壞適應(yīng)分配算法:這種算法和上面的正好相反,它總是挑一個(gè)最大的空閑區(qū)分給作業(yè)使用,使剩下的空間不至于太小。

  3、地址轉(zhuǎn)換與存儲(chǔ)保護(hù)

  采用可變分區(qū)方式管理時(shí),一般均采用動(dòng)態(tài)重定位方式裝入作業(yè)。也就是每讀一條指令,都要變換一次地址。變換要靠硬件支持,主要是兩個(gè)寄存器:基址寄存器和限長(zhǎng)寄存器,限長(zhǎng)寄存器存放作業(yè)所占分區(qū)的長(zhǎng)度,基址寄存器則存放作業(yè)所占分區(qū)的起始地址,這兩個(gè)值確定了一個(gè)分區(qū)的位置和大小。

  轉(zhuǎn)換時(shí)根據(jù)邏輯地址與限長(zhǎng)值比較,如果不有超過(guò)這個(gè)值,表示訪問(wèn)地址合法,再加上基址寄存器中的值就得到了絕對(duì)地址了,否則形成“地址越界”中斷。達(dá)到存儲(chǔ)保護(hù)的目的。

  對(duì)于共享程序,則硬件提供兩組限長(zhǎng)寄存器和基址寄存器。訪問(wèn)時(shí)對(duì)訪問(wèn)區(qū)享區(qū)和作業(yè)區(qū)的地址分別進(jìn)行轉(zhuǎn)換。

  4、移動(dòng)技術(shù)的應(yīng)用

  移動(dòng)技術(shù)要“移動(dòng)”的東東就是主存空間中的作業(yè)。把某個(gè)作業(yè)移到另一處主存空間去(在磁盤整理中我們應(yīng)用的也是類似的移動(dòng)技術(shù)),這樣的最大好處就是可以合并一些空閑區(qū)。

  但是移動(dòng)技術(shù)的應(yīng)用也要注意以下問(wèn)題。

  移動(dòng)會(huì)增加系統(tǒng)開銷。所以要盡量減少移動(dòng)。

  移動(dòng)是有條件的,如果作業(yè)在執(zhí)行過(guò)程中正等待與外圍設(shè)備傳輸信息,就不能移動(dòng)。因此在移動(dòng)時(shí)首先要判定該作業(yè)是否與外設(shè)交換信息。

  四、頁(yè)式存儲(chǔ)管理(領(lǐng)會(huì))

  1、如何分頁(yè)和分塊

  頁(yè)式存儲(chǔ)管理中有兩個(gè)名詞:“頁(yè)”和“塊”,其中的“塊”是針對(duì)硬件來(lái)說(shuō)的,就是把存儲(chǔ)器分成若干相等大小的區(qū),每個(gè)區(qū)就稱為一個(gè)塊。對(duì)應(yīng)的,在程序中,邏輯地址進(jìn)行“分頁(yè)”,其大小和每個(gè)塊相一致。

  事實(shí)上,頁(yè)面的大小是由塊的大小自然決定的。對(duì)于程序來(lái)說(shuō),其邏輯地址還是和原來(lái)一樣采用連續(xù)的地址。只是按照塊的位數(shù)取其前面數(shù)位做為頁(yè)號(hào)。

  分配空間時(shí),根據(jù)作業(yè)長(zhǎng)度可以確定它的頁(yè)面數(shù),根據(jù)這個(gè)頁(yè)面數(shù)在主存中分配相應(yīng)的塊數(shù),只要是空閑塊就可以放入,即使不是相鄰的。并把分配情況記在“頁(yè)表”中,根據(jù)頁(yè)表可以找到相對(duì)應(yīng)的頁(yè)號(hào)與塊號(hào),就得出絕對(duì)地址了。

  2、采用頁(yè)式管理,使主存空間充分利用,頁(yè)不必為了得到連續(xù)空間而進(jìn)行移動(dòng)??梢蕴岣呦到y(tǒng)效率。

  3、頁(yè)表的構(gòu)造與作用

  每個(gè)被裝入主存的作業(yè)都有一張頁(yè)表,指出該作業(yè)邏輯地址中的頁(yè)號(hào)與所占用的主存塊號(hào)之間的對(duì)應(yīng)關(guān)系。頁(yè)表的長(zhǎng)度由作頁(yè)擁有的頁(yè)面數(shù)決定,行號(hào)對(duì)應(yīng)為頁(yè)號(hào),行中記錄的是主存中的塊號(hào)。

  頁(yè)表是硬件進(jìn)行地址轉(zhuǎn)換的依據(jù),每執(zhí)行一條指令  時(shí)按邏輯地址中的頁(yè)號(hào)查找頁(yè)表并轉(zhuǎn)換成絕對(duì)地址。

  在多道程序設(shè)計(jì)系統(tǒng)中,進(jìn)入主存的每個(gè)作業(yè)都有一張頁(yè)表,由一個(gè)硬件“頁(yè)表控制寄存器”來(lái)記錄每個(gè)作業(yè)的頁(yè)表所在位置和長(zhǎng)度以便作業(yè)轉(zhuǎn)換時(shí)同時(shí)轉(zhuǎn)換頁(yè)表。

  4、快表的構(gòu)造與作用

  快表就是頁(yè)表的一部分克隆,每行中有頁(yè)號(hào)及其對(duì)應(yīng)的塊號(hào),整個(gè)快表存放在一個(gè)小容量的高速緩存中,訪問(wèn)時(shí)快表和內(nèi)存同時(shí)進(jìn)行查找,因?yàn)榭毂硭俣群芸?,而常用的?yè)都登記在快表中,因此可以大大加快執(zhí)行速度。

  5、采用頁(yè)式管理的地址轉(zhuǎn)換過(guò)程

  (為什么不直接用塊分配表來(lái)記錄而要用位示圖呢,因?yàn)橹鞔鎵K很多,這樣可以節(jié)省空間,提高效率。位示圖就是用一個(gè)位(0或1)來(lái)表示一個(gè)塊的使用狀態(tài),一個(gè)字32位,可以表示32塊。按順序排列,只需一小段內(nèi)存就可以記錄主存中大量的塊狀態(tài))

  6、利用位示圖實(shí)現(xiàn)頁(yè)式存儲(chǔ)空間的分配和回收

  頁(yè)式存儲(chǔ)管理把主存空間分成大小固定的許多塊,在裝業(yè)作業(yè)時(shí),如何知道主存中哪些塊已使用,哪些還未用,可以用位示圖來(lái)表示。

  塊號(hào)=字號(hào)×字長(zhǎng)+位號(hào)

  字號(hào)=[i/字長(zhǎng)](即塊號(hào)i除以字長(zhǎng)取整)

  位號(hào)=imod字長(zhǎng)(即塊號(hào)i除以字長(zhǎng)取余)。

  五、段式存儲(chǔ)管理(領(lǐng)會(huì))

  1、段式存儲(chǔ)中段的劃分

  段式管理是根據(jù)人們對(duì)程序中需要分段編制的要求出發(fā)而提供的。它提供給用戶編程時(shí)使用的邏輯地址由“段號(hào)”和“段內(nèi)地址”兩部分組成,其形式和頁(yè)式管理相同。但是實(shí)際上是不同的:

  頁(yè)式存儲(chǔ)管理提供連續(xù)邏輯地址由系統(tǒng)自動(dòng)分頁(yè),段式存儲(chǔ)管理中的作業(yè)分段是由用戶決定的,每段獨(dú)立編程,因此段間的邏輯地址是不連續(xù)的。

  2、段式存儲(chǔ)空間的分配

  這種分配方法和可變分區(qū)管理方式的分配方法相同,所不同的是:

  可變分區(qū)管理方式中是為每個(gè)作業(yè)分一個(gè)區(qū),而段式管理是為一個(gè)作業(yè)中的每個(gè)段分一個(gè)連續(xù)的空間。(段式管理更細(xì))。

  3、段表的構(gòu)造與作用

  段表由段號(hào)、本段限長(zhǎng)和起始地址三部分組成,由于每一行記錄的行號(hào)可以對(duì)應(yīng)程序的段號(hào),因此段號(hào)實(shí)際上被省略,不占存儲(chǔ)空間。

  與其他管理方式一樣,段表記錄的信息用于地址轉(zhuǎn)換和存儲(chǔ)保護(hù)。段表的表目起到了基址/限長(zhǎng)寄存器的作用。

  4、段式存儲(chǔ)管理的地址轉(zhuǎn)換

  這個(gè)轉(zhuǎn)換過(guò)程如同可變分區(qū)方式的地址轉(zhuǎn)換,但是由段表的表目替代了基址/限長(zhǎng)寄存器。

  絕對(duì)地址=根據(jù)段號(hào)找到段表中的起始地址+段內(nèi)地址(如果段內(nèi)地址超過(guò)限長(zhǎng)則產(chǎn)生“地址越界”程序性中斷事件達(dá)到存儲(chǔ)保護(hù))

  多道程序設(shè)計(jì)系統(tǒng)中,每個(gè)進(jìn)入主存的作業(yè)都建立了段表,因此還有一個(gè)硬件“段表控制寄存器”來(lái)記錄每個(gè)作業(yè)的段表在主存中的位置和長(zhǎng)度。

  六、虛擬存儲(chǔ)器(領(lǐng)會(huì))

  1、什么是虛擬存儲(chǔ)器

  虛擬存儲(chǔ)器是為“擴(kuò)大”主存容量而采用的一種設(shè)計(jì)技巧,它利用作業(yè)在只裝入部分信息時(shí)就可以執(zhí)行的特性和程序執(zhí)行中表現(xiàn)出來(lái)的局部性特性,借助于大容量的輔助存儲(chǔ)器實(shí)現(xiàn)小主存空間容納大邏輯地址空間的作業(yè)。

  虛擬存儲(chǔ)器的容量由計(jì)算機(jī)的地址結(jié)構(gòu)(總線位數(shù))決定。

  2、虛擬存儲(chǔ)器的實(shí)現(xiàn)原理

  它的工作原理如下:首先把作業(yè)信息保留在磁盤上,當(dāng)作業(yè)請(qǐng)求裝入時(shí),只將其中一部分先裝入主存,作業(yè)執(zhí)行中若要訪問(wèn)的信息不在主存中,則再設(shè)法將這些信息裝入主存。

  3、分頁(yè)式虛擬存儲(chǔ)器的實(shí)現(xiàn)

  頁(yè)式虛擬存儲(chǔ)管理是在頁(yè)式存儲(chǔ)管理的基礎(chǔ)上實(shí)現(xiàn)的。首先把作業(yè)信息作為副本存放在磁盤上,作業(yè)執(zhí)行時(shí),把作業(yè)信息的部分頁(yè)面裝入主存儲(chǔ)器,作業(yè)執(zhí)行時(shí)若所訪問(wèn)的頁(yè)面已經(jīng)在主存中,則進(jìn)行地址轉(zhuǎn)換,得到絕對(duì)地址,否則產(chǎn)生“缺頁(yè)中斷”由操作系統(tǒng)把當(dāng)前所需的頁(yè)面裝入主存。

  4、常用的頁(yè)面調(diào)度算法:FIFO、LRU、LFU

  當(dāng)主頁(yè)中無(wú)空閑塊時(shí),為了裝入一個(gè)頁(yè)面,就必須按某種算法將主存中某個(gè)頁(yè)調(diào)出,調(diào)入所需裝入的頁(yè)面。這就是頁(yè)面調(diào)度。常用的算法有:先進(jìn)先出調(diào)度算法(FIFO)、最近最少使用調(diào)度算法(LRU)和最近最不常用調(diào)度算法(LFU)。

  特別要注意掌握的就是LRU的算法,如何進(jìn)行調(diào)度。

  5、缺頁(yè)中斷率

  如果作頁(yè)執(zhí)行中訪問(wèn)頁(yè)面的總次數(shù)為A,其中有F次訪問(wèn)的頁(yè)面尚未裝入主存,則有F次缺頁(yè)中斷,f=F/A,這里的f就稱為缺頁(yè)中斷率。影響缺頁(yè)中斷的因素有:

  分配給作業(yè)的主存塊數(shù)――塊數(shù)n↑f↓

  頁(yè)面的大小――頁(yè)面大小↑f↓

  程序編制方法――局部化程度↑f↓

  頁(yè)面調(diào)度算法

  6、段式虛擬存儲(chǔ)器的實(shí)現(xiàn)

  段式虛擬存儲(chǔ)管理以段式存儲(chǔ)管理為基礎(chǔ),在磁盤上保留作業(yè)的各個(gè)分段信息,作業(yè)執(zhí)行時(shí)把需要執(zhí)行的一段或幾段裝入主存。在實(shí)際使用中,也要進(jìn)行查表和地址轉(zhuǎn)換以及“缺段中斷”和調(diào)度(包括調(diào)出、裝入、移動(dòng)等)工作。

?2013年高教自考網(wǎng)絡(luò)輔導(dǎo)課程招生簡(jiǎn)章

?2013年1月自考報(bào)名 

更多信息請(qǐng)?jiān)L問(wèn):自學(xué)考試頻道    自學(xué)考試論壇

分享到: 編輯:環(huán)球網(wǎng)校

資料下載 精選課程 老師直播 真題練習(xí)

自學(xué)考試資格查詢

自學(xué)考試歷年真題下載 更多

自學(xué)考試每日一練 打卡日歷

0
累計(jì)打卡
0
打卡人數(shù)
去打卡

預(yù)計(jì)用時(shí)3分鐘

環(huán)球網(wǎng)校移動(dòng)課堂APP 直播、聽課。職達(dá)未來(lái)!

安卓版

下載

iPhone版

下載

返回頂部