操作系統(tǒng)知識點整理(完整版)_第1頁
操作系統(tǒng)知識點整理(完整版)_第2頁
操作系統(tǒng)知識點整理(完整版)_第3頁
操作系統(tǒng)知識點整理(完整版)_第4頁
操作系統(tǒng)知識點整理(完整版)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第1章 操作系統(tǒng)概述1) 一個完整的計算機系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成2) 計算機軟件是指程序和與程序相關(guān)的文檔的集合3) 按功能可把軟件分為“系統(tǒng)軟件”和“應(yīng)用軟件”兩部分系統(tǒng)軟件:操作系統(tǒng)語言處理程序,數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件:各種管理軟件,用于工程計算的軟件包,輔助設(shè)計軟件4) 通常把未配置任何軟件的計算機稱為“裸機”5) 操作系統(tǒng)可以被看作是計算機系統(tǒng)的核心,統(tǒng)管整個系統(tǒng)資源,制定各種資源的分配策略,調(diào)度系統(tǒng)中運行的用戶程序,協(xié)調(diào)它們對資源的需求,從而使整個系統(tǒng)在高效、有序的環(huán)境里工作。6) 發(fā)展的動力:(1) 提高計算機資源的利用率的需要(2) 方便用戶使用計算機的需要(3)

2、 硬件技術(shù)不斷發(fā)展的需要(4) 計算機體系結(jié)構(gòu)發(fā)展的需要7) 操作系統(tǒng)是在“裸機”上加載的第一層軟件,是對計算機硬件系統(tǒng)功能的首次擴充8) 操作系統(tǒng)的定義:操作系統(tǒng)是控制和管理計算機硬件和軟件資源,合理地組織計算機工作流程,以及方便用戶使用計算機的一個大型程序9) 操作系統(tǒng)的功能:Ø 處理機管理:進程控制,進程同步,進程通信、調(diào)度、實施CPU分配Ø 存儲器管理:內(nèi)存分配,內(nèi)存保護,地址映射,內(nèi)存擴充Ø 設(shè)備管理:緩沖管理,設(shè)備分配,設(shè)備管理Ø 文件管理:存儲空間管理,目錄管理,讀寫管理和保護Ø 與用戶有關(guān)的接口:用戶接口,程序接口,人機交互10

3、) 操作系統(tǒng)另一種定義:操作系統(tǒng)是一組能有效地組織和管理計算機硬件和軟件資源,合理地對各類作業(yè)進行調(diào)度,以及方便用戶使用的程序的集合操作系統(tǒng)的種類:1) 單道批處理系統(tǒng)特點:單路性、獨占性、自動性、封閉性、順序性缺點:系統(tǒng)的資源得不到充分的利用2) 多道批處理系統(tǒng)特點:多路性、共享性、自動型、封閉性、無序性、調(diào)度性好處:ü 提高CPU的利用率ü 提高內(nèi)存和I/O設(shè)備的利用率ü 增加系統(tǒng)吞吐量缺點:平均周轉(zhuǎn)時間長,無交互能力3) 分時系統(tǒng)分時系統(tǒng)是指在一臺主機上連接了多個配有顯示器和鍵盤的終端,由此所組成的系統(tǒng),該系統(tǒng)允許多個用戶同時通過自己的終端,以交互方式使用計

4、算機,共享主機中的資源。采用了“時間片輪轉(zhuǎn)”的處理機調(diào)度策略4) 實時系統(tǒng)實時系統(tǒng)是指系統(tǒng)能及時響應(yīng)外部事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運行第2章 處理機管理1) 進程是指在系統(tǒng)中能獨立運行并作為資源分配的基本單位,它是由一組機器指令,數(shù)據(jù)和堆棧等組成的,是一個能獨立運行的活動實體,多個進程可以并發(fā)執(zhí)行和交換信息2) 程序是一個在時間上嚴格有序的指令集合3) 在單道程序設(shè)計下,系統(tǒng)具有的特點a. 資源的獨占性b. 執(zhí)行的順序性c. 結(jié)果的再現(xiàn)性在多道程序設(shè)計環(huán)境下,系統(tǒng)具有:a. 執(zhí)行的并發(fā)性b. 相互的制約性c. 狀態(tài)的多變性(不可再現(xiàn)性)5) 并發(fā)

5、、并行、串行a. 從宏觀上看是并行,同時在內(nèi)存的多個程序都在執(zhí)行著,互不影響b. 從微觀上看是串行,由于CPU在任何時刻只能執(zhí)行一個程序,因此這些程序輪流占用CPU,交替執(zhí)行著c. 我們把“邏輯上相互獨立的程序,在執(zhí)行時間上相互重疊,一個程序的執(zhí)行還沒有結(jié)束,另一個程序的執(zhí)行已經(jīng)開始”的這種特性稱為程序執(zhí)行的并發(fā)性6) 對進程的描述a. 進程是程序的一次執(zhí)行過程b. 進程的運行活動是建立在某個數(shù)據(jù)集合上的c. 進程是在獲得資源的基礎(chǔ)上從事自己的運行活動7) 進程的特征結(jié)構(gòu)特征、動態(tài)性、并發(fā)性、獨立性、異步性進程是一個動態(tài)的概念不同進程可以執(zhí)行同一個程序每一個進程都有自己的生命周期進程之間具有并

6、發(fā)性,進程間會相互制約8) 程序和進程的區(qū)別a. 程序是指令的有序集合,是靜態(tài)的,進程是程序在處理機上的一次執(zhí)行過程,是動態(tài)的。程序的存在時永久的,而進程是有生命周期的,它因創(chuàng)建而產(chǎn)生,因調(diào)度而運行,因撤銷而消亡b. 進程是程序的一次執(zhí)行過程,程序是進程賴以存在的基礎(chǔ)c. 進程具有并發(fā)性,而程序并發(fā)執(zhí)行會失去可再現(xiàn)性d. 進程是系統(tǒng)分配和調(diào)度的獨立單位,進程由程序、數(shù)據(jù)集合和進程控制塊組成9) 系統(tǒng)進程的使用級別高于用戶進程10) 進程的狀態(tài)創(chuàng)建、就緒、運行、阻塞a. 一個進程從運行狀態(tài)變?yōu)榫途w狀態(tài),一定會引起另一個進程從就緒變?yōu)檫\行b. 一個進程從運行狀態(tài)變?yōu)樽枞麪顟B(tài),一定會引起另一個進程從

7、運行狀態(tài)變?yōu)榫途w狀態(tài);這種因果變遷絕對不可能發(fā)生,因為一個CPU不可能真正同時運行兩個進程c. 一個進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),不一定會引起另一個進程從就緒狀態(tài)變?yōu)檫\行狀態(tài)11) 進程的三個組成部分:程序、數(shù)據(jù)集合、進程控制塊(PCB)12) 進程控制塊是進程存在的唯一標示a. 作用:通過PCB,是原來不能獨立運行的程序,成為一個可以獨立運行的基本單位,一個能夠并發(fā)執(zhí)行的進程b. 其中的信息:進程標識符、處理機狀態(tài)、進程調(diào)度信息、進程控制信息13) 操作系統(tǒng)中把做出“決定把CPU分配給誰用”的程序稱為“進程調(diào)度程序”14) 常用的進程調(diào)度算法:a. 先來先服務(wù)調(diào)度算法b. 時間片輪轉(zhuǎn)調(diào)度算法:

8、為就緒隊列中的每一個進程分配一個稱為“時間片”的時間段,它是允許該進程占用CPU的最長時間長度c. 優(yōu)先數(shù)調(diào)度算法:優(yōu)先數(shù)高的先調(diào)度,若相同則先來先服務(wù)d. 多級隊列調(diào)度算法:時間片調(diào)度和優(yōu)先數(shù)調(diào)度算法的結(jié)合15) 進程調(diào)度程序的主要功能a. 記錄系統(tǒng)中所有進程的有關(guān)情況,比如進程的當前狀態(tài),優(yōu)先數(shù)等b. 確定分配處理機的算法c. 完成處理機的分配d. 完成處理機的回收16) 把處理劑分配給進程后,還有一個允許它占用多長時間的問題,有兩種處理方式,一種是不可剝奪方式,另一種是剝奪方式17) 為了對進程進行有效的管理和控制,操作系統(tǒng)要提供若干基本的操作以便能創(chuàng)建進程、撤銷進程、阻塞進程、喚醒進程

9、,把具有這種特性的程序稱為“原語”,原語的不可分割性,通常利用屏蔽中斷的方法18) 程序接口:操作系統(tǒng)在程序一級給予用戶的支持命令接口:操作系統(tǒng)在控制一級給予用戶的支持19) CPU指令系統(tǒng)中的指令分為兩類a. 操作系統(tǒng)和用戶都能使用的指令,非特權(quán)指令b. 只能由操作系統(tǒng)使用的指令,特權(quán)指令20) CPU的兩種工作狀態(tài):管態(tài)、目態(tài)a. 當CPU處于管態(tài)時,可以執(zhí)行包括特權(quán)指令在內(nèi)的一切機器指令b. 當CPU處于目態(tài)時,禁止使用特權(quán)指令21) 訪管指令系統(tǒng)調(diào)用命令的程序?qū)儆诓僮飨到y(tǒng),它應(yīng)該在管態(tài)下執(zhí)行用戶程序只有通過計算機系統(tǒng)提供的訪管指令才能實現(xiàn)由目態(tài)轉(zhuǎn)為管態(tài),進而調(diào)用這些功能程序的目的訪管指

10、令屬于非特權(quán)指令,功能是執(zhí)行它就會產(chǎn)生一個軟中斷,促使中央處理機由目態(tài)轉(zhuǎn)為管態(tài),進入操作系統(tǒng)并處理該中斷22) 從功能上看,可以把系統(tǒng)調(diào)用命令分為五大類:a. 一是關(guān)于進程管理和控制的b. 二是關(guān)于外部設(shè)備輸入/輸出的c. 三是關(guān)于磁盤文件管理的d. 四是關(guān)于訪問系統(tǒng)信息的e. 五是關(guān)于存儲申請與釋放的23) 從形式上看,操作系統(tǒng)提供的系統(tǒng)調(diào)用與一般的過程調(diào)用(子程序調(diào)用)相似,但它們有著明顯 的區(qū)別作業(yè)管理:1) 把一個作業(yè)提交給系統(tǒng)時,系統(tǒng)要開辟一個作業(yè)控制塊JCB,以便隨時記錄作業(yè)的信息2) 被系統(tǒng)接納的作業(yè),在沒有投入運行之前,稱為后備作業(yè)。這些作業(yè)存放在輔助存儲器中,并由他們的JCB

11、連接在一起,形成所謂的后備作業(yè)隊列3) 作業(yè)調(diào)度:按照某種規(guī)則,從后備作業(yè)隊列中挑選作業(yè)進入內(nèi)存,參與處理機的競爭,這個過程稱為作業(yè)調(diào)度4) 作業(yè)的狀態(tài):a. 提交狀態(tài):進入輔助存儲器,作業(yè)的信息還沒有全部進入系統(tǒng),系統(tǒng)也沒有為它建立JCB,感知不到它的存在b. 后備狀態(tài):建立起了JCB,并將JCB排到后備作業(yè)隊列中c. 運行狀態(tài):(阻塞、運行、就緒)都屬于運行狀態(tài)d. 完成狀態(tài):也是一個暫時性的狀態(tài)5) 作業(yè)的調(diào)度算法:a. 先來先服務(wù):以作業(yè)進入后備作業(yè)隊列的先后次序周轉(zhuǎn)時間=完成時間-到達時間注:若分配一定的內(nèi)存,且不允許作業(yè)在內(nèi)存中移動時,要考慮所占內(nèi)存大小b. 短作業(yè)優(yōu)先:從后備作業(yè)

12、隊列中挑選所需CPU時間最少且資源能夠得到滿足的作業(yè)注:如果所有作業(yè)“同時”到達后備作業(yè)隊列,那么采用短作業(yè)優(yōu)先的作業(yè)調(diào)度算法總會獲得最小的平均周轉(zhuǎn)時間c. 響應(yīng)比高著優(yōu)先:先調(diào)度響應(yīng)比高著 響應(yīng)比=已等待時間/所需CPU時間6) 在確定作業(yè)調(diào)度算法時應(yīng)注意的問題:a. 公平對待后備作業(yè)隊列中的每一個作業(yè),避免無故或無限期的延遲一個作業(yè)的執(zhí)行,使各類用戶感到滿意b. 使進入內(nèi)存的多個作業(yè),能均衡地使用系統(tǒng)中的資源,避免出現(xiàn)有的資源沒有作業(yè)使用,有的資源卻被多個作業(yè)爭搶的“忙閑”不均的情況c. 力爭在單位時間內(nèi)為盡可能多的作業(yè)提供服務(wù),提高整個系統(tǒng)的吞吐能力第3章 存儲管理1) 計算機操作系統(tǒng)的

13、存儲器:CPU寄存器,主存,輔存2) 在考慮計算機存儲器的設(shè)計時,必須顧及a. 價格、容量、訪問時間b. 存取時間越快,價格越高,容量越小3) 高速緩存:介于寄存器和存儲器之間的存儲器,主要用于備份主存中較常用的數(shù)據(jù),以減少處理機對主存儲器的訪問次數(shù),提高程序執(zhí)行速度高速緩存容量遠大于寄存器,比內(nèi)存約小兩到三個數(shù)量級左右為了緩和內(nèi)存與處理機(CPU)速度的不匹配4) 字(字長):一次傳送數(shù)據(jù)的長度16、32、64依系統(tǒng)而定(主)內(nèi)存儲器和高速緩存之間是以“塊”為單位傳遞數(shù)據(jù)的高速緩存與CPU之間則以“字”為單位傳遞數(shù)據(jù)5) 存儲器管理的功能:a. 內(nèi)存的分配與回收b. 存儲的保護和共享c. 地

14、址定位d. 存儲擴充6) 內(nèi)存儲器由一個個存儲單元組成,一個存儲單元可存放若干個二進制的位(bit),8個二進制位被稱為一個字節(jié)(byte)7) 在操作系統(tǒng)中,把用戶程序指令中的相對地址變?yōu)樗诮^對地址空間中的絕對地址的這個過程,稱為地址重定位8) 地址的定位方式:a. 絕對定位方式:是在程序裝入內(nèi)存之前,程序指令中的地址就已經(jīng)是絕對地址,已經(jīng)正確地反映了它將要進入的存儲區(qū)的位置,不適用于多道程序設(shè)計環(huán)境b. 靜態(tài)重定位(多道程序環(huán)境下)根據(jù)內(nèi)存的具體情況將裝入模塊裝入到內(nèi)存的適當位置,會使裝入模塊中的所有邏輯地址與實際裝入內(nèi)存后的物理地址不同。這種地址重定位是在程序執(zhí)行前完成的c. 動態(tài)重定

15、位將地址重定位的時間推遲到程序執(zhí)行時再進行所以裝入內(nèi)存的所有地址都仍是邏輯地址連續(xù)分配存儲方式 :1) 單一連續(xù)分配(靜態(tài)重定位)a. 單道程序環(huán)境下,總體上把內(nèi)存儲器分為兩個分區(qū):系統(tǒng)區(qū)和用戶區(qū)b. 系統(tǒng)總是把整個用戶區(qū)分配給一個用戶使用,把分配給了用戶但未被使用的區(qū)域稱為“內(nèi)部碎片”c. 單一連續(xù)分區(qū)存儲管理的缺點:a) 由于每次只能有一個進入內(nèi)存,故它不適用于多道程序設(shè)計,工作效率不高,資源利用率低b) 只要作業(yè)比用戶區(qū)小,在用戶區(qū)里就會形成碎片,造成資源浪費c) 大作業(yè)無法在小內(nèi)存中運行d. 為緩解大作業(yè)小內(nèi)存的情況提出覆蓋技術(shù)和對換技術(shù)a) 覆蓋技術(shù):允許一個作業(yè)的若干個程序段使用同

16、一個存儲區(qū)b) 對換技術(shù):以輔助存儲器作為內(nèi)存的后援(硬盤)2) 固定分區(qū)存儲管理(靜態(tài)):分區(qū)數(shù)目、大小固定a. 預(yù)先把內(nèi)存儲器中可供分配的用戶區(qū)劃分成若干個連續(xù)分區(qū),每個分區(qū)的尺寸可以相同,可以不同。每個分區(qū)中只允許裝入一個作業(yè)運行,系統(tǒng)可以為每一個分區(qū)設(shè)置一個后備作業(yè)隊列,一個作業(yè)到達時,總是進入到“能容納該作業(yè)的最小分區(qū)”的那個后備隊列中去排隊b. 分區(qū)的分配與釋放方案:a) 在隊列中挑選出第一個可容納的作業(yè)進入i. 優(yōu)點:選擇效率高ii. 缺點:小作業(yè)->大內(nèi)存b) 在這個隊列中進行搜索,找到這個分區(qū)能夠容納的最大的那個作業(yè),讓它進入運行i. 優(yōu)點:存儲空間利用率高,產(chǎn)生內(nèi)部碎

17、片盡可能的小ii. 缺點:選擇效率低c) 在系統(tǒng)中至少保留一個小的分區(qū),以避免因為運行小作業(yè)而被迫分配打分去的發(fā)生d) 為具體管理各個分區(qū),并建立一個“分區(qū)分配表”,其中包括每個分區(qū)的起始位置大小及狀態(tài)c. 特點a) 它是最簡單的,具有“多道”色彩的存儲管理方案,提高資源利用率b) 當把一個分區(qū)分配給某個作業(yè)時,該作業(yè)的程序?qū)⒁淮涡缘娜垦b入到分配給他的連續(xù)分區(qū)里c) 靜態(tài)重定位,在分區(qū)內(nèi)的程序不能隨意移動d. 缺點a) 進入分區(qū)的作業(yè)尺寸不見得與分區(qū)的長度相吻合,勢必產(chǎn)生內(nèi)部碎片,引起資源的浪費b) 如果到達作業(yè)的尺寸比任何一個分區(qū)的長度都大,它就無法運行3) 可變分區(qū)存儲管理:分區(qū)的邊界劃

18、分隨作業(yè)的需求可變,分區(qū)的數(shù)目隨著進入作業(yè)的多少可變,消滅了內(nèi)部碎片(可能會產(chǎn)生內(nèi)部碎片)。外部碎片是指無法分配給用戶使用的存儲區(qū)a. 基本思想:在作業(yè)要求裝入內(nèi)存儲器時,如果當時內(nèi)存儲器中有足夠的存儲空間滿足該作業(yè)的需求,就劃分出一個與作業(yè)相對地址空間同樣大小的分區(qū),并分配給它b. 要解決的問題a) 采用一種新的地址重定位技術(shù),動態(tài)地址重定位,以便程序能夠在內(nèi)存儲器中隨意移動,為空閑區(qū)的合并提供保證b) 記住系統(tǒng)中各個分區(qū)的使用情況c) 給出分區(qū)分配算法c. 地址動態(tài)重定位過程(在程序執(zhí)行時動態(tài)完成)a) 為實施地址動態(tài)重定位,硬件要增加一個地址轉(zhuǎn)換機構(gòu),這個機構(gòu)一般由地址轉(zhuǎn)換線路和一個定位

19、寄存器(基址寄存器)組成b) 地址的靜態(tài)重定位和動態(tài)重定位的比較i. 地址轉(zhuǎn)換時刻:靜態(tài)重定位是在程序運行之前完成地址轉(zhuǎn)換的,而動態(tài)重定位是在程序執(zhí)行時完成ii. 誰來完成任務(wù):靜態(tài)重定位是由軟件完成地址轉(zhuǎn)換工作的,而動態(tài)重定位則是由一套硬件提供的地址轉(zhuǎn)換機構(gòu)來完成iii. 完成的形式:靜態(tài)重定位是在裝入時一次性集中地把程序指令中所有要轉(zhuǎn)換的地址加以轉(zhuǎn)換;而動態(tài)重定位則是每執(zhí)行一條執(zhí)行時,就對其地址加以轉(zhuǎn)換iv. 完成的結(jié)果:實施靜態(tài)重定位,原來的指令地址部分被修改了,而動態(tài)重定位只是按照所形成的地址去執(zhí)行這條指令,并不對指令本身做任何修改d. 空閑區(qū)的合并e. 分區(qū)的管理a) 表格法:一張已

20、分配表,一張空閑表(分區(qū)號,分區(qū)大小,分區(qū)起始地址、狀態(tài))b) 單鏈表法:一個存放該分區(qū)的長度,另一個存放它下一個空閑分區(qū)的起始地址c) 雙鏈表法:還存放上一個空閑區(qū)起始地址f. 空閑分區(qū)的分配算法a) 最先適應(yīng)算法:要求空閑分區(qū)鏈以地址遞增的次序鏈接(對大作業(yè)不利)b) 最佳適應(yīng)算法:每次為作業(yè)分配內(nèi)存時,總是把能滿足要求,又是最小的空閑分區(qū)分配給作業(yè),避免“大材小用” 按其容量c) 最壞適應(yīng)算法:挑選一個最大的空閑區(qū),從中分割一部分存儲空間給作者使用,以至于存儲器中缺乏大的空閑分區(qū),照顧中小作業(yè)的需求d) 循環(huán)首次適應(yīng)算法:從上次分配的位置之后開始查找g. 可變分區(qū)存儲管理的特點a) 作業(yè)

21、一次性的全部裝入到一個連續(xù)的存儲分區(qū)中b) 分區(qū)是按照作業(yè)對存儲的需求劃分的,所以不會出現(xiàn)內(nèi)部碎片c) 為了確保作業(yè)能夠在內(nèi)存中移動,要有硬件的支持,實行指令地址的動態(tài)重定位h. 缺點:a) 仍然沒有解決小內(nèi)存裕興大作業(yè)的問題,只要作業(yè)的存儲需求大于系統(tǒng)提供的整個用戶區(qū),該作業(yè)就無法投入運行b) 雖然避免了內(nèi)部碎片,但有可能出現(xiàn)極小的翻去暫時分配不出去的情形,引起了外部碎片,c) 為了形成大的分區(qū),可變分區(qū)存儲管理通過移動程序來達到分區(qū)合并的目的,然而程序的移動是很花費時間的,增加了系統(tǒng)在這方面的投入與開銷4) 分頁式存儲管理:需要兩次訪問內(nèi)存,目的是提高內(nèi)存利用率a. 分頁式儲存管理是將固定

22、分區(qū)方法與動態(tài)重定位技術(shù)結(jié)合在一起,需要硬件支持基本思想:首先把整個內(nèi)存儲器劃分成大小相等的許多分區(qū),每個分區(qū)稱為“一塊”b. 在分頁式存儲管理中,塊是存儲分配的單位a) 用戶作業(yè)仍然是相對于“0”進行編址,形成一個連續(xù)的相對地址空間b) 用戶程序相對地址空間中的每一個分區(qū)被稱為“頁”,用戶相對地址空間中的每一個相對地址,都可以用(頁號,頁內(nèi)位移)這樣的數(shù)對來表示i. 物理地址=頁的大小*頁號+頁內(nèi)位移ii. 頁號=相對地址/塊尺寸iii. 頁內(nèi)位移=相對地址%塊尺寸c. 頁與塊對應(yīng)關(guān)系表稱為“頁表”a) 快速寄存器組單獨起名為“相聯(lián)寄存器”,簡稱“快表”b) 快表與頁表聯(lián)合工作,先查找快表,

23、若無再查找頁表并把數(shù)據(jù)寫入快表c) (訪問頁表時間+訪問一次內(nèi)存時間)*命中率+訪問快表時間*命中率=平均內(nèi)存存取時間d) 頁面尺寸大多選在512byte到64kb之間d. 特點:a) 內(nèi)存儲器實現(xiàn)被劃分成相等尺寸的塊,它是進行存儲分配的單元b) 用戶作業(yè)的相對地址空間按照塊的尺寸劃分成頁,這是在系統(tǒng)內(nèi)部進行的,用戶感覺不到c) 相對地址空間中的頁可以進入內(nèi)存中的任何一個空閑塊,并且分頁式存儲管理實行的是動態(tài)重定位,因此它打破了一個作業(yè)必須占據(jù)連續(xù)的存儲空間的限制,作業(yè)在不連續(xù)的存儲區(qū)里,也能夠得到正確的運行e. 缺點:a) 平均每一個作業(yè)要浪費半頁大小的存儲塊,會產(chǎn)生內(nèi)部碎片b) 作業(yè)雖然可

24、以不占據(jù)連續(xù)的存儲區(qū),但是每次仍然要求一次全部進入內(nèi)存。因此,如果作業(yè)很大,其存儲需求大于內(nèi)存,仍然存在小內(nèi)存不能運行大作業(yè)的問題5) 分段式存儲管理:a. 目的:方便用戶使用編程,存儲共享,存儲保護,動態(tài)增長,動態(tài)鏈接b. 要求用戶將自己的整個作業(yè)程序以多個相互獨立的稱為“段”的地址空間提交給系統(tǒng),每個段都是一個從“0”開始的一維地址空間,長度不一,操作系統(tǒng)按照段長為作業(yè)分配內(nèi)存空間c. 段表:段號、段長、該段在內(nèi)存的基址(起始地址)段號,段內(nèi)位移a) 物理地址=段的起始地址+段內(nèi)地址b) 邏輯地址=段號+段內(nèi)地址d. 分段與分頁的區(qū)別:a) 頁是信息的物理單位,段是信息的邏輯單位i. 分頁

25、提高內(nèi)存的利用率,僅僅是系統(tǒng)管理上的需要,用戶不可見。段是信息的邏輯單位,它通常包括的是一組意義相對完整的信息,分段段的目的主要在于能更好地滿足用戶的需要b) 頁的尺寸由系統(tǒng)決定,段的尺寸因段而異i. 段的長度取決于用戶編寫的程序,通常由編譯程序在對源程序進行編譯時根據(jù)信息的性質(zhì)來劃分c) 頁的地址空間是一維的,段的地址空間是二維的i. 分頁:用戶必須通過鏈接編輯程序,把各程序段鏈接成一個相對于0編址的線性空間,程序中是通過地址編號來確定空間中的位置的。因此用戶向系統(tǒng)提供的是一個一維的邏輯地址空間。ii. 分段:用戶不把各程序段鏈接成一個相對于0進行編制的一維線性空間,各程序段之間是通過段號,

26、段內(nèi)位移進行訪問的。因此,用戶向系統(tǒng)提供的是一個二維的邏輯地址空間6) 段頁式存儲管理:(三次訪問內(nèi)存)a. 基本原理:分段和分頁原理的結(jié)合,即先將用戶程序分成若干個段,再把每個段分成若干個頁,并為每一個段賦予一個段名。a) 作業(yè)地址空間結(jié)構(gòu):主程序段,子程序段,數(shù)據(jù)段b) 地址結(jié)構(gòu):段號,段內(nèi)頁號,頁內(nèi)地址b. 系統(tǒng)設(shè)置了位示圖、段表和頁表,記錄主存的使用情況和作業(yè)分配情況a) 邏輯地址=段號+頁號+頁內(nèi)位置b) 塊號*塊長+頁內(nèi)地址c. 虛擬存儲器:是具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量加以擴充的一種存儲器系統(tǒng),其邏輯容量由內(nèi)存容量和外存容量之和所決定,其運行速度接近于內(nèi)存速度

27、。a) 特征:多次性、對換性、虛擬性、離散性d. 請求分頁式存儲管理(需要硬件支持)a) 是基于分頁式存儲管理的一種虛擬存儲器“請求分頁式”是指當程序運行中需要某一頁時,再把它從輔助存儲器里調(diào)入內(nèi)存使用,解決了小內(nèi)存與大作業(yè)的矛盾,但會產(chǎn)生內(nèi)部碎片b) 缺頁中斷是指在指令執(zhí)行期間,若發(fā)現(xiàn)所要訪問的指令或數(shù)據(jù)不在內(nèi)存時,便立即產(chǎn)生和處理缺頁中斷信號,以便能及時將所缺之頁面調(diào)入內(nèi)存e. 缺頁中斷與一般中斷的區(qū)別缺頁中斷率=缺頁次數(shù)/頁面總數(shù)a) 缺頁中斷是在執(zhí)行一條指令中間時產(chǎn)生的中斷,并立即去處理,一般中斷則是一條指令執(zhí)行完畢后,當發(fā)現(xiàn)有中斷請求時,才去響應(yīng)和處理b) 缺頁中斷處理完成后,仍返回

28、到原指令去執(zhí)行,因為那條指令并未執(zhí)行;而一般中斷則是到下一條指令去執(zhí)行,因為上一條指令已經(jīng)執(zhí)行完畢了f. 影響缺頁中斷次數(shù)的因素:a) 分配給作業(yè)的內(nèi)存塊數(shù)b) 頁面尺寸c) 程序的實現(xiàn)7) 頁面淘汰(置換)算法:頁面淘汰是由缺頁中斷引起的,但缺頁中斷不見得一定引起頁面淘汰a. 先進先出頁面淘汰(置換)算法(FIFO)淘汰最先進入內(nèi)存的頁面(3個內(nèi)存塊都為空,3次缺頁中斷)b. 最近最久未用頁面淘汰(置換)算法(LRU)總是把最長時間未被訪問過的頁面淘汰出去(需要寄存器和棧)c. 最近最少用頁面淘汰(置換)算法(LFU)總是把當前使用的最少的頁面淘汰出去為每個內(nèi)存中的頁面設(shè)置一個計數(shù)器(移位寄

29、存器) 加1d. 最優(yōu)(最佳)頁面淘汰(置換)算法(OPT)把以后不再使用的或最長時間內(nèi)不會用到的頁面淘汰出去(理論上,不會實現(xiàn))注:對于FIFO頁面淘汰算法,有時增加分配給作業(yè)的可用內(nèi)存塊數(shù),它的缺頁次數(shù)反而上升,通常稱為異?,F(xiàn)象第4章 設(shè)備管理1 “設(shè)備”泛指計算機系統(tǒng)中的各種外部設(shè)備,外設(shè)(即主機以外的其他所有設(shè)備)在眾多的I/O設(shè)備中,并不是所有的設(shè)備都是可以共享的,可以借助于磁盤,把只能獨享的設(shè)備變?yōu)楣蚕?,這就是所謂的“虛擬設(shè)備”SPOOLing技術(shù)2 設(shè)備是指計算機中用以在機器之間進行傳送和接收信息,完成用戶輸入/輸出(I/O)操作的那些部件。比如磁盤、磁帶、打印機、顯示器、鼠標、

30、鍵盤······3 計算機I/O系統(tǒng)的組織結(jié)構(gòu):(1) 底層是具體的設(shè)備和硬件接口(2) 中間是系統(tǒng)軟件(與設(shè)備相關(guān)軟件、與設(shè)備無關(guān)軟件)(3) 用戶程序4 I/O設(shè)備一般是由執(zhí)行I/O操作的機械部分和執(zhí)行控制I/O的電子部件組成(1) 執(zhí)行I/O操作的機械部分就是一般的I/O設(shè)備(2) 執(zhí)行控制I/O的電子部件稱為設(shè)備控制器或適配器1 為了能夠使CPU設(shè)備控制器中的各個寄存器進行通信,通常采用“單獨的I/O空間”和“內(nèi)存映射I/O”兩種方法2 設(shè)備控制器是CPU與外圍設(shè)備之間的接口,是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備功能:&#

31、216; 接收和識別命令Ø 數(shù)據(jù)交換Ø 標識和報告設(shè)備的狀態(tài)Ø 地址識別Ø 數(shù)據(jù)緩沖區(qū)Ø 差錯控制組成:Ø 設(shè)備控制器與處理機(CPU)的接口Ø 設(shè)備控制器與設(shè)備的接口Ø I/O邏輯:用于實現(xiàn)對設(shè)備的控制5 設(shè)備驅(qū)動程序:6 設(shè)備處理方式:(1) 為每一類設(shè)備設(shè)置一個進程,專門用于執(zhí)行這類設(shè)備的I/O操作(2) 在整個系統(tǒng)中設(shè)置一個I/O進程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作(3) 不設(shè)置專門的設(shè)備處理進程,而只為各類設(shè)置相應(yīng)的設(shè)備驅(qū)動程序,供用戶或系統(tǒng)進程調(diào)用7 設(shè)備驅(qū)動程序的處理過程(1) 將抽象要求

32、轉(zhuǎn)換為具體要求(2) 對服務(wù)請求進行校驗,即檢查I/O請求的合法性(3) 檢查設(shè)備的狀態(tài)(4) 傳送必要的參數(shù)(5) 啟動I/O設(shè)備(6) 工作方式的設(shè)置I/O接口程序:是操作系統(tǒng)中與設(shè)備無關(guān)的軟件,它從上層接收用戶對設(shè)備提出的I/O請求,然后負責吧I/O請求轉(zhuǎn)變成所需要的I/O命令,調(diào)用具體的設(shè)備驅(qū)動程序去執(zhí)行系統(tǒng)都是用主設(shè)備號和次設(shè)備號組成“邏輯設(shè)備名”操作系統(tǒng)提供的設(shè)備無關(guān)性的優(yōu)點:ü 方便用戶ü 提高設(shè)備的利用率8 計算機設(shè)備的分類(1) 基于設(shè)備的從屬關(guān)系a. 系統(tǒng)設(shè)備(鍵盤、顯示器、打印機、磁盤驅(qū)動)b. 用戶設(shè)備(2) 基于設(shè)備的分配特性a. 獨享設(shè)備(打印機

33、)b. 共享設(shè)備c. 虛擬設(shè)備(SPOOLing技術(shù))(3) 基于設(shè)備的工作特性a. 輸入/輸出設(shè)備(字符設(shè)備)b. 存儲設(shè)備(塊設(shè)備) 磁盤、磁帶(4) 按信息交換的單位a. 塊設(shè)備:用于存儲信息,屬于結(jié)構(gòu)設(shè)備。磁盤、磁帶(以塊為單位傳送信息)b. 字符設(shè)備:以單個字符為單位來傳送信息。鍵盤9 設(shè)備管理的目標a. 提高外部設(shè)備的利用率b. 為用戶提供便利、統(tǒng)一的使用界面10 設(shè)備管理的功能a. 提供一組I/O命令b. 進行設(shè)備的分配和回收c. 對緩沖區(qū)進行管理d. 實現(xiàn)真正的I/O操作11 輸入輸出管理步驟(1) 用戶在程序中使用系統(tǒng)提供的輸入/輸出命令發(fā)出I/O請求(2) 輸入輸出管理程序

34、接受這個請求(3) “設(shè)備驅(qū)動程序”來具體完成所要求的的I/O操作(4) 實現(xiàn)設(shè)備中斷處理程序來處理這個請求設(shè)備的輸入輸出管理程序由3塊內(nèi)容組成:接受用戶的I/O請求,組織管理輸入輸出進行,輸入輸出的善后處理設(shè)備控制:1) 設(shè)備控制塊DCB中存放的是一臺具體設(shè)備的有關(guān)信息,找到一個設(shè)備的DCB,就得到了該設(shè)備的特性,各種參數(shù),使用情況等,所以DCB是設(shè)備管理中最重要的一條數(shù)據(jù)結(jié)構(gòu)2) 獨享設(shè)備中具有排他性,只能采取“靜態(tài)分配”的策略a. 靜態(tài)分配:用戶作業(yè)開始之前,由系統(tǒng)一次分配給該作業(yè)所需的設(shè)備,控制器和通道,不會發(fā)生死鎖b. 動態(tài)分配:在進程執(zhí)行過程中進行的設(shè)備分配,可能造成死鎖對獨享設(shè)備

35、采用的分配算法:v 先來先服務(wù)v 優(yōu)先級高者先服務(wù)3) 共享磁盤的調(diào)度磁盤是一種典型的共享存儲設(shè)備,允許多個作業(yè)進程同時使用,而不是讓一個作業(yè)在整個運行期間獨占。“同時使用”是指當一個作業(yè)進程暫時不用時,其他作業(yè)進程就可以使用。每一個時刻只有一個作業(yè)用4) 調(diào)度算法a. “先來先服務(wù)”調(diào)度算法(并不理想)(移臂調(diào)度,減少查找時間)以I/O請求到達的先后次序作為磁盤調(diào)度的順序b. “最短查找時間”調(diào)度算法把距離磁頭當前位置最近的I/O請求作為下一次調(diào)度的對象c. “電梯”調(diào)度算法(SCAN)總是沿著此案移動臂的移動方向選擇距離磁頭當前位置最近的I/O請求,作為下一次調(diào)度的對象d. “單向掃描”調(diào)

36、度算法(循環(huán)掃描 CSCAN)總是從0號柱面開始往里移動移動臂,遇到有I/O請求就進行處理,直到到達最后一個請求柱面,然后移動臂立即帶動磁頭不做任何服務(wù)地快速返回到0號柱面,開始下一次掃描對I/O設(shè)備的控制方式(數(shù)據(jù)傳輸方式)1) 程序循環(huán)測試方式(程序查詢式)是指用戶進程使用start指令啟動設(shè)備后,不斷地執(zhí)行test指令,去測試所啟動設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測試工作,完成輸入/輸出。數(shù)據(jù)寄存器:用來存放傳輸?shù)臄?shù)據(jù)狀態(tài)寄存器:用來記錄設(shè)備當前所處狀態(tài)2) 中斷方式所謂“中斷”是一種使CPU暫時中止正在執(zhí)行的程序而轉(zhuǎn)去處理特殊時間的操作。引起中斷的時間稱為

37、中斷源。程序中產(chǎn)生的中斷,由CPU的某些錯誤結(jié)果(如,計算機溢出)產(chǎn)生的中斷稱為“內(nèi)中斷”,由外部設(shè)備控制器引起的中斷稱為“外中斷”3) 直接存儲器存取方式(DMA方式)特點:能使I/O設(shè)備直接和內(nèi)存儲器進行成批數(shù)據(jù)的快速傳輸。(單位:塊數(shù)據(jù))DMA控制器包括四個寄存器:數(shù)據(jù)寄存器,狀態(tài)寄存器,地址寄存器,字節(jié)計數(shù)器DMA控制器的組成:主機與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯4) 通道方式通道方式能夠使CPU徹底從I/O中解放出來。CPU進行善后處理和啟動。通道是一個獨立于CPU的,專門用來管理輸入/輸出操作的處理機。通道是通過執(zhí)行通道程序并與設(shè)備控制器共同實現(xiàn)對I

38、/O設(shè)備的控制的。它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作的順序。由一系列通道指令所構(gòu)成,CPU對I/O請求只去做啟動和善后處理工作,輸入/輸出的管理以及數(shù)據(jù)傳輸?shù)仁乱耍坑赏ǖ廓毩⑼瓿?。緩沖:1) 原因:a. 緩和CPU與I/O設(shè)備間速度不匹配的矛盾b. 減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時間的限制c. 解決數(shù)據(jù)粒度不匹配的問題d. 提高CPU和I/O設(shè)備之間的并行性2) 緩沖的實現(xiàn)a. 采用專門的硬件寄存器,比如設(shè)備控制器里的數(shù)據(jù)寄存器,“硬件緩沖”b. 在內(nèi)存儲器中開辟出n個單元,作為專用的I/O緩沖區(qū),以便存放輸入/輸出的數(shù)據(jù),這種緩沖區(qū)就是“軟件緩沖”c. 根據(jù)緩沖區(qū)的個數(shù):單緩沖

39、區(qū)、雙緩沖區(qū)、多緩沖區(qū)、緩沖池3) 虛擬設(shè)備a. 通過多道程序技術(shù)可將一臺物理CPU虛擬為多臺邏輯CPU,需要硬件的支持。作為后援的硬盤(大容量),具有設(shè)備與CPU并行工作的能力4) SPOOLing技術(shù)a. 在主機的直接控制下,實現(xiàn)以前的脫機輸入/輸出功能,此時的外圍操作與CPU對數(shù)據(jù)的處理同時進行,我們把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作的技術(shù)稱為SPOOLing技術(shù),或假脫機技術(shù)b. SPOOLing技術(shù)是對脫機輸入/輸出系統(tǒng)的模擬。SPOOLing系統(tǒng)建立在通道技術(shù)和多道程序技術(shù)的基礎(chǔ)上,以高速隨機外存(通常為磁盤)為后援存儲器5) 設(shè)備無關(guān)性:應(yīng)用程序中所用的設(shè)備,不局限于使用某個具

40、體的物理設(shè)備。為每個設(shè)備所配置的設(shè)備驅(qū)動程序是與硬件緊密相關(guān)的軟件。為了實現(xiàn)設(shè)備獨立性,必須再在設(shè)備驅(qū)動程序上設(shè)置一層軟件,稱為與設(shè)備無關(guān)的I/O軟件或設(shè)備獨立性軟件6) 操作系統(tǒng)中實現(xiàn)虛擬設(shè)備的軟件功能模塊由3部分組成a. 預(yù)輸入程序b. 緩輸出程序c. 井管理程序7) SPOOLing系統(tǒng)由四部分組成a. 輸入井和輸出井在磁盤上開辟出來的兩個存儲區(qū)域,輸入數(shù)據(jù),輸出數(shù)據(jù)b. 輸入緩沖區(qū)和輸出緩沖區(qū)在內(nèi)存中開辟的兩個緩沖區(qū)c. 輸入進程和輸出進程模擬外圍控制機d. 井管理程序特點:Ø 提高了I/O的速度Ø 將獨占設(shè)備改造為共享設(shè)備Ø 實現(xiàn)了虛擬設(shè)備的功能第5章

41、文件管理1) 目標:提高外存儲空間的利用率主要任務(wù):對用戶文件和系統(tǒng)文件進行管理,方便用戶使用,并保證文件的安全性文件存儲設(shè)備是以塊為單位進行管理的2) 所謂“文件”是指具有完整邏輯意義的一組相關(guān)信息的集合,它是在磁盤上保存信息,而且能方便以后讀取的方法,文件用符號名加以標識,這個符號名就被稱為“文件名”3) 文件是指由創(chuàng)建者所定義的,具有文件名的一組相關(guān)元素的集合,可分為有結(jié)構(gòu)文件和無結(jié)構(gòu)文件兩種。在有結(jié)構(gòu)的文件中,文件由若干個相關(guān)記錄組成而無結(jié)構(gòu)文件則被看成是一個字符流。文件在文件系統(tǒng)中是一個最大的數(shù)據(jù)單位,它描述了對象集文件屬性:文件類型、文件長度、文件的物理位置、文件的建立時間(最后一

42、次的修改時間)4) 文件名:在不同的系統(tǒng)之間,對文件名的規(guī)定是不同的。一個文件名是在創(chuàng)建該文件時由用戶給出的,操作系統(tǒng)將向用戶提供組成文件名的命名規(guī)則5) 很多操作系統(tǒng)采用句點.隔開成兩部分的文件名形式,句點之前的部分稱為文件名,句點后面的部分稱為文件的“擴展名”。又稱后綴名,用于指示文件的類型.bak備份文件.basABSIC源程序.bin可執(zhí)行的二進制文件.cC源程序.dat數(shù)據(jù)文件.doc文檔文件.hlp幫助文件.obj目標文件.pasPascal文件.txt一般文本文件.tmp臨時文件1) 文件被存在大容量的輔助存儲器(外存)中,當用戶需要使用時,就通過文件名把相應(yīng)的文件讀到內(nèi)存2)

43、“文件系統(tǒng)”是指操作系統(tǒng)中與文件管理有關(guān)的那部分軟件,被管理的文件,以及管理文件所需要的數(shù)據(jù)結(jié)構(gòu)(目錄、索引表······)的總體3) 對文件的分類a. 按文件的性質(zhì)和用途:系統(tǒng)文件、用戶文件、庫文件b. 按文件中數(shù)據(jù)的形式:源文件、目標文件、可執(zhí)行文件c. 按存取控制屬性分類:只執(zhí)行文件、只讀文件、讀寫文件d. 按文件的保護性質(zhì):只讀文件、讀寫文件、可執(zhí)行文件、不保護文件e. 按文件的保護期限:臨時文件、檔案文件、永久文件f. 按文件的存取方式:順序存取文件、隨機存取文件g. 按設(shè)備的類型:磁盤文件、磁帶文件、打印文件h. 按文件的

44、物理結(jié)構(gòu):連續(xù)文件、鏈接文件、索引文件i. 按文件的內(nèi)容(組織形式和處理方式):普通文件、目錄文件、特殊文件j. 按文件的邏輯結(jié)構(gòu):流式文件、記錄式文件4) 文件的邏輯結(jié)構(gòu)a. 從用戶使用的角度出發(fā)組織的文件,被稱為是文件的邏輯結(jié)構(gòu),一類是有結(jié)構(gòu)的文件,這是指由一個以上的記錄構(gòu)成的文件,故又稱為記錄式文件b. 從文件的組織方式來分,可以分為順序文件,索引文件,索引順序文件c. UNIX操作系統(tǒng)總是以流失作為文件的邏輯結(jié)構(gòu)5) 文件的物理結(jié)構(gòu)a. 文件按不同的組織方式在輔存上存放,就會得到不同的物理結(jié)構(gòu),文件的物理結(jié)構(gòu)有時也稱為文件的“存儲結(jié)構(gòu)”b. 文件在輔存(外存)上可以有3種不同的存放方式

45、:連續(xù)存放、鏈接塊存放以及索引表存放c. 對應(yīng)地文件就有3種物理結(jié)構(gòu),分別叫做順序結(jié)構(gòu),鏈接結(jié)構(gòu)和索引結(jié)構(gòu),也叫作連續(xù)文件,串聯(lián)文件,索引文件6) 存放方式a. 連續(xù)存放連續(xù)文件不足之處:v 必須預(yù)先知道文件的最大長度v 會造成磁盤碎片b. 鏈接塊存放串聯(lián)文件不會因為磁盤碎片而浪費存儲空間,但使用的指針要占去一些字節(jié),每個磁盤塊存儲數(shù)據(jù)的字節(jié)數(shù)不再是2的冪,從而降低了系統(tǒng)的運行效率c. 索引表存放索引文件7) 文件的存取a. 順序存取b. 隨機存取8) 磁盤空間的管理a. 磁盤是以塊為單位進行分配的b. 磁盤與內(nèi)存之間是以磁盤塊為信息傳輸?shù)膯挝籧. 選定了塊的大小,還要對它們進行管理,即要記住

46、哪些已經(jīng)分配,哪些仍然空閑。d. 常采用的磁盤存儲空間管理方案有:位示圖,空閑塊表,空閑塊鏈9) 文件的操作:創(chuàng)建文件、刪除文件、打開文件、關(guān)閉文件、讀文件、寫文件10) 系統(tǒng)是通過文件的目錄來管理文件的文件目錄也是一種數(shù)據(jù)結(jié)構(gòu),用于標識系統(tǒng)中的文件及其物理地址11) 為每一個文件開辟一個存儲區(qū),在它的里面記錄著該文件的有關(guān)信息。我們把該存儲區(qū)稱為“文件控制塊”(FCB) 也是一個目錄項隨系統(tǒng)的不同,一個文件的FCB中所包含的內(nèi)容及大小也不盡相同包含內(nèi)容:Ø 文件名稱Ø 文件在輔存中存放的物理位置Ø 文件的邏輯結(jié)構(gòu)Ø 文件的物理結(jié)構(gòu)Ø 文件的存

47、取控制信息Ø 文件管理信息12) 目錄的層次結(jié)構(gòu)如果把所有文件的FCB都登記在一個文件目錄中,這樣由文件名查文件目錄項,直接就能夠找到所需要的文件,那么就成這種文件目錄為一級目錄結(jié)構(gòu)a) 優(yōu)點:i. 簡單,能實現(xiàn)目錄管理中最基本的功能按名存取b) 缺點:i. 查找速度慢,不允許重名,不便于實現(xiàn)文件共享二級目錄結(jié)構(gòu):由“主目錄”與“用戶目錄”二級構(gòu)成,在主目錄(根目錄)中,每個目錄項的內(nèi)容只是給出文件主名以及它的目錄所在的磁盤地址。在一個個用戶目錄中,才是由問價的呢FCB組成的目錄,用戶目錄,實際上就是一級目錄1) 兩級目錄結(jié)構(gòu)的優(yōu)點:a. 提高了檢索目錄的速度b. 在不同的文件目錄中

48、,可以使用相同的文件名c. 不同用戶還可使用不同的文件名訪問系統(tǒng)中的同一個共享文件2) 缺點:a. 若一個用戶可以擁有很多文件,則查找時間仍然很長b. 用戶無法對自己的文件進行再分類安排3) 樹型目錄結(jié)構(gòu)允許每個用戶可以擁有多個目錄,即在用戶目錄的下面可以再分子目錄,子目錄的下面還可以再有子目錄。但每個文件目錄中,只能有一個根目錄,每個文件和每個目錄都只能有一個父目錄4) 從根目錄出發(fā)到具體文件所經(jīng)過的各層名字,就構(gòu)成了文件的“路徑名”,從根目錄出發(fā)的這個路徑名,也稱為文件的“絕對路徑名”。文件的絕對路徑名必須從根目錄出發(fā),且是唯一的,從分隔符開頭在UNIX系統(tǒng)中,路徑名各部分之間是用“/”分

49、隔在MS-DOS系統(tǒng)中,路徑各部分是用“”分隔在MVLTICS系統(tǒng)中,路徑各部分之間是用“>”分隔在當前目錄下的文件的路徑名,稱為文件的相對路徑名5) 文件的“共享”是指一個文件可以被多個授權(quán)用戶共同使用分兩種:Ø 任何時刻只允許一個用戶使用共享文件Ø 允許多個用戶同時使用同一個共享文件,只進行讀操作第6章 進程間的制約關(guān)系1) 在多道程序設(shè)計環(huán)境下,進程程序的執(zhí)行具有并發(fā)性,在相同的前提條件下,兩次執(zhí)行的結(jié)果有可能不相同,使得一個進程對另一個進程的影響無法預(yù)測,在操作系統(tǒng)里把這種由于時間因素的影響而產(chǎn)生的錯誤稱為:“與時間有關(guān)的錯誤”2) 進程間具有兩種制約關(guān)系:互

50、斥和同步a. 由于對共享資源的爭奪,導致進程之間出現(xiàn)互斥關(guān)系b. 由于對任務(wù)的協(xié)調(diào)工作,導致進城之間出現(xiàn)同步關(guān)系3) 把那些可以共享的資源(文件、隊列、緩沖區(qū)、表格、變量······)統(tǒng)稱為共享變量或臨界資源與一個共享變量(或共享資源)交往的多個進程,為了保證它們各自運行結(jié)果的正確性,當其中的一個進程正在對該變量(臨界資源)進行操作時,就不允許其他進程同時對它操作。進程的這種制約關(guān)系被稱為“互斥”4) 注意(互斥進程)a. 作為具有互斥關(guān)系的進程,它的一部分程序可能用于內(nèi)部的計算以及內(nèi)部的數(shù)據(jù)處理等,那么只有設(shè)計共享變量的那一部分程序

51、,才真正需要保證互斥地執(zhí)行,把進程程序中“真正需要保證互斥執(zhí)行”的那一段程序(或在每個進程中訪問臨界資源的那段代碼)稱為該進程的臨界區(qū)(臨界段)b. 具有互斥關(guān)系的進程,并不關(guān)心對方的存在,即使對方不存在,自己也能夠正確地運行c. 具有互斥關(guān)系的那些進程程序中的臨界區(qū),雖然都是針對同一個共享變量的程序,但在其上執(zhí)行的操作可以相同也可以不同d. 進程的臨界區(qū)是相對于某個共享變量而言的,不同共享變量的臨界區(qū)之間,不存在互斥關(guān)系信號量及其定義在信號量上的P、V操作:1) 如何來保證進程在臨界區(qū)執(zhí)行的互斥性,由信號量及其定義在信號量上的P、V操作具體完成,但遵循如下規(guī)則a. 如果有若干個進程希望進入臨界區(qū)時,至少應(yīng)該允許一個進入,而不能誰也進不去b. 每次只允許一個進程進入臨界區(qū)c. 進入臨界區(qū)的進程不能無限期地把持臨界區(qū)2) 同步a. 需要在某些點上協(xié)調(diào)相互的動作,誰先到達誰后到達是有順序要求的b. 這些進程都應(yīng)該了解對方的工作,對方如果不存在,或任何一方單獨運行,就會出現(xiàn)差錯c. 一方或雙方的運行會直接地依賴于對方所產(chǎn)生的的信息,或發(fā)出的消息3) 一個進程運行到某一點時,除非合作進程已經(jīng)完成了某種操作或發(fā)來了信息,否則就必須暫時等待那些操作的完成或信息的到來。進程間的這種關(guān)系被稱為“同步”,暫停以取得同步的那一點稱為“同步點”,需要等待一個進程完成的操作或發(fā)送的

溫馨提示

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

最新文檔

評論

0/150

提交評論