版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第4章章 資源管理技術(shù)資源管理技術(shù)第 2 頁(yè)4.1 操作系統(tǒng)的概念操作系統(tǒng)的概念4.2 多道程序設(shè)計(jì)多道程序設(shè)計(jì)4.3 存儲(chǔ)空間的組織存儲(chǔ)空間的組織第 3 頁(yè)4.1.1 操作系統(tǒng)的概念和任務(wù)操作系統(tǒng)的概念和任務(wù)4.1.2 操作系統(tǒng)的發(fā)展過(guò)程操作系統(tǒng)的發(fā)展過(guò)程4.1.3 操作系統(tǒng)的分類(lèi)操作系統(tǒng)的分類(lèi)第 4 頁(yè)顯示器顯示器鍵盤(pán)鍵盤(pán) CPU(處理機(jī))(處理機(jī))內(nèi)存內(nèi)存計(jì)算機(jī)一般由:處理機(jī)(計(jì)算機(jī)一般由:處理機(jī)(CPU)、存儲(chǔ)器及)、存儲(chǔ)器及I/O設(shè)備組成。設(shè)備組成。問(wèn)題:如此多而復(fù)雜的硬件,用戶(hù)如何控制和使用呢?問(wèn)題:如此多而復(fù)雜的硬件,用戶(hù)如何控制和使用呢?為計(jì)算機(jī)配置!第 5 頁(yè)應(yīng)用程序應(yīng)用程
2、序用戶(hù)程序用戶(hù)程序操作系統(tǒng)虛擬機(jī)操作系統(tǒng)虛擬機(jī)操作系統(tǒng)操作系統(tǒng)裸裸 機(jī)機(jī)1. 裸機(jī)的使用是不方裸機(jī)的使用是不方便的;便的;2. 在裸機(jī)之上裝配一在裸機(jī)之上裝配一些些基本的控制軟件基本的控制軟件,讓這些軟件自動(dòng)完成讓這些軟件自動(dòng)完成基本功能;基本功能;3. 在這些軟件的基礎(chǔ)在這些軟件的基礎(chǔ)之上進(jìn)行擴(kuò)充和完善,之上進(jìn)行擴(kuò)充和完善,提供給用戶(hù)所要求的提供給用戶(hù)所要求的功能。功能。第 6 頁(yè)是計(jì)算機(jī)系統(tǒng)中是計(jì)算機(jī)系統(tǒng)中直接控制和管理直接控制和管理各種軟硬件資源,各種軟硬件資源,以方便用戶(hù)以方便用戶(hù)充分而有效地利用這些資源的充分而有效地利用這些資源的程序的集合程序的集合第 7 頁(yè)提供給用戶(hù)易用統(tǒng)一的手段
3、提供給用戶(hù)易用統(tǒng)一的手段 u有效有效地控制各種軟硬件資源,使之得到充分利用地控制各種軟硬件資源,使之得到充分利用保持忙碌和有序占用保持忙碌和有序占用u合理合理組織系統(tǒng)工作流程,改善系統(tǒng)性能組織系統(tǒng)工作流程,改善系統(tǒng)性能提高系統(tǒng)效率提高系統(tǒng)效率u為用戶(hù)方便的使用計(jì)算機(jī)提供為用戶(hù)方便的使用計(jì)算機(jī)提供良好良好的環(huán)境的環(huán)境提高用戶(hù)使用效率提高用戶(hù)使用效率模塊化,易添加和修改模塊化,易添加和修改u對(duì)應(yīng)用程序最大可能的提供開(kāi)放統(tǒng)一的環(huán)境對(duì)應(yīng)用程序最大可能的提供開(kāi)放統(tǒng)一的環(huán)境u應(yīng)用程序能方便地移植和互操作應(yīng)用程序能方便地移植和互操作第 8 頁(yè)操作系統(tǒng)是位于用戶(hù)和計(jì)算機(jī)系統(tǒng)之間的接口操作系統(tǒng)是位于用戶(hù)和計(jì)算機(jī)
4、系統(tǒng)之間的接口從用戶(hù)角度:從用戶(hù)角度:用戶(hù)可以通過(guò)各種接口,獲得訪問(wèn)、使用用戶(hù)可以通過(guò)各種接口,獲得訪問(wèn)、使用系統(tǒng)資源的能力;系統(tǒng)資源的能力;從系統(tǒng)角度:從系統(tǒng)角度:系統(tǒng)在有序管理計(jì)算機(jī)硬件系統(tǒng)前提下,系統(tǒng)在有序管理計(jì)算機(jī)硬件系統(tǒng)前提下,向用戶(hù)提供調(diào)用接口。向用戶(hù)提供調(diào)用接口。處理機(jī)管理:處理機(jī)管理:紀(jì)錄處理機(jī)狀態(tài),按策略分配處理機(jī);紀(jì)錄處理機(jī)狀態(tài),按策略分配處理機(jī);存儲(chǔ)器管理:存儲(chǔ)器管理:紀(jì)錄存儲(chǔ)器使用情況,按策略分配,保護(hù)紀(jì)錄存儲(chǔ)器使用情況,按策略分配,保護(hù)信息不受破壞;信息不受破壞;I/O管理:管理:按要求和策略分配設(shè)備,優(yōu)化設(shè)備調(diào)度,提高按要求和策略分配設(shè)備,優(yōu)化設(shè)備調(diào)度,提高設(shè)備使用
5、效率;設(shè)備使用效率;信息管理:信息管理:以文件方式組織信息。方便的查詢(xún)和保護(hù)。以文件方式組織信息。方便的查詢(xún)和保護(hù)。第 9 頁(yè)t從從 到到 人工操作緩慢人工操作緩慢 機(jī)器按照事先編輯好的過(guò)程完成任務(wù)的轉(zhuǎn)換機(jī)器按照事先編輯好的過(guò)程完成任務(wù)的轉(zhuǎn)換t從從 到到 CPU速度迅速提高而速度迅速提高而I/O設(shè)備依然緩慢,設(shè)備依然緩慢, CPU花大花大量時(shí)間等待設(shè)備量時(shí)間等待設(shè)備 輸入輸出在外圍機(jī)控制下進(jìn)行輸入輸出在外圍機(jī)控制下進(jìn)行t從從 到到 第 10 頁(yè) 多道程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)多道程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)中中相互相互獨(dú)立的程序,它們?cè)诠芾沓绦虻目刂葡陋?dú)立的程序,它們?cè)诠芾沓绦虻目刂葡碌剡\(yùn)行。地運(yùn)行。主
6、存中同時(shí)存放幾道相互獨(dú)立的程序;主存中同時(shí)存放幾道相互獨(dú)立的程序;幾道程序都處于運(yùn)行過(guò)程中,從用戶(hù)的角幾道程序都處于運(yùn)行過(guò)程中,從用戶(hù)的角度來(lái)看,它們?cè)谕瑫r(shí)推進(jìn);度來(lái)看,它們?cè)谕瑫r(shí)推進(jìn);任意一個(gè)時(shí)刻,只能有一個(gè)程序占有處理任意一個(gè)時(shí)刻,只能有一個(gè)程序占有處理機(jī),從處理機(jī)的角度來(lái)看,多道程序輪流使用處理機(jī),它機(jī),從處理機(jī)的角度來(lái)看,多道程序輪流使用處理機(jī),它們是交替推進(jìn)的。們是交替推進(jìn)的。第 11 頁(yè)I/O中斷請(qǐng)求中斷請(qǐng)求I/O完成完成第 12 頁(yè) 把把CPU響應(yīng)時(shí)間分成若干個(gè)小時(shí)間單位(時(shí)間片)輪流分響應(yīng)時(shí)間分成若干個(gè)小時(shí)間單位(時(shí)間片)輪流分配給各個(gè)聯(lián)機(jī)用戶(hù)使用。如果一個(gè)用戶(hù)程序在分配給它的
7、時(shí)配給各個(gè)聯(lián)機(jī)用戶(hù)使用。如果一個(gè)用戶(hù)程序在分配給它的時(shí)間片內(nèi)沒(méi)有完成,則暫時(shí)中斷執(zhí)行,等待下一輪計(jì)算。間片內(nèi)沒(méi)有完成,則暫時(shí)中斷執(zhí)行,等待下一輪計(jì)算。t作業(yè)作業(yè)123123 讓用戶(hù)通過(guò)控制臺(tái)(終端)直接操作、控制自己程序運(yùn)行讓用戶(hù)通過(guò)控制臺(tái)(終端)直接操作、控制自己程序運(yùn)行的操作方式稱(chēng)為聯(lián)機(jī)工作方式。的操作方式稱(chēng)為聯(lián)機(jī)工作方式。第 13 頁(yè)提供用戶(hù)使用計(jì)算機(jī)資源的方式,包提供用戶(hù)使用計(jì)算機(jī)資源的方式,包括人機(jī)交互方式(括人機(jī)交互方式(命令方式命令方式)和從程序中調(diào)用計(jì)算)和從程序中調(diào)用計(jì)算機(jī)資源的方式(機(jī)資源的方式(系統(tǒng)調(diào)用方式系統(tǒng)調(diào)用方式)。)。處理機(jī)管理處理機(jī)管理存儲(chǔ)器管理存儲(chǔ)器管理設(shè)備管
8、理設(shè)備管理軟件資源管理(文件系統(tǒng))軟件資源管理(文件系統(tǒng))第 14 頁(yè) 一般的計(jì)算機(jī)中只有一個(gè)處理機(jī),一般的計(jì)算機(jī)中只有一個(gè)處理機(jī),處理機(jī)是計(jì)算處理機(jī)是計(jì)算機(jī)系統(tǒng)中競(jìng)爭(zhēng)最為激烈的資源。機(jī)系統(tǒng)中競(jìng)爭(zhēng)最為激烈的資源。處理機(jī)管理負(fù)責(zé)處處理機(jī)管理負(fù)責(zé)處理機(jī)的理機(jī)的調(diào)度、分配、回收調(diào)度、分配、回收。保證處理機(jī)能得到充分。保證處理機(jī)能得到充分的利用。的利用。 存儲(chǔ)器管理特指對(duì)存儲(chǔ)器管理特指對(duì)資源的管理。程序必須進(jìn)資源的管理。程序必須進(jìn)入內(nèi)存才能運(yùn)行,因此內(nèi)存也是計(jì)算機(jī)系統(tǒng)中的緊入內(nèi)存才能運(yùn)行,因此內(nèi)存也是計(jì)算機(jī)系統(tǒng)中的緊俏資源。存儲(chǔ)器管理功能有:俏資源。存儲(chǔ)器管理功能有:內(nèi)存分配與回收、地內(nèi)存分配與回收、
9、地址映射、存儲(chǔ)保護(hù)、內(nèi)存的擴(kuò)充。址映射、存儲(chǔ)保護(hù)、內(nèi)存的擴(kuò)充。第 15 頁(yè) 負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中除負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中除CPU和內(nèi)存外的所有外部設(shè)和內(nèi)存外的所有外部設(shè)備的管理,包括:備的管理,包括:設(shè)備分配、設(shè)備傳輸控制、設(shè)備設(shè)備分配、設(shè)備傳輸控制、設(shè)備無(wú)關(guān)性。無(wú)關(guān)性。 負(fù)責(zé)管理系統(tǒng)中的所有程序、數(shù)據(jù)以及文檔資料負(fù)責(zé)管理系統(tǒng)中的所有程序、數(shù)據(jù)以及文檔資料等信息。這些信息以文件的形式存在,因此軟件資等信息。這些信息以文件的形式存在,因此軟件資源管理也稱(chēng)源管理也稱(chēng)。主要功能包括:。主要功能包括:文件存儲(chǔ)空文件存儲(chǔ)空間管理、文件目錄管理、文件控制管理間管理、文件目錄管理、文件控制管理。第 16 頁(yè)n 背景:
10、背景:u 系統(tǒng)資源十分昂貴系統(tǒng)資源十分昂貴u 手工輸入作業(yè)的速度與手工輸入作業(yè)的速度與CPU的速度不匹配的速度不匹配n 解決方案:解決方案:u 作業(yè)成批進(jìn)入系統(tǒng)后備隊(duì)列作業(yè)成批進(jìn)入系統(tǒng)后備隊(duì)列u 系統(tǒng)按照一定的策略自動(dòng)調(diào)度作業(yè)運(yùn)行系統(tǒng)按照一定的策略自動(dòng)調(diào)度作業(yè)運(yùn)行n 發(fā)展:發(fā)展:u 單道批處理系統(tǒng)單道批處理系統(tǒng)u 多道批處理系統(tǒng)多道批處理系統(tǒng)第 17 頁(yè)單道批處理系統(tǒng)單道批處理系統(tǒng)多道批處理系統(tǒng)多道批處理系統(tǒng)第 18 頁(yè)t能根據(jù)作業(yè)對(duì)系統(tǒng)資源的需求和系統(tǒng)當(dāng)前狀能根據(jù)作業(yè)對(duì)系統(tǒng)資源的需求和系統(tǒng)當(dāng)前狀態(tài),充分調(diào)度資源。態(tài),充分調(diào)度資源。t作業(yè)進(jìn)入系統(tǒng)后,系統(tǒng)自動(dòng)調(diào)度,管理員或作業(yè)進(jìn)入系統(tǒng)后,系統(tǒng)自
11、動(dòng)調(diào)度,管理員或用戶(hù)不能干預(yù)系統(tǒng)的調(diào)度。用戶(hù)不能干預(yù)系統(tǒng)的調(diào)度。第 19 頁(yè)t分時(shí)系統(tǒng)的提出:解決人機(jī)交互問(wèn)題,進(jìn)行及時(shí)響應(yīng),多分時(shí)系統(tǒng)的提出:解決人機(jī)交互問(wèn)題,進(jìn)行及時(shí)響應(yīng),多用戶(hù)用戶(hù)。t一臺(tái)連接多個(gè)終端的計(jì)算機(jī)稱(chēng)為一臺(tái)連接多個(gè)終端的計(jì)算機(jī)稱(chēng)為。t在分時(shí)計(jì)算機(jī)上采用分時(shí)技術(shù)實(shí)現(xiàn)的操作系統(tǒng)稱(chēng)為在分時(shí)計(jì)算機(jī)上采用分時(shí)技術(shù)實(shí)現(xiàn)的操作系統(tǒng)稱(chēng)為。t 多個(gè)聯(lián)機(jī)用戶(hù)同時(shí)使用一臺(tái)計(jì)算機(jī)。多個(gè)聯(lián)機(jī)用戶(hù)同時(shí)使用一臺(tái)計(jì)算機(jī)。t 每個(gè)聯(lián)機(jī)用戶(hù)都感覺(jué)是獨(dú)占計(jì)算機(jī)。每個(gè)聯(lián)機(jī)用戶(hù)都感覺(jué)是獨(dú)占計(jì)算機(jī)。t 用戶(hù)采用用戶(hù)采用“一問(wèn)一答一問(wèn)一答”的方式使用計(jì)算機(jī)。的方式使用計(jì)算機(jī)。第 20 頁(yè)第 21 頁(yè)t實(shí)時(shí)系統(tǒng)的提出:分時(shí)系
12、統(tǒng)的響應(yīng)往往要等待一個(gè)循環(huán)周實(shí)時(shí)系統(tǒng)的提出:分時(shí)系統(tǒng)的響應(yīng)往往要等待一個(gè)循環(huán)周期,實(shí)時(shí)系統(tǒng)必須在規(guī)定的時(shí)間內(nèi)對(duì)用戶(hù)請(qǐng)求或外部事件期,實(shí)時(shí)系統(tǒng)必須在規(guī)定的時(shí)間內(nèi)對(duì)用戶(hù)請(qǐng)求或外部事件及時(shí)響應(yīng)。及時(shí)響應(yīng)。t能滿(mǎn)足用戶(hù)響應(yīng)時(shí)限要求的操作系統(tǒng)稱(chēng)為能滿(mǎn)足用戶(hù)響應(yīng)時(shí)限要求的操作系統(tǒng)稱(chēng)為。實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),完成實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),完成自動(dòng)化控制自動(dòng)化控制特點(diǎn):特點(diǎn): 響應(yīng)速度足夠快響應(yīng)速度足夠快 可靠性高可靠性高例:導(dǎo)彈導(dǎo)航例:導(dǎo)彈導(dǎo)航根據(jù)用戶(hù)要求進(jìn)行信息檢根據(jù)用戶(hù)要求進(jìn)行信息檢索和處理索和處理特點(diǎn):特點(diǎn): 強(qiáng)大的數(shù)據(jù)庫(kù)強(qiáng)大的數(shù)據(jù)庫(kù) 操作簡(jiǎn)便、查詢(xún)快速操作簡(jiǎn)便、查詢(xún)快速例:遠(yuǎn)程訂票系統(tǒng)例:遠(yuǎn)程訂票系統(tǒng)第 22
13、頁(yè)t磁盤(pán)操作系統(tǒng)磁盤(pán)操作系統(tǒng) 其代表的是其代表的是MSDOS 設(shè)備管理、文件系統(tǒng)功能設(shè)備管理、文件系統(tǒng)功能tWindows系統(tǒng)系統(tǒng) 圖形用戶(hù)界面圖形用戶(hù)界面 多任務(wù)、多線程多任務(wù)、多線程 可剝奪式調(diào)度可剝奪式調(diào)度 段頁(yè)式虛擬存儲(chǔ)管理技術(shù)段頁(yè)式虛擬存儲(chǔ)管理技術(shù) 動(dòng)態(tài)連接動(dòng)態(tài)連接第 23 頁(yè) 操作系統(tǒng)是計(jì)算機(jī)上必須配置的系統(tǒng)軟件,它是計(jì)算機(jī)操作系統(tǒng)是計(jì)算機(jī)上必須配置的系統(tǒng)軟件,它是計(jì)算機(jī)的的“管家管家”,負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中所有軟硬件資源的管理,負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中所有軟硬件資源的管理,目標(biāo)是為了目標(biāo)是為了方便用戶(hù)充分而有效地利用這些資源方便用戶(hù)充分而有效地利用這些資源。 操作系統(tǒng)的發(fā)展歷史中,操作系統(tǒng)的
14、發(fā)展歷史中,和和的出現(xiàn),標(biāo)志著操作系統(tǒng)的形成。的出現(xiàn),標(biāo)志著操作系統(tǒng)的形成。 從資源管理的角度來(lái)看,操作系統(tǒng)的四大功能是:從資源管理的角度來(lái)看,操作系統(tǒng)的四大功能是:、和和。 主要的操作系統(tǒng)類(lèi)型有:主要的操作系統(tǒng)類(lèi)型有:、。第 24 頁(yè)4.2.1 并發(fā)程序設(shè)計(jì)并發(fā)程序設(shè)計(jì)4.2.2 進(jìn)程進(jìn)程4.2.3 進(jìn)程之間的通信進(jìn)程之間的通信4.2.4 多道程序的組織多道程序的組織第 25 頁(yè) 順序程序的特點(diǎn)順序程序的特點(diǎn): :(1) (1) 順序性。順序性。程序所規(guī)定的動(dòng)作在機(jī)器上嚴(yán)格地按順序程序所規(guī)定的動(dòng)作在機(jī)器上嚴(yán)格地按順序執(zhí)行,每個(gè)動(dòng)作的執(zhí)行都以前一個(gè)動(dòng)作的結(jié)束為前提條執(zhí)行,每個(gè)動(dòng)作的執(zhí)行都以前一
15、個(gè)動(dòng)作的結(jié)束為前提條件,即程序和機(jī)器執(zhí)行它的活動(dòng)嚴(yán)格一一對(duì)應(yīng)。件,即程序和機(jī)器執(zhí)行它的活動(dòng)嚴(yán)格一一對(duì)應(yīng)。(2) (2) 封閉性封閉性。程序一旦開(kāi)始運(yùn)行,其計(jì)算結(jié)果只取決于。程序一旦開(kāi)始運(yùn)行,其計(jì)算結(jié)果只取決于程序本身,不受外界因素的影響,即只有程序本身的動(dòng)程序本身,不受外界因素的影響,即只有程序本身的動(dòng)作才能改變程序的運(yùn)行環(huán)境。作才能改變程序的運(yùn)行環(huán)境。(3) (3) 可再現(xiàn)性可再現(xiàn)性。程序的執(zhí)行結(jié)果與其執(zhí)行速度無(wú)關(guān)。只。程序的執(zhí)行結(jié)果與其執(zhí)行速度無(wú)關(guān)。只要輸入的初始條件相同,則無(wú)論何時(shí)重復(fù)執(zhí)行該程序都要輸入的初始條件相同,則無(wú)論何時(shí)重復(fù)執(zhí)行該程序都會(huì)得到相同的結(jié)果,且處理機(jī)在執(zhí)行程序的兩個(gè)動(dòng)
16、作之會(huì)得到相同的結(jié)果,且處理機(jī)在執(zhí)行程序的兩個(gè)動(dòng)作之間如有停頓也不會(huì)影響程序的執(zhí)行結(jié)果。間如有停頓也不會(huì)影響程序的執(zhí)行結(jié)果。第 26 頁(yè) 然而,為增強(qiáng)計(jì)算機(jī)系統(tǒng)的處理能力和提高各種然而,為增強(qiáng)計(jì)算機(jī)系統(tǒng)的處理能力和提高各種資源的利用率,往往要求計(jì)算機(jī)系統(tǒng)能夠同時(shí)處理多資源的利用率,往往要求計(jì)算機(jī)系統(tǒng)能夠同時(shí)處理多個(gè)具有獨(dú)立功能的程序。通常采用并行操作技術(shù),使個(gè)具有獨(dú)立功能的程序。通常采用并行操作技術(shù),使系統(tǒng)中的各種硬件資源盡量做到并行工作。系統(tǒng)中的各種硬件資源盡量做到并行工作。 程序的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行指兩個(gè)或兩個(gè)以上的程序在執(zhí)指兩個(gè)或兩個(gè)以上的程序在執(zhí)行時(shí)間上是重疊的。系統(tǒng)中各個(gè)部分不再
17、以單純的串行時(shí)間上是重疊的。系統(tǒng)中各個(gè)部分不再以單純的串行方式工作。換句話(huà)說(shuō),在任一時(shí)刻,系統(tǒng)中不再只行方式工作。換句話(huà)說(shuō),在任一時(shí)刻,系統(tǒng)中不再只有一個(gè)活動(dòng),而存在著許多并行的活動(dòng)。從硬件方面有一個(gè)活動(dòng),而存在著許多并行的活動(dòng)。從硬件方面看,處理機(jī),各種外設(shè),存儲(chǔ)部件常常并行地工作著;看,處理機(jī),各種外設(shè),存儲(chǔ)部件常常并行地工作著;從程序活動(dòng)方面看,則可能有若干程序同時(shí)或者相互從程序活動(dòng)方面看,則可能有若干程序同時(shí)或者相互穿插地在系統(tǒng)中被執(zhí)行。穿插地在系統(tǒng)中被執(zhí)行。并發(fā)執(zhí)行的新問(wèn)題:并發(fā)執(zhí)行的新問(wèn)題:第 27 頁(yè)問(wèn)題問(wèn)題1 并發(fā)程序沒(méi)有封閉性并發(fā)程序沒(méi)有封閉性第 28 頁(yè)問(wèn)題問(wèn)題2 程序與其
18、執(zhí)行過(guò)程不是一一對(duì)應(yīng)的關(guān)系程序與其執(zhí)行過(guò)程不是一一對(duì)應(yīng)的關(guān)系第 29 頁(yè)問(wèn)題問(wèn)題3 程序并發(fā)執(zhí)行可以互相制約程序并發(fā)執(zhí)行可以互相制約第 30 頁(yè)第 31 頁(yè)1. 進(jìn)程的基本概念進(jìn)程的基本概念進(jìn)程進(jìn)程指一個(gè)具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)指一個(gè)具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。集合的一次運(yùn)行活動(dòng)。進(jìn)程是可以并發(fā)執(zhí)行的程序的執(zhí)行過(guò)程,它是控制程序進(jìn)程是可以并發(fā)執(zhí)行的程序的執(zhí)行過(guò)程,它是控制程序管理下的基本的多道程序單位。管理下的基本的多道程序單位。第 32 頁(yè)(1) (1) 進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過(guò)程,它是動(dòng)態(tài)進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過(guò)程,它是動(dòng)態(tài) 的概念。而程
19、序只是一組指令的有序集合,其本身的概念。而程序只是一組指令的有序集合,其本身 沒(méi)有任何運(yùn)行的含義,它是一個(gè)靜態(tài)的概念。沒(méi)有任何運(yùn)行的含義,它是一個(gè)靜態(tài)的概念。(2) (2) 進(jìn)程是程序的執(zhí)行過(guò)程,是一次運(yùn)行活動(dòng)。因此,進(jìn)程是程序的執(zhí)行過(guò)程,是一次運(yùn)行活動(dòng)。因此, 進(jìn)程具有一定的生命期,它能夠動(dòng)態(tài)地產(chǎn)生和消亡。進(jìn)程具有一定的生命期,它能夠動(dòng)態(tài)地產(chǎn)生和消亡。 而程序是可以作為一種軟件資源長(zhǎng)期保存的,它的而程序是可以作為一種軟件資源長(zhǎng)期保存的,它的 存在是永久的。存在是永久的。(3) (3) 進(jìn)程是程序的執(zhí)行過(guò)程,因此,進(jìn)程的組成應(yīng)包括進(jìn)程是程序的執(zhí)行過(guò)程,因此,進(jìn)程的組成應(yīng)包括 程序、數(shù)據(jù)與記錄進(jìn)
20、程狀態(tài)信息的程序、數(shù)據(jù)與記錄進(jìn)程狀態(tài)信息的“進(jìn)程控制塊進(jìn)程控制塊”。(4) (4) 一個(gè)程序可能對(duì)應(yīng)多個(gè)進(jìn)程。一個(gè)程序可能對(duì)應(yīng)多個(gè)進(jìn)程。(5) (5) 一個(gè)進(jìn)程可以包含多個(gè)程序。一個(gè)進(jìn)程可以包含多個(gè)程序。2、進(jìn)程和程序的區(qū)別、進(jìn)程和程序的區(qū)別第 33 頁(yè) 就緒狀態(tài)就緒狀態(tài)(ready) 存在于處理機(jī)調(diào)度隊(duì)列中的那些進(jìn)存在于處理機(jī)調(diào)度隊(duì)列中的那些進(jìn)程,它們已經(jīng)準(zhǔn)備就緒,一旦得到程,它們已經(jīng)準(zhǔn)備就緒,一旦得到CPU,就可以立即運(yùn)行,就可以立即運(yùn)行,這些進(jìn)程所處的狀態(tài)稱(chēng)為就緒狀態(tài)。這些進(jìn)程所處的狀態(tài)稱(chēng)為就緒狀態(tài)。 運(yùn)行狀態(tài)運(yùn)行狀態(tài)(running) 當(dāng)進(jìn)程得到處理機(jī)控制權(quán)時(shí),它當(dāng)進(jìn)程得到處理機(jī)控制權(quán)
21、時(shí),它的程序正在處理機(jī)上運(yùn)行,該進(jìn)程所處的狀態(tài)為運(yùn)行狀態(tài)。的程序正在處理機(jī)上運(yùn)行,該進(jìn)程所處的狀態(tài)為運(yùn)行狀態(tài)。 等待狀態(tài)等待狀態(tài)(wait) 若一個(gè)進(jìn)程正等待著某一事件發(fā)生(若一個(gè)進(jìn)程正等待著某一事件發(fā)生(如等待輸入輸出操作的完成)而暫時(shí)停止執(zhí)行,這時(shí),即使如等待輸入輸出操作的完成)而暫時(shí)停止執(zhí)行,這時(shí),即使給它給它CPU時(shí)間,它也無(wú)法執(zhí)行,則稱(chēng)該進(jìn)程處于等待狀態(tài)(時(shí)間,它也無(wú)法執(zhí)行,則稱(chēng)該進(jìn)程處于等待狀態(tài)(又可稱(chēng)為又可稱(chēng)為阻塞狀態(tài)阻塞狀態(tài)或或掛起狀態(tài)掛起狀態(tài))。)。第 34 頁(yè)運(yùn)運(yùn) 行行等等 待待就就 緒緒服務(wù)請(qǐng)求服務(wù)請(qǐng)求/等待事件等待事件服務(wù)完成服務(wù)完成/事件來(lái)到事件來(lái)到分配到分配到CPU
22、時(shí)間片用完時(shí)間片用完有一種狀態(tài)變遷是永遠(yuǎn)也不可能發(fā)生的。有一種狀態(tài)變遷是永遠(yuǎn)也不可能發(fā)生的。 進(jìn)程隨著自身的推進(jìn)和外界條件的變化而進(jìn)程隨著自身的推進(jìn)和外界條件的變化而從一個(gè)狀態(tài)從一個(gè)狀態(tài)變換為另一個(gè)狀態(tài)稱(chēng)為變換為另一個(gè)狀態(tài)稱(chēng)為。第 35 頁(yè)一個(gè)進(jìn)程包含一個(gè)進(jìn)程包含4個(gè)組成部分:個(gè)組成部分:程序程序描述進(jìn)程要完成的功能的指令序列;描述進(jìn)程要完成的功能的指令序列;數(shù)據(jù)數(shù)據(jù)程序加工的對(duì)象;程序加工的對(duì)象;工作區(qū)工作區(qū)程序執(zhí)行使用的內(nèi)存區(qū)域,如用戶(hù)?;蛳到y(tǒng)棧;程序執(zhí)行使用的內(nèi)存區(qū)域,如用戶(hù)棧或系統(tǒng)棧;進(jìn)程控制塊進(jìn)程控制塊存放進(jìn)程控制和管理信息的數(shù)據(jù)結(jié)構(gòu)。存放進(jìn)程控制和管理信息的數(shù)據(jù)結(jié)構(gòu)。進(jìn)程控制塊進(jìn)程
23、控制塊PCB(Process Control Block)是進(jìn)程存在的標(biāo))是進(jìn)程存在的標(biāo)志!是進(jìn)程的志!是進(jìn)程的。進(jìn)程創(chuàng)建時(shí)建立進(jìn)程創(chuàng)建時(shí)建立PCB。在進(jìn)程的生命周期內(nèi),在進(jìn)程的生命周期內(nèi),OS通過(guò)對(duì)通過(guò)對(duì)PCB的管理來(lái)實(shí)現(xiàn)對(duì)進(jìn)程的管理來(lái)實(shí)現(xiàn)對(duì)進(jìn)程的管理。的管理。進(jìn)程撤消時(shí)刪除相應(yīng)的進(jìn)程撤消時(shí)刪除相應(yīng)的PCB。第 36 頁(yè) 進(jìn)程控制塊是進(jìn)程組成中最關(guān)鍵的部分,其中含有進(jìn)程進(jìn)程控制塊是進(jìn)程組成中最關(guān)鍵的部分,其中含有進(jìn)程的描述信息和控制信息,是進(jìn)程動(dòng)態(tài)特性的集中反映,它是的描述信息和控制信息,是進(jìn)程動(dòng)態(tài)特性的集中反映,它是系統(tǒng)對(duì)進(jìn)程識(shí)別和控制的依據(jù)。系統(tǒng)對(duì)進(jìn)程識(shí)別和控制的依據(jù)。PCB程序程序數(shù)據(jù)
24、集合數(shù)據(jù)集合進(jìn)程名進(jìn)程名特征信息特征信息現(xiàn)場(chǎng)保護(hù)區(qū)現(xiàn)場(chǎng)保護(hù)區(qū)進(jìn)程狀態(tài)信息進(jìn)程狀態(tài)信息調(diào)度優(yōu)先權(quán)調(diào)度優(yōu)先權(quán)其它信息其它信息族系關(guān)系族系關(guān)系進(jìn)程實(shí)體信息進(jìn)程實(shí)體信息通信信息通信信息資源需求分配信息資源需求分配信息第 37 頁(yè) 對(duì)系統(tǒng)中的進(jìn)程實(shí)施有效的管理和控制。具體表現(xiàn)為控制對(duì)系統(tǒng)中的進(jìn)程實(shí)施有效的管理和控制。具體表現(xiàn)為控制進(jìn)程進(jìn)入不同的狀態(tài)。進(jìn)程進(jìn)入不同的狀態(tài)。新進(jìn)程新進(jìn)程結(jié)束結(jié)束 第 38 頁(yè) 第 39 頁(yè)6.死鎖問(wèn)題死鎖問(wèn)題死鎖死鎖若干個(gè)進(jìn)程均因互相若干個(gè)進(jìn)程均因互相“無(wú)知地?zé)o知地”等待對(duì)方所占有的等待對(duì)方所占有的資源而無(wú)限地等待。資源而無(wú)限地等待。第 40 頁(yè)例:假設(shè)系統(tǒng)中有例:假設(shè)系統(tǒng)中
25、有1010臺(tái)磁帶機(jī),由臺(tái)磁帶機(jī),由A A,B B,C C三個(gè)進(jìn)程所共享三個(gè)進(jìn)程所共享現(xiàn)假定現(xiàn)假定A A,B B,C C已分別占用了已分別占用了2 2臺(tái),臺(tái),3 3臺(tái)和臺(tái)和2 2臺(tái)磁帶機(jī),它們臺(tái)磁帶機(jī),它們的最大需求量分別為的最大需求量分別為4 4臺(tái),臺(tái),6 6臺(tái)和臺(tái)和8 8臺(tái)。并且還假定每個(gè)進(jìn)程臺(tái)。并且還假定每個(gè)進(jìn)程只有滿(mǎn)足了最大需求量后才可能釋放其所有的資源。只有滿(mǎn)足了最大需求量后才可能釋放其所有的資源。第 41 頁(yè)死鎖的四個(gè)必要條件:死鎖的四個(gè)必要條件:(1) (1) 資源的獨(dú)占使用。資源的獨(dú)占使用。(2) (2) 資源的非搶占分配。資源的非搶占分配。(3) (3) 資源的部分分配。資源的
26、部分分配。(4) (4) 對(duì)資源的循環(huán)等待。對(duì)資源的循環(huán)等待。第 42 頁(yè)三個(gè)基本概念:三個(gè)基本概念:一次僅允許一個(gè)進(jìn)程使用的資源稱(chēng)為臨界資源。一次僅允許一個(gè)進(jìn)程使用的資源稱(chēng)為臨界資源。許多物理設(shè)備(如打印機(jī)等)和軟件資源(如變量、數(shù)據(jù)、隊(duì)許多物理設(shè)備(如打印機(jī)等)和軟件資源(如變量、數(shù)據(jù)、隊(duì)列等)都具有這種獨(dú)占性的特點(diǎn)。列等)都具有這種獨(dú)占性的特點(diǎn)。在進(jìn)程中訪問(wèn)臨界資源的那段代碼稱(chēng)為臨界區(qū)。在進(jìn)程中訪問(wèn)臨界資源的那段代碼稱(chēng)為臨界區(qū)。要注意區(qū)分臨界資源與臨界區(qū)。要注意區(qū)分臨界資源與臨界區(qū)。當(dāng)一個(gè)進(jìn)程正在訪問(wèn)某臨界區(qū)時(shí),不允許其它進(jìn)程當(dāng)一個(gè)進(jìn)程正在訪問(wèn)某臨界區(qū)時(shí),不允許其它進(jìn)程進(jìn)入其相應(yīng)的臨界區(qū)
27、,這種相互制約的關(guān)系稱(chēng)為互斥。進(jìn)入其相應(yīng)的臨界區(qū),這種相互制約的關(guān)系稱(chēng)為互斥。例如:飛機(jī)訂票系統(tǒng)中各個(gè)訂票點(diǎn)對(duì)機(jī)票庫(kù)的訪問(wèn)例如:飛機(jī)訂票系統(tǒng)中各個(gè)訂票點(diǎn)對(duì)機(jī)票庫(kù)的訪問(wèn)反映了進(jìn)程間的反映了進(jìn)程間的競(jìng)爭(zhēng)競(jìng)爭(zhēng)與與合作合作第 43 頁(yè)進(jìn)入?yún)^(qū)進(jìn)入?yún)^(qū)退出區(qū)退出區(qū)進(jìn)入?yún)^(qū)進(jìn)入?yún)^(qū)退出區(qū)退出區(qū)改變資源改變資源狀態(tài)狀態(tài)釋放資源釋放資源喚醒等待喚醒等待進(jìn)程進(jìn)程進(jìn)程進(jìn)程 1進(jìn)程進(jìn)程 2等待資等待資源釋放源釋放第 44 頁(yè)問(wèn)題:?jiǎn)栴}:如何保證進(jìn)程之間是互斥的進(jìn)入臨界區(qū)的呢?如何保證進(jìn)程之間是互斥的進(jìn)入臨界區(qū)的呢?答:答:操作系統(tǒng)提供了進(jìn)程間同步和互斥的機(jī)制,程序中使用操作系統(tǒng)提供了進(jìn)程間同步和互斥的機(jī)制,程序中使用這些機(jī)
28、制來(lái)保證執(zhí)行中的互斥進(jìn)入。其中最常見(jiàn)的機(jī)制就是這些機(jī)制來(lái)保證執(zhí)行中的互斥進(jìn)入。其中最常見(jiàn)的機(jī)制就是。 信號(hào)燈是一個(gè)二元組信號(hào)燈是一個(gè)二元組(s, q),其中:,其中:s 是一個(gè)具有是一個(gè)具有非負(fù)初值非負(fù)初值的整型變量,的整型變量,q 是一個(gè)初始狀態(tài)為空的隊(duì)列指針。是一個(gè)初始狀態(tài)為空的隊(duì)列指針。 通過(guò)對(duì)信號(hào)燈的通過(guò)對(duì)信號(hào)燈的P、V操作,進(jìn)程可以實(shí)現(xiàn)相互間的互斥。操作,進(jìn)程可以實(shí)現(xiàn)相互間的互斥。第 45 頁(yè)P(yáng)操作的實(shí)現(xiàn):操作的實(shí)現(xiàn):(1)s 值減值減1;(2)若相減結(jié)果大于等于)若相減結(jié)果大于等于0, 則進(jìn)程繼續(xù)執(zhí)行;則進(jìn)程繼續(xù)執(zhí)行;(3)若結(jié)果小于)若結(jié)果小于0,則該進(jìn)程,則該進(jìn)程掛起。掛起。注
29、:注:掛起該進(jìn)程包括:保留掛起該進(jìn)程包括:保留調(diào)用進(jìn)程調(diào)用進(jìn)程CPU現(xiàn)場(chǎng);置現(xiàn)場(chǎng);置“等等待待”狀態(tài);入等待隊(duì)列;轉(zhuǎn)狀態(tài);入等待隊(duì)列;轉(zhuǎn)進(jìn)程調(diào)度;進(jìn)程調(diào)度;V操作的實(shí)現(xiàn):操作的實(shí)現(xiàn):(1)s 值加值加1;(2)若相加結(jié)果大于)若相加結(jié)果大于0,進(jìn),進(jìn) 程繼續(xù)執(zhí)行;程繼續(xù)執(zhí)行;(3)否則,喚醒一個(gè)等待該)否則,喚醒一個(gè)等待該信號(hào)燈的進(jìn)程,然后本進(jìn)程信號(hào)燈的進(jìn)程,然后本進(jìn)程繼續(xù)執(zhí)行。繼續(xù)執(zhí)行。注:注:等待該信號(hào)燈的進(jìn)程也等待該信號(hào)燈的進(jìn)程也就是隊(duì)列就是隊(duì)列q 中的進(jìn)程。中的進(jìn)程。P操作表示對(duì)資源的操作表示對(duì)資源的V操作表示對(duì)資源的操作表示對(duì)資源的第 46 頁(yè)問(wèn)題:?jiǎn)栴}:x代表某航班機(jī)座號(hào),代表某航
30、班機(jī)座號(hào),p1和和p2兩個(gè)售票進(jìn)程,售票工兩個(gè)售票進(jìn)程,售票工作是對(duì)變量作是對(duì)變量x加加1。試用信號(hào)燈的。試用信號(hào)燈的P、V操作實(shí)現(xiàn)這兩個(gè)進(jìn)程操作實(shí)現(xiàn)這兩個(gè)進(jìn)程的互斥。的互斥。設(shè):設(shè):S為互斥信號(hào)燈,初值為為互斥信號(hào)燈,初值為1 ;p1( ) p(S);x=x+1 ;v(S);p2( ) p(S);x=x+1 ;v(S);第 47 頁(yè) 為完成某個(gè)任務(wù),并發(fā)進(jìn)程在一些關(guān)鍵點(diǎn)可能需要相互為完成某個(gè)任務(wù),并發(fā)進(jìn)程在一些關(guān)鍵點(diǎn)可能需要相互等待與互通消息等待與互通消息, , 這種關(guān)系稱(chēng)為這種關(guān)系稱(chēng)為。同步進(jìn)程間是一同步進(jìn)程間是一種種關(guān)系關(guān)系門(mén)診醫(yī)生:門(mén)診醫(yī)生: 開(kāi)開(kāi)化驗(yàn)單;化驗(yàn)單; 等等化驗(yàn)結(jié)果;化驗(yàn)結(jié)
31、果; 繼續(xù)診病;繼續(xù)診病;化驗(yàn)員:化驗(yàn)員: 等等化驗(yàn)單;化驗(yàn)單; 化驗(yàn);化驗(yàn); 填寫(xiě)化驗(yàn)結(jié)果;填寫(xiě)化驗(yàn)結(jié)果; 第 48 頁(yè) 計(jì)算進(jìn)程計(jì)算進(jìn)程 cp 和打印進(jìn)程和打印進(jìn)程 op 共用一個(gè)緩沖區(qū),為了完成正共用一個(gè)緩沖區(qū),為了完成正確的計(jì)算與打印,試用信號(hào)燈實(shí)現(xiàn)這兩個(gè)進(jìn)程的同步。確的計(jì)算與打印,試用信號(hào)燈實(shí)現(xiàn)這兩個(gè)進(jìn)程的同步。 緩沖區(qū)緩沖區(qū)bufop cp cp 進(jìn)程把計(jì)算結(jié)果送入進(jìn)程把計(jì)算結(jié)果送入 buf 之后,之后,op 進(jìn)程才能從進(jìn)程才能從 buf 中取出結(jié)果打印,中取出結(jié)果打印,即即。 op 進(jìn)程把進(jìn)程把 buf 中的數(shù)據(jù)取出打印中的數(shù)據(jù)取出打印之后,之后,cp 進(jìn)程才能把下一個(gè)計(jì)算結(jié)進(jìn)程
32、才能把下一個(gè)計(jì)算結(jié)果送入果送入 buf 中,即中,即。設(shè)置:設(shè)置:兩個(gè)信號(hào)燈兩個(gè)信號(hào)燈Sa和和Sb: Sa:表示緩沖區(qū)中是否有可供打印的計(jì)算結(jié)果,其初值為:表示緩沖區(qū)中是否有可供打印的計(jì)算結(jié)果,其初值為0; Sb :表示緩沖區(qū)有無(wú)空位置存放新的信息,其初值為:表示緩沖區(qū)有無(wú)空位置存放新的信息,其初值為1。第 49 頁(yè)main( )int Sa=0; /* 0表示表示buf中無(wú)可打印的信息中無(wú)可打印的信息 */int Sb=1; /* 1表示表示buf中有空位置存放新信息中有空位置存放新信息 */cobegincp( );op( );coendcp( ) while (計(jì)算未完成計(jì)算未完成) 得
33、到一個(gè)計(jì)算結(jié)果;得到一個(gè)計(jì)算結(jié)果;P(Sb);將數(shù)送到緩沖區(qū)中;將數(shù)送到緩沖區(qū)中;V(Sa); op( ) while (打印工作未完成打印工作未完成) P(Sa) ;從緩沖區(qū)中取一數(shù);從緩沖區(qū)中取一數(shù); V(Sb) ;從打印機(jī)上輸出;從打印機(jī)上輸出; 第 50 頁(yè)宏觀調(diào)度:宏觀調(diào)度:選擇輔存上的后備作業(yè)進(jìn)入系統(tǒng),并做作業(yè)選擇輔存上的后備作業(yè)進(jìn)入系統(tǒng),并做作業(yè)完成的善后處理工作。完成的善后處理工作。微觀調(diào)度:微觀調(diào)度:當(dāng)當(dāng)CPU空閑時(shí),選擇一個(gè)就緒進(jìn)程去運(yùn)行??臻e時(shí),選擇一個(gè)就緒進(jìn)程去運(yùn)行。先來(lái)先服務(wù)調(diào)度算法先來(lái)先服務(wù)調(diào)度算法 按作業(yè)來(lái)到的先后次序進(jìn)行調(diào)度。按作業(yè)來(lái)到的先后次序進(jìn)行調(diào)度。 這種
34、算法優(yōu)先考慮在系統(tǒng)中等待時(shí)間最長(zhǎng)的作業(yè),而不管它這種算法優(yōu)先考慮在系統(tǒng)中等待時(shí)間最長(zhǎng)的作業(yè),而不管它要求運(yùn)行時(shí)間的長(zhǎng)短。要求運(yùn)行時(shí)間的長(zhǎng)短。短作業(yè)優(yōu)先調(diào)度算法短作業(yè)優(yōu)先調(diào)度算法 按作業(yè)運(yùn)行時(shí)間的長(zhǎng)短進(jìn)行調(diào)度。按作業(yè)運(yùn)行時(shí)間的長(zhǎng)短進(jìn)行調(diào)度。 它總是選取計(jì)算時(shí)間最短的作業(yè)為下一個(gè)服務(wù)對(duì)象。它總是選取計(jì)算時(shí)間最短的作業(yè)為下一個(gè)服務(wù)對(duì)象。第 51 頁(yè)運(yùn)行運(yùn)行就緒就緒完成完成等待等待后備后備提交提交進(jìn)入內(nèi)存執(zhí)行進(jìn)入內(nèi)存執(zhí)行第 52 頁(yè) 當(dāng)處理機(jī)空閑時(shí),根據(jù)一定的調(diào)度策略從就緒隊(duì)列中選擇當(dāng)處理機(jī)空閑時(shí),根據(jù)一定的調(diào)度策略從就緒隊(duì)列中選擇一個(gè)進(jìn)程去運(yùn)行,分配一個(gè)處理機(jī)時(shí)間。一個(gè)進(jìn)程去運(yùn)行,分配一個(gè)處理機(jī)時(shí)間
35、。選擇哪個(gè)就選擇哪個(gè)就緒進(jìn)程呢?緒進(jìn)程呢?進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法第 53 頁(yè)預(yù)先確定各進(jìn)程的優(yōu)先數(shù),系統(tǒng)把處理預(yù)先確定各進(jìn)程的優(yōu)先數(shù),系統(tǒng)把處理機(jī)的使用權(quán)賦予就緒隊(duì)列中具備最高優(yōu)先權(quán)(優(yōu)先數(shù)和一定機(jī)的使用權(quán)賦予就緒隊(duì)列中具備最高優(yōu)先權(quán)(優(yōu)先數(shù)和一定的優(yōu)先級(jí)相對(duì)應(yīng))的就緒進(jìn)程。的優(yōu)先級(jí)相對(duì)應(yīng))的就緒進(jìn)程。例如:在實(shí)時(shí)系統(tǒng)中,實(shí)時(shí)任務(wù)的優(yōu)先級(jí)高,當(dāng)實(shí)時(shí)任務(wù)到達(dá)例如:在實(shí)時(shí)系統(tǒng)中,實(shí)時(shí)任務(wù)的優(yōu)先級(jí)高,當(dāng)實(shí)時(shí)任務(wù)到達(dá)時(shí),采用優(yōu)先數(shù)調(diào)度算法的進(jìn)程調(diào)度程序就會(huì)優(yōu)先選擇實(shí)時(shí)任時(shí),采用優(yōu)先數(shù)調(diào)度算法的進(jìn)程調(diào)度程序就會(huì)優(yōu)先選擇實(shí)時(shí)任務(wù)運(yùn)行。務(wù)運(yùn)行。當(dāng)當(dāng)CPU空閑時(shí),選取就緒隊(duì)列首元素,空閑時(shí),選取就緒隊(duì)列首元
36、素,賦予一個(gè)時(shí)間片,當(dāng)時(shí)間片用完時(shí),該進(jìn)程轉(zhuǎn)為就緒態(tài)并進(jìn)賦予一個(gè)時(shí)間片,當(dāng)時(shí)間片用完時(shí),該進(jìn)程轉(zhuǎn)為就緒態(tài)并進(jìn)入就緒隊(duì)列末端。入就緒隊(duì)列末端。例如:在分時(shí)系統(tǒng)中,往往采用循環(huán)輪轉(zhuǎn)調(diào)度算法,以保證對(duì)例如:在分時(shí)系統(tǒng)中,往往采用循環(huán)輪轉(zhuǎn)調(diào)度算法,以保證對(duì)每個(gè)用戶(hù)的公平響應(yīng)。每個(gè)用戶(hù)的公平響應(yīng)。第 54 頁(yè)作業(yè)調(diào)度和進(jìn)程調(diào)度是作業(yè)調(diào)度和進(jìn)程調(diào)度是CPU主要的兩級(jí)調(diào)度。主要的兩級(jí)調(diào)度。 作業(yè)調(diào)度和進(jìn)程調(diào)度的區(qū)別作業(yè)調(diào)度和進(jìn)程調(diào)度的區(qū)別 作業(yè)調(diào)度(宏觀調(diào)度)作業(yè)調(diào)度(宏觀調(diào)度) 進(jìn)程調(diào)度(微觀調(diào)度)進(jìn)程調(diào)度(微觀調(diào)度) 為進(jìn)程活動(dòng)做準(zhǔn)備,即有獲得為進(jìn)程活動(dòng)做準(zhǔn)備,即有獲得處理機(jī)的資格處理機(jī)的資格 使進(jìn)程活
37、動(dòng)起來(lái),即分配得到使進(jìn)程活動(dòng)起來(lái),即分配得到了處理機(jī)了處理機(jī) 調(diào)度次數(shù)少調(diào)度次數(shù)少 調(diào)度頻率高調(diào)度頻率高 有的系統(tǒng)不設(shè)作業(yè)調(diào)度有的系統(tǒng)不設(shè)作業(yè)調(diào)度 進(jìn)程調(diào)度必不可少進(jìn)程調(diào)度必不可少 第 55 頁(yè)進(jìn)程概念的引入進(jìn)程概念的引入程序的順序執(zhí)行和并發(fā)執(zhí)行的特點(diǎn)程序的順序執(zhí)行和并發(fā)執(zhí)行的特點(diǎn)進(jìn)程概念的基本概念進(jìn)程概念的基本概念 1. 進(jìn)程定義(定義、進(jìn)程與程序的區(qū)別進(jìn)程定義(定義、進(jìn)程與程序的區(qū)別 )2. 進(jìn)程狀態(tài)(三個(gè)基本狀態(tài)、狀態(tài)變遷圖)進(jìn)程狀態(tài)(三個(gè)基本狀態(tài)、狀態(tài)變遷圖)3. 進(jìn)程描述(進(jìn)程描述(pcb結(jié)構(gòu)、定義、作用)結(jié)構(gòu)、定義、作用)進(jìn)程的互斥與同步進(jìn)程的互斥與同步1. 臨界資源臨界資源 2.
38、 臨界區(qū)臨界區(qū)3. 互斥和同步互斥和同步4. 用信號(hào)燈的用信號(hào)燈的P、V操作實(shí)現(xiàn)進(jìn)程的互斥與同步操作實(shí)現(xiàn)進(jìn)程的互斥與同步第 56 頁(yè)4.3.1 內(nèi)存儲(chǔ)器的管理技術(shù)內(nèi)存儲(chǔ)器的管理技術(shù)4.3.2 外存儲(chǔ)器中文件的組織結(jié)構(gòu)外存儲(chǔ)器中文件的組織結(jié)構(gòu)第 57 頁(yè)存儲(chǔ)管理的目的:存儲(chǔ)管理的目的:理由理由1:存儲(chǔ)器分為主存和輔存(二級(jí)存儲(chǔ)),存儲(chǔ)器分為主存和輔存(二級(jí)存儲(chǔ)),所有程序必須調(diào)入主存才能運(yùn)行,而所有程序必須調(diào)入主存才能運(yùn)行,而主存空間有主存空間有限限,所以必須對(duì)主存進(jìn)行管理。,所以必須對(duì)主存進(jìn)行管理。理由理由2:主存的空間分為系統(tǒng)區(qū)和用戶(hù)區(qū),系統(tǒng)主存的空間分為系統(tǒng)區(qū)和用戶(hù)區(qū),系統(tǒng)區(qū)用來(lái)存放操作系
39、統(tǒng)等信息,區(qū)用來(lái)存放操作系統(tǒng)等信息,用戶(hù)區(qū)存放用戶(hù)的用戶(hù)區(qū)存放用戶(hù)的程序和數(shù)據(jù)程序和數(shù)據(jù),存儲(chǔ)管理是指對(duì)用戶(hù)區(qū)進(jìn)行管理。,存儲(chǔ)管理是指對(duì)用戶(hù)區(qū)進(jìn)行管理。應(yīng)當(dāng)盡量方便用戶(hù),提高主存空間利用率。應(yīng)當(dāng)盡量方便用戶(hù),提高主存空間利用率。 第 58 頁(yè)主要有主要有5項(xiàng)內(nèi)容:項(xiàng)內(nèi)容:v主存空間的分配和回收主存空間的分配和回收v地址轉(zhuǎn)換地址轉(zhuǎn)換(或地址映射或地址映射)v主存空間的擴(kuò)充主存空間的擴(kuò)充v存儲(chǔ)的保護(hù)(存儲(chǔ)的保護(hù)(或信息保護(hù)或信息保護(hù))v主存空間的共享主存空間的共享 作業(yè)進(jìn)入內(nèi)存或進(jìn)程動(dòng)態(tài)作業(yè)進(jìn)入內(nèi)存或進(jìn)程動(dòng)態(tài)申請(qǐng)主存空間時(shí),申請(qǐng)主存空間時(shí),OSOS該將該將哪塊空閑區(qū)分配出去?作哪塊空閑區(qū)分配出去?
40、作業(yè)或進(jìn)程執(zhí)行完畢,業(yè)或進(jìn)程執(zhí)行完畢,OSOS又又如何收回這些區(qū)域?如何收回這些區(qū)域?邏輯地址如何轉(zhuǎn)換為物理地址?邏輯地址如何轉(zhuǎn)換為物理地址?不轉(zhuǎn)換就不能正確運(yùn)行程序。不轉(zhuǎn)換就不能正確運(yùn)行程序。用戶(hù)程序太大,內(nèi)存裝不用戶(hù)程序太大,內(nèi)存裝不下怎么辦?下怎么辦?虛擬存儲(chǔ)虛擬存儲(chǔ)技術(shù),邏輯地址順序排,技術(shù),邏輯地址順序排,物理地址分段轉(zhuǎn)。物理地址分段轉(zhuǎn)。內(nèi)存中各作業(yè)或進(jìn)程應(yīng)當(dāng)內(nèi)存中各作業(yè)或進(jìn)程應(yīng)當(dāng)在各自規(guī)定區(qū)域內(nèi)操作,在各自規(guī)定區(qū)域內(nèi)操作,要保證互不干擾。要保證互不干擾。多個(gè)作業(yè)用到公共程序或數(shù)多個(gè)作業(yè)用到公共程序或數(shù)據(jù),可放入某空間讓大家都據(jù),可放入某空間讓大家都能調(diào)用,共享主存空間。能調(diào)用,共享
41、主存空間。(與第(與第4項(xiàng)有矛盾)項(xiàng)有矛盾)第 59 頁(yè)第 60 頁(yè)mov r1,5001230100500599作業(yè)地址空間作業(yè)地址空間 mov r1 , 50012301000256k-1存儲(chǔ)空間存儲(chǔ)空間110015001600 1000500邏輯地址邏輯地址這種系統(tǒng)采用的是這種系統(tǒng)采用的是存儲(chǔ)管理存儲(chǔ)管理第 61 頁(yè)給每個(gè)作業(yè)劃分一個(gè)區(qū)(這是多道情況,給每個(gè)作業(yè)劃分一個(gè)區(qū)(這是多道情況,DOS單用戶(hù)單用戶(hù)單任務(wù)不必分區(qū)),全部?jī)?nèi)存(除駐留的單任務(wù)不必分區(qū)),全部?jī)?nèi)存(除駐留的OS外)連續(xù)分配給外)連續(xù)分配給用戶(hù)即可。又分為用戶(hù)即可。又分為“固定分區(qū)固定分區(qū)”和和“可變分區(qū)可變分區(qū)”。固定
42、式分區(qū)固定式分區(qū)把內(nèi)存先分成大小固定的(空)區(qū),再把作把內(nèi)存先分成大小固定的(空)區(qū),再把作業(yè)一一往里套送;業(yè)一一往里套送;實(shí)現(xiàn)法:實(shí)現(xiàn)法:建立建立“分區(qū)分配表分區(qū)分配表”,設(shè),設(shè)“已分配已分配/未分配未分配”狀態(tài)標(biāo)狀態(tài)標(biāo)志志第 62 頁(yè)按裝入的按裝入的作業(yè)大小來(lái)分區(qū)作業(yè)大小來(lái)分區(qū),保證初始無(wú)碎片。但系統(tǒng),保證初始無(wú)碎片。但系統(tǒng)運(yùn)行一段時(shí)間后,隨著作業(yè)的進(jìn)出釋放,就會(huì)留下很多分運(yùn)行一段時(shí)間后,隨著作業(yè)的進(jìn)出釋放,就會(huì)留下很多分區(qū)(且分區(qū)長(zhǎng)度可變),要用兩張表才能描述(已分配的區(qū)(且分區(qū)長(zhǎng)度可變),要用兩張表才能描述(已分配的表和空閑分區(qū)表)。表和空閑分區(qū)表)。 分區(qū)存儲(chǔ)管理的特點(diǎn);分區(qū)存儲(chǔ)管理
43、的特點(diǎn);優(yōu)點(diǎn):簡(jiǎn)單可靠?jī)?yōu)點(diǎn):簡(jiǎn)單可靠 缺點(diǎn):碎片多(雖然可以進(jìn)行碎片整理,但缺點(diǎn):碎片多(雖然可以進(jìn)行碎片整理,但CPU耗時(shí)多)耗時(shí)多) 第 63 頁(yè)u每個(gè)程序完全載入內(nèi)存,并占用連續(xù)的地址。每個(gè)程序完全載入內(nèi)存,并占用連續(xù)的地址。u分區(qū)的大小必須由內(nèi)存管理器預(yù)先決定。分區(qū)的大小必須由內(nèi)存管理器預(yù)先決定。u即使分區(qū)在計(jì)算機(jī)啟動(dòng)時(shí)很合適,但隨著程序交換載入內(nèi)即使分區(qū)在計(jì)算機(jī)啟動(dòng)時(shí)很合適,但隨著程序交換載入內(nèi)存后有可能出現(xiàn)空閑區(qū)。存后有可能出現(xiàn)空閑區(qū)。u當(dāng)空閑區(qū)過(guò)多時(shí),會(huì)增加系統(tǒng)負(fù)擔(dān)。當(dāng)空閑區(qū)過(guò)多時(shí),會(huì)增加系統(tǒng)負(fù)擔(dān)。第 64 頁(yè)設(shè)計(jì)思想:為解決碎片問(wèn)題,允許作業(yè)不連續(xù)存放,可設(shè)計(jì)思想:為解決碎片問(wèn)
44、題,允許作業(yè)不連續(xù)存放,可以把以把主存空間等分為主存空間等分為若干小若干小塊塊,同時(shí)把,同時(shí)把外存作業(yè)外存作業(yè)尺寸也尺寸也等分為等分為若干若干“頁(yè)頁(yè)”,并讓塊和頁(yè)尺寸相等(例如,并讓塊和頁(yè)尺寸相等(例如1K、4K、32K等)等) ,分得越小,碎片越少。,分得越小,碎片越少。請(qǐng)注意:內(nèi)存請(qǐng)注意:內(nèi)存Cache+主存主存頁(yè)式存儲(chǔ)管理實(shí)現(xiàn)方案:頁(yè)式存儲(chǔ)管理實(shí)現(xiàn)方案:只要只要“不連續(xù)不連續(xù)”,勢(shì)必要,勢(shì)必要用到數(shù)據(jù)結(jié)構(gòu)中的用到數(shù)據(jù)結(jié)構(gòu)中的“鏈表鏈表”和和“索引索引”概念??梢杂酶拍睢?梢杂谩绊?yè)表頁(yè)表”將作業(yè)的將作業(yè)的“頁(yè)頁(yè)”與主存的與主存的“塊塊”關(guān)聯(lián)起來(lái)。關(guān)聯(lián)起來(lái)。第 65 頁(yè)程序在內(nèi)存中不必是連續(xù)
45、的。程序在內(nèi)存中不必是連續(xù)的。整個(gè)程序必須全部載入內(nèi)存。整個(gè)程序必須全部載入內(nèi)存。第 66 頁(yè)問(wèn)題:?jiǎn)栴}:作業(yè)的物理地址空間由連續(xù)變成分散后,如何保證程序作業(yè)的物理地址空間由連續(xù)變成分散后,如何保證程序的正確尋址呢?的正確尋址呢?方法:方法:使用使用來(lái)記錄頁(yè)與內(nèi)存塊之間的對(duì)應(yīng)關(guān)系。頁(yè)來(lái)記錄頁(yè)與內(nèi)存塊之間的對(duì)應(yīng)關(guān)系。頁(yè)面映像表簡(jiǎn)稱(chēng)面映像表簡(jiǎn)稱(chēng)。10KB 101KB01KB2KB3KB 1主存空間主存空間作業(yè)作業(yè)2地址空間地址空間2KB3KB4KB5KB6KB7KB8KB9KB01KB2KB 1作業(yè)作業(yè)1地址空間地址空間01KB 1作業(yè)作業(yè)3地址空間地址空間0516頁(yè)號(hào)頁(yè)號(hào)塊號(hào)塊號(hào)02140827
46、作業(yè)作業(yè)1頁(yè)表頁(yè)表作業(yè)作業(yè)2頁(yè)表頁(yè)表作業(yè)作業(yè)3頁(yè)表頁(yè)表OSOS第 67 頁(yè)若將作業(yè)預(yù)先一次性全部裝入主存,則稱(chēng)為若將作業(yè)預(yù)先一次性全部裝入主存,則稱(chēng)為靜態(tài)靜態(tài)頁(yè)式管理頁(yè)式管理頁(yè)式存儲(chǔ)管理還可分為兩種方法:頁(yè)式存儲(chǔ)管理還可分為兩種方法:靜態(tài)靜態(tài)頁(yè)式管理頁(yè)式管理 和和 虛擬虛擬頁(yè)式管理頁(yè)式管理。若允許部分頁(yè)面先調(diào)入主存執(zhí)行,然后根據(jù)需要再陸續(xù)調(diào)入若允許部分頁(yè)面先調(diào)入主存執(zhí)行,然后根據(jù)需要再陸續(xù)調(diào)入其他頁(yè)面,則稱(chēng)為其他頁(yè)面,則稱(chēng)為虛擬虛擬頁(yè)式管理,即內(nèi)存外存統(tǒng)一管理。頁(yè)式管理,即內(nèi)存外存統(tǒng)一管理。若主存空間不若主存空間不夠大怎么辦?夠大怎么辦?那就不裝!一定要保證那就不裝!一定要保證作業(yè)總頁(yè)數(shù)作業(yè)總
47、頁(yè)數(shù)主存空閑塊總數(shù)主存空閑塊總數(shù)需要解決需要解決2個(gè)問(wèn)題:個(gè)問(wèn)題:怎知作業(yè)頁(yè)怎知作業(yè)頁(yè)在不在主存?不在主存時(shí)怎樣處理?在不在主存?不在主存時(shí)怎樣處理?此時(shí)頁(yè)表至少要增添兩項(xiàng)屬性!此時(shí)頁(yè)表至少要增添兩項(xiàng)屬性!第 68 頁(yè)討討 論:論: 此表何時(shí)建立?此表何時(shí)建立?作業(yè)調(diào)入內(nèi)存時(shí)就邊調(diào)入邊建立了。作業(yè)調(diào)入內(nèi)存時(shí)就邊調(diào)入邊建立了。 程序頁(yè)在不在主存,看缺頁(yè)中斷標(biāo)志標(biāo)志(程序頁(yè)在不在主存,看缺頁(yè)中斷標(biāo)志標(biāo)志( 0在在1不在);不在);進(jìn)入之后改標(biāo)志為進(jìn)入之后改標(biāo)志為0;退出之后改為;退出之后改為1; 不在主存時(shí),發(fā)出缺頁(yè)中斷申請(qǐng),找到主存一空閑塊之不在主存時(shí),發(fā)出缺頁(yè)中斷申請(qǐng),找到主存一空閑塊之后,趕
48、緊從磁盤(pán)調(diào)入,接著改變標(biāo)志;后,趕緊從磁盤(pán)調(diào)入,接著改變標(biāo)志; 萬(wàn)一主存沒(méi)有空閑區(qū)怎么辦?要淘汰一些頁(yè)面,騰出空萬(wàn)一主存沒(méi)有空閑區(qū)怎么辦?要淘汰一些頁(yè)面,騰出空間調(diào)入新頁(yè)間調(diào)入新頁(yè)。邏輯頁(yè)號(hào)邏輯頁(yè)號(hào)主存塊號(hào)主存塊號(hào)中斷標(biāo)志中斷標(biāo)志磁盤(pán)位置磁盤(pán)位置090(在主存中)(在主存中)a11110a22 1a33 1a4第 69 頁(yè)l l 先進(jìn)先出算法(先進(jìn)先出算法(FIFO) 頁(yè)號(hào)進(jìn)入時(shí)生成隊(duì)列,淘汰隊(duì)首;頁(yè)號(hào)進(jìn)入時(shí)生成隊(duì)列,淘汰隊(duì)首; l l 最近最久未使用算法(最近最久未使用算法(LRU,Least Recently Used) 近期未使用,記錄上次引用后的近期未使用,記錄上次引用后的駐留時(shí)間駐留
49、時(shí)間l l 最近最少使用算法(最近最少使用算法(LFU,Least Frequently Used) 近期未訪問(wèn),設(shè)置近期未訪問(wèn),設(shè)置訪問(wèn)計(jì)數(shù)器訪問(wèn)計(jì)數(shù)器第 70 頁(yè)問(wèn)題:?jiǎn)栴}:若一段程序分在兩頁(yè)上怎么辦?若一段程序分在兩頁(yè)上怎么辦?方案:方案:將作業(yè)按邏輯內(nèi)容長(zhǎng)短分段調(diào)入,防止分在兩頁(yè)上。將作業(yè)按邏輯內(nèi)容長(zhǎng)短分段調(diào)入,防止分在兩頁(yè)上。誰(shuí)來(lái)分段?誰(shuí)來(lái)分段?由程序員或編譯系統(tǒng)來(lái)分段。由程序員或編譯系統(tǒng)來(lái)分段。 具體實(shí)現(xiàn):具體實(shí)現(xiàn):建立段表。建立段表。 第 71 頁(yè) 若程序分成若程序分成N段卻無(wú)法一次放入內(nèi)存怎么辦?段卻無(wú)法一次放入內(nèi)存怎么辦? 用段式虛擬存儲(chǔ)方式分批調(diào)入,方法同頁(yè)式。用段式虛擬存
50、儲(chǔ)方式分批調(diào)入,方法同頁(yè)式。 若一段太大,內(nèi)存無(wú)法提供連續(xù)空間怎么辦?若一段太大,內(nèi)存無(wú)法提供連續(xù)空間怎么辦? 段頁(yè)式存儲(chǔ)管理,段內(nèi)再分頁(yè),多建一個(gè)索引表段頁(yè)式存儲(chǔ)管理,段內(nèi)再分頁(yè),多建一個(gè)索引表到內(nèi)存。到內(nèi)存。存取內(nèi)存中的一條指令至少要訪問(wèn)幾次內(nèi)存?存取內(nèi)存中的一條指令至少要訪問(wèn)幾次內(nèi)存?至少要訪問(wèn)至少要訪問(wèn)三次三次內(nèi)存。前提是指令的邏輯地址已知,內(nèi)存。前提是指令的邏輯地址已知,即段號(hào)和頁(yè)號(hào)已知。即段號(hào)和頁(yè)號(hào)已知。先根據(jù)控制寄存器訪問(wèn)段表,得到與該段對(duì)應(yīng)的頁(yè)先根據(jù)控制寄存器訪問(wèn)段表,得到與該段對(duì)應(yīng)的頁(yè)表首址;表首址;訪問(wèn)頁(yè)表,得到其頁(yè)號(hào)對(duì)應(yīng)的內(nèi)存塊號(hào);訪問(wèn)頁(yè)表,得到其頁(yè)號(hào)對(duì)應(yīng)的內(nèi)存塊號(hào); 以
51、塊號(hào)與頁(yè)內(nèi)地址拼接得到該指令的絕對(duì)物理地址。以塊號(hào)與頁(yè)內(nèi)地址拼接得到該指令的絕對(duì)物理地址。第 72 頁(yè)什么是文件?什么是文件? 文件是在邏輯上具有完整意義的信息集合,它有一個(gè)名字以文件是在邏輯上具有完整意義的信息集合,它有一個(gè)名字以供標(biāo)識(shí),文件名是有供標(biāo)識(shí),文件名是有若干約束若干約束的字符串。的字符串。什么是文件系統(tǒng)?什么是文件系統(tǒng)? 文件系統(tǒng)是操作系統(tǒng)中文件系統(tǒng)是操作系統(tǒng)中負(fù)責(zé)管理和存取文件信息負(fù)責(zé)管理和存取文件信息的軟件機(jī)構(gòu)。的軟件機(jī)構(gòu)。負(fù)責(zé)負(fù)責(zé): 輔存空間的管理和文件的存儲(chǔ)輔存空間的管理和文件的存儲(chǔ) 構(gòu)造文件結(jié)構(gòu)構(gòu)造文件結(jié)構(gòu) 提供文件存取功能提供文件存取功能 提供文件共享功能提供文件共享
52、功能 提供文件保護(hù)功能提供文件保護(hù)功能計(jì)算機(jī)數(shù)據(jù)管理的重大發(fā)展計(jì)算機(jī)數(shù)據(jù)管理的重大發(fā)展用戶(hù)不需要關(guān)心用戶(hù)不需要關(guān)心信息的存儲(chǔ)細(xì)節(jié)信息的存儲(chǔ)細(xì)節(jié)第 73 頁(yè)(1) 流式文件(無(wú)結(jié)構(gòu)文件)流式文件(無(wú)結(jié)構(gòu)文件) 的流式文件是相關(guān)的有序字符的集合。文件長(zhǎng)度即的流式文件是相關(guān)的有序字符的集合。文件長(zhǎng)度即為所含字符數(shù)。如源程序、中間代碼等。為所含字符數(shù)。如源程序、中間代碼等。例如:例如:C語(yǔ)言文件語(yǔ)言文件class.c(2) 記錄式文件記錄式文件 記錄式文件是一種記錄式文件是一種的文件。這種文件在邏輯上被看成的文件。這種文件在邏輯上被看成一組連續(xù)順序的記錄集合,每個(gè)記錄由彼此相關(guān)的域構(gòu)成。一組連續(xù)順序的
53、記錄集合,每個(gè)記錄由彼此相關(guān)的域構(gòu)成。 如果所有記錄的長(zhǎng)度都相同,則這種文件為如果所有記錄的長(zhǎng)度都相同,則這種文件為定長(zhǎng)記錄文件定長(zhǎng)記錄文件。定長(zhǎng)記錄文件的長(zhǎng)度記錄個(gè)數(shù)定長(zhǎng)記錄文件的長(zhǎng)度記錄個(gè)數(shù)記錄長(zhǎng)度記錄長(zhǎng)度例如:學(xué)生登記表文件例如:學(xué)生登記表文件student.dbf李銘李銘925678925678武昌武昌關(guān)山街武昌武昌關(guān)山街125125號(hào)號(hào)430074430074司馬樂(lè)司馬樂(lè)925679925679北京北京北京海軍路北京海軍路8888號(hào)號(hào)100034100034記錄記錄1記錄記錄2第 74 頁(yè)(1) 順序存取順序存取 即后一次存取總是在前一次存取的基礎(chǔ)上進(jìn)行的,即后一次存取總是在前一次存
54、取的基礎(chǔ)上進(jìn)行的,所以不給出具體的存取位置。所以不給出具體的存取位置。(2) 隨機(jī)存取隨機(jī)存取 即在請(qǐng)求對(duì)某個(gè)文件進(jìn)行存取時(shí),要指出其始存即在請(qǐng)求對(duì)某個(gè)文件進(jìn)行存取時(shí),要指出其始存取位置取位置( 如記錄號(hào)、字符序號(hào)如記錄號(hào)、字符序號(hào))。 文件的物理結(jié)構(gòu)指文件在存儲(chǔ)器中的存儲(chǔ)結(jié)構(gòu)。即一個(gè)文件在文件的物理結(jié)構(gòu)指文件在存儲(chǔ)器中的存儲(chǔ)結(jié)構(gòu)。即一個(gè)文件在輔存中的安置、鏈接和編目的方法。常用的文件物理結(jié)構(gòu)形式有:輔存中的安置、鏈接和編目的方法。常用的文件物理結(jié)構(gòu)形式有:t 連續(xù)文件連續(xù)文件t 鏈接文件(串聯(lián)文件)鏈接文件(串聯(lián)文件)t 索引文件索引文件第 75 頁(yè)連續(xù)文件結(jié)構(gòu)由一組分配在磁盤(pán)連續(xù)文件結(jié)構(gòu)由
55、一組分配在磁盤(pán)連續(xù)連續(xù)區(qū)域的物理塊組成。區(qū)域的物理塊組成。文件文件A 3 100 r0 r1 r2 磁盤(pán)塊號(hào)磁盤(pán)塊號(hào)100101102文件目錄文件目錄文件文件A目錄項(xiàng)目錄項(xiàng)第 76 頁(yè) 鏈接文件結(jié)構(gòu)是按順序由若干個(gè)串聯(lián)的物理塊組成的,鏈接文件結(jié)構(gòu)是按順序由若干個(gè)串聯(lián)的物理塊組成的,每個(gè)物理塊的最末一個(gè)字每個(gè)物理塊的最末一個(gè)字( (或第一個(gè)字或第一個(gè)字) )作為鏈接字,它指出作為鏈接字,它指出后繼塊的物理地址。后繼塊的物理地址。鏈接鏈接文件文件A 100 r1 57 r2 r0 150磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 100磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 150磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 57文件目錄文件目錄文件文件A目錄項(xiàng)目錄項(xiàng)第
56、77 頁(yè) 將邏輯文件順序地劃分成長(zhǎng)度與物理存儲(chǔ)塊長(zhǎng)度相同的邏將邏輯文件順序地劃分成長(zhǎng)度與物理存儲(chǔ)塊長(zhǎng)度相同的邏輯塊,然后建立邏輯塊號(hào)與物理塊號(hào)的對(duì)照表。這張表稱(chēng)為輯塊,然后建立邏輯塊號(hào)與物理塊號(hào)的對(duì)照表。這張表稱(chēng)為該文件的索引表。該文件的索引表。文件文件A索引表指針?biāo)饕碇羔樜募募嗀目錄項(xiàng)目錄項(xiàng) r0 r1文件目錄文件目錄 邏輯塊號(hào)邏輯塊號(hào) 物理塊號(hào)物理塊號(hào) 0 23 1 19 2 26 3 29 r2 r3磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 23磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 19磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 26磁盤(pán)塊號(hào)磁盤(pán)塊號(hào) 29文件索引表文件索引表第 78 頁(yè)文文件件的的多多級(jí)級(jí)索索引引結(jié)結(jié)構(gòu)構(gòu) 根據(jù)統(tǒng)計(jì),文件容量不超過(guò)根據(jù)
57、統(tǒng)計(jì),文件容量不超過(guò)10塊塊(5120 B)的文件占文件總數(shù)的的文件占文件總數(shù)的80%,而這,而這10塊通過(guò)直接尋址就能得到文件的物理塊塊通過(guò)直接尋址就能得到文件的物理塊號(hào),只是對(duì)于大于號(hào),只是對(duì)于大于10塊的約占總數(shù)塊的約占總數(shù)20%的的文件才采用間接尋址。這種結(jié)構(gòu)的優(yōu)點(diǎn)與文件才采用間接尋址。這種結(jié)構(gòu)的優(yōu)點(diǎn)與一般索引文件結(jié)構(gòu)一樣,只是對(duì)于約一般索引文件結(jié)構(gòu)一樣,只是對(duì)于約20%的文件由于多次取索引而影響速度。的文件由于多次取索引而影響速度。例:設(shè)有混合分配的文件,其文件索引結(jié)點(diǎn)有例:設(shè)有混合分配的文件,其文件索引結(jié)點(diǎn)有13個(gè)地址項(xiàng)個(gè)地址項(xiàng)iaddr(0)-iaddr(12)。其中)。其中0-
58、9項(xiàng)項(xiàng)為直接地址分配,為直接地址分配,10、11、12項(xiàng)分別為一級(jí)、項(xiàng)分別為一級(jí)、二級(jí)、三級(jí)索引分配,盤(pán)塊大小為二級(jí)、三級(jí)索引分配,盤(pán)塊大小為4KB,每個(gè),每個(gè)盤(pán)塊號(hào)占盤(pán)塊號(hào)占4個(gè)字節(jié)。分析長(zhǎng)度為個(gè)字節(jié)。分析長(zhǎng)度為8MB的文件,的文件,需采用幾級(jí)索引分配方式存放。需采用幾級(jí)索引分配方式存放。 t盤(pán)塊大小為盤(pán)塊大小為4KB,在文件的直接地址中,可存放的,在文件的直接地址中,可存放的文件最大長(zhǎng)度為文件最大長(zhǎng)度為104KB=40KB。t每個(gè)盤(pán)塊號(hào)占每個(gè)盤(pán)塊號(hào)占4個(gè)字節(jié),一個(gè)盤(pán)塊可存放個(gè)字節(jié),一個(gè)盤(pán)塊可存放1K個(gè)索引個(gè)索引盤(pán)塊號(hào)。盤(pán)塊號(hào)。t一 級(jí) 索 引 中 可 存 放 的 文 件 最 大 長(zhǎng) 度 為
59、一 級(jí) 索 引 中 可 存 放 的 文 件 最 大 長(zhǎng) 度 為1K4KB=4MB,二級(jí)索引可存放的文件最大長(zhǎng)度,二級(jí)索引可存放的文件最大長(zhǎng)度為為1K1K4KB=4GBt現(xiàn)文件長(zhǎng)度為現(xiàn)文件長(zhǎng)度為8MB,需采用二級(jí)索引分配方式才能,需采用二級(jí)索引分配方式才能存放該文件存放該文件 答案答案第 82 頁(yè) 什么是文件目錄?什么是文件目錄? 文件系統(tǒng)的主要功能是實(shí)現(xiàn)按名存取,用戶(hù)只需向系統(tǒng)提文件系統(tǒng)的主要功能是實(shí)現(xiàn)按名存取,用戶(hù)只需向系統(tǒng)提供一個(gè)文件的符號(hào)名,系統(tǒng)就能準(zhǔn)確地找出所要的文件。為供一個(gè)文件的符號(hào)名,系統(tǒng)就能準(zhǔn)確地找出所要的文件。為此系統(tǒng)應(yīng)記錄文件名與其存儲(chǔ)地址的映射關(guān)系,以及該文件此系統(tǒng)應(yīng)記錄
60、文件名與其存儲(chǔ)地址的映射關(guān)系,以及該文件的使用特性及訪問(wèn)權(quán)限等信息,這些信息存放在一個(gè)稱(chēng)為文的使用特性及訪問(wèn)權(quán)限等信息,這些信息存放在一個(gè)稱(chēng)為文件目錄的數(shù)據(jù)結(jié)構(gòu)中。件目錄的數(shù)據(jù)結(jié)構(gòu)中。 所謂文件目錄,是指用于記錄系統(tǒng)中所有文件的所謂文件目錄,是指用于記錄系統(tǒng)中所有文件的的的。t 文件名文件名t 文件的邏輯結(jié)構(gòu)文件的邏輯結(jié)構(gòu)t 文件的物理位置文件的物理位置t 存取控制信息(不同用戶(hù)對(duì)該文件的使用權(quán)限)存取控制信息(不同用戶(hù)對(duì)該文件的使用權(quán)限)t 管理信息(如文件的創(chuàng)建時(shí)間管理信息(如文件的創(chuàng)建時(shí)間、最后一次存取時(shí)間等)、最后一次存取時(shí)間等)t 文件類(lèi)型(如數(shù)據(jù)文件,目錄文件等)文件類(lèi)型(如數(shù)據(jù)文
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州普洱茶課程設(shè)計(jì)公司
- 高電壓避雷課程設(shè)計(jì)
- 雷達(dá)測(cè)速儀課程設(shè)計(jì)
- 高爾夫課程設(shè)計(jì)
- 龍虎山研學(xué)課程設(shè)計(jì)
- 二級(jí)圓柱課程設(shè)計(jì)
- 課程設(shè)計(jì)宿舍查詢(xún)軟件
- 課程設(shè)計(jì)下載
- 王紅裕課程設(shè)計(jì)與實(shí)施
- 愛(ài)貝英語(yǔ)課程設(shè)計(jì)
- 二零二五年度無(wú)人駕駛車(chē)輛測(cè)試合同免責(zé)協(xié)議書(shū)
- 北京市海淀區(qū)2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(含答案)
- 常用口服藥品的正確使用方法
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年鉆探工程勞務(wù)協(xié)作協(xié)議樣式版B版
- 《心肺復(fù)蘇機(jī)救治院內(nèi)心搏驟?;颊咦o(hù)理專(zhuān)家共識(shí)》解讀
- 計(jì)算機(jī)二級(jí)WPS考試試題
- 智聯(lián)招聘行測(cè)題庫(kù)及答案
- 前程無(wú)憂(yōu)測(cè)評(píng)題庫(kù)及答案
- 毛渣采購(gòu)合同范例
- 《2025年日歷》電子版模板年歷月歷工作學(xué)習(xí)計(jì)劃?rùn)M版整年帶農(nóng)歷
評(píng)論
0/150
提交評(píng)論