操作系統(tǒng)概論自考復習資料_第1頁
操作系統(tǒng)概論自考復習資料_第2頁
操作系統(tǒng)概論自考復習資料_第3頁
操作系統(tǒng)概論自考復習資料_第4頁
操作系統(tǒng)概論自考復習資料_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)(operatingsystem,OS)是計算機系統(tǒng)中必不可少的系統(tǒng)軟件。它是計算機系統(tǒng)中各種資源的管理者和各種活動的組織者、指揮者。它使整個計算機系統(tǒng)協(xié)調一致且有效地工作。通過本課程的學習,我們將知道操作系統(tǒng)要做什么、怎么做和為什么要這樣做。學習操作系統(tǒng),首先我們應該知道操作系統(tǒng)的概念。本章主要講述了以下幾個問題。要講述了以下幾個問題。一、什么是操作系統(tǒng)二、操作系統(tǒng)的形成三、操作系統(tǒng)的類型四、操作系統(tǒng)的功能一、什么是操作系統(tǒng)在回答這個問題之前,我們先來了解一下什么是計算機系統(tǒng)。計算機系統(tǒng)是按用戶的要求接收和存儲信息、自動進行數據處理并輸出結果信息的系統(tǒng)。計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)

2、組成。軟硬件系統(tǒng)的組成部分就是計算機系統(tǒng)的資源,當不同的用戶使用計算機時都要占用系統(tǒng)資源并且有不同的控制需求。操作系統(tǒng)就是計算機系統(tǒng)的一種系統(tǒng)軟件,由它統(tǒng)一管理計算機系統(tǒng)的資源和控制程序的執(zhí)行。操作系統(tǒng)的設計目標一是使計算機系統(tǒng)使用方便。二是使得計算機系統(tǒng)能高效地工作。二、操作系統(tǒng)的形成早期沒有操作系統(tǒng)一原始匯編系統(tǒng)一管理程序一操作系統(tǒng)可以看到,操作系統(tǒng)是隨著計算機硬件的發(fā)展和應用需求的推動而形成的。三、操作系統(tǒng)的類型按照操作系統(tǒng)提供的服務,大致可以把操作系統(tǒng)分為以下幾類:批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網絡操作系統(tǒng)和分布式操作系統(tǒng)。其中批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)是

3、基本的操作系統(tǒng)(加亮)1、批處理操作系統(tǒng)按照用戶預先規(guī)定好的步驟控制作業(yè)的執(zhí)行,實現計算機操作的自動化。又可分為批處理單道系統(tǒng)和批處理多道系統(tǒng)。單道系統(tǒng)每次只有一個作業(yè)裝入計算機系統(tǒng)的主存儲器運行,多個作業(yè)可自動、順序地被裝入運行。批處理多道系統(tǒng)則允許多個作業(yè)同時裝入主存儲器,中央處理器輪流地執(zhí)行各個作業(yè),各個作業(yè)可以同時使用各自所需的外圍設備,這樣可以充分利用計算機系統(tǒng)的資源,縮短作業(yè)時間,提高系統(tǒng)的吞吐率。2、分時操作系統(tǒng),這種系統(tǒng)中,一個計算機系統(tǒng)與許多終端設備連接,分時系統(tǒng)支持多個終端用戶,同時以交互方式使用計算機系統(tǒng),為用戶在測試、修改和控制程序執(zhí)行方面提供了靈活性。分時系統(tǒng)的主要特

4、點是同時性、獨立性、及時性和交互性。3、實時操作系統(tǒng)能使計算機系統(tǒng)接收到外部信號后及時進行處理,并在嚴格的規(guī)定時間內完成處理,且給出反饋信號。它是較少有人為干預的監(jiān)督和控制系統(tǒng)。實時系統(tǒng)對可靠性和安全性要求極高,不強求系統(tǒng)資源的利用率。4、網絡操作系統(tǒng)可以把若干計算機聯(lián)合起來,實現各臺計算機之間的通信及網絡中各種資源的共享,像我們現在使用的Windows,UNIX和Linux等操作系統(tǒng)都是網絡操作系統(tǒng)。5、分布式操作系統(tǒng)的網絡中各臺計算機沒有主次之分,在任意兩臺計算機間的可進行信息交換和資源共享。這一點上分布式操作系統(tǒng)和網絡操作系統(tǒng)差別不大,他們的本質區(qū)別在于:分布式操作系統(tǒng)能使系統(tǒng)中若干計算

5、機相互協(xié)作完成一個共同的任務。這使得各臺計算機組成一個完整的,功能強大的計算機系統(tǒng)。四、操作系統(tǒng)的功能從資源管理的觀點出發(fā),操作系統(tǒng)功能可分為五大部分:處理器管理、存儲管理、文件管理、設備管理和作業(yè)管理。計算機系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成,操作系統(tǒng)是軟件系統(tǒng)的一個組成部分,它是直接在硬件系統(tǒng)的基礎上工作的,所以在研究操作系統(tǒng)之前,先必須對計算機系統(tǒng)的結構有一個基本的了解,本章就是講述計算機系統(tǒng)結構的基本知識。本章的考核知識點是:1.計算機系統(tǒng)的層次結構2.硬件環(huán)境3.本章的考核知識點是:1.計算機系統(tǒng)的層次結構2.硬件環(huán)境3.操作系統(tǒng)結構學習本章要求:了解計算機系統(tǒng)的結統(tǒng)提供的使用接口

6、。重點是:硬件環(huán)境和操作系統(tǒng)的結構統(tǒng)提供的使用接口。一、計算機系統(tǒng)的層次結構(識記)現代的通用計算機系統(tǒng)是由硬件和軟件組成的一種層次式結構,最內層是硬件系統(tǒng),最外層是使用計算機系統(tǒng)的人,人與硬件系統(tǒng)之間是軟件系統(tǒng)本章考核知識點:1.多道程序設計2進程3進程狀態(tài)4進程控制塊5進程隊列6可再入程序7.中斷及中斷響應&中斷優(yōu)先級9進程調度自學要求:通過本章學習應該掌握多道程序設計是如何提高計算機系統(tǒng)效率的;進程與程序有什么區(qū)別;進程的基本狀態(tài)以及狀態(tài)變化;進程隊列及進程調度策略;中斷的作用。重點是:多道程序設計;進程的定義和屬性;進程調度策略。、多道程序設計(領會)1、什么是多道程序設計。讓多個計算

7、問題同時裝入一個計算機系統(tǒng)的主存儲器并行執(zhí)行,這種設計技術稱“多道程序設計”,這種計算機系統(tǒng)稱“多道程序設計系統(tǒng)”或簡稱“多道系統(tǒng)”。存儲保護:在多道程序設計的系統(tǒng)中,主存儲器中同時存放了多個作業(yè)的程序。為避免相互干擾,必須提供必要的手段使得在主存儲器中的各道程序只能訪問自己的區(qū)域。這樣,每道程序執(zhí)行時,都不會破壞其他各道的程序和數據。特別是當某道程序發(fā)生錯誤的時,也不至于影響其它的程序。程序浮動:在多道程序設計系統(tǒng)中,對程序有一些特殊要求,也就是說,程序可以隨機地從主存的一個區(qū)域移動到另一個區(qū)域,程序被移動后仍絲毫不影響它的執(zhí)行,這種技術稱為“程序浮動”。在多道程序設計的系統(tǒng)中,有三點基本要

8、求:用“存儲保護”的方法保證各道程序互不侵犯;用“程序浮動”技術讓程序能靈活地改變存放區(qū)域且能正確執(zhí)行;必須對資源按一定的策略分配和調度。2、多道程序設計利用了系統(tǒng)與外圍設備的并行工作能力,從而提高工作效率。具體表現為:提高了處理器的利用率;充分利用外圍設備資源:計算機系統(tǒng)配置多種外圍設備,采用多道程序設計并行工作時,可以將使用不同設備的程序搭配在一起同時裝入主存儲器,使得系統(tǒng)中各外圍設備經常處于忙碌狀態(tài),系統(tǒng)資源被充分利用;發(fā)揮了處理器與外圍設備以及外圍設備之間的并行工作能力;從總體上說,采用多道程序設計技術后,可以有效地提高系統(tǒng)中資源的利用率,增加單位時間內的算題量,從而提高了吞吐率。3、

9、多道程序設計對算題量和算題時間的影響。采用多道程序設計能改變系統(tǒng)資源的使用情況,提高系統(tǒng)效率。但是應注意以下兩個問題:可能延長程序的執(zhí)行時間;并行工作道數與系統(tǒng)效率不成正比。從表面上看,增加并行工作道數就可提高系統(tǒng)效率,但實際上并行工作道數與系統(tǒng)效率是不成正比,因為并行的道數要根據系統(tǒng)配置的資源和用戶對資源的要求而定:1)主存儲器的大小限制了可同時裝入的程序數量;(2)外圍設備的數量也是一個制約條件;(3)多個程序同時要求使用同一資源的情況也會經常發(fā)生??傊?,多道程序設計能提高系統(tǒng)資源的使用效率,增加單位時間的算題量;但是對每個計算問題來說,從算題開始到全部完成所需要的時間可能延長,另外在確定

10、并行工作道數時應綜合系統(tǒng)的資源配置和用戶對資源的要求。二、進程(領會)1、進程的定義:把一個程序在一個數據集上的一次執(zhí)行稱為一個“進程”。2、進程是由程序、數據集和進程控制塊三部分組成。我們舉一個例子,比如在有一個用戶程序notepad.exe(記事本),當它存放在磁盤上時,就是一個程序,在windows操作系統(tǒng)下運行它時,就會在內存中建立一個記事本程序的進程,而我們在記事本中編輯的當前文字就是這個進程的數據集,操作系統(tǒng)會為當前的進程設置一個進程控制塊。如果我們再打開一個記事本程序的窗口,就會建立另一個進程,此時運行的是同一個程序,但存在兩個進程,第二個窗口中的編輯內容就是第二個進程的數據集。

11、3、進程與程序的區(qū)別及關系。程序是靜止的,進程是動態(tài)的。進程包括程序和程序處理的對象(數據集),進程能得到程序處理的結果。進程和程序并非一一對應的,一個程序運行在不同的數據集上就構成了不同的進程。通常把進程分為“系統(tǒng)進程”和“用戶進程”兩大類,把完成操作系統(tǒng)功能的進程稱為系統(tǒng)進程,而完成用戶功能的進程則稱為用戶進程。三、進程狀態(tài)(領會)1、進程的三種基本狀態(tài)通常,根據進程執(zhí)行過程中不同時刻的狀態(tài),可歸納為三種基本狀態(tài):等待態(tài):等待某個事件的完成;就緒態(tài):等待系統(tǒng)分配處理器以便運行;運行態(tài):占有處理器正在運行。2、進程的狀態(tài)變化進程在執(zhí)行中狀態(tài)會不斷地改變,每個進程在任何時刻總是處于上述三種基本

12、狀態(tài)的某一種基本狀態(tài),進程狀態(tài)之間轉換關系如下圖所示:運行態(tài)一等待態(tài)往往是由于等待外設,等待主存等資源分配或等待人工干預而引起的。等待態(tài)一就緒態(tài)則是等待的條件已滿足,只需分配到處理器后就能運行。運行態(tài)一就緒態(tài)不是由于自身原因,而是由外界原因使運行狀態(tài)的進程讓出處理器,這時候就變成就緒態(tài)。例如時間片用完,或有更高優(yōu)先級的進程來搶占處理器等。就緒態(tài)一運行態(tài)系統(tǒng)按某種策略選中就緒隊列中的一個進程占用處理器,此時就變成了運行態(tài)。進程有四個基本屬性:。多態(tài)性從誕生、運行,直至消滅。多個不同的進程可以包括相同的程序。三種基本狀態(tài)它們之間可進行轉換。并發(fā)性并發(fā)執(zhí)行的進程輪流占用處理器四、進程控制塊(領會)1

13、、進程控制塊的基本內容。通常進程控制塊包含四類信息:。標志信息含唯一的進程名。說明信息有進程狀態(tài)、等待原因、進程程序存放位置和進程數據存放位置。現場信息包括通用、控制和程序狀態(tài)字寄存器的內容。管理信息存放程序優(yōu)先數和隊列指針2、進程控制塊的作用進程控制塊(ProcessControlBlock,簡稱PCB),是操作系統(tǒng)為進程分配的用于標志進程,記錄各進程執(zhí)行情況的。進程控制塊是進程存在的標志,它記錄了進程從創(chuàng)建到消亡動態(tài)變化的狀況,進程隊列實際也是進程控制塊的鏈接。操作系統(tǒng)利用進程控制塊對進程進行控制和管理。進程控制塊的作用有:(1)記錄進程的有關信息,以便操作系統(tǒng)的進程調度程序對進程進行調度

14、。這些信息包括標志信息、說明信息、現場信息和管理信息等;(2)標志進程的存在,進程控制塊是進程存在的唯一標志五、進程隊列(領會)1、進程隊列的鏈接。在多道程序設計的系統(tǒng)中往往會同時創(chuàng)建多個進程.在單處理器的情況下,每次只能讓一個進程運行,其他的進程處于就緒狀態(tài)或等待狀態(tài)。為了便于管理,經常把處于相同狀態(tài)的進程鏈接在一起,稱“進程隊列”,由于進程控制塊能標志進程的存在和動態(tài)刻畫進程的特性,因此,進程隊列可以用進程控制塊的連接來形成。鏈接的方式有兩種:單向鏈接和雙向鏈接。2、進程基本隊列就緒隊列:由若干就緒進程按一定次序鏈接起來的隊列。等待隊列:把等待資源或等待某些事件的進程排列的隊列3、進程的入

15、隊和出隊。出隊和入隊:當發(fā)生的某個事件使一個進程的狀態(tài)發(fā)生變化時,這個進程就要退出所在的某個隊列而排入到另一個隊列中去。出隊:一個進程從所在的隊列退出的操作稱為出隊入隊:一個進程排入到一個指定的隊列的操作稱為入隊。系統(tǒng)中負責進程入隊和出隊的工作稱為隊列管理。無論單向鏈接還是雙向鏈接,解決入,出隊問題,都是首先找到該隊列的隊首指針,沿鏈找出要入隊的進程以及它要插入的位置,或找出要出隊的進程,然后修改本進程指針(入隊情況)和相鄰進程的有關指針值即可。六、可再入程序(識記)(1)什么是可再入程序一工作區(qū),以保證程序以同樣方式為各用戶服務。個能被多個用戶同時調用的程序稱做“可再入”的程序。工作區(qū),以保

16、證程序以同樣方式為各用戶服務。(2)可再入程序的性質??稍偃氤绦虮仨毷羌兇a,在執(zhí)行時自身不改變;一個可再入程序要求調用者提供編譯程序和操作系統(tǒng)程序通常都是“可再入”程序,能同時被不同用戶調用而構成不同的進程。七、中斷及中斷響應(領會)1、中斷的定義。一個進程占有處理器運行時,由于自身或者外界的原因(出現了事件)使運行被打斷,讓操作系統(tǒng)處理所出現的事件,到適當的時候再讓被打斷的進程繼續(xù)運行,這個過程稱為“中斷”。2、中斷的類型。從中斷事件的性質出發(fā),中斷可以分為兩大類:。強迫性中斷事件包括硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷自愿性中斷事件是由正在運行的進程執(zhí)行一條訪管指令用以請求系

17、統(tǒng)調用而引起的中斷,這種中斷也稱為“訪管中斷”。自愿中斷的斷點是確定的,而強迫性中斷的斷點可能發(fā)生在任何位置。3、中斷的響應和處理。中斷響應(硬件即中斷裝置操作)處理器每執(zhí)行一條指令后,硬件的中斷位置立即檢查有無中斷事件發(fā)生,若有中斷事件發(fā)生,則暫?,F行進程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器,這一過程稱為“中斷響應”。中斷響應過程中,中斷裝置要做以下三項工作:是否有中斷事件發(fā)生判別自愿性中斷,只要檢查操作碼是否為訪管指令。判別強迫性中斷,則要檢查中斷寄存器內容。若為0,則無中斷;若非0,則表示有中斷事件發(fā)生。若有中斷發(fā)生,保護斷點信息每個程序都有一個程序狀態(tài)字(PSW)來反映本狀態(tài)的

18、執(zhí)行狀態(tài),如基本狀態(tài)、中斷碼和中斷屏蔽位等內容。處理器設有一個“程序狀態(tài)字寄存器”用來存放當前運行程序的PSW.程序狀態(tài)字可分為當前PSW、舊PSW和新PSW.當出現中斷事件后,把被中斷進程的PSW保存為舊PSW,即完成斷點信息保護。啟動操作系統(tǒng)的中斷處理程序工作中斷裝置通過“交換PSW”過程完成此項任務,即把出現的中斷事件存放到當前PSW中斷碼位置,然后把該當前PSW保存為舊PSW,再把操作系統(tǒng)中斷處理程序的新PSW送到程序狀態(tài)字寄存器中,成為當前的PSW.中斷處理(軟件即操作系統(tǒng)操作)操作系統(tǒng)的中斷處理程序對中斷事件進行處理時,大致要做三方面的工作:保護被中斷進程的現場信息把中斷時的通用寄

19、存器,控制寄存器內容及舊PSW保存到被中斷進程的進程控制塊中。分析中斷原因根據舊PSW的中斷碼可知發(fā)生該中斷的具體原因。處理發(fā)生的中斷事件一般只做一些簡單處理,在多數情況下把具體的處理交給其他程序模塊去做。八、中斷優(yōu)先級和中斷屏蔽(識記)1、中斷優(yōu)先級是硬件設計時確定的。中斷裝置按預定的順序來響應同時出現的中斷事件,這個預定的順序稱為中斷優(yōu)先級”。中斷優(yōu)先級是按中斷事件的重要性和緊迫程度來確定的,是由硬件設計時固定下來的。一般情況下,優(yōu)先級的高低順序依次為:硬件故障中斷、自愿中斷、程序性中斷,外部中斷和輸入輸出中斷2、中斷的嵌套處理3、中斷屏蔽的作用。中斷優(yōu)先級只是規(guī)定了中斷中自愿中斷是不能屏

20、蔽的。裝置響應同時出現的中斷的次序,當中斷裝置響應了某個中斷后中斷處理程序在進行處理時,中斷裝置也可能去響應另一個中斷事件。因此會出現優(yōu)先級低的中斷事件的處理打斷優(yōu)先級高的中斷事件的處理,使得中斷事件的處理順序與響應順序不一致,而且會形成多重嵌套處理,使多現場保護、程序返回等工作變的復雜。中自愿中斷是不能屏蔽的。斷屏蔽技術就是為了解決上述問題而提出的在一個中斷處理沒有結束之前不響應其他中斷事件,或者只響應比當前級別高的中斷事件。于是,當中斷裝置檢查到有中斷事件后,便去查看PSW中中斷屏蔽標志,如果沒有屏蔽就響應該中斷;否則,暫時不響應該中斷,待屏蔽標志消除后再響應。九、進程調度(領會)1、進程

21、調度的職責。按選定的進程調度算法從就緒隊列中選擇一個進程,讓它占用處理器。2、選擇進程調度算法的幾個準則:。提高處理器利用率。增大吞吐量。減少等待時間??s短響應時間3、進程調度的常用算法:先來先服務、優(yōu)先數法、輪轉法、分級調度.先來先服務調度算法該算法按進程進入就緒隊列的先后次序選擇可以占用處理器的進程。優(yōu)先數調度算法對每個進程確定一個優(yōu)先數,該算法總是讓優(yōu)先數最高的進程先使用處理器。對具有相同優(yōu)先數的進程,再采用先來先服務的次序分配處理器。系統(tǒng)常以任務的緊迫性和系統(tǒng)效率等因素確定進程的優(yōu)先數。進程的優(yōu)先數可以固定的,也可隨進程執(zhí)行過程動態(tài)變化。一個高優(yōu)先數的進程占用處理器后,系統(tǒng)處理該進程時

22、有兩種方法,一是“非搶占式”,另一種是“可搶占式”。前者是此進程占用處理器后一直運行到結束,除非本身主動讓出處理器,后者則是嚴格保證任何時刻總是讓優(yōu)先數最高的進程在處理器上運行。時間片輪轉調度法把規(guī)定進程一次使用處理器的最長時間稱為“時間片”。時間片輪轉調度算法讓就緒進程按就緒的先后次序排成隊列,每次總選擇該隊列中第一個進程占用處理器,但規(guī)定只能使用一個時間片,如該進程尚未完成,則排入隊尾,等待下一個供它使用的時間片。各個進程就這樣輪轉運行。時間片輪轉算法經常用于分時操作系統(tǒng)中。分級調度算法由系統(tǒng)設置多個就緒隊列,每個就緒隊列中的進程按時間片輪轉法占用處理器,這就是分級調度算法。4、進程的切換

23、進程調度將從就緒隊列中另選一個進程占用處理器,使一個進程讓出處理器,由另一個進程占用處理器的過程稱“進程切換”。若有一個進程從運行態(tài)變成等待態(tài),或完成工作后就撤消,則必定會發(fā)生進程切換。若一個進程從運行態(tài)或等待態(tài)變成就緒態(tài),則不一定發(fā)生進程切換。本章考核知識點:1、重定位2、固定分區(qū)存儲管理3、可變分區(qū)存儲管理4、頁式存儲管理5、段式存儲管理6、虛擬存儲器自學要求:明確存儲管理的職能是對主存儲器中的用戶區(qū)域進行管理;理解在不同的管理方式下如何實現存儲保護、地址轉換、以及主存空間的分配和回收;比較各種管理方式的特點;掌握虛擬存儲器的實現原理和方法。重點是:各種管理方式的特點;可變分區(qū)方式的主存分

24、配算法以及移動技術;分頁式虛擬存儲管理的實現以及頁面調度算法;分段式虛擬存儲管理的實現。操作系統(tǒng)的存儲管理如同一個大地主,管著一個大莊園,當有農戶需要租用田地時,地主就給分配一塊地讓他種(用戶區(qū)分配)。等到地里長出了果實(結果出來后,地主還得來收回這塊地(去配)。為了管好這片田地,地主還要管好莊園的門,凡是要進去種地的,都得由地主根據他的需要讓他到位置確定實際的田地上去干活。(把邏輯地址轉換成物理地址)莊園里還有一些大家共同可以使用的地方,比如地主的花園,工具房等,大家可以進去,也可以使用,但是不許改變任何現有的東東,還有,每個農戶只能在自己的地里刨食吃,如果有人膽敢到別人地里或地主的花園里摘

25、花偷食,可要當心他們養(yǎng)的狼狗跳出來哦。(共享和保護)當然,再大的地也是不夠多的,地主為了多賺些錢,當所有的地都租出去的時候,他想辦法把有些種田人暫時不種的那塊地里的東東連地皮一起挖出來放到倉庫里先堆著。把地騰出來租給別人種(這一招可夠絕的,不過地主說啦,這就是“虛擬存儲”。)你說這個地主是好是壞?概述:本章討論的是主存儲器空間的管理。主存儲空間分成系統(tǒng)區(qū)和用戶區(qū)兩部分。存儲管理的功能包括:主存空間的分配和去配、實現地址轉換、主存空間的區(qū)享和保護和主存空間擴充。一、重定位(領會)1、區(qū)分邏輯地址與絕對地址。絕對地址:主存儲器以字節(jié)為編址單位,容量為n的主存儲器中,每個單元有唯一的編號,從0到n-

26、1,這個唯一的編號就是主存儲器的物理地址比如我們現在用的128MB內存條中就有128X1024X1024=134217728字節(jié),所以它的內存絕對地址就是從0到134217727.注意啦,莊園的大地主就是這么給自己的地做上標記的。邏輯地址:在多道程序設計的系統(tǒng)中,操作系統(tǒng)為了方便用戶,就允許每個用戶都認為自己的作業(yè)的程序和數據存放在地址是0開始的連續(xù)空間中。這樣用戶程序中使用的地址就是邏輯地址.種田人不管地主莊園有多少塊地,標了什么號,只要記住自己需要多少地,給自己種的地打上標記就是了。地主想,只要你們能干活,不需要知道了我的底細了吧(家財不可外揚哦)。2、重定位(地址轉換的方式)為了保證作業(yè)

27、的正確執(zhí)行,必須根據分配給作業(yè)的主存區(qū)域對作業(yè)中指令和數據的存放進行重定位,這種把邏輯地址轉換成絕對地址的工作稱為“重定位”或“地址轉換”。重定位的方式有“靜態(tài)重定位”和“動態(tài)重定位”兩種。莊園主道:靜態(tài)重定位比較簡單,想當初張三來這兒,說要租一百塊地,青菜種在第1塊地,蘿卜種2塊地里,土豆得重在第3塊地里然后得在第28塊地里養(yǎng)鴨,完了要把28塊地里的鴨糞拉到第49塊地的魚塘里喂魚我就說,行啦行啦,你進去,莊園的左邊101到200號那100塊地就分給你吧,以后你要找哪塊地養(yǎng)鴨養(yǎng)魚的,就得按我給你編的號來找。每個地址都已經加上100了,不會找錯吧。別說我沒講清楚哦。至于動態(tài)重定位,莊主笑道:這個

28、我也能做到,這么實現的:李四來租地時,我也不問他,直接把他帶到空閑的一片地方。派人記著這那片地的第一個地址。比如說是100號吧。李四這個笨小子干著干著會叫起來說:“老板,現在我要到32號地里抓魚!”旁邊人一聽,馬上告訴他“哎呀,你現在已經分了地啦,起始地塊是100號,那你就得到132號地去才對!”就這樣,李四每一次要找地方時,都叫別人給他重新算一下。這樣他才不會找錯位置。這樣也有一個好處,就是如果有人出價更好,我可以讓他搬到別處去干活,反正都是叫別人給他重新算位置,所以他就不用記住搬地方后的物理地址啦。(1)靜態(tài)重定位正都是叫別人給他重新算位置,所以他就不用記住搬地方后的物理地址啦。(1)靜態(tài)

29、重定位在裝入一個作業(yè)時,把作業(yè)中的指令地業(yè)執(zhí)行過程中無需再進行地址轉換。所以稱為“靜態(tài)重定位”。(2)動態(tài)重定位在裝入一個作業(yè)時,不進行地址轉換,而是直接把作業(yè)裝到分配的主區(qū)域中。在作業(yè)執(zhí)行過程中,每當執(zhí)行一條指令時都由硬件的地址轉換機構轉換成絕對地址。這種方式的地址轉換是在作業(yè)執(zhí)行時動態(tài)完成的,所以稱為動態(tài)重定位。動態(tài)重定位由軟件(操作系統(tǒng))和硬件(地址轉換機構)相互配合來實現。動態(tài)重定位的系統(tǒng)支持“程序浮動”,而靜態(tài)重定位則不能。二、固定分區(qū)存儲管理(領會)分區(qū)存儲管理是把存儲器中的用戶區(qū)作為一個連續(xù)區(qū)或分成若干連續(xù)區(qū)進行管理。早先使用一個分區(qū)的存儲管理,后發(fā)展成多分區(qū)的存儲管理。多個分區(qū)

30、的管理可采用固定分區(qū)方式和可變分區(qū)方式。1、固定分區(qū)存儲管理的原理固定分區(qū)的意思就是指主存空間劃分成若干連續(xù)區(qū)后,這些分區(qū)的大小和個數就固定不變。固定分區(qū)管理利用一張“主存分配表”說明各分區(qū)的情況。裝入和結束作業(yè)均通過這個分區(qū)表來記錄分區(qū)使用的變化情況。2、如何實現存儲保護固定分區(qū)管理可采用靜態(tài)重定位的方式裝入作業(yè)。裝入程序把作業(yè)中的邏輯地址轉換為絕對地址。并檢查絕對地址是否在指定(裝入)的分區(qū)內,如果是,就裝入這個作業(yè)。否則就不能裝入。如果裝入主存分區(qū)的作業(yè)占用處理器時(注意,是運行時),進程調度程序(不是裝入程序了)必須把作業(yè)所在分區(qū)的上下限地址存入“下限寄存器”和“上限寄存器”中,這樣可

31、以在指令執(zhí)行中判斷其所用到的絕對地址是否越界,達到存儲保護的目的。3、怎樣提高主存空間的利用率這里有幾種辦法:(1)分區(qū)按大小順序排列,這樣可以使作業(yè)總是先使用滿足要求的最小分區(qū)。(2)根據經常出現的作業(yè)大小和頻率劃分分區(qū)。(3)按作業(yè)的對主存空間的需求量排成多個隊列,規(guī)定隊列與分區(qū)的對應關系。也就是說多大的作業(yè)只能放在多大的分區(qū)里,就算有更大的分區(qū)空著,也不許他進入。三、可變分區(qū)的管理(領會)可變就是指分區(qū)的大小和位置不是固定的,而是根據作業(yè)要求的主存量來分配分區(qū)的大小。1、主存的分配和去配(回收)在系統(tǒng)初始化時,主存除了操作系統(tǒng)所占部分外,整個用戶區(qū)是一個大的空閑區(qū),可以按作業(yè)需要的空間大

32、小順序分配空閑區(qū)直到不夠時為止。當作業(yè)結束時,它的占用分區(qū)被收回。這個空閑區(qū)又可以根據新作業(yè)的大小重新用于分配,所以主存中的已占分區(qū)和空閑區(qū)的數目和大小都是在變化的??梢杂脙蓮埍怼耙逊峙鋮^(qū)表”和“空閑區(qū)表”來記錄和管理。2、常用的分配算法最先適應分配算法:簡單地說,就是在分區(qū)表中順序查找,找到夠大的空閑區(qū)就分配。但是這樣的分配算法可能形成許多不連續(xù)的空閑區(qū),造成許多“碎片”,使主存空間利用率降低。最優(yōu)適應分配算法:這種算法總是挑選一個能滿足作業(yè)要求的最小空閑區(qū)。但是這種算法可能形成一些極小的空閑區(qū),以致無法使用,這也會影響主存利用率。最壞適應分配算法:這種算法和上面的正好相反,它總是挑一個最大

33、的空閑區(qū)分給作業(yè)使用,使剩下的空間不至于太小。3、地址轉換與存儲保護采用可變分區(qū)方式管理時,一般均采用動態(tài)重定位方式裝入作業(yè)。也就是每讀一條指令,都要變換一次地址。變換要靠硬件支持,主要是兩個寄存器:基址寄存器和限長寄存器,限長寄存器存放作業(yè)所占分區(qū)的長度,基址寄存器則存放作業(yè)所占分區(qū)的起始地址,這兩個值確定了一個分區(qū)的位置和大小。轉換時根據邏輯地址與限長值比較,如果不有超過這個值,表示訪問地址合法,再加上基址寄存器中的值就得到了絕對地址了,否則形成“地址越界”中斷。達到存儲保護的目的。對于共享程序,則硬件提供兩組限長寄存器和基址寄存器。訪問時對訪問區(qū)享區(qū)和作業(yè)區(qū)的地址分別進行轉換。4、移動技

34、術的應用移動技術要“移動”的東東就是主存空間中的作業(yè)。把某個作業(yè)移到另一處主存空間去(在磁盤整理中我們應用的也是類似的移動技術),這樣的最大好處就是可以合并一些空閑區(qū)。但是移動技術的應用也要注意以下問題。移動會增加系統(tǒng)開銷。所以要盡量減少移動。移動是有條件的,如果作業(yè)在執(zhí)行過程中正等待與外圍設備傳輸信息,就不能移動。因此在移動時首先要判定該作業(yè)是否與外設交換信息。四、頁式存儲管理(領會)1、如何分頁和分塊頁式存儲管理中有兩個名詞:“頁”和“塊”,其中的“塊”是針對硬件來說的,就是把存儲器分成若干相等大小的區(qū),每個區(qū)就稱為一個塊。對應的,在程序中,邏輯地址進行“分頁”,其大小和每個塊相一致。事實

35、上,頁面的大小是由塊的大小自然決定的。對于程序來說,其邏輯地址還是和原來一樣采用連續(xù)的地址。只是按照塊的位數取其前面數位做為頁號.分配空間時,根據作業(yè)長度可以確定它的頁面數,根據這個頁面數在主存中分配相應的塊數,只要是空閑塊就可以放入,即使不是相鄰的。并把分配情況記在“頁表”中,根據頁表可以找到相對應的頁號與塊號,就得出絕對地址了。2、采用頁式管理,使主存空間充分利用,頁不必為了得到連續(xù)空間而進行移動。可以提高系統(tǒng)效率。3、頁表的構造與作用每個被裝入主存的作業(yè)都有一張頁表,指出該作業(yè)邏輯地址中的頁號與所占用的主存塊號之間的對應關系。頁表的長度由作頁擁有的頁面數決定,行號對應為頁號,行中記錄的是

36、主存中的塊號。頁表是硬件進行地址轉換的依據,每執(zhí)行一條指令時按邏輯地址中的頁號查找頁表并轉換成絕對地址。在多道程序設計系統(tǒng)中,進入主存的每個作業(yè)都有一張頁表,由一個硬件“頁表控制寄存器”來記錄每個作業(yè)的頁表所在位置和長度以便作業(yè)轉換時同時轉換頁表。4、快表的構造與作用快表就是頁表的一部分克隆,每行中有頁號及其對應的塊號,整個快表存放在一個小容量的高速緩存中,訪問時快表和內存同時進行查找,因為快表速度很快,而常用的頁都登記在快表中,因此可以大大加快執(zhí)行速度。5、采用頁式管理的地址轉換過程(為什么不直接用塊分配表來記錄而要用位示圖呢,因為主存塊很多,這樣可以節(jié)省空間,提高效率。位示圖就是用一個位(

37、0或1)來表示一個塊的使用狀態(tài),一個字32位,可以表示32塊。按順序排列,只需一小段內存就可以記錄主存中大量的塊狀態(tài))6、利用位示圖實現頁式存儲空間的分配和回收頁式存儲管理把主存空間分成大小固定的許多塊,在裝業(yè)作業(yè)時,如何知道主存中哪些塊已使用,哪些還未用,可以用位示圖來表示。塊號二字號X字長+位號字號=i/字長(即塊號i除以字長取整)位號=imod字長(即塊號i除以字長取余)。五、段式存儲管理(領會)1、段式存儲中段的劃分段式管理是根據人們對程序中需要分段編制的要求出發(fā)而提供的。它提供給用戶編程時使用的邏輯地址由“段號”和“段內地址”兩部分組成,其形式和頁式管理相同。但是實際上是不同的:頁式

38、存儲管理提供連續(xù)邏輯地址由系統(tǒng)自動分頁,段式存儲管理中的作業(yè)分段是由用戶決定的,每段獨立編程,因此段間的邏輯地址是不連續(xù)的。2、段式存儲空間的分配這種分配方法和可變分區(qū)管理方式的分配方法相同,所不同的是:可變分區(qū)管理方式中是為每個作業(yè)分一個區(qū),而段式管理是為一個作業(yè)中的每個段分一個連續(xù)的空間。(段式管理更細)。3、段表的構造與作用段表由段號、本段限長和起始地址三部分組成,由于每一行記錄的行號可以對應程序的段號,因此段號實際上被省略,不占存儲空間。與其他管理方式一樣,段表記錄的信息用于地址轉換和存儲保護。段表的表目起到了基址/限長寄存器的作用。4、段式存儲管理的地址轉換這個轉換過程如同可變分區(qū)方

39、式的地址轉換,但是由段表的表目替代了基址/限長寄存器。絕對地址=根據段號找到段表中的起始地址+段內地址(如果段內地址超過限長則產生“地址越界”程序性中斷事件達到存儲保護)多道程序設計系統(tǒng)中,每個進入主存的作業(yè)都建立了段表,因此還有一個硬件“段表控制寄存器”來記錄每個作業(yè)的段表在主存中的位置和長度。六、虛擬存儲器(領會)1、什么是虛擬存儲器虛擬存儲器是為“擴大”主存容量而采用的一種設計技巧,它利用作業(yè)在只裝入部分信息時就可以執(zhí)行的特性和程序執(zhí)行中表現出來的局部性特性,借助于大容量的輔助存儲器實現小主存空間容納大邏輯地址空間的作業(yè)。虛擬存儲器的容量由計算機的地址結構(總線位數)決定。2、虛擬存儲器

40、的實現原理它的工作原理如下:首先把作業(yè)信息保留在磁盤上,當作業(yè)請求裝入時,只將其中一部分先裝入主存,作業(yè)執(zhí)行中若要訪問的信息不在主存中,則再設法將這些信息裝入主存。3、分頁式虛擬存儲器的實現頁式虛擬存儲管理是在頁式存儲管理的基礎上實現的。首先把作業(yè)信息作為副本存放在磁盤上,作業(yè)執(zhí)行時,把作業(yè)信息的部分頁面裝入主存儲器,作業(yè)執(zhí)行時若所訪問的頁面已經在主存中,則進行地址轉換,得到絕對地址,否則產生“缺頁中斷”由操作系統(tǒng)把當前所需的頁面裝入主存。4、常用的頁面調度算法:FIFO、LRU、LFU當主頁中無空閑塊時,為了裝入一個頁面,就必須按某種算法將主存中某個頁調出,調入所需裝入的頁面。這就是頁面調度

41、。常用的算法有:先進先出調度算法(FIFO)、最近最少使用調度算法(LRU)和最近最不常用調度算法(LFU)。特別要注意掌握的就是LRU的算法,如何進行調度。5、缺頁中斷率如果作頁執(zhí)行中訪問頁面的總次數為A,其中有F次訪問的頁面尚未裝入主存,則有F次缺頁中斷,f=F/A,這里的f就稱為缺頁中斷率。影響缺頁中斷的因素有:分配給作業(yè)的主存塊數塊數nff;頁面的大小頁面大小ff/程序編制方法一一局部化程度ff;頁面調度算法6、段式虛擬存儲器的實現段式虛擬存儲管理以段式存儲管理為基礎,在磁盤上保留作業(yè)的各個分段信息,作業(yè)執(zhí)行時把需要執(zhí)行的一段或幾段裝入主存。在實際使用中,也要進行查表和地址轉換以及“缺

42、段中斷”和調度(包括調出、裝入、移動等)工作。本章的考核知識點:1、文件和文件名;2、文件的存儲介質;3、文件的存取方法;4、文件目錄;5、文件的邏輯結構;6、文件的物理結構;7、記錄的組成與分解;8、存儲空間的分配與回收;9、文件操作;10、文件的保護與保密。本章自學要求:文件管理必須對用戶按名存取功能,要求考生理解為實現按名存取文件管理應該做哪些工作;文件管理怎樣管理用戶信息的存儲和檢索、怎樣實現文件的保護和保密;文件操作的作用以及用戶如何使用文件操作。重點是:邏輯文件與物理文件間的轉換;文件目錄操作的作用及使用。一、文件和文件名(識記)文件和文件名:在計算機系統(tǒng)中,把邏輯上具有完整意義的

43、信息集合稱為“文件”,每個文件都要用一個名字作標識,稱為“文件名”。文件可以按各種方法進行分類:按用途系統(tǒng)文件、庫文件、用戶文件按保護級別可執(zhí)行文件、只讀文件、讀寫文件按信息流向輸入文件、輸出文件、輸入輸出文件按存放時限臨時文件、永久文件、檔案文件按設備類型磁盤文件、磁帶文件、卡片文件、打印文件按文件組織結構邏輯文件、物理文件(順序文件、鏈接文件、索引文件)、文件存儲介質(領會)1、存儲介質不等于存儲設備,它是指用來記錄信息的磁帶、硬磁盤組、軟磁盤片、卡片等。使用它們要通過相應的存儲設備。2、存儲介質的物理單位定義為“卷”。文件與卷的關系(存在卷中)可以是一對一也可以是一對多或多對一。3、存儲

44、介質上連續(xù)信息所組成的一個區(qū)域稱為“塊”(物理記錄)塊是存儲設備與主存之間進行信息交換的物理單位。4、磁盤的結構:磁盤格式化時盤面存儲空間劃分扇區(qū),每個扇區(qū)中各磁道都有相同長度的連續(xù)信息區(qū),每個區(qū)就是磁盤上的塊.三、文件的存取方式(領會)文件的存取方式有順序存取和隨機存取兩種。磁帶上的文件只能順序存取,磁盤上的文件既可采用順序方式也可用隨機方式存取。四、文件目錄(簡單應用)1、文件目錄的主要內容和作用:文件目錄由若干目錄項組成,每個目錄項記錄一個文件的有關信息。包括:有關文件存取控制信息.例如用戶名、文件名、文件類型、文件屬性(可讀寫、只讀、只執(zhí)行等)有關文件結構的信息.例如文件的邏輯結構、物

45、理結構、記錄個數和在存儲介質上的位置等。有關文件管理的信息.例如文件建立的日期、修改日期、保留期限等。文件目錄的作用是用于檢索文件。2、目錄結構:包括一級目錄結構、二級目錄結構和樹形(多級)目錄結構。一級目錄結構要求所有的文件名均不相同,一般只適用于微機的單用戶系統(tǒng)。二級目錄結構則增加一級主文件目錄,此目錄是為用戶建立的獨立文件目錄,用戶訪問文件時先要找到用戶自己的目錄再查找該目錄下的指定文件。實際上,二級目錄結構中,文件系統(tǒng)把用戶名和文件名合起來作為文件標識。樹形目錄允許用戶在自己的文件中再建立子目錄從根目錄到文件之間所有各級子目錄名和該文件名的順序組合稱為文件的“路徑名”絕對路徑:是從根目

46、錄到指定文件的路徑。如MSDOS下從C盤到某一文件的路徑:C:/first/file.exp相對路徑:是從當前目錄到指定文件的路徑。如上例,當前目錄為22時,訪問file.exp的相對路徑是:33/file.exp,訪問根目錄下的文件路徑是:/ HYPERLINK file:/樹形目錄的優(yōu)點:1)解決了重名問題。2)有利于文件分類3)提高檢索文件的速度4)能進行存取權限的控制。關于本節(jié)的內容可以在MSDOS或UNIX操作系統(tǒng)中進行練習,以理解目錄結構??捎玫拿钣校篸ir、tree、md、cd、rd、del等。五、文件的邏輯結構(領會)前面講的是目錄,現在講的是文件。文件的結構是指文件的構造方

47、式。什么是文件的邏輯結構:由用戶構造的文件稱為文件的邏輯結構。如一篇文檔、一個數據庫記錄文件等,在用戶看來是一些文字和數字或多媒體信息的有機組合。邏輯文件有兩種形式:流式文件和記錄式文件.流式文件是指用戶對文件內信息不再劃分的可獨立的單位,如我們的word文件,圖片文件等。整個文件是以順序的一串信息組成。記錄式文件:是指用戶對文件內信息按邏輯上獨立的含義再劃分信息單位,每個單位為一個邏輯記錄。每個記錄可以獨立存取。這個在數據庫中我們學得比較多,容易理解。六、文件的物理結構(領會)1、什么是文件的物理結構:由文件系統(tǒng)在存儲介質上的文件構造方式稱為文件的物理結構.不論用戶看來是什么文件,在存儲介質

48、上存儲時,按何種構造方式記錄呢,因為介質上的存儲單位是物理塊,那么這些物理快是順序存放,還是鏈式結構,或者索引結構,都要由文件系統(tǒng)結構來實現。2、邏輯文件在磁盤上的組織方式:1)順序結構:顧名思義,順序結構就是指,把邏輯文件的記錄(內容)按其本身的順序(邏輯記錄的順序)在磁盤上也按序存放在連續(xù)的塊中。讀取時也從第一個記錄開始按順序進行。在文件目錄中指出文件名,存放的起始塊號和占用塊數。順序文件的最大優(yōu)點是存取速度快(可以連續(xù)訪問)。而問題主要是存儲空間利用率不高、輸出文件時難以估計需要多少磁盤塊、影響文件擴展。2)鏈接結構:如果邏輯文件中的各個邏輯記錄任意存放到一些磁盤塊中,再用指針把各個塊按邏輯記錄的順序鏈接起來,在文件目錄中只記錄第一塊的地址和最后一塊的地址,那么這種文件組織方式就是鏈接結構。鏈接結構解決了順序結構中的所有問題,所有空閑塊都可以被利用,在順序讀取時效率較高但需要隨機存取時效率低下(因為要從第一個記錄開始讀取查找)。此外,對于鏈接結構,也有一些問題要注意:由于塊中要存放指針信息,因此一部分空間被占用;讀出信息時要把指針信息分離出來;還要防止指針丟失或破壞造成的混亂,所以又要增加一些管理的信息。總之鏈式結構會使用于存放文件信息的空間減少。3)索引結構:索引結構是實現非連續(xù)存儲的另一種方法,索引結

溫馨提示

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

評論

0/150

提交評論