版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操 作 系 統(tǒng)主講教師 :Operating System本章教學(xué)目標(biāo) 了解操作系統(tǒng)的發(fā)展過(guò)程掌握操作系統(tǒng)的定義和基本類(lèi)型熟悉操作系統(tǒng)的主要功能和特征第1章 操作系統(tǒng)概述本章主要內(nèi)容 1.1 操作系統(tǒng)的概述1.2 操作系統(tǒng)的發(fā)展1.3 操作系統(tǒng)的分類(lèi)1.4 操作系統(tǒng)的特征1.5 操作系統(tǒng)的基本功能1.1 操作系統(tǒng)的概述1.1.1 計(jì)算機(jī)系統(tǒng)的組成1.1.1 計(jì)算機(jī)系統(tǒng)的組成 計(jì)算機(jī)系統(tǒng)組成硬件系統(tǒng) 計(jì)算機(jī)硬件是指組成計(jì)算機(jī)系統(tǒng)的設(shè)備或機(jī)器,是“看得見(jiàn),摸得著”的物理部件,它是組成計(jì)算機(jī)系統(tǒng)的基礎(chǔ)。 計(jì)算機(jī)硬件一般包括中央處理器(CPU)、內(nèi)存儲(chǔ)器、外存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備,其中CPU與內(nèi)存
2、儲(chǔ)器合稱(chēng)為主機(jī),外存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備合稱(chēng)為外部設(shè)備。軟件系統(tǒng) 計(jì)算機(jī)軟件是指組成計(jì)算機(jī)系統(tǒng)的程序、數(shù)據(jù)和文檔。程序是指令的有序集合;數(shù)據(jù)是信息在計(jì)算機(jī)中的表示,是計(jì)算機(jī)處理的對(duì)象;文檔是各種說(shuō)明文本,是軟件操作的輔助性資源。 系統(tǒng)軟件:是支持和管理計(jì)算機(jī)硬件的軟件,是服務(wù)于硬件的,它創(chuàng)立的是一個(gè)平臺(tái)。系統(tǒng)軟件包括操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、計(jì)算機(jī)編譯語(yǔ)言和各種系統(tǒng)服務(wù)性程序。 應(yīng)用軟件 :應(yīng)用軟件是完成用戶(hù)某項(xiàng)要求的軟件,是服務(wù)于特定用戶(hù)的,它滿(mǎn)足某一個(gè)應(yīng)用領(lǐng)域。應(yīng)用軟件包括計(jì)算機(jī)源程序和應(yīng)用軟件包。 1.1.2 什么是操作系統(tǒng)一、 理解操作系統(tǒng)的三個(gè)觀點(diǎn)二、 操作系統(tǒng)的定義 一、 理解
3、操作系統(tǒng)的三個(gè)觀點(diǎn)從用戶(hù)觀點(diǎn)來(lái)理解,操作系統(tǒng)是用戶(hù)與計(jì)算機(jī)之間的接口;從資源管理觀點(diǎn)來(lái)理解操作系統(tǒng)是管理和控制計(jì)算機(jī)系統(tǒng)的軟件、硬件資源 ;從程序控制觀點(diǎn)來(lái)理解操作系統(tǒng)是對(duì)程序的管理。二、 操作系統(tǒng)的定義操作系統(tǒng)的一般定義:合理組織計(jì)算機(jī)的工作流程有效控制和管理計(jì)算機(jī)的各類(lèi)資源方便用戶(hù)使用的程序的集合總之,計(jì)算機(jī)配置操作系統(tǒng)的目的是提高資源利用率。1.2 操作系統(tǒng)的發(fā)展推動(dòng)操作系統(tǒng)發(fā)展的動(dòng)力1不斷提高資源利用率的需要 2方便用戶(hù)操作 3硬件的不斷更新?lián)Q代 4計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展 1.2.1 無(wú)操作系統(tǒng)階段 1.人工階段 在20世紀(jì)50年代末期以前的第一代(19461955)計(jì)算機(jī)中,操作系
4、統(tǒng)尚未出現(xiàn),那里只是人工操作。操作員通過(guò)控制臺(tái)上的各種開(kāi)關(guān)來(lái)控制各部件的運(yùn)行(如裝入卡片或紙帶、按電鈕和查看存儲(chǔ)單元等)。 ENIAC計(jì)算機(jī) ( 美國(guó)賓夕法尼亞大學(xué))運(yùn)算速度: 5000次/每秒 真空管: 18000個(gè) 占地面積: 182平方米 重 量 : 130噸 功 耗 : 140kW 50年代早期出現(xiàn)了穿孔卡片,程序?qū)懺诳ㄆ先缓笞x入計(jì)算機(jī)。但計(jì)算過(guò)程則依然如舊。 早期計(jì)算機(jī)的工作,基本上采用人工操作方式:由操作員將紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī)),把程序和數(shù)據(jù)輸入計(jì)算機(jī),當(dāng)程序行完畢,由用戶(hù)取走紙帶和計(jì)算結(jié)果后,才讓下一個(gè)用戶(hù)上機(jī)操作。 人工操作方式具有以下特點(diǎn): 用戶(hù)獨(dú)占
5、全機(jī)。 CPU等待人工操作。 串行性 人工操作方式具有以下缺點(diǎn): 計(jì)算機(jī)的有效機(jī)時(shí)嚴(yán)重浪費(fèi) 效率低 2.脫機(jī)輸入/輸出 脫機(jī)輸入/輸出階段的技術(shù)是為解決CPU與I/O設(shè)備之間的速度不匹配而提出的。它減少了CPU的空閑等待時(shí)間,提高了I/O速度。外圍機(jī)輸入設(shè)備輸出設(shè)備輸入作業(yè)輸出結(jié)果主機(jī)脫機(jī)輸入/輸出 20世紀(jì)50年代末至60年代初,計(jì)算機(jī)進(jìn)入第二代(19551965)。 管理程序(能對(duì)計(jì)算機(jī)硬件和軟件進(jìn)行管理的調(diào)度程序 )。 批處理程序,解決了作業(yè)間的自動(dòng)轉(zhuǎn)換 。 早期的監(jiān)管程序和這種批處理軟件稱(chēng)為初級(jí)操作系統(tǒng)。 1.2.2 初級(jí)操作系統(tǒng)階段 20世紀(jì)60年代,計(jì)算機(jī)進(jìn)入第三代后1965198
6、0)。 IBM System 360上運(yùn)行的OS/360操作系統(tǒng)被認(rèn)為是真正的(完整的)操作系統(tǒng) 。 多道程序設(shè)計(jì)技術(shù),提高CPU的利用率,充分發(fā)揮并行性 。 1.2.3 操作系統(tǒng)形成階段 第四代計(jì)算機(jī)系統(tǒng)發(fā)展時(shí)期(19801994) ,其上配置的操作系統(tǒng)稱(chēng)為現(xiàn)代操作系統(tǒng)。 這一代最有代表性的操作系統(tǒng)是UNIX操作系統(tǒng)(分時(shí)系統(tǒng))。 1.2.4 現(xiàn)代操作系統(tǒng)階段 1.3 操作系統(tǒng)的分類(lèi)批處理操作系統(tǒng)分時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)分布式操作系統(tǒng)1.3.1 批處理系統(tǒng) 批處理系統(tǒng)主要是采用了批處理技術(shù)。批處理技術(shù)是指計(jì)算機(jī)系統(tǒng)對(duì)一批作業(yè)自動(dòng)進(jìn)行處理的一種技術(shù)。方式:?jiǎn)蔚琅幚硐到y(tǒng):原理和特點(diǎn)多道批處
7、理系統(tǒng):原理和特點(diǎn)/os/multimedia/learn.htm單道和多道程序運(yùn)行情況單道程序用戶(hù)程序監(jiān)督程序I/O操作I/O請(qǐng)求程序A程序BCPU利用率CPU利用率I/O操作多道程序在單道批處理系統(tǒng)中,內(nèi)存中僅有一道作業(yè),它無(wú)法充分利用系統(tǒng)中的所有資源,致使系統(tǒng)性能較差。為了進(jìn)一步提高資源的利用率和 系統(tǒng)吞吐量,在60年代中期又引入了多道程序設(shè)計(jì)技術(shù),由此而形成了多道批處理系統(tǒng)。在該系統(tǒng)中,用戶(hù)所提交的作業(yè)都先存放在外存上并排成一個(gè)隊(duì)列, 稱(chēng)為“后備隊(duì)列”;然后, 由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享 CPU 和系統(tǒng)中的各種資源。 /os/multime
8、dia/learn.htm多道程序設(shè)計(jì)的基本思想:在計(jì)算機(jī)內(nèi)存中同時(shí)存放若干道已開(kāi)始運(yùn)行且尚未結(jié)束的程序,它們交替運(yùn)行,共享系統(tǒng)中的各種硬、軟資源,從而使處理機(jī)得到充分利用。 1.3.2 分時(shí)操作系統(tǒng) 概念: 所謂分時(shí)系統(tǒng)就是采用了分時(shí)技術(shù)的操作系統(tǒng)。一臺(tái)主機(jī)連接多臺(tái)帶顯示器和鍵盤(pán)及控制器的本地或遠(yuǎn)程終端,每個(gè)用戶(hù)可以在自己的終端按時(shí)間片輪流地以交互的方式使用主機(jī),共享系統(tǒng)資源,典型代表UNIX系統(tǒng)。(OS成熟期)分時(shí):兩個(gè)或多個(gè)事件按時(shí)間的劃分輪流使用計(jì)算機(jī)某一資源。時(shí)間片:系統(tǒng)規(guī)定進(jìn)程一次使用處理機(jī)的最長(zhǎng)時(shí)間分時(shí)系統(tǒng)的特征有多路性、獨(dú)立性、及時(shí)性和交互性。 1.3.3 實(shí)時(shí)系統(tǒng) 概念實(shí)時(shí)系
9、統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi),完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。 類(lèi)型實(shí)時(shí)控制系統(tǒng)實(shí)時(shí)信息處理系統(tǒng) 實(shí)時(shí)系統(tǒng)的特征有多路性、獨(dú)立性、及時(shí)性、交互性和可靠性。 1.3.4 網(wǎng)絡(luò)操作系統(tǒng) 概念 網(wǎng)絡(luò)操作系統(tǒng)用于管理網(wǎng)絡(luò)中的各種資源,為用戶(hù)提供各種服務(wù)。其主要功能有網(wǎng)絡(luò)通信管理、網(wǎng)絡(luò)資源管理、網(wǎng)絡(luò)安全管理和網(wǎng)絡(luò)服務(wù)等。功能網(wǎng)絡(luò)通信:這是網(wǎng)絡(luò)最基本的功能。資源管理:對(duì)網(wǎng)絡(luò)中的共享資源實(shí)施管理,使資源在各用戶(hù)間合理的流通、使用。網(wǎng)絡(luò)服務(wù):主要有電子郵件服務(wù),文件傳輸、存取和管理服務(wù),共享硬盤(pán)服務(wù)等。網(wǎng)絡(luò)管理:最基本的是通過(guò)各種方法實(shí)現(xiàn)網(wǎng)絡(luò)安全管理,防止用戶(hù)有意或
10、無(wú)意地對(duì)網(wǎng)絡(luò)資源造成破壞。 1.3.5 分布式操作系統(tǒng)概念: 分布式處理系統(tǒng)是指由多個(gè)分散的處理單元經(jīng)互聯(lián)網(wǎng)絡(luò)的連接而形成的系統(tǒng)。在分布式系統(tǒng)上配置的操作系統(tǒng)稱(chēng)為分布式操作系統(tǒng)。 特征 分布式系統(tǒng)最基本的特征是在處理上的分布,其實(shí)質(zhì)是資源、功能、任務(wù)和控制都是分布的。還有并行性、共享性強(qiáng),系統(tǒng)處理的透明度高、效率高以及易于維護(hù)等優(yōu)點(diǎn)。1.4 操作系統(tǒng)的特征 1并發(fā)性 在多道程序環(huán)境下,并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生,即宏觀上有多道程序同時(shí)執(zhí)行,而微觀上,在單處理機(jī)系統(tǒng)中每一個(gè)時(shí)刻僅能執(zhí)行一道程序。 (并發(fā)、并行)2共享性 共享是指系統(tǒng)中的資源可供多個(gè)用戶(hù)或并發(fā)執(zhí)行的進(jìn)程同時(shí)使用。
11、 3虛擬性 是指通過(guò)某種技術(shù)把一個(gè)物理實(shí)體變成若干個(gè)邏輯上的對(duì)應(yīng)物。如虛擬內(nèi)存,虛擬處理機(jī)等 4異步性(不確定性) 也稱(chēng)不確定性,是指在多道程序環(huán)境下,允許多個(gè)進(jìn)程并發(fā)執(zhí)行,由于資源的限制,進(jìn)程的執(zhí)行不是“一氣呵成”的,是“走走停?!钡?。 1.5 操作系統(tǒng)的基本功能操作系統(tǒng)是用戶(hù)與硬件之間的橋梁,它主要負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中的所有資源,并負(fù)責(zé)它們的調(diào)度和使用,充分發(fā)揮這些資源的作用和方便用戶(hù)使用計(jì)算機(jī)。從資源管理的角度來(lái)看,操作系統(tǒng)的功能主要有處理機(jī)的管理:協(xié)調(diào)系統(tǒng)中多個(gè)程序正確有效地占用處理機(jī)。存儲(chǔ)器的管理:內(nèi)存的分配與回收,程序相對(duì)地址到絕對(duì)地址的轉(zhuǎn)換,內(nèi)存的共享與保護(hù)及邏輯擴(kuò)充。設(shè)備的管理
12、:I/O設(shè)備的分配、共享、驅(qū)動(dòng)調(diào)度和方便使用。文件的管理:文件存儲(chǔ)介質(zhì)的管理,文件的存取、保護(hù)和共享等。接口管理:用戶(hù)提供使用計(jì)算機(jī)的手段 ,命令接口和程序接口。本章小結(jié)計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成。軟、硬件系統(tǒng)的組成就是計(jì)算機(jī)系統(tǒng)資源,當(dāng)不同的用戶(hù)使用計(jì)算機(jī)時(shí)都要占用系統(tǒng)資源并且有不同的控制需求。操作系統(tǒng)就是計(jì)算機(jī)系統(tǒng)的一種系統(tǒng)軟件,由它統(tǒng)一管理計(jì)算機(jī)系統(tǒng)的資源并控制程序的執(zhí)行。操作系統(tǒng)的形成過(guò)程: 早期沒(méi)有操作系統(tǒng)原始匯編系統(tǒng)管理程序操作系統(tǒng),可以看到,操作系統(tǒng)是隨著計(jì)算機(jī)硬件的發(fā)展和應(yīng)用需求的推動(dòng)而形成的。按照操作系統(tǒng)提供的服務(wù),大致可以把操作系統(tǒng)分為以下幾類(lèi): 批處理操作系統(tǒng)、分
13、時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。其中批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)是基本的操作系統(tǒng)。作 業(yè) 1、操作系統(tǒng)的定義2、操作系統(tǒng)的功能3、操作系統(tǒng)的基本類(lèi)型4、操作系統(tǒng)的特征第二章 進(jìn)程管理2.1 進(jìn)程管理2.2 線程2.3 作業(yè)管理2.4 作業(yè)與進(jìn)程的區(qū)別本章目標(biāo)理解和掌握進(jìn)程的定義、狀態(tài)、進(jìn)程控制塊和進(jìn)程隊(duì)列等知識(shí)。理解和掌握進(jìn)程的調(diào)度算法。理解線程知識(shí)。理解作業(yè)管理和作業(yè)調(diào)度。2.1 進(jìn)程管理 1.程序的順序執(zhí)行: 程序在機(jī)器中嚴(yán)格按順序執(zhí)行并獨(dú)占系統(tǒng)資源;程序執(zhí)行的速度與結(jié)果無(wú)關(guān)。封閉性:程序一旦執(zhí)行,其結(jié)果只取決于程序本身;可再現(xiàn)性:機(jī)器在同一數(shù)據(jù)集上重
14、復(fù)執(zhí)行同樣的程序,其結(jié)果相同程序的并發(fā)執(zhí)行:多個(gè)程序同時(shí)在一臺(tái)計(jì)算機(jī)中運(yùn)行,各程序不再獨(dú)自占有所需資源,而是在輪流使用共享資源時(shí)相互制約,執(zhí)行過(guò)程往往是走走停停,失去了封閉性和可再現(xiàn)性,但是卻提高了資源利用率。2.1.1 程序的執(zhí)行2.并發(fā)執(zhí)行輸入第一批輸入第二批輸入第三批處理第一批處理第二批處理第三批輸出第一批輸出第二批輸出第三批并發(fā)性。即指系統(tǒng)中有多個(gè)程序同時(shí)執(zhí)行。在單個(gè)CPU系統(tǒng)中,多個(gè)并發(fā)執(zhí)行的程序雖然從宏觀上并行執(zhí)行,但是從微觀上來(lái)看,它們是分時(shí),輪流地占用CPU時(shí)間,所以是串行的。隨機(jī)性。在多道程序環(huán)境下,尤其是在多用戶(hù)環(huán)境下,程序和數(shù)據(jù)的輸入與執(zhí)行時(shí)間都是隨機(jī)的。資源共享。任何一
15、個(gè)計(jì)算機(jī)系統(tǒng)中的軟、硬件資源數(shù)量總是有限的,這就要求系統(tǒng)資源允許被多個(gè)并發(fā)執(zhí)行的程序所共享。進(jìn)程與程序的關(guān)系 1.程序是靜態(tài)的概念,進(jìn)程是動(dòng)態(tài)的概念; 2.進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,能與其他進(jìn)程并發(fā)執(zhí)行而程序則不能 3.程序和進(jìn)程無(wú)一一對(duì)應(yīng)的關(guān)系 4.各進(jìn)程在并發(fā)執(zhí)行中會(huì)產(chǎn)生相互制約,而程序本身是靜態(tài)的,沒(méi)有這種異步特征。進(jìn)程是一個(gè)程序在一個(gè)數(shù)據(jù)集上的一次運(yùn)行。2.1.2 進(jìn)程概念的引入進(jìn)程的特征動(dòng)態(tài)性:進(jìn)程有一定的生命期,“它由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤消而消亡”。并發(fā)性:多個(gè)進(jìn)程并發(fā)執(zhí)行。獨(dú)立性:能獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立調(diào)度的基本單位。異步性:進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向
16、前推進(jìn),按異步方式運(yùn)行。結(jié)構(gòu)特征:進(jìn)程實(shí)體包括程序段、數(shù)據(jù)集和進(jìn)程控制塊。2.1.3、進(jìn)程的狀態(tài)及其轉(zhuǎn)換進(jìn)程的基本狀態(tài):就緒態(tài)、運(yùn)行態(tài)、阻塞態(tài)。各狀態(tài)的相互轉(zhuǎn)換: 就緒運(yùn)行 運(yùn)行阻塞 阻塞就緒 運(yùn)行就緒等待某事件發(fā)生進(jìn)程調(diào)度時(shí)間片到所等待事件發(fā)生運(yùn)行就緒阻塞2.1.4、進(jìn)程控制塊進(jìn)程組成:進(jìn)程控制塊,程序段,數(shù)據(jù)集合。 進(jìn)程控制塊 進(jìn)程標(biāo)識(shí)信息、說(shuō)明信息、現(xiàn)場(chǎng)信息和管理信息(進(jìn)程名、 狀態(tài)信息、調(diào)度優(yōu)先權(quán)、通信信息、現(xiàn)場(chǎng)保護(hù)區(qū)、資源供求和分配控制信息、族關(guān)系信息等) 程序段 各種基本結(jié)構(gòu)組成的指令集合 數(shù)據(jù)集合 各種類(lèi)型的數(shù)據(jù) PCB程序部分?jǐn)?shù)據(jù)集合 PCB是進(jìn)程存在的唯一標(biāo)識(shí)思考題: 為什么
17、PCB是進(jìn)程存在的唯一標(biāo)識(shí)?提示:操作系統(tǒng)根據(jù)PCB對(duì)進(jìn)程實(shí)施控制和管理;進(jìn)程隊(duì)列:將具有相同狀態(tài)的PCB按一定的方式組織起來(lái),構(gòu)成的隊(duì)列。分三種隊(duì)列:執(zhí)行隊(duì)列、就緒隊(duì)列、阻塞隊(duì)列。2.1.5 進(jìn)程隊(duì)列執(zhí)行隊(duì)列頭指針PCB4就緒隊(duì)列頭指針PCB2PCB3PCB5PCBn阻塞隊(duì)列頭指針PCB1PCB6-1-1圖 PCB的各種隊(duì)列線性方式:線性隊(duì)列鏈接方式:鏈接表索引方式:索引表線性表隊(duì)列250036004800250025022504鏈接表隊(duì)列索引表PCB0PCB1PCB2 PCBn 內(nèi)存中的專(zhuān)用區(qū)域2.1.6 進(jìn)程控制原語(yǔ)操作:機(jī)器指令編制的一段完成特殊功能的系統(tǒng)程序。進(jìn)程控制的作用:系統(tǒng)對(duì)所
18、有進(jìn)程整個(gè)生命期的有效管理和控制。 1、創(chuàng)建原語(yǔ) 2、撤銷(xiāo)原語(yǔ) 3、阻塞原語(yǔ) 4、喚醒原語(yǔ) 1 創(chuàng)建原語(yǔ) 一個(gè)進(jìn)程可借助于創(chuàng)建原語(yǔ)來(lái)創(chuàng)建一個(gè)新進(jìn)程。創(chuàng)建一個(gè)新進(jìn)程的主要工作是: 申請(qǐng)一空閑PCB無(wú)空閑PCB,則創(chuàng)建失??;否則產(chǎn)生PID(進(jìn)程標(biāo)識(shí))申請(qǐng)必要的資源初始化PCB插入就緒隊(duì)列 2 撤消進(jìn)程原語(yǔ)找出被撤消進(jìn)程的PCB該進(jìn)程若正在執(zhí)行,則終止該進(jìn)行的執(zhí)行該進(jìn)程若有子進(jìn)程,則撤消其所有子進(jìn)程將該進(jìn)程所擁有的全部資源,歸還給父進(jìn)程或系統(tǒng)將被撤消進(jìn)程的PCB從所在隊(duì)列(或鏈表)中清除,放回到空閑PCB隊(duì)列。3進(jìn)程的阻塞原語(yǔ) 正在執(zhí)行的進(jìn)程,當(dāng)出現(xiàn)請(qǐng)求操作系統(tǒng)服務(wù)、啟動(dòng)某種操作、新數(shù)據(jù)尚未到達(dá)、無(wú)
19、新工作可做等事件時(shí),由于無(wú)法繼續(xù)運(yùn)行,于是自己便通過(guò)調(diào)用block原語(yǔ),把自己阻塞起來(lái)。保存CPU現(xiàn)場(chǎng)置該進(jìn)程的狀態(tài)被阻塞進(jìn)程入等待隊(duì)列轉(zhuǎn)進(jìn)程調(diào)度。4進(jìn)程的喚醒原語(yǔ) 被阻塞進(jìn)程等待的事件到,由與之相關(guān)的進(jìn)程將其喚醒(被阻塞的進(jìn)程不能自己?jiǎn)拘炎约海┌驯蛔枞M(jìn)程從相應(yīng)阻塞隊(duì)列中取出;將現(xiàn)行狀態(tài)由阻塞改為就緒;然后插入到就緒隊(duì)列;根據(jù)優(yōu)先情況調(diào)整調(diào)度標(biāo)志調(diào)度算法 先來(lái)先服務(wù)(FCFS)調(diào)度算法:這種調(diào)度算法是按照進(jìn)程進(jìn)入就緒隊(duì)列的先后次序來(lái)選擇可占用處理器的進(jìn)程。時(shí)間片輪轉(zhuǎn):將所有的就緒進(jìn)程按到達(dá)的先后順序排隊(duì),并將CPU的時(shí)間分成固定大小的時(shí)間片,如果一個(gè)進(jìn)程被調(diào)度選中后用完了時(shí)間片,但并未完成要
20、求的任務(wù),則它將自行釋放自己所占的CPU而重新排列就緒隊(duì)列的末尾,等待下一次調(diào)度。 優(yōu)先級(jí)調(diào)度算法:為進(jìn)程設(shè)置不同的優(yōu)先級(jí),就緒隊(duì)列按進(jìn)程優(yōu)先級(jí)的不同而排列,每次總是從就緒隊(duì)列中選取優(yōu)先級(jí)最高的進(jìn)程運(yùn)行。2.1.7 進(jìn)程調(diào)度2.2 線程 2.2.1 線程的概念 1.定義:線程是進(jìn)程中的一個(gè)可執(zhí)行實(shí)體,是系統(tǒng)進(jìn)行調(diào)度和執(zhí)行的基本單位。 2.狀態(tài):就緒、運(yùn)行、阻塞。 3.線程與進(jìn)程比較2.2.2 線程的種類(lèi)與實(shí)現(xiàn)(了解) 線程與進(jìn)程的區(qū)別可以歸納為以下幾點(diǎn):1)地址空間和其它資源(如打開(kāi)文件):進(jìn)程間相互獨(dú)立,同一進(jìn)程的各線程間共享。某進(jìn)程內(nèi)的線程在其它進(jìn)程不可見(jiàn)。 2)通信:線程間可以直接讀寫(xiě)進(jìn)
21、程數(shù)據(jù)段(如全局變量)來(lái)進(jìn)行通信需要進(jìn)程同步和互斥手段的輔助,以保證數(shù)據(jù)的一致性。 3)調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多。 4)在多線程O(píng)S中,進(jìn)程不是一個(gè)可執(zhí)行的實(shí)體。 2.3 作業(yè)管理2.3.1 什么是作業(yè)和作業(yè)步 從用戶(hù)角度說(shuō),作業(yè)是要求計(jì)算機(jī)系統(tǒng)處理的一個(gè)問(wèn)題或一個(gè)事務(wù)處理過(guò)程中要求計(jì)算機(jī)系統(tǒng)所做工作的集合,包括用戶(hù)程序、所需的數(shù)據(jù)及命令等。 把計(jì)算機(jī)系統(tǒng)在完成一個(gè)作業(yè)過(guò)程中所做一些相對(duì)獨(dú)立的工作稱(chēng)為作業(yè)步。 2.3.2 作業(yè)的狀態(tài)作業(yè)狀態(tài)的相互轉(zhuǎn)換時(shí)間片完等待某個(gè)事件發(fā)生等待事件結(jié)束等待就緒運(yùn)行進(jìn)程調(diào)度作業(yè)調(diào)度后備狀態(tài)作業(yè)提交完成狀態(tài)作業(yè)調(diào)度運(yùn)行狀態(tài)2.3.3 作業(yè)
22、調(diào)度1.處理器的兩級(jí)調(diào)度(1)高級(jí)調(diào)度 高級(jí)調(diào)度又稱(chēng)為作業(yè)調(diào)度。其主要功能是根據(jù)一定的算法,把處于后備隊(duì)列中的那些作業(yè)調(diào)入內(nèi)存,分配必要的資源,并為它們建立相應(yīng)的用戶(hù)作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)的進(jìn)程(如輸入/輸出進(jìn)程),然后將創(chuàng)建的進(jìn)程送入就緒隊(duì)列,等待進(jìn)程調(diào)度程序?qū)ζ鋱?zhí)行調(diào)度,并在作業(yè)完成后作善后處理工作,回收系統(tǒng)資源。(2)低級(jí)調(diào)度 低級(jí)調(diào)度又稱(chēng)進(jìn)程調(diào)度,這在前面我們已經(jīng)介紹過(guò)。這里就不再重復(fù)講述。2.作業(yè)調(diào)度 作業(yè)調(diào)度的主要功能是按照某種原則從后備作業(yè)隊(duì)列中選取作業(yè)進(jìn)入內(nèi)存,并為作業(yè)做好運(yùn)行前的準(zhǔn)備工作和作業(yè)完成后的處理工作。常見(jiàn)的作業(yè)調(diào)度算法有:(1)先來(lái)先服務(wù)(FCFS)(2)短作業(yè)優(yōu)
23、先(SJF) (3)響應(yīng)比高者優(yōu)先(HRN) (4)優(yōu)先級(jí)法2.4 作業(yè)與進(jìn)程區(qū)別 (1)作業(yè)是用戶(hù)向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體。在用戶(hù)向計(jì)算機(jī)提交作業(yè)后,系統(tǒng)將它放入外存中的作業(yè)等待隊(duì)列中等待執(zhí)行。而進(jìn)程則是完成用戶(hù)任務(wù)的執(zhí)行實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位。任一進(jìn)程,只要它被創(chuàng)建,總有相應(yīng)的部分存在于內(nèi)存中。(2)一個(gè)作業(yè)可由多個(gè)進(jìn)程組成,且必須至少由一個(gè)進(jìn)程組成,反過(guò)來(lái)則不成立。(3)作業(yè)的概念主要用在批處理系統(tǒng)中,像UNIX這樣的分時(shí)系統(tǒng)中就沒(méi)有作業(yè)的概念。而進(jìn)程的概念則用在幾乎所有的多道程序系統(tǒng)中。本章小結(jié)1、進(jìn)程的引入、定義、進(jìn)程控制塊、進(jìn)程狀態(tài)及狀態(tài)間的轉(zhuǎn)換,進(jìn)程調(diào)度算法。2、
24、線程的概念3、作業(yè)、作業(yè)步、作業(yè)狀態(tài)、作業(yè)調(diào)度第3章 存儲(chǔ)管理 本章學(xué)習(xí)目標(biāo) 3.1 存儲(chǔ)管理概述 3.2 連續(xù)分配存儲(chǔ)管理方式 3.3 頁(yè)式存儲(chǔ)器管理 3.4 段式存儲(chǔ)管理3.5 段頁(yè)式存儲(chǔ)管理3.6 虛擬存儲(chǔ)器3.7 請(qǐng)求分頁(yè)存儲(chǔ)管理3.8 請(qǐng)求分段存儲(chǔ)管理本章目標(biāo) 理解與掌握存儲(chǔ)管理的功能。理解與掌握單用戶(hù)連續(xù)、固定分區(qū)和可變分區(qū)存儲(chǔ)管理方式。理解與掌握頁(yè)式存儲(chǔ)管理方式。了解段式、段頁(yè)式存儲(chǔ)管理方式。理解請(qǐng)求頁(yè)式虛擬存儲(chǔ)管理方式。本章學(xué)習(xí)目標(biāo) 本章首先介紹了存儲(chǔ)管理的研究對(duì)象和目的,明確了存儲(chǔ)管理的基本功能和有關(guān)的基本概念;然后從實(shí)存和虛存兩個(gè)角度,分別介紹了常用的幾種存儲(chǔ)管理方案;最后
25、對(duì)各種存儲(chǔ)管理方案存在的問(wèn)題,主要是碎片和抖動(dòng)問(wèn)題進(jìn)行了總結(jié)。 本章的主要內(nèi)容如下:(1)存儲(chǔ)管理的目的和四大基本功能。 (2)實(shí)存管理中講述了固定分區(qū)存儲(chǔ)管理、可變式分區(qū)存儲(chǔ)管理、純分頁(yè)存儲(chǔ)管理三種存儲(chǔ)管理方案的實(shí)現(xiàn)原理(3)虛存管理以請(qǐng)求式分頁(yè)存儲(chǔ)管理為重點(diǎn) (4)總結(jié)各種存儲(chǔ)管理方案中存在的碎片和抖動(dòng)問(wèn)題及解決方法3.1 存儲(chǔ)管理的概述 3.1.1 存儲(chǔ)器的層次結(jié)構(gòu) 3.1.2 存儲(chǔ)管理的功能3.1.3 地址重定位 多級(jí)存儲(chǔ)器體系示意圖3.1.1 存儲(chǔ)器的層次結(jié)構(gòu)內(nèi)存空間的分配和保護(hù)。內(nèi)存儲(chǔ)器中允許同時(shí)容納各種軟件和多個(gè)用戶(hù)程序時(shí),必須解決內(nèi)存空間如何分配以及各存儲(chǔ)區(qū)域內(nèi)的信息如何保護(hù)等
26、問(wèn)題。內(nèi)存空間的重定位。配合硬件做好地址轉(zhuǎn)換工作,把一組邏輯地址空間轉(zhuǎn)換成絕對(duì)地址空間,以保證處理器的正確執(zhí)行。內(nèi)存空間的共享。在多道程序設(shè)計(jì)的系統(tǒng)中,同時(shí)進(jìn)入內(nèi)存儲(chǔ)器執(zhí)行的作業(yè)可能要調(diào)用共同的程序。內(nèi)存空間的擴(kuò)充。提供虛擬存儲(chǔ)器,使用戶(hù)編制程序時(shí)不必考慮內(nèi)存儲(chǔ)器的實(shí)際容量,使計(jì)算機(jī)系統(tǒng)似乎有一個(gè)比實(shí)際內(nèi)存儲(chǔ)器容量大的多的內(nèi)存空間。 3.1.2 存儲(chǔ)器的功能1程序的裝入(1)絕對(duì)裝入方式。也稱(chēng)直接分配方式。這種方式指程序在編寫(xiě)程序或編譯程序?qū)υ闯绦蚓幾g時(shí)采用實(shí)際存儲(chǔ)地址。采用這種方式,必須事先劃定作業(yè)的可用空間,因此這種絕對(duì)裝入方式的存儲(chǔ)分配,存儲(chǔ)空間的利用率不高,對(duì)用戶(hù)使用也不方便。(2)可
27、重定位方式。也稱(chēng)靜態(tài)分配方式。在將作業(yè)裝入內(nèi)存時(shí)才確定它們?cè)趦?nèi)存中的位置。也就是說(shuō),存儲(chǔ)空間的分配是在作業(yè)裝入內(nèi)存時(shí)實(shí)現(xiàn)的。采用這種裝入方式,在一個(gè)作業(yè)裝入時(shí)必須分配其要求的全部存儲(chǔ)量;如果沒(méi)有足夠的存儲(chǔ)空間,就不能裝入該作業(yè)。此外,作業(yè)一旦進(jìn)入內(nèi)存后,在整個(gè)運(yùn)行過(guò)程中不能在內(nèi)存中移動(dòng),也不能再申請(qǐng)內(nèi)存空間。這種裝入方式實(shí)際上就是靜態(tài)重定位。(3)動(dòng)態(tài)運(yùn)行時(shí)裝入方式。 3.1.3 地址重定位2地址重定位基本概念(1)邏輯地址 一個(gè)應(yīng)用程序經(jīng)編譯后,通常會(huì)形成若干個(gè)目標(biāo)程序,這些目標(biāo)程序再經(jīng)過(guò)連接而形成可裝入程序。這些程序的地址都從“0”開(kāi)始的,程序中的其他地址都是相對(duì)于起始地址計(jì)算;由這些地址
28、所形成的地址范圍稱(chēng)為地址空間,其中的地址稱(chēng)為邏輯地址或相對(duì)地址。(2)絕對(duì)地址 當(dāng)用戶(hù)把作業(yè)交給計(jì)算機(jī)執(zhí)行時(shí),存儲(chǔ)管理就為其分配一個(gè)合適的內(nèi)存空間,這個(gè)分配到的內(nèi)存空間可能是從“A”單元開(kāi)始的一個(gè)連續(xù)地址空間,稱(chēng)為“絕對(duì)地址”空間,其中的地址稱(chēng)為物理地址或絕對(duì)地址。(3)地址重定位 由于邏輯地址經(jīng)常與分到的內(nèi)存空間的絕對(duì)地址不一致,而且對(duì)于每個(gè)邏輯地址在內(nèi)存儲(chǔ)器中也沒(méi)有一個(gè)固定的絕對(duì)地址與之對(duì)應(yīng)。因此,不能根據(jù)邏輯地址直接到內(nèi)存儲(chǔ)器中去存取信息。由于處理器執(zhí)行指令是按絕對(duì)地址進(jìn)行的,為了保證作業(yè)的正確執(zhí)行,必須根據(jù)分配到的內(nèi)存區(qū)域?qū)λ闹噶詈蛿?shù)據(jù)進(jìn)行重定位,即把邏輯地址轉(zhuǎn)換成絕對(duì)地址。把邏輯地
29、址轉(zhuǎn)換成絕對(duì)地址的工作稱(chēng)為地址轉(zhuǎn)換或地址重定位或地址映射。 3靜態(tài)、動(dòng)態(tài)重定位 重定位的方式可以有靜態(tài)定位和動(dòng)態(tài)定位兩種。(1)靜態(tài)重定位 靜態(tài)重定位在裝入一個(gè)作業(yè)時(shí),把作業(yè)中的指令地址和數(shù)據(jù)地址全部轉(zhuǎn)換成絕對(duì)地址。由于地址轉(zhuǎn)換工作是在作業(yè)執(zhí)行前集中一次完成的,所以在作業(yè)執(zhí)行過(guò)程中就無(wú)需進(jìn)行地址轉(zhuǎn)換工作。這種定位方式稱(chēng)靜態(tài)重定位。 (2)動(dòng)態(tài)重定位 動(dòng)態(tài)重定位是在程序執(zhí)行過(guò)程中,每當(dāng)訪問(wèn)指令或數(shù)據(jù)時(shí),將要訪問(wèn)的程序或數(shù)據(jù)的邏輯地址轉(zhuǎn)換成物理地址。由于重定位過(guò)程是在程序執(zhí)行期間隨著指令的執(zhí)行逐步完成的,故稱(chēng)為動(dòng)態(tài)重定位。 150011001250作業(yè)地址空間存儲(chǔ)地址空間0LOAD 1,25031
30、002505001000LOAD 1,12503圖3.3 動(dòng)態(tài)重定位過(guò)程重定位寄存器具+邏輯地址作業(yè)地址空間存儲(chǔ)地址空間0LOAD 1,25031002505001000LOAD 1,125031100125015002501000(b)采用動(dòng)態(tài)重定位時(shí)內(nèi)存空間及地址重定位示意圖 (a)采用靜態(tài)重定位后的內(nèi)存空間 靜態(tài)地址重定位和動(dòng)態(tài)地址重定位示意圖3.2 連續(xù)分配存儲(chǔ)管理方式 3.2.1 單用戶(hù)連續(xù)存儲(chǔ)管理3.2.2 固定分區(qū)存儲(chǔ)管理3.2.3 可變分區(qū)存儲(chǔ)管理1. 單用戶(hù)連續(xù)存儲(chǔ)管理 單用戶(hù)連續(xù)存儲(chǔ)管理方式是一種最簡(jiǎn)單的存儲(chǔ)管理方式,它只能用于單用戶(hù)、單任務(wù)的操作系統(tǒng)中。在這種管理方式下操
31、作系統(tǒng)占了一部分內(nèi)存空間,其余剩下的內(nèi)存空間都分配給一個(gè)作業(yè)使用,即在任何時(shí)刻內(nèi)存儲(chǔ)器中最多只有一個(gè)作業(yè)。 3.2.1 單用戶(hù)連續(xù)存儲(chǔ)管理單用戶(hù)連續(xù)存儲(chǔ)管理示意圖用戶(hù)區(qū)作業(yè)隊(duì)列cb0aOS區(qū)用戶(hù)作業(yè)空閑區(qū)CPU界限寄存器a作業(yè)1作業(yè)2覆蓋技術(shù)示意圖cb0aOS區(qū)覆蓋區(qū)1駐留區(qū)用戶(hù)區(qū)D可覆蓋的段覆蓋區(qū)2主程序段DCAB2. 覆蓋(Overly)技術(shù) 所謂覆蓋就是指一個(gè)作業(yè)中的若干程序段和數(shù)據(jù)段共享內(nèi)存的某個(gè)區(qū)域。其實(shí)現(xiàn)的方法是將一個(gè)大的作業(yè)劃分成一系列的覆蓋(程序段),每個(gè)覆蓋是一個(gè)相對(duì)獨(dú)立的程序單位,執(zhí)行時(shí)并不要求同時(shí)裝入內(nèi)存的覆蓋組成一組,并稱(chēng)其為覆蓋段,將一個(gè)覆蓋段分配到同一存儲(chǔ)區(qū)域。 3
32、.交換(Swapping)技術(shù) 交換(對(duì)換)技術(shù)就是把暫時(shí)不用的某個(gè)程序或數(shù)據(jù)部分(或全部)從內(nèi)存移到外存中去, 以便騰出必要的內(nèi)存空間;或把指定的程序或數(shù)據(jù)從外存讀到相應(yīng)的內(nèi)存中,并將控制權(quán)轉(zhuǎn)給它,讓其在系統(tǒng)上運(yùn)行的一種內(nèi)存擴(kuò)充技術(shù) 。 內(nèi)存外存交換交換示意圖 固定分區(qū)存儲(chǔ)管理是在作業(yè)裝入前,內(nèi)存用戶(hù)區(qū)被劃分成若干個(gè)大小不等連續(xù)區(qū)域,每一個(gè)連續(xù)區(qū)稱(chēng)為一個(gè)分區(qū),每個(gè)分區(qū)可以存放一個(gè)作業(yè)。一旦劃分好后,內(nèi)存儲(chǔ)器中分區(qū)的個(gè)數(shù)就固定了。各個(gè)分區(qū)的大小可以相同,也可以不同,每個(gè)分區(qū)的大小固定不變,因此,也把固定分區(qū)稱(chēng)為靜態(tài)分區(qū)。各分區(qū)的使用情況,用“分區(qū)分配表”來(lái)說(shuō)明 。3.2.2 固定分區(qū)存儲(chǔ)管理固
33、定分區(qū)存儲(chǔ)管理示意圖e作業(yè)隊(duì)列b0aOS區(qū)CPU上限寄存器d作業(yè)1作業(yè)2c3下限寄存器正運(yùn)行作業(yè)分區(qū)分區(qū)1分區(qū)2分區(qū)3空閑區(qū)d分區(qū)號(hào)起始地址長(zhǎng)度占用標(biāo)志1aL102bL203cL31分區(qū)分配表 下限地址絕對(duì)地址塊號(hào) 頁(yè)內(nèi)地址p頁(yè)表始址 頁(yè)表長(zhǎng)度bmnbd物理地址越界中斷頁(yè)號(hào) 頁(yè)內(nèi)地址邏輯地址pdCPU+3.3.3 快表具有快表地址變換機(jī)構(gòu)示意圖快表頁(yè)號(hào) 塊號(hào)b頁(yè)表塊號(hào) 頁(yè)內(nèi)地址p頁(yè)表始址 頁(yè)表長(zhǎng)度頁(yè)表寄存器bmnbd物理地址越界中斷頁(yè)號(hào) 頁(yè)內(nèi)地址邏輯地址pd輸入寄存器內(nèi)存 分頁(yè)式存儲(chǔ)管理把內(nèi)存儲(chǔ)器的可分配區(qū)域按頁(yè)面大小分成若干塊,分配內(nèi)存空間按塊為單位。可用一張內(nèi)存分配表來(lái)記錄已分配的塊和尚未
34、分配的塊以及當(dāng)前剩余的空閑塊數(shù)。由于塊的大小是固定的,所以可以用一張“位示圖”來(lái)構(gòu)成內(nèi)存分配表。 3.3.4 分頁(yè)式存儲(chǔ)空間的分配與回收0310/10/10/10/10/10/10/10/10/10/1剩余塊數(shù)0/10/10/10/10/10/1分頁(yè)存儲(chǔ)管理內(nèi)存分配表 分頁(yè)存儲(chǔ)管理能方便地實(shí)現(xiàn)多個(gè)作業(yè)共享程序和數(shù)據(jù)。 頁(yè)的共享可節(jié)省內(nèi)存空間,但實(shí)現(xiàn)信息共享必須解決共享信息的保護(hù)問(wèn)題。通常的辦法是在頁(yè)表中增加一些標(biāo)志,指出該頁(yè)的信息可讀/寫(xiě)、只讀、只可執(zhí)行等等。3.3.5 頁(yè)的共享與保護(hù)第100塊第200塊內(nèi)存作業(yè)1頁(yè)表頁(yè)號(hào)標(biāo)志塊號(hào)0只執(zhí)行1001讀/寫(xiě)2002讀/寫(xiě)3003只讀30作業(yè)2頁(yè)表頁(yè)
35、號(hào)標(biāo)志塊號(hào)0只執(zhí)行1001讀/寫(xiě)2322讀/寫(xiě)4243讀/寫(xiě)5684只讀200共享程序共享數(shù)據(jù) 目前,大多數(shù)計(jì)算機(jī)系統(tǒng)都支持非常大的邏輯地址空間。在這樣的環(huán)境下,頁(yè)表就變得非常大,要占用很大的內(nèi)存空間。而且頁(yè)表還要求存放在連續(xù)的存儲(chǔ)空間中,顯然這是不現(xiàn)實(shí)的,可以采用以下兩種途徑解決這一問(wèn)題。 (1)對(duì)頁(yè)表所需的內(nèi)存空間,采用離散的分配方式; (2)只將當(dāng)前需要的部分頁(yè)表項(xiàng)調(diào)入內(nèi)存,其余的頁(yè)表項(xiàng)當(dāng)需要時(shí)再調(diào)入。 3.3.6 兩級(jí)和多級(jí)頁(yè)表兩級(jí)頁(yè)表:對(duì)于支持32位邏輯地址空間的計(jì)算機(jī)系統(tǒng)可以采用兩級(jí)頁(yè)表。就是將頁(yè)表再分頁(yè),形成兩級(jí)頁(yè)表,。比如當(dāng)一個(gè)32位系統(tǒng)的頁(yè)大小為4KB,那么邏輯地址被分為20
36、bit的頁(yè)號(hào)和12bit頁(yè)內(nèi)地址。如果采用兩級(jí)頁(yè)表結(jié)構(gòu),對(duì)頁(yè)表進(jìn)行再分頁(yè),使每個(gè)頁(yè)中包含1024個(gè)頁(yè)表項(xiàng),最多允許有1024個(gè)頁(yè)表分頁(yè),或者說(shuō),外層頁(yè)表中的外層頁(yè)內(nèi)地址p2為10位,外層頁(yè)號(hào)p1也為10位。多級(jí)頁(yè)表:兩級(jí)頁(yè)表結(jié)構(gòu)適合32位的機(jī)器,但是對(duì)于64位機(jī)器,兩級(jí)頁(yè)表結(jié)構(gòu)就不再合適了。 外層頁(yè)號(hào)外層頁(yè)內(nèi)地址頁(yè)內(nèi)地址31 2221 1211 0p1p2d兩級(jí)頁(yè)表地址結(jié)構(gòu)3.4 段式存儲(chǔ)管理 3.4.1 引入的原因3.4.2 段式存儲(chǔ)管理基本思想3.4.3 地址變換機(jī)構(gòu)與存儲(chǔ)保護(hù)3.4.1 引入的原因 在分頁(yè)存儲(chǔ)管理中,用戶(hù)程序的地址空間是從0開(kāi)始編址的單一連續(xù)的邏輯地址。雖然操作系統(tǒng)可把程
37、序劃分成若干個(gè)頁(yè)面,但是頁(yè)面與源程序無(wú)邏輯關(guān)系,也就難以實(shí)現(xiàn)對(duì)源程序以模塊為單位進(jìn)行分配、共享和保護(hù)。 在段式存儲(chǔ)管理中,段是一組邏輯信息(獨(dú)立信息段)的集合。在單純的分頁(yè)存儲(chǔ)管理中,這些信息都混在一起,并統(tǒng)一編址,顯然,分頁(yè)系統(tǒng)并不是編程人員愿意接受的信息組織方式。因此按照信息原有的方式組織數(shù)據(jù)是必要的,也是支持高級(jí)語(yǔ)言必要的。 3.4.2 段式存儲(chǔ)管理基本思想 在編制程序時(shí)每一段都可獨(dú)立編制,每一段的邏輯地址都是從“0”開(kāi)始編址,每段的長(zhǎng)度不一定相同,形成了段內(nèi)地址是連續(xù)的,而段與段之間的地址是不連續(xù)的。 當(dāng)作業(yè)被裝入內(nèi)存儲(chǔ)器時(shí),以段為單位為作業(yè)的每一段分配一個(gè)連續(xù)的內(nèi)存區(qū)域 ,各段之間也
38、可不必連續(xù) ,分配方法同可變分區(qū)方式 。 裝入作業(yè)時(shí),用一張段表記錄該作業(yè)每個(gè)分段在內(nèi)存中起始地址和長(zhǎng)度 。31 16 15 0段號(hào)S段內(nèi)地址d段式存儲(chǔ)管理地址結(jié)構(gòu)段式存儲(chǔ)管理原理圖作業(yè)空間040K120K160K200K210段長(zhǎng) 基址8KB10KB5KB18KB120K160K200K40KS0段號(hào)3S1S2S3內(nèi)存空間S0 18KBS2 10KBS3 5KBS1 8KB段表3.4.3 地址變換機(jī)構(gòu)與存儲(chǔ)保護(hù)1.地址變換機(jī)構(gòu)段式地址變換過(guò)程0段號(hào) 段長(zhǎng) 基址pp-1段表內(nèi)存段表始址 段表長(zhǎng)度段表寄存器m fsn物理地址越界中斷段號(hào) 段內(nèi)地址邏輯地址pdCPU2.共享與保護(hù) 段是信息的邏輯單
39、位,段式存儲(chǔ)管理方式可以方便地實(shí)現(xiàn)內(nèi)存的信息共享,并進(jìn)行有效的內(nèi)存保護(hù)。 段式存儲(chǔ)管理的保護(hù)主要有地址越界保護(hù)和存取方式控制保護(hù)。 段的共享200K400K100K200K內(nèi)存作業(yè)1段表段長(zhǎng)標(biāo)志始址200K只執(zhí)行100K100K讀/寫(xiě)200K300K讀/寫(xiě)300K400K只讀50K作業(yè)2段表段長(zhǎng)標(biāo)志始址200K只執(zhí)行100K200K讀/寫(xiě)232K320K讀/寫(xiě)424K100K讀/寫(xiě)568K400K只讀200K共享程序共享數(shù)據(jù)始址段長(zhǎng)(1)頁(yè)是信息的物理單位,分頁(yè)是由于系統(tǒng)管理的需要。段是信息的邏輯單位,它含有意義相對(duì)完整的信息(程序段或數(shù)據(jù)段等)。分段的目的是為了更好的滿(mǎn)足用戶(hù)的需要;(2)頁(yè)
40、的大小是固定并且由系統(tǒng)決定,段的長(zhǎng)度不定,取決于用戶(hù)所編寫(xiě)的程序,通常由編譯程序在對(duì)源程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來(lái)劃分;(3)頁(yè)式在存儲(chǔ)管理中的邏輯地址空間是一維的,段的邏輯地址空間是二維的;(4)頁(yè)式存儲(chǔ)管理的優(yōu)點(diǎn)是在管理內(nèi)存空間上,而段式存儲(chǔ)管理的優(yōu)點(diǎn)是在管理邏輯地址空間上。3.段式與頁(yè)式存儲(chǔ)的區(qū)別 3.5 段頁(yè)式存儲(chǔ)管理 3.5.1 段頁(yè)式存儲(chǔ)管理原理3.5.2 地址變換3.5.1 段頁(yè)式存儲(chǔ)管理原理 段頁(yè)式存儲(chǔ)管理基本原理是分段和分頁(yè)相結(jié)合。內(nèi)存采用分頁(yè)存儲(chǔ)管理方式,將內(nèi)存劃分成大小相等的物理塊,用戶(hù)程序的邏輯地址空間采用分段方式,按程序的邏輯關(guān)系把地址空間分成若干個(gè)邏輯段,每一段
41、不是按單一的連續(xù)整體存放到內(nèi)存中,而是把每段再分成若干個(gè)頁(yè)面,每一段不必占據(jù)連續(xù)的內(nèi)存空間,可把它按頁(yè)存放在不連續(xù)的內(nèi)存塊中,每一段中的所有頁(yè)必須在其所在的段內(nèi),即段內(nèi)的頁(yè)是離散分配的。 段號(hào)s段內(nèi)地址d段頁(yè)式存儲(chǔ)管理邏輯地址格式段內(nèi)頁(yè)號(hào)p內(nèi)存段表段表寄存器段表長(zhǎng)度段表始址段號(hào)狀態(tài)頁(yè)表長(zhǎng)度頁(yè)表始址0123頁(yè)號(hào)狀態(tài)0123塊號(hào)頁(yè)號(hào)狀態(tài)0123塊號(hào)操作系統(tǒng)段頁(yè)式存儲(chǔ)管理的地址映射 3.5.2 地址變換圖3.32 段頁(yè)式地址變換過(guò)程塊號(hào) 塊內(nèi)地址p0121ss-1頁(yè)表內(nèi)存段表始址 段表長(zhǎng)度段表寄存器mn物理地址越界中斷段號(hào) 頁(yè)號(hào) 頁(yè)內(nèi)地址邏輯地址CPUspd 頁(yè)表長(zhǎng)度頁(yè)表始址3.6 虛擬存儲(chǔ)器 3.
42、6.1 局部性原理3.6.2 虛擬存儲(chǔ)器的定義和特征3.6.3 虛擬存儲(chǔ)器的實(shí)現(xiàn)方法 早在1968年P(guān).Denning就指出過(guò),程序在執(zhí)行時(shí)將呈現(xiàn)出局部性規(guī)律,即在一較短的時(shí)間內(nèi),程序的執(zhí)行僅限于某個(gè)部分;相應(yīng)的它所訪問(wèn)的存儲(chǔ)空間也局限于某個(gè)區(qū)域。 局部性表現(xiàn)如下。 (1)時(shí)間局部性。如果程序中的某條指令一旦執(zhí)行,則不久以后該指令可能再次被執(zhí)行;如果某個(gè)存儲(chǔ)單元被訪問(wèn),則不久以后該存儲(chǔ)單元可能再次被訪問(wèn),產(chǎn)生時(shí)間局部性的典型原因是在程序中存在大量的循環(huán)操作。 (2)空間局部性。一旦程序訪問(wèn)了某個(gè)存儲(chǔ)單元。則不久以后,其附近的存儲(chǔ)單元也將被訪問(wèn),即是程序在一段時(shí)間內(nèi)訪問(wèn)的地址可能集中在一定范圍內(nèi)
43、,引起空間局部性的典型原因是程序的順序執(zhí)行。3.6.1 局部性原理3.6.2 虛擬存儲(chǔ)器的定義和特征1.虛擬存儲(chǔ)器定義 :就是指把用戶(hù)的作業(yè)的一部分裝入內(nèi)存便可運(yùn)行作業(yè)的存儲(chǔ)系統(tǒng)。其實(shí)際上用戶(hù)看到的大容量只是一種感覺(jué),是虛的,故而稱(chēng)為虛擬存儲(chǔ)器。2. 虛擬存儲(chǔ)器特征(1)離散性。指在內(nèi)存分配時(shí)采用離散分配方式。(2)多次性。指一個(gè)作業(yè)運(yùn)行時(shí)分成多次裝入內(nèi)存。(3)對(duì)換性。指作業(yè)運(yùn)行過(guò)程中在內(nèi)存和外存的對(duì)換區(qū)之間換進(jìn)換出。(4)虛擬性。指能夠從邏輯上擴(kuò)充內(nèi)存容量,使用戶(hù)感覺(jué)到的存儲(chǔ)器容量遠(yuǎn)遠(yuǎn)大于實(shí)際的內(nèi)存容量。 3.6.3 虛擬存儲(chǔ)器的實(shí)現(xiàn)方法(1)請(qǐng)求頁(yè)式存儲(chǔ)管理 請(qǐng)求頁(yè)式存儲(chǔ)管理是在頁(yè)式存儲(chǔ)
44、管理基礎(chǔ)上增加了請(qǐng)求調(diào)頁(yè)功能、頁(yè)面置換功能所形成的頁(yè)式虛擬存儲(chǔ)分配系統(tǒng)。程序啟動(dòng)運(yùn)行時(shí)裝入部分用戶(hù)程序頁(yè)和數(shù)據(jù)頁(yè),在以后的運(yùn)行過(guò)程中,訪問(wèn)到其他邏輯頁(yè)時(shí),再陸續(xù)將所需的頁(yè)調(diào)入內(nèi)存中。請(qǐng)求調(diào)頁(yè)和置換時(shí),需要頁(yè)表機(jī)構(gòu)、缺頁(yè)中斷機(jī)構(gòu)、地址變換機(jī)構(gòu)等硬件支持。(2)請(qǐng)求段式存儲(chǔ)管理 請(qǐng)求段式存儲(chǔ)管理是在段式存儲(chǔ)管理方式的基礎(chǔ)上增加了請(qǐng)求調(diào)段和分段置換功能而形成的段式虛擬存儲(chǔ)管理,只需裝入部分程序段和數(shù)據(jù)段即可啟動(dòng)運(yùn)行,以后出現(xiàn)缺段時(shí)再動(dòng)態(tài)調(diào)入。實(shí)現(xiàn)請(qǐng)求分段同樣需要分段的段表機(jī)制、缺段中斷機(jī)構(gòu)、地址變換機(jī)構(gòu)等軟硬件支持。3.7 請(qǐng)求分頁(yè)存儲(chǔ)管理3.7.1 頁(yè)表機(jī)制3.7.2 缺頁(yè)中斷3.7.3 地址變換
45、3.7.4 頁(yè)面分配3.7.5 頁(yè)面淘汰算法3.7.1 頁(yè)表機(jī)制 在請(qǐng)求分頁(yè)存儲(chǔ)管理的方式中,頁(yè)表仍然是重要的數(shù)據(jù)結(jié)構(gòu),其主要作用是實(shí)現(xiàn)用戶(hù)邏輯地址空間中邏輯地址到內(nèi)存空間中的物理地址的變換。在虛擬存儲(chǔ)器中,由于應(yīng)用程序并沒(méi)有完全調(diào)入內(nèi)存,所以頁(yè)表結(jié)構(gòu)根據(jù)虛擬存儲(chǔ)器的需要增加了若干項(xiàng),如圖所示。其中:(1)狀態(tài)位P用于該頁(yè)是否已調(diào)入內(nèi)存,供程序訪問(wèn)時(shí)參考;(2)訪問(wèn)字段A用于記錄本頁(yè)在一段時(shí)間內(nèi)被訪問(wèn)的次數(shù),或最近多長(zhǎng)時(shí)間未被訪問(wèn),供轉(zhuǎn)換算法選擇換出頁(yè)面時(shí)參考;(3)修改位M表示該頁(yè)在調(diào)入內(nèi)存后是否被修改過(guò)。(4)外存地址用于指出該頁(yè)在外存上的地址,通常是物理塊(簇)號(hào),供調(diào)入該頁(yè)時(shí)使用。請(qǐng)求
46、分頁(yè)虛擬存儲(chǔ)管理方式的頁(yè)表結(jié)構(gòu)頁(yè)號(hào)塊號(hào)狀態(tài)位P訪問(wèn)字段A修改位M外存地址3.7.2 缺頁(yè)中斷 在請(qǐng)求分頁(yè)存儲(chǔ)管理中,當(dāng)所要訪問(wèn)的頁(yè)不在內(nèi)存時(shí),便要產(chǎn)生缺頁(yè)中斷,請(qǐng)求操作系統(tǒng)將所缺頁(yè)調(diào)入內(nèi)存。缺頁(yè)中斷與一般中斷不同,區(qū)別如下。 (1)缺頁(yè)中斷是在執(zhí)行一條指令期間時(shí)產(chǎn)生的中斷,并立即轉(zhuǎn)去處理,而一般中斷則是在一條指令執(zhí)行完畢后,當(dāng)發(fā)現(xiàn)有中斷請(qǐng)求時(shí)才去響應(yīng)和處理; (2)缺頁(yè)中斷處理完成后,仍返回到原指令去重新執(zhí)行,因?yàn)槟菞l指令并未執(zhí)行。而一般中斷則是返回到下一條指令去執(zhí)行,因?yàn)樯弦粭l指令已經(jīng)執(zhí)行完畢了。3.7.3 地址變換 請(qǐng)求分頁(yè)系統(tǒng)中進(jìn)行地址變換時(shí),首先要檢測(cè)該頁(yè)面是否在內(nèi)存,如果該頁(yè)面在內(nèi)存
47、中,則地址變換方式與頁(yè)式存儲(chǔ)管理方式相同;如果該頁(yè)不在內(nèi)存中,則進(jìn)行缺頁(yè)中斷處理。進(jìn)行缺頁(yè)中斷處理時(shí)首先判斷內(nèi)存空間是否夠用,如果內(nèi)存沒(méi)有可用空間,必須進(jìn)行置換以騰出可用空間。越界中斷NNY開(kāi)始(程序訪問(wèn)第一頁(yè))頁(yè)號(hào)頁(yè)表長(zhǎng)度?訪問(wèn)頁(yè)面Y頁(yè)是否在內(nèi)存?調(diào)整頁(yè)表形成物理地址地址變換結(jié)束從外存中找到缺頁(yè)缺頁(yè)中斷處理NY內(nèi)存滿(mǎn)否?淘汰一個(gè)頁(yè)面Y該頁(yè)是否修改過(guò)?N將該頁(yè)寫(xiě)回內(nèi)存將缺頁(yè)調(diào)入內(nèi)存調(diào)整頁(yè)表請(qǐng)求分頁(yè)存儲(chǔ)管理的地址變換過(guò)程3.7.4 頁(yè)面分配 在為進(jìn)程分配物理塊時(shí),首先考慮的是:保證進(jìn)程能正常運(yùn)行所需要的最少物理塊數(shù)。若系統(tǒng)為某進(jìn)程分配的物理塊數(shù)小于此值時(shí)進(jìn)程將無(wú)法運(yùn)行。其次,要考慮的問(wèn)題是頁(yè)面的
48、分配和置換策略。在請(qǐng)求分頁(yè)存儲(chǔ)管理中可采用固定和可變兩種分配策略。在進(jìn)程置換時(shí),也可采用全局置換和局部置換兩種策略。組合成如下三種策略。 (1)固定分配局部置換策略 (2)可變分配全局置換策略 (3)可變分配局部置換策略3.7.5 頁(yè)面淘汰算法 發(fā)生缺頁(yè)時(shí),就要從外存上把所需要的頁(yè)面調(diào)入到內(nèi)存。如果當(dāng)時(shí)內(nèi)存中有空閑塊,那么頁(yè)面的調(diào)入問(wèn)題就解決了;如果當(dāng)時(shí)內(nèi)存中已經(jīng)沒(méi)有空閑塊可供分配使用,那么就必須在內(nèi)存中選擇一頁(yè),然后把它調(diào)出內(nèi)存,以便為即將調(diào)入的頁(yè)面讓出塊空間。這就是所謂的“頁(yè)面淘汰”問(wèn)題。選擇淘汰對(duì)象有很多種策略可以采用,比如: 1.先進(jìn)先出(FIFO)頁(yè)面淘汰算法 (first in f
49、irstout,FIFO) 2. 最近最久未使用頁(yè)面淘汰算法(Least Recently Used,LRU) 3. 最近最少用頁(yè)面淘汰算法(Least Frequently Used,LFU) 4. 最佳頁(yè)面淘汰算法(Optimal,OPT)1最優(yōu)算法(OPT算法)最理想的頁(yè)面置換算法是:從內(nèi)存中移出以后不再使用的頁(yè)面;如無(wú)這樣的頁(yè)面,則選擇以后最長(zhǎng)時(shí)間內(nèi)不需要訪問(wèn)的頁(yè)。這就是最優(yōu)算法的思想。這種算法本身不是一種實(shí)際的方法,因?yàn)轫?yè)面訪問(wèn)的順序是很難預(yù)知的。但是,可把它作為一種評(píng)價(jià)標(biāo)準(zhǔn),比較其他實(shí)用方法的優(yōu)劣,所以,最優(yōu)算法只具有理論上的意義。2先進(jìn)先出算法(FIFO算法)這種算法的基本思想是
50、:總是先淘汰那些駐留在內(nèi)存時(shí)間最長(zhǎng)的頁(yè)面,即先進(jìn)入內(nèi)存的頁(yè)面先被置換掉。理由是:最先進(jìn)入內(nèi)存的頁(yè)面不再被訪問(wèn)的可能性最大。 3最久未使用頁(yè)面置換算法(LRU算法)這種算法的基本思想是,如果某一頁(yè)被訪問(wèn)了,那么它很可能馬上又被訪問(wèn);反之,如果某一頁(yè)很長(zhǎng)時(shí)間沒(méi)有被訪問(wèn),那么最近也不太可能會(huì)被訪問(wèn)。這種算法考慮了程序設(shè)計(jì)的局部性原理。其實(shí)質(zhì)是,當(dāng)需要置換一頁(yè)時(shí),選擇在最近一段時(shí)間最久未使用的頁(yè)面予以淘汰。實(shí)現(xiàn)這種算法可通過(guò)周期性地對(duì)“引用位”進(jìn)行檢查,并利用它來(lái)記錄一頁(yè)面自上次被訪問(wèn)以來(lái)所經(jīng)歷的時(shí)間t,淘汰時(shí)選擇t最大的頁(yè)面。 4LRU近似算法這種算法,只要在存儲(chǔ)分塊表(或頁(yè)表)中設(shè)一個(gè)“引用位”,
51、當(dāng)存儲(chǔ)分塊表中的某一頁(yè)被訪問(wèn)時(shí),該位由硬件自動(dòng)置1,并由頁(yè)面管理軟件周期性把所有引用位置0。這樣,在一個(gè)時(shí)間周期T內(nèi),某些被訪問(wèn)過(guò)的頁(yè)面其引用位為1,而未被訪問(wèn)過(guò)的頁(yè)面其引用位為0。因此,可根據(jù)引用位的狀態(tài)來(lái)判別各頁(yè)面最近的使用情況。當(dāng)需要置換一頁(yè)面時(shí),選擇其引用位為0的頁(yè),如圖4.21所示的算法 。圖4.22是這種近似算法的一個(gè)例子。 【例題】在請(qǐng)求頁(yè)式存儲(chǔ)管理系統(tǒng)中,設(shè)一個(gè)作業(yè)訪問(wèn)頁(yè)面的序列為4,3,2,1,4,3,5,4,3,2,1,5,設(shè)分配給該作業(yè)的存儲(chǔ)空間有4塊,且最初未裝入任何頁(yè)。試計(jì)算FIFO和LRU算法的缺頁(yè)率。 解: 采用FIFO頁(yè)面淘汰算法,該作業(yè)運(yùn)行時(shí)缺頁(yè)情況如表所示時(shí)
52、刻123456789101112訪問(wèn)頁(yè)面432143543215內(nèi)存頁(yè)面432111543215432221543214333215432444321543缺頁(yè)+從表中可以看出,缺頁(yè)中斷次數(shù)為10;缺頁(yè)率為f=10/12=83% 采用LRU頁(yè)面淘汰算法,該作業(yè)運(yùn)行時(shí)缺頁(yè)情況如表所示 時(shí)刻123456789101112訪問(wèn)頁(yè)面432143543215內(nèi)存頁(yè)面432143543215432143543214321435432432111543缺頁(yè)+從表中可以看出,缺頁(yè)中斷次數(shù)為8;缺頁(yè)率為f=8/12=67% 3.8.1請(qǐng)求分段存儲(chǔ)管理基本思想 3.8.2 缺段中斷 3.8.3 地址變換和共享保護(hù)
53、 3.8 請(qǐng)求分段存儲(chǔ)管理 3.8.1請(qǐng)求分段存儲(chǔ)管理基本思想 為了實(shí)現(xiàn)請(qǐng)求分段存儲(chǔ)管理方式,段表中增加一些控制項(xiàng),如圖所示,請(qǐng)求分段表項(xiàng),缺段中斷處理和地址變換機(jī)構(gòu)也有相應(yīng)的變化。 其中:(1)存取方式:用于標(biāo)記本分段存取屬性是只執(zhí)行、只讀或讀/寫(xiě);(2)訪問(wèn)字段:用于記錄該字段被訪問(wèn)的頻繁程度;(3)修改位:用于表示該段進(jìn)入內(nèi)存后是否被修改過(guò);(4)增補(bǔ)位:用于表示本段在運(yùn)行過(guò)程中是否進(jìn)行過(guò)動(dòng)態(tài)增長(zhǎng);(5)外存地址:指示本段在外存中的起始地址。請(qǐng)求分段虛擬存儲(chǔ)管理方式的頁(yè)表結(jié)構(gòu)段號(hào)段長(zhǎng)段的基址存取方式訪問(wèn)字段修改位存在位增補(bǔ)位外存地址3.8.2 缺段中斷在被訪問(wèn)的段不在內(nèi)存時(shí)產(chǎn)生一個(gè)缺段中
54、斷。缺段中斷的處理與缺頁(yè)中斷處理類(lèi)似,但比缺頁(yè)中斷復(fù)雜。因?yàn)楦鞫蔚亩伍L(zhǎng)不固定,系統(tǒng)在處理缺段中斷時(shí),首先在內(nèi)存中查找是否有足夠大的空閑區(qū)分給該段,如果有則將該段調(diào)至這個(gè)空閑分區(qū),否則查找空閑分區(qū)的總和。如果能夠滿(mǎn)足需要?jiǎng)t對(duì)空閑分區(qū)進(jìn)行拼接,形成一個(gè)合適的空閑分區(qū),然后調(diào)入該段。如果空閑分區(qū)總和仍不能滿(mǎn)足要求,則必須置換出內(nèi)存中的一個(gè)或幾個(gè)分段后再進(jìn)行拼接,其后再調(diào)入該段 。3.8.3 地址變換和共享保護(hù)1. 地址變換 段號(hào)、段長(zhǎng)和內(nèi)存起始地址這三個(gè)信息是進(jìn)行段式地址變換所必須的。當(dāng)要訪問(wèn)的段在內(nèi)存時(shí),地址變換過(guò)程與分段存儲(chǔ)管理相同;當(dāng)要訪問(wèn)的段不在內(nèi)存時(shí),則先將該段調(diào)入內(nèi)存后再進(jìn)行地址變換,這
55、樣的話,在地址變換機(jī)構(gòu)中增加了某些功能,如缺段中斷的請(qǐng)求及處理等。2. 分段的共享與保護(hù) 實(shí)現(xiàn)分段共享需要在段表中設(shè)置相應(yīng)的表項(xiàng)來(lái)指向共享段在內(nèi)存中的起始地址。為了分段共享,應(yīng)配置相應(yīng)的共享段表,用來(lái)對(duì)共享段進(jìn)行操作。本章小結(jié) 本章介紹各種常用的內(nèi)存管理辦法,它們是單一用戶(hù)連續(xù)存儲(chǔ)管理、固定分區(qū)、可變分區(qū)存儲(chǔ)管理、頁(yè)式存儲(chǔ)管理、段式存儲(chǔ)管理和段頁(yè)式存儲(chǔ)管理。內(nèi)存管理的核心問(wèn)題是如何解決內(nèi)存和外存的統(tǒng)一,以及它們之間的數(shù)據(jù)交換問(wèn)題。內(nèi)存和外存的統(tǒng)一管理使得內(nèi)存的利用率得到提高,用戶(hù)程序不再受內(nèi)存可用區(qū)大小的限制。與此相關(guān)聯(lián),內(nèi)存管理要解決內(nèi)存擴(kuò)充、內(nèi)存的分配與釋放、虛擬地址到內(nèi)存物理地址的變換、
56、內(nèi)存保護(hù)與共享、內(nèi)外存之間數(shù)據(jù)交換的控制等問(wèn)題。 系統(tǒng)地對(duì)幾種存儲(chǔ)管理方法所提供的功能和所需硬件支持作了一個(gè)比較。第4章 文件管理 本章學(xué)習(xí)目標(biāo) 4.1 文件系統(tǒng)概述 4.2 文件的結(jié)構(gòu)及存取方式4.3 目錄管理4.4 文件的使用4.5 文件的共享與安全本章目標(biāo) 理解與掌握文件與文件系統(tǒng)的基本知識(shí)。理解與掌握文件的存儲(chǔ)結(jié)構(gòu)和存取方式。理解與掌握文件的存儲(chǔ)空間的管理。理解與掌握目錄管理知識(shí)。本章學(xué)習(xí)目標(biāo)文件、文件系統(tǒng)、文件目錄、目錄項(xiàng)、文件共享等基本概念及文件的分類(lèi)文件的兩種邏輯結(jié)構(gòu)及兩種存取方法文件的三種物理結(jié)構(gòu):連續(xù)結(jié)構(gòu)、鏈接結(jié)構(gòu)及索引結(jié)構(gòu)三種目錄結(jié)構(gòu):?jiǎn)渭?jí)、兩級(jí)、多級(jí)目錄結(jié)構(gòu) 文件的共享及
57、保護(hù)外存空間的管理方法 4.1 文件系統(tǒng)的功能 4.1.1 文件與文件系統(tǒng)4.1.2 文件的分類(lèi)、文件名及屬性4.1.3 文件系統(tǒng)的功能 4.1.1 文件與文件系統(tǒng)1. 文件的概念 文件是具有符號(hào)名的一段程序或數(shù)據(jù)的集合,通常存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的外存上。文件具有如下三個(gè)基本特征。 (1)文件的內(nèi)容是一組信息的集合,比如源程序、可執(zhí)行的二進(jìn)制代碼程序、待處理的數(shù)據(jù)、表格、聲音及圖像等。 (2)文件可以保存,文件被存放在如磁盤(pán)、磁帶和光盤(pán)等存儲(chǔ)介質(zhì)上,內(nèi)容可以被長(zhǎng)期保存和多次使用。 (3)文件可按名存取,每個(gè)文件都具有自己的標(biāo)識(shí)名,用戶(hù)操作時(shí)可通過(guò)這個(gè)標(biāo)識(shí)名來(lái)存取文件,而無(wú)需了解文件在存儲(chǔ)介質(zhì)上的具
58、有物理位置。2. 文件系統(tǒng) 操作系統(tǒng)中與文件有關(guān)的軟件和數(shù)據(jù)稱(chēng)為文件系統(tǒng)。它由管理所需的數(shù)據(jù)結(jié)構(gòu)、相應(yīng)的管理軟件和被管理的文件構(gòu)成。它負(fù)責(zé)為用戶(hù)建立文件,撤銷(xiāo)、讀寫(xiě)、修改和復(fù)制文件,還負(fù)責(zé)完成對(duì)文件的按名存取和進(jìn)行存取控制。文件系統(tǒng)方便用戶(hù)對(duì)信息進(jìn)行存取和管理,用戶(hù)即使不具備相應(yīng)的存取設(shè)備知識(shí),也能進(jìn)行操作。 文件系統(tǒng)具有如下特點(diǎn)。 (1)提供友好的用戶(hù)接口,包括命令、程序和菜單等接口,用戶(hù)在對(duì)文件進(jìn)行操作時(shí),不需要了解文件的結(jié)構(gòu)和存儲(chǔ)位置。 (2)文件按名存取,方便用戶(hù)操作,如對(duì)文件的存取、檢索和修改等。 (3)某些文件可以被多個(gè)用戶(hù)或進(jìn)程共享,也能安全保護(hù),防止文件被破壞和竊取。 (4)文
59、件系統(tǒng)通常使用磁盤(pán)等大容量存儲(chǔ)介質(zhì),可存儲(chǔ)大量信息。 4.1.2 文件的分類(lèi)、文件名及屬性1. 文件的分類(lèi) 為了便于管理和控制文件,需要將文件分成多種類(lèi)型。常見(jiàn)的文件分類(lèi)方法有以下幾種。按文件的用途分類(lèi): (1)系統(tǒng)文件(2)用戶(hù)文件 (3)庫(kù)文件。按文件的數(shù)據(jù)形式分類(lèi) (1)源文件(2)目標(biāo)文件(3)可執(zhí)行文件。 按操作保護(hù)分類(lèi): (1)只讀文件 (2)讀寫(xiě)文件 (3)執(zhí)行文件。按文件的邏輯結(jié)構(gòu)分類(lèi) (1)有結(jié)構(gòu)文件 (2)無(wú)結(jié)構(gòu)文件按文件的物理結(jié)構(gòu)分類(lèi) (1)順序文件 (2)鏈接文件 (3)索引文件 2.文件名 文件是具有符號(hào)名的一段程序或數(shù)據(jù)的集合。文件名由兩部分組成:主文件名和擴(kuò)展名。
60、主文件名一般由用戶(hù)給定,操作系統(tǒng)和用戶(hù)都利用主文件名來(lái)管理和使用文件;文件的擴(kuò)展名,一般情況下都按照約定俗成使用,這樣有利于對(duì)文件的正確使用。 3. 文件的屬性 大多數(shù)操作系統(tǒng)設(shè)置了專(zhuān)門(mén)的文件屬性用于文件的管理控制和安全保護(hù),它們雖然不是文件的信息內(nèi)容,但對(duì)于系統(tǒng)的管理和控制是十分重要的。不同的系統(tǒng)文件屬性有所不同,但是通常都包括如下屬性。 (1)文件的基本屬性(2)文件的類(lèi)型屬性(3)文件的操作屬性(4)文件的管理屬性(5)文件的控制屬性(1)文件存儲(chǔ)空間的管理。(2)文件目錄管理。(3)實(shí)現(xiàn)從文件到存儲(chǔ)空間的映射。(4)實(shí)現(xiàn)文件的共享、保護(hù)和保密。(5)文件的讀/寫(xiě)管理。(6)提供用戶(hù)接口
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)NFV在智能城市公共設(shè)施管理中的應(yīng)用實(shí)踐報(bào)告
- 朔州國(guó)防教育娃娃兵課件
- 深度解讀2025年能源行業(yè)智能電網(wǎng)優(yōu)化在數(shù)字化轉(zhuǎn)型中的能源消費(fèi)結(jié)構(gòu)優(yōu)化報(bào)告
- 2025年冷鏈物流企業(yè)間戰(zhàn)略合作合同范本
- 2025年OracleERP系統(tǒng)修復(fù)與信息安全應(yīng)急預(yù)案合同
- 2025年個(gè)人信用卡透支還款合同爭(zhēng)議解決機(jī)制文本
- 2025年度環(huán)保型出口貨物定制包裝箱采購(gòu)協(xié)議
- 2025年新型城鎮(zhèn)化補(bǔ)償貿(mào)易與文化產(chǎn)業(yè)發(fā)展合作合同
- 茶葉企業(yè)年度廣告策略定制與執(zhí)行服務(wù)合同
- 2025年線上線下聯(lián)動(dòng)直播帶貨活動(dòng)合作協(xié)議書(shū)
- DB11-T 2423-2025 城市道路挖掘與修復(fù)技術(shù)規(guī)范
- 2025至2030全球及中國(guó)醫(yī)學(xué)教育行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025年國(guó)家網(wǎng)絡(luò)安全宣傳周知識(shí)競(jìng)賽考試題庫(kù)
- 測(cè)聽(tīng)講課的課件
- 鄉(xiāng)鎮(zhèn)物業(yè)安全管理制度
- 起重作業(yè)安全考核試題及答案
- 高等教育十五五發(fā)展規(guī)劃
- 關(guān)于醫(yī)院“十五五”發(fā)展規(guī)劃(范本)
- 倉(cāng)管員安全培訓(xùn)課件
- 鐵路信號(hào)設(shè)計(jì)與施工電纜接續(xù)流程及方法55課件
- GB/T 45626-2025信息技術(shù)裝備數(shù)字孿生系統(tǒng)通用要求
評(píng)論
0/150
提交評(píng)論