一、虛擬存儲器
虛擬存儲器是為“擴(kuò)大”主存容量而采用的一種設(shè)計技巧,就是它只裝入部分作業(yè)信息來執(zhí)行,好處在于借助于大容量的輔助存儲器實現(xiàn)小主存空間容納大邏輯地址空間的作業(yè)。
虛擬存儲器的容量由計算機(jī)的地址結(jié)構(gòu)(地址總線位數(shù))決定。如32位的,則最大的虛存容量為2^32=4294967296B=4GB。
二、敘述頁式虛擬存儲器的基本原理
頁式虛擬存儲器是在頁式存儲的基礎(chǔ)上實現(xiàn)虛擬存儲器的,其工作原理是:
首先把作業(yè)信息作為副本存放在磁盤上,作業(yè)執(zhí)行時,把作業(yè)信息的部分頁面裝入主存,并在頁表中對相應(yīng)的頁面是否裝入主存作出標(biāo)志。
作業(yè)執(zhí)行時若所訪問的頁面已經(jīng)在主存中,則按頁式存儲管理方式進(jìn)行地址轉(zhuǎn)換,得到絕對地址,否則產(chǎn)生“缺頁中斷”由操作系統(tǒng)把當(dāng)前所需的頁面裝入主存。
若在裝入頁面時主存中無空閑塊,則由操作系統(tǒng)根據(jù)某種“頁面調(diào)度”算法選擇適當(dāng)?shù)捻撁嬲{(diào)出主存換入所需的頁面。
三、常用的頁面調(diào)度算法:FIFO、LRU、LFU
頁面調(diào)度:當(dāng)主頁中無空閑塊時,為了裝入一個頁面,就必須按某種算法將主存中某個頁調(diào)出,調(diào)入所需裝入的頁面。
常用的算法有:先進(jìn)先出調(diào)度算法(FIFO)、最近最少使用調(diào)度算法(LRU)和最近最不常用調(diào)度算法(LFU)。
特別要注意掌握的就是LRU(最近最少使用調(diào)度算法)的算法,如何進(jìn)行調(diào)度。
5、缺頁中斷率
f=F/A,這里的f就稱為缺頁中斷率。
A為作業(yè)執(zhí)行中調(diào)入頁面的總次數(shù),F(xiàn)為訪問的頁面尚未裝入主存的次數(shù)。
四、段式虛擬存儲器的實現(xiàn)
段式虛擬存儲管理以段式存儲管理為基礎(chǔ),即在磁盤上保留作業(yè)的各個分段信息,作業(yè)執(zhí)行時把需要執(zhí)行的一段或幾段裝入主存。
在實際使用中,也要進(jìn)行查表和地址轉(zhuǎn)換以及“缺段中斷” 和調(diào)度(包括調(diào)出、裝入、移動等)工作。
五、比較各種存儲管理方式的特征
單分區(qū)管理
除操作系統(tǒng)占用的一部分存儲空間外,其余的用戶區(qū)域作為一個連續(xù)的分區(qū)分配給用戶使用。
界限寄存器值+邏輯地址→絕對地址。
固定分區(qū)的管理分區(qū)數(shù)目、大小固定。
設(shè)置上、下限寄存器
邏輯地址+下限地址→絕對地址。
可變分區(qū)的管理 可變分區(qū)管理方式不是把作業(yè)裝入到已經(jīng)劃分好的分區(qū)中,而是在作業(yè)要求裝入主存儲器時,根據(jù)作業(yè)需要的主存量和當(dāng)時的主存情況決定是否可以裝入該作業(yè)。
分區(qū)數(shù)目大小不定
設(shè)置基址、限長寄存器
邏輯地址+基址寄存器的值→絕對地址。 基址值≤絕對地址≤基址值+限長值。
頁式存儲管理 主存儲器分為大小相等的“塊”。
程序中的邏輯地址進(jìn)行分“頁”,頁的大小與塊的大小一致。
用頁表登記塊頁分配情況
邏輯地址的頁號部分→頁表中對應(yīng)頁號的起始地址→與邏輯地址的頁內(nèi)地址部分拼成絕對地址。 由頁表中的標(biāo)志位驗證存取是否合法,根據(jù)頁表長度判斷是否越界。
段存儲管理程序分段
每一段分配一個連續(xù)的主存區(qū)域,作業(yè)的各段可被裝到不相連的幾個區(qū)域中。
設(shè)置段表記錄分配情況
邏輯地址中的段號→查段表得到本段起始地址+段內(nèi)地址→絕對地址 由段表中的標(biāo)志位驗證存取是否合法,根據(jù)段表長度判斷是否越界。
頁式虛擬存儲管理 類似頁式管理將作業(yè)信息保存在磁盤上部分裝入主存。
類似頁式管理:
邏輯地址的頁號部分→頁表中對應(yīng)頁號的起始地址→與邏輯地址的頁內(nèi)地址部分拼成絕對地址。
若該頁對應(yīng)標(biāo)志為0,則硬件形成“缺頁中斷”先將該頁調(diào)入主存 類似頁式管理。
段式虛擬存儲管理 類似段式管理將作業(yè)信息保存在磁盤上部分裝入主存。
類似段式管理
只有單分區(qū)適用于單道系統(tǒng)。
只有單分區(qū)和固定分區(qū)的為靜態(tài)重定位,不需要硬件轉(zhuǎn)換機(jī)構(gòu)。其余為動態(tài)重定位,需要硬件轉(zhuǎn)換。
六、可變分區(qū)經(jīng)常采用的主存分配算法
最先適應(yīng)分配算法:簡單地說,就是在分區(qū)表中順序查找,找到夠大的空閑區(qū)就分配。
最優(yōu)適應(yīng)分配算法:挑選一個能滿足作業(yè)要求的最小空閑區(qū)。
最壞適應(yīng)分配算法:挑一個最大的空閑區(qū)分給作業(yè)使用。
七 、I/O保護(hù)
1 特權(quán)指令:即可能影響系統(tǒng)安全的指令。全文是為保護(hù)輸入輸出的完整性,把“啟動I/O”等的一類可能影響系統(tǒng)安全的指令定義為特權(quán)指令。
特權(quán)指令的使用權(quán)限:特權(quán)指令只允許操作系統(tǒng)使用,用戶程序不能使用特權(quán)指令。
用戶程序若要啟動I/O,必須請求操作系統(tǒng)代為啟動。優(yōu)點在于:這種方式不但保證安全地使用外圍設(shè)備,正確地傳送信息,而且可減少用戶為啟動設(shè)備而必須了解外圍設(shè)備特性以及啟動等工作,大大方便了用戶。
2 管態(tài)和目態(tài)
中央處理器的兩種工作方式:管態(tài)和目態(tài)。
在管態(tài)下,中央處理器可執(zhí)行包含特權(quán)指令在內(nèi)的一切指令;
目態(tài)次于管態(tài),在目態(tài)下,中央處理器不準(zhǔn)執(zhí)行特權(quán)指令。
操作系統(tǒng)在管態(tài)下工作,用戶程序在目態(tài)下工作。
3 存儲保護(hù)
操作系統(tǒng)與硬件如何配合來實現(xiàn)存儲保護(hù)的?
答:硬件中設(shè)置了兩個寄存器來限定用戶程序執(zhí)行時可以訪問的空間范圍。這兩個寄存器是基址寄存器和限長寄存器,用來限定用戶程序執(zhí)行時可以訪問的主存空間范圍。
程序執(zhí)行時,系統(tǒng)對每一個訪問內(nèi)存的地址進(jìn)行核對:
“基址寄存器值≤訪問地址≤基址寄存器值+限長寄存器值”成立,則允許訪問;否則,不允許訪問。
這樣就保護(hù)了該區(qū)域以外的存儲信息不受到破壞,一旦程序執(zhí)行中出錯也不會涉及其他程序。
注:中央處理器在管態(tài)下執(zhí)行程序時候,對訪問主存的地址不進(jìn)行核對。
文件管理
一、存儲介質(zhì)是指可用來記錄信息的磁帶、硬磁盤組、軟磁盤片、卡片等。存儲介質(zhì)的物理單位定義為“卷”。
存儲設(shè)備與主存儲器之間進(jìn)行信息交換的物理單位是塊。塊定義為存儲介質(zhì)上存放的連續(xù)信息所組成的一塊區(qū)域。
邏輯上具有完整意義的信息集合稱為“文件”。
用戶對文件內(nèi)的信息按邏輯上獨立的含義劃分的信息單位是記錄,每個單位為一個邏輯記錄。
二、文件
1、文件的目錄
(1)文件目錄是用來檢索文件的。文件目錄由若干目錄項組成。目錄項記錄文件的有關(guān)信息。
(2)文件目錄的結(jié)構(gòu)
包括一級目錄結(jié)構(gòu)、二級目錄結(jié)構(gòu)和樹形(多級)目錄結(jié)構(gòu)。
樹形目錄允許用戶在自己的文件中再建立子目錄。從根目錄到文件之間所有各級子目錄名和該文件名的順序組合稱為文件的“路徑名”,路徑分為絕對路徑,相對路徑。
2、文件的分類
文件可以按各種方法進(jìn)行分類:
按用途:系統(tǒng)文件、庫文件、用戶文件
按保護(hù)級別:可執(zhí)行文件、只讀文件、讀寫文件
按信息流向:輸入文件、輸出文件、輸入輸出文件
按存放時限:臨時文件、永久文件、檔案文件
按設(shè)備類型:磁盤文件、磁帶文件、卡片文件、打印文件
按文件組織結(jié)構(gòu):邏輯文件、物理文件(順序文件、鏈接文件、索引文件)
3、文件的存取方式
順序存取,隨機(jī)存取。
文件的存取方式有順序存取和隨機(jī)存取兩種。磁帶上的文件只能順序存取,磁盤上的文件既可采用順序方式也可用隨機(jī)方式存取。
4、文件的結(jié)構(gòu)
1、邏輯結(jié)構(gòu)
用戶構(gòu)造的文件稱為文件的邏輯結(jié)構(gòu)。如用戶的一篇文檔、一個數(shù)據(jù)庫記錄文件等。邏輯文件有兩種形式:流式文件和記錄式文件。
流式文件是指用戶對文件內(nèi)信息不再劃分的可獨立的單位,如我們的word文件,圖片文件等。整個文件是以順序的一串信息組成。
記錄式文件:是指用戶對文件內(nèi)信息按邏輯上獨立的含義再劃分信息單位,每個單位為一個邏輯記錄。記錄式文件可以存取的最小單位是記錄項。每個記錄可以獨立存取。這個在數(shù)據(jù)庫中我們學(xué)得比較多,容易理解。
2、物理結(jié)構(gòu)
由文件系統(tǒng)在存儲介質(zhì)上的文件構(gòu)造方式稱為文件的物理結(jié)構(gòu)。物理結(jié)構(gòu)有:
1)順序結(jié)構(gòu):在磁盤上就是一塊接著一塊地放文件。邏輯記錄的順序和磁盤順序文件塊的順序一致。順序文件的最大優(yōu)點是存取速度快(可以連續(xù)訪問)。
2)鏈接結(jié)構(gòu):把磁盤分塊,把文件任意存入其中,再用指針把各個塊按順序鏈接起來。這樣所有空閑塊都可以被利用,在順序讀取時效率較高但需要隨機(jī)存取時效率低下(因為要從第一個記錄開始讀取查找)。
3)索引結(jié)構(gòu):磁盤不分塊,文件的邏輯記錄任意存放在磁盤中,通過一張“索引表”指示每個邏輯記錄存放位置。這樣,訪問時根據(jù)索引表中的項來查找磁盤中的記錄,既適合順序存取記錄,也可以隨機(jī)存取記錄,并且容易實現(xiàn)記錄的增刪和插入,所以索引結(jié)構(gòu)被廣泛應(yīng)用。
5、文件的保護(hù)與保密
1)文件的保護(hù)是防止文件被破壞,。文件的保密是防止文件被竊取。
2)文件的保護(hù)措施:
防止系統(tǒng)故障造成的破壞,可以采建立副本和定時轉(zhuǎn)儲的方法;為了防止用戶共享文件可能造成的文件破壞,可以采用樹形目錄結(jié)構(gòu)、存取控制表和規(guī)定文件使用權(quán)限的方法。
3)文件的常用保密措施:隱藏文件目錄、設(shè)置口令和使用密碼(加密)等。
三、記錄的成組與分解
1、記錄的成組與分解的原因:由于磁盤塊的大小是預(yù)先劃分好的,大小固定,而邏輯記錄的大小是用戶文件性質(zhì)決定的,不一定和塊大小一致。
2、記錄的成組:把若干個邏輯記錄存入一個塊的工作稱為“記錄的成組”。每塊中邏輯記錄的個數(shù)稱“塊因子”。
3、記錄的分解:這是記錄成組的一個逆過程。經(jīng)程是先從磁盤中找到記錄所在的塊,并將本塊讀入主存緩沖區(qū),再從緩沖區(qū)取出所需要的記錄送到用戶工作區(qū)。如果用戶所需的記錄已經(jīng)在緩沖區(qū)中,則不需要啟動外設(shè)讀塊信息,這也可以提高系統(tǒng)工作效率。
四、存儲空間的分配與回收
1、用位示圖進(jìn)行磁盤存儲空間的分配與回收。
2、用空閑塊表進(jìn)行磁盤存儲空間的分配與回收:如同主存管理中的空閑區(qū)表,表每一行記錄一組連續(xù)空閑塊的首塊號和空閑塊數(shù),空閑塊數(shù)為“0”的登記項為“空”登記項。
一、作業(yè)和作業(yè)步
1、作業(yè):我們把用戶要求計算機(jī)系統(tǒng)處理的一個問題稱為一個“作業(yè)”。
2、作業(yè)步:完成作業(yè)的每一個步聚稱為“作業(yè)步”。
二、作業(yè)控制方式
1、作業(yè)控制方式,包括批處理方式和交互方式。
批處理控制方式:也稱脫機(jī)控制方式或自動控制方式。就是一下子交待任務(wù),執(zhí)行過程中不再干涉。
交互控制方式:也稱聯(lián)機(jī)控制方式。就是一步一步地交待任務(wù)。做好了一步,再做下一步。
2、批處理作業(yè)的控制(領(lǐng)會)
1)按用戶提交的作業(yè)控制說明書控制作業(yè)的執(zhí)行。
2)一個作業(yè)步的工作往往由多個進(jìn)程的合作來完成。
3)一個作業(yè)步的工作完成后,繼續(xù)下一個作業(yè)步的作業(yè),直至作業(yè)執(zhí)行結(jié)束。
3、交互式作業(yè)的管理(領(lǐng)會)
1)交互式作業(yè)的特點: 交互式作業(yè)的特點主要表現(xiàn)在交互性上,它采用人機(jī)對話的方式工作。
2)交互式作業(yè)的控制:一種是操作使用接口,另一種是命令解釋執(zhí)行。
操作使用接口包括操作控制命令,菜單技術(shù),窗口技術(shù)。
命令的解釋執(zhí)行 一類是操作系統(tǒng)中的相應(yīng)處理模塊直接解釋執(zhí)行; 另一類必須創(chuàng)建用戶進(jìn)程去解釋執(zhí)行。
3、終端用戶控制終端作業(yè)的執(zhí)行大致有四個階段:終端的連接、用戶注冊、控制作業(yè)執(zhí)行和用戶退出。
三、批處理作業(yè)的調(diào)度及調(diào)度算法(綜合應(yīng)用)
1、批處理作業(yè):采用批處理控制方式的作業(yè)稱為“批處理作業(yè)”。
2、批處理作業(yè)進(jìn)入系統(tǒng)時必須提交:源程序、運(yùn)行時的數(shù)據(jù)、用作業(yè)控制語言書寫的作業(yè)控制說明書。
3、批處理作業(yè)的輸入:操作員只要用“預(yù)輸入命令”啟動SPOOL系統(tǒng)中的“預(yù)輸入程序”工作就可把作業(yè)流中的作業(yè)信息存放到“輸入井”中。等待系統(tǒng)的調(diào)度。
4、什么叫作業(yè)調(diào)度?作業(yè)調(diào)度選擇作業(yè)的必要條件是什么?
答:作業(yè)調(diào)度是指按一定的策略從“輸入井”中選擇資源能得到滿足的作業(yè)裝入主存儲器,使作業(yè)能有機(jī)會占用處理器執(zhí)行。作業(yè)調(diào)度選擇作業(yè)的必要條件是系統(tǒng)中現(xiàn)有的尚未分配的資源能夠滿足該作業(yè)的資源要求。
5、作業(yè)調(diào)度與進(jìn)程調(diào)度
作業(yè)調(diào)度的職責(zé)是把輸入井中的作業(yè)裝入主存。
進(jìn)程調(diào)度的職責(zé)就是選擇當(dāng)前可占用處理器的進(jìn)程。