




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第1章 操作系統(tǒng)概述1) 一個(gè)完整的計(jì)算機(jī)系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成2) 計(jì)算機(jī)軟件是指程序和與程序相關(guān)的文檔的集合3) 按功能可把軟件分為“系統(tǒng)軟件”和“應(yīng)用軟件”兩部分系統(tǒng)軟件:操作系統(tǒng)語(yǔ)言處理程序,數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用軟件:各種管理軟件,用于工程計(jì)算的軟件包,輔助設(shè)計(jì)軟件4) 通常把未配置任何軟件的計(jì)算機(jī)稱(chēng)為“裸機(jī)”5) 操作系統(tǒng)可以被看作是計(jì)算機(jī)系統(tǒng)的核心,統(tǒng)管整個(gè)系統(tǒng)資源,制定各種資源的分配策略,調(diào)度系統(tǒng)中運(yùn)行的用戶(hù)程序,協(xié)調(diào)它們對(duì)資源的需求,從而使整個(gè)系統(tǒng)在高效、有序的環(huán)境里工作。6) 發(fā)展的動(dòng)力:(1) 提高計(jì)算機(jī)資源的利用率的需要(2) 方便
2、用戶(hù)使用計(jì)算機(jī)的需要(3) 硬件技術(shù)不斷發(fā)展的需要(4) 計(jì)算機(jī)體系結(jié)構(gòu)發(fā)展的需要7) 操作系統(tǒng)是在“裸機(jī)”上加載的第一層軟件,是對(duì)計(jì)算機(jī)硬件系統(tǒng)功能的首次擴(kuò)充8) 操作系統(tǒng)的定義:操作系統(tǒng)是控制和管理計(jì)算機(jī)硬件和軟件資源,合理地組織計(jì)算機(jī)工作流程,以及方便用戶(hù)使用計(jì)算機(jī)的一個(gè)大型程序9) 操作系統(tǒng)的功能:Ø 處理機(jī)管理:進(jìn)程控制,進(jìn)程同步,進(jìn)程通信、調(diào)度、實(shí)施CPU分配Ø 存儲(chǔ)器管理:內(nèi)存分配,內(nèi)存保護(hù),地址映射,內(nèi)存擴(kuò)充Ø 設(shè)備管理:緩沖管理,設(shè)備分配,設(shè)備管理Ø 文件管理:存儲(chǔ)空間管理,目錄管理,讀寫(xiě)管理和保護(hù)Ø 與用戶(hù)有關(guān)的接口:用戶(hù)接
3、口,程序接口,人機(jī)交互10) 操作系統(tǒng)另一種定義:操作系統(tǒng)是一組能有效地組織和管理計(jì)算機(jī)硬件和軟件資源,合理地對(duì)各類(lèi)作業(yè)進(jìn)行調(diào)度,以及方便用戶(hù)使用的程序的集合操作系統(tǒng)的種類(lèi):1) 單道批處理系統(tǒng)特點(diǎn):?jiǎn)温沸?、?dú)占性、自動(dòng)性、封閉性、順序性缺點(diǎn):系統(tǒng)的資源得不到充分的利用2) 多道批處理系統(tǒng)特點(diǎn):多路性、共享性、自動(dòng)型、封閉性、無(wú)序性、調(diào)度性好處:ü 提高CPU的利用率ü 提高內(nèi)存和I/O設(shè)備的利用率ü 增加系統(tǒng)吞吐量缺點(diǎn):平均周轉(zhuǎn)時(shí)間長(zhǎng),無(wú)交互能力3) 分時(shí)系統(tǒng)分時(shí)系統(tǒng)是指在一臺(tái)主機(jī)上連接了多個(gè)配有顯示器和鍵盤(pán)的終端,由此所組成的系統(tǒng),該系統(tǒng)允許多個(gè)用戶(hù)同時(shí)通過(guò)自
4、己的終端,以交互方式使用計(jì)算機(jī),共享主機(jī)中的資源。采用了“時(shí)間片輪轉(zhuǎn)”的處理機(jī)調(diào)度策略4) 實(shí)時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行第2章 處理機(jī)管理1) 進(jìn)程是指在系統(tǒng)中能獨(dú)立運(yùn)行并作為資源分配的基本單位,它是由一組機(jī)器指令,數(shù)據(jù)和堆棧等組成的,是一個(gè)能獨(dú)立運(yùn)行的活動(dòng)實(shí)體,多個(gè)進(jìn)程可以并發(fā)執(zhí)行和交換信息2) 程序是一個(gè)在時(shí)間上嚴(yán)格有序的指令集合3) 在單道程序設(shè)計(jì)下,系統(tǒng)具有的特點(diǎn)a. 資源的獨(dú)占性b. 執(zhí)行的順序性c. 結(jié)果的再現(xiàn)性在多道程序設(shè)計(jì)環(huán)境下,系統(tǒng)具有:a. 執(zhí)行的并發(fā)性b. 相互的制約性c. 狀態(tài)的多變
5、性(不可再現(xiàn)性)5) 并發(fā)、并行、串行a. 從宏觀上看是并行,同時(shí)在內(nèi)存的多個(gè)程序都在執(zhí)行著,互不影響b. 從微觀上看是串行,由于CPU在任何時(shí)刻只能執(zhí)行一個(gè)程序,因此這些程序輪流占用CPU,交替執(zhí)行著c. 我們把“邏輯上相互獨(dú)立的程序,在執(zhí)行時(shí)間上相互重疊,一個(gè)程序的執(zhí)行還沒(méi)有結(jié)束,另一個(gè)程序的執(zhí)行已經(jīng)開(kāi)始”的這種特性稱(chēng)為程序執(zhí)行的并發(fā)性6) 對(duì)進(jìn)程的描述a. 進(jìn)程是程序的一次執(zhí)行過(guò)程b. 進(jìn)程的運(yùn)行活動(dòng)是建立在某個(gè)數(shù)據(jù)集合上的c. 進(jìn)程是在獲得資源的基礎(chǔ)上從事自己的運(yùn)行活動(dòng)7) 進(jìn)程的特征結(jié)構(gòu)特征、動(dòng)態(tài)性、并發(fā)性、獨(dú)立性、異步性進(jìn)程是一個(gè)動(dòng)態(tài)的概念不同進(jìn)程可以執(zhí)行同一個(gè)程序每一個(gè)進(jìn)程都有自
6、己的生命周期進(jìn)程之間具有并發(fā)性,進(jìn)程間會(huì)相互制約8) 程序和進(jìn)程的區(qū)別a. 程序是指令的有序集合,是靜態(tài)的,進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過(guò)程,是動(dòng)態(tài)的。程序的存在時(shí)永久的,而進(jìn)程是有生命周期的,它因創(chuàng)建而產(chǎn)生,因調(diào)度而運(yùn)行,因撤銷(xiāo)而消亡b. 進(jìn)程是程序的一次執(zhí)行過(guò)程,程序是進(jìn)程賴(lài)以存在的基礎(chǔ)c. 進(jìn)程具有并發(fā)性,而程序并發(fā)執(zhí)行會(huì)失去可再現(xiàn)性d. 進(jìn)程是系統(tǒng)分配和調(diào)度的獨(dú)立單位,進(jìn)程由程序、數(shù)據(jù)集合和進(jìn)程控制塊組成9) 系統(tǒng)進(jìn)程的使用級(jí)別高于用戶(hù)進(jìn)程10) 進(jìn)程的狀態(tài)創(chuàng)建、就緒、運(yùn)行、阻塞a. 一個(gè)進(jìn)程從運(yùn)行狀態(tài)變?yōu)榫途w狀態(tài),一定會(huì)引起另一個(gè)進(jìn)程從就緒變?yōu)檫\(yùn)行b. 一個(gè)進(jìn)程從運(yùn)行狀態(tài)變?yōu)樽枞麪?/p>
7、態(tài),一定會(huì)引起另一個(gè)進(jìn)程從運(yùn)行狀態(tài)變?yōu)榫途w狀態(tài);這種因果變遷絕對(duì)不可能發(fā)生,因?yàn)橐粋€(gè)CPU不可能真正同時(shí)運(yùn)行兩個(gè)進(jìn)程c. 一個(gè)進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),不一定會(huì)引起另一個(gè)進(jìn)程從就緒狀態(tài)變?yōu)檫\(yùn)行狀態(tài)11) 進(jìn)程的三個(gè)組成部分:程序、數(shù)據(jù)集合、進(jìn)程控制塊(PCB)12) 進(jìn)程控制塊是進(jìn)程存在的唯一標(biāo)示a. 作用:通過(guò)PCB,是原來(lái)不能獨(dú)立運(yùn)行的程序,成為一個(gè)可以獨(dú)立運(yùn)行的基本單位,一個(gè)能夠并發(fā)執(zhí)行的進(jìn)程b. 其中的信息:進(jìn)程標(biāo)識(shí)符、處理機(jī)狀態(tài)、進(jìn)程調(diào)度信息、進(jìn)程控制信息13) 操作系統(tǒng)中把做出“決定把CPU分配給誰(shuí)用”的程序稱(chēng)為“進(jìn)程調(diào)度程序”14) 常用的進(jìn)程調(diào)度算法:a. 先來(lái)先服務(wù)調(diào)度算法
8、b. 時(shí)間片輪轉(zhuǎn)調(diào)度算法:為就緒隊(duì)列中的每一個(gè)進(jìn)程分配一個(gè)稱(chēng)為“時(shí)間片”的時(shí)間段,它是允許該進(jìn)程占用CPU的最長(zhǎng)時(shí)間長(zhǎng)度c. 優(yōu)先數(shù)調(diào)度算法:優(yōu)先數(shù)高的先調(diào)度,若相同則先來(lái)先服務(wù)d. 多級(jí)隊(duì)列調(diào)度算法:時(shí)間片調(diào)度和優(yōu)先數(shù)調(diào)度算法的結(jié)合15) 進(jìn)程調(diào)度程序的主要功能a. 記錄系統(tǒng)中所有進(jìn)程的有關(guān)情況,比如進(jìn)程的當(dāng)前狀態(tài),優(yōu)先數(shù)等b. 確定分配處理機(jī)的算法c. 完成處理機(jī)的分配d. 完成處理機(jī)的回收16) 把處理劑分配給進(jìn)程后,還有一個(gè)允許它占用多長(zhǎng)時(shí)間的問(wèn)題,有兩種處理方式,一種是不可剝奪方式,另一種是剝奪方式17) 為了對(duì)進(jìn)程進(jìn)行有效的管理和控制,操作系統(tǒng)要提供若干基本的操作以便能創(chuàng)建進(jìn)程、撤
9、銷(xiāo)進(jìn)程、阻塞進(jìn)程、喚醒進(jìn)程,把具有這種特性的程序稱(chēng)為“原語(yǔ)”,原語(yǔ)的不可分割性,通常利用屏蔽中斷的方法18) 程序接口:操作系統(tǒng)在程序一級(jí)給予用戶(hù)的支持命令接口:操作系統(tǒng)在控制一級(jí)給予用戶(hù)的支持19) CPU指令系統(tǒng)中的指令分為兩類(lèi)a. 操作系統(tǒng)和用戶(hù)都能使用的指令,非特權(quán)指令b. 只能由操作系統(tǒng)使用的指令,特權(quán)指令20) CPU的兩種工作狀態(tài):管態(tài)、目態(tài)a. 當(dāng)CPU處于管態(tài)時(shí),可以執(zhí)行包括特權(quán)指令在內(nèi)的一切機(jī)器指令b. 當(dāng)CPU處于目態(tài)時(shí),禁止使用特權(quán)指令21) 訪(fǎng)管指令系統(tǒng)調(diào)用命令的程序?qū)儆诓僮飨到y(tǒng),它應(yīng)該在管態(tài)下執(zhí)行用戶(hù)程序只有通過(guò)計(jì)算機(jī)系統(tǒng)提供的訪(fǎng)管指令才能實(shí)現(xiàn)由目態(tài)轉(zhuǎn)為管態(tài),進(jìn)而調(diào)
10、用這些功能程序的目的訪(fǎng)管指令屬于非特權(quán)指令,功能是執(zhí)行它就會(huì)產(chǎn)生一個(gè)軟中斷,促使中央處理機(jī)由目態(tài)轉(zhuǎn)為管態(tài),進(jìn)入操作系統(tǒng)并處理該中斷22) 從功能上看,可以把系統(tǒng)調(diào)用命令分為五大類(lèi):a. 一是關(guān)于進(jìn)程管理和控制的b. 二是關(guān)于外部設(shè)備輸入/輸出的c. 三是關(guān)于磁盤(pán)文件管理的d. 四是關(guān)于訪(fǎng)問(wèn)系統(tǒng)信息的e. 五是關(guān)于存儲(chǔ)申請(qǐng)與釋放的23) 從形式上看,操作系統(tǒng)提供的系統(tǒng)調(diào)用與一般的過(guò)程調(diào)用(子程序調(diào)用)相似,但它們有著明顯 的區(qū)別作業(yè)管理:1) 把一個(gè)作業(yè)提交給系統(tǒng)時(shí),系統(tǒng)要開(kāi)辟一個(gè)作業(yè)控制塊JCB,以便隨時(shí)記錄作業(yè)的信息2) 被系統(tǒng)接納的作業(yè),在沒(méi)有投入運(yùn)行之前,稱(chēng)為后備作業(yè)。這些作業(yè)存放在輔助
11、存儲(chǔ)器中,并由他們的JCB連接在一起,形成所謂的后備作業(yè)隊(duì)列3) 作業(yè)調(diào)度:按照某種規(guī)則,從后備作業(yè)隊(duì)列中挑選作業(yè)進(jìn)入內(nèi)存,參與處理機(jī)的競(jìng)爭(zhēng),這個(gè)過(guò)程稱(chēng)為作業(yè)調(diào)度4) 作業(yè)的狀態(tài):a. 提交狀態(tài):進(jìn)入輔助存儲(chǔ)器,作業(yè)的信息還沒(méi)有全部進(jìn)入系統(tǒng),系統(tǒng)也沒(méi)有為它建立JCB,感知不到它的存在b. 后備狀態(tài):建立起了JCB,并將JCB排到后備作業(yè)隊(duì)列中c. 運(yùn)行狀態(tài):(阻塞、運(yùn)行、就緒)都屬于運(yùn)行狀態(tài)d. 完成狀態(tài):也是一個(gè)暫時(shí)性的狀態(tài)5) 作業(yè)的調(diào)度算法:a. 先來(lái)先服務(wù):以作業(yè)進(jìn)入后備作業(yè)隊(duì)列的先后次序周轉(zhuǎn)時(shí)間=完成時(shí)間-到達(dá)時(shí)間注:若分配一定的內(nèi)存,且不允許作業(yè)在內(nèi)存中移動(dòng)時(shí),要考慮所占內(nèi)存大小b
12、. 短作業(yè)優(yōu)先:從后備作業(yè)隊(duì)列中挑選所需CPU時(shí)間最少且資源能夠得到滿(mǎn)足的作業(yè)注:如果所有作業(yè)“同時(shí)”到達(dá)后備作業(yè)隊(duì)列,那么采用短作業(yè)優(yōu)先的作業(yè)調(diào)度算法總會(huì)獲得最小的平均周轉(zhuǎn)時(shí)間c. 響應(yīng)比高著優(yōu)先:先調(diào)度響應(yīng)比高著 響應(yīng)比=已等待時(shí)間/所需CPU時(shí)間6) 在確定作業(yè)調(diào)度算法時(shí)應(yīng)注意的問(wèn)題:a. 公平對(duì)待后備作業(yè)隊(duì)列中的每一個(gè)作業(yè),避免無(wú)故或無(wú)限期的延遲一個(gè)作業(yè)的執(zhí)行,使各類(lèi)用戶(hù)感到滿(mǎn)意b. 使進(jìn)入內(nèi)存的多個(gè)作業(yè),能均衡地使用系統(tǒng)中的資源,避免出現(xiàn)有的資源沒(méi)有作業(yè)使用,有的資源卻被多個(gè)作業(yè)爭(zhēng)搶的“忙閑”不均的情況c. 力爭(zhēng)在單位時(shí)間內(nèi)為盡可能多的作業(yè)提供服務(wù),提高整個(gè)系統(tǒng)的吞吐能力第3章 存儲(chǔ)
13、管理1) 計(jì)算機(jī)操作系統(tǒng)的存儲(chǔ)器:CPU寄存器,主存,輔存2) 在考慮計(jì)算機(jī)存儲(chǔ)器的設(shè)計(jì)時(shí),必須顧及a. 價(jià)格、容量、訪(fǎng)問(wèn)時(shí)間b. 存取時(shí)間越快,價(jià)格越高,容量越小3) 高速緩存:介于寄存器和存儲(chǔ)器之間的存儲(chǔ)器,主要用于備份主存中較常用的數(shù)據(jù),以減少處理機(jī)對(duì)主存儲(chǔ)器的訪(fǎng)問(wèn)次數(shù),提高程序執(zhí)行速度高速緩存容量遠(yuǎn)大于寄存器,比內(nèi)存約小兩到三個(gè)數(shù)量級(jí)左右為了緩和內(nèi)存與處理機(jī)(CPU)速度的不匹配4) 字(字長(zhǎng)):一次傳送數(shù)據(jù)的長(zhǎng)度16、32、64依系統(tǒng)而定(主)內(nèi)存儲(chǔ)器和高速緩存之間是以“塊”為單位傳遞數(shù)據(jù)的高速緩存與CPU之間則以“字”為單位傳遞數(shù)據(jù)5) 存儲(chǔ)器管理的功能:a. 內(nèi)存的分配與回收b.
14、 存儲(chǔ)的保護(hù)和共享c. 地址定位d. 存儲(chǔ)擴(kuò)充6) 內(nèi)存儲(chǔ)器由一個(gè)個(gè)存儲(chǔ)單元組成,一個(gè)存儲(chǔ)單元可存放若干個(gè)二進(jìn)制的位(bit),8個(gè)二進(jìn)制位被稱(chēng)為一個(gè)字節(jié)(byte)7) 在操作系統(tǒng)中,把用戶(hù)程序指令中的相對(duì)地址變?yōu)樗诮^對(duì)地址空間中的絕對(duì)地址的這個(gè)過(guò)程,稱(chēng)為地址重定位8) 地址的定位方式:a. 絕對(duì)定位方式:是在程序裝入內(nèi)存之前,程序指令中的地址就已經(jīng)是絕對(duì)地址,已經(jīng)正確地反映了它將要進(jìn)入的存儲(chǔ)區(qū)的位置,不適用于多道程序設(shè)計(jì)環(huán)境b. 靜態(tài)重定位(多道程序環(huán)境下)根據(jù)內(nèi)存的具體情況將裝入模塊裝入到內(nèi)存的適當(dāng)位置,會(huì)使裝入模塊中的所有邏輯地址與實(shí)際裝入內(nèi)存后的物理地址不同。這種地址重定位是在程序
15、執(zhí)行前完成的c. 動(dòng)態(tài)重定位將地址重定位的時(shí)間推遲到程序執(zhí)行時(shí)再進(jìn)行所以裝入內(nèi)存的所有地址都仍是邏輯地址連續(xù)分配存儲(chǔ)方式 :1) 單一連續(xù)分配(靜態(tài)重定位)a. 單道程序環(huán)境下,總體上把內(nèi)存儲(chǔ)器分為兩個(gè)分區(qū):系統(tǒng)區(qū)和用戶(hù)區(qū)b. 系統(tǒng)總是把整個(gè)用戶(hù)區(qū)分配給一個(gè)用戶(hù)使用,把分配給了用戶(hù)但未被使用的區(qū)域稱(chēng)為“內(nèi)部碎片”c. 單一連續(xù)分區(qū)存儲(chǔ)管理的缺點(diǎn):a) 由于每次只能有一個(gè)進(jìn)入內(nèi)存,故它不適用于多道程序設(shè)計(jì),工作效率不高,資源利用率低b) 只要作業(yè)比用戶(hù)區(qū)小,在用戶(hù)區(qū)里就會(huì)形成碎片,造成資源浪費(fèi)c) 大作業(yè)無(wú)法在小內(nèi)存中運(yùn)行d. 為緩解大作業(yè)小內(nèi)存的情況提出覆蓋技術(shù)和對(duì)換技術(shù)a) 覆蓋技術(shù):允許一
16、個(gè)作業(yè)的若干個(gè)程序段使用同一個(gè)存儲(chǔ)區(qū)b) 對(duì)換技術(shù):以輔助存儲(chǔ)器作為內(nèi)存的后援(硬盤(pán))2) 固定分區(qū)存儲(chǔ)管理(靜態(tài)):分區(qū)數(shù)目、大小固定a. 預(yù)先把內(nèi)存儲(chǔ)器中可供分配的用戶(hù)區(qū)劃分成若干個(gè)連續(xù)分區(qū),每個(gè)分區(qū)的尺寸可以相同,可以不同。每個(gè)分區(qū)中只允許裝入一個(gè)作業(yè)運(yùn)行,系統(tǒng)可以為每一個(gè)分區(qū)設(shè)置一個(gè)后備作業(yè)隊(duì)列,一個(gè)作業(yè)到達(dá)時(shí),總是進(jìn)入到“能容納該作業(yè)的最小分區(qū)”的那個(gè)后備隊(duì)列中去排隊(duì)b. 分區(qū)的分配與釋放方案:a) 在隊(duì)列中挑選出第一個(gè)可容納的作業(yè)進(jìn)入i. 優(yōu)點(diǎn):選擇效率高ii. 缺點(diǎn):小作業(yè)->大內(nèi)存b) 在這個(gè)隊(duì)列中進(jìn)行搜索,找到這個(gè)分區(qū)能夠容納的最大的那個(gè)作業(yè),讓它進(jìn)入運(yùn)行i. 優(yōu)點(diǎn):存
17、儲(chǔ)空間利用率高,產(chǎn)生內(nèi)部碎片盡可能的小ii. 缺點(diǎn):選擇效率低c) 在系統(tǒng)中至少保留一個(gè)小的分區(qū),以避免因?yàn)檫\(yùn)行小作業(yè)而被迫分配打分去的發(fā)生d) 為具體管理各個(gè)分區(qū),并建立一個(gè)“分區(qū)分配表”,其中包括每個(gè)分區(qū)的起始位置大小及狀態(tài)c. 特點(diǎn)a) 它是最簡(jiǎn)單的,具有“多道”色彩的存儲(chǔ)管理方案,提高資源利用率b) 當(dāng)把一個(gè)分區(qū)分配給某個(gè)作業(yè)時(shí),該作業(yè)的程序?qū)⒁淮涡缘娜垦b入到分配給他的連續(xù)分區(qū)里c) 靜態(tài)重定位,在分區(qū)內(nèi)的程序不能隨意移動(dòng)d. 缺點(diǎn)a) 進(jìn)入分區(qū)的作業(yè)尺寸不見(jiàn)得與分區(qū)的長(zhǎng)度相吻合,勢(shì)必產(chǎn)生內(nèi)部碎片,引起資源的浪費(fèi)b) 如果到達(dá)作業(yè)的尺寸比任何一個(gè)分區(qū)的長(zhǎng)度都大,它就無(wú)法運(yùn)行3) 可變
18、分區(qū)存儲(chǔ)管理:分區(qū)的邊界劃分隨作業(yè)的需求可變,分區(qū)的數(shù)目隨著進(jìn)入作業(yè)的多少可變,消滅了內(nèi)部碎片(可能會(huì)產(chǎn)生內(nèi)部碎片)。外部碎片是指無(wú)法分配給用戶(hù)使用的存儲(chǔ)區(qū)a. 基本思想:在作業(yè)要求裝入內(nèi)存儲(chǔ)器時(shí),如果當(dāng)時(shí)內(nèi)存儲(chǔ)器中有足夠的存儲(chǔ)空間滿(mǎn)足該作業(yè)的需求,就劃分出一個(gè)與作業(yè)相對(duì)地址空間同樣大小的分區(qū),并分配給它b. 要解決的問(wèn)題a) 采用一種新的地址重定位技術(shù),動(dòng)態(tài)地址重定位,以便程序能夠在內(nèi)存儲(chǔ)器中隨意移動(dòng),為空閑區(qū)的合并提供保證b) 記住系統(tǒng)中各個(gè)分區(qū)的使用情況c) 給出分區(qū)分配算法c. 地址動(dòng)態(tài)重定位過(guò)程(在程序執(zhí)行時(shí)動(dòng)態(tài)完成)a) 為實(shí)施地址動(dòng)態(tài)重定位,硬件要增加一個(gè)地址轉(zhuǎn)換機(jī)構(gòu),這個(gè)機(jī)構(gòu)一
19、般由地址轉(zhuǎn)換線(xiàn)路和一個(gè)定位寄存器(基址寄存器)組成b) 地址的靜態(tài)重定位和動(dòng)態(tài)重定位的比較i. 地址轉(zhuǎn)換時(shí)刻:靜態(tài)重定位是在程序運(yùn)行之前完成地址轉(zhuǎn)換的,而動(dòng)態(tài)重定位是在程序執(zhí)行時(shí)完成ii. 誰(shuí)來(lái)完成任務(wù):靜態(tài)重定位是由軟件完成地址轉(zhuǎn)換工作的,而動(dòng)態(tài)重定位則是由一套硬件提供的地址轉(zhuǎn)換機(jī)構(gòu)來(lái)完成iii. 完成的形式:靜態(tài)重定位是在裝入時(shí)一次性集中地把程序指令中所有要轉(zhuǎn)換的地址加以轉(zhuǎn)換;而動(dòng)態(tài)重定位則是每執(zhí)行一條執(zhí)行時(shí),就對(duì)其地址加以轉(zhuǎn)換iv. 完成的結(jié)果:實(shí)施靜態(tài)重定位,原來(lái)的指令地址部分被修改了,而動(dòng)態(tài)重定位只是按照所形成的地址去執(zhí)行這條指令,并不對(duì)指令本身做任何修改d. 空閑區(qū)的合并e. 分區(qū)
20、的管理a) 表格法:一張已分配表,一張空閑表(分區(qū)號(hào),分區(qū)大小,分區(qū)起始地址、狀態(tài))b) 單鏈表法:一個(gè)存放該分區(qū)的長(zhǎng)度,另一個(gè)存放它下一個(gè)空閑分區(qū)的起始地址c) 雙鏈表法:還存放上一個(gè)空閑區(qū)起始地址f. 空閑分區(qū)的分配算法a) 最先適應(yīng)算法:要求空閑分區(qū)鏈以地址遞增的次序鏈接(對(duì)大作業(yè)不利)b) 最佳適應(yīng)算法:每次為作業(yè)分配內(nèi)存時(shí),總是把能滿(mǎn)足要求,又是最小的空閑分區(qū)分配給作業(yè),避免“大材小用” 按其容量c) 最壞適應(yīng)算法:挑選一個(gè)最大的空閑區(qū),從中分割一部分存儲(chǔ)空間給作者使用,以至于存儲(chǔ)器中缺乏大的空閑分區(qū),照顧中小作業(yè)的需求d) 循環(huán)首次適應(yīng)算法:從上次分配的位置之后開(kāi)始查找g. 可變分
21、區(qū)存儲(chǔ)管理的特點(diǎn)a) 作業(yè)一次性的全部裝入到一個(gè)連續(xù)的存儲(chǔ)分區(qū)中b) 分區(qū)是按照作業(yè)對(duì)存儲(chǔ)的需求劃分的,所以不會(huì)出現(xiàn)內(nèi)部碎片c) 為了確保作業(yè)能夠在內(nèi)存中移動(dòng),要有硬件的支持,實(shí)行指令地址的動(dòng)態(tài)重定位h. 缺點(diǎn):a) 仍然沒(méi)有解決小內(nèi)存裕興大作業(yè)的問(wèn)題,只要作業(yè)的存儲(chǔ)需求大于系統(tǒng)提供的整個(gè)用戶(hù)區(qū),該作業(yè)就無(wú)法投入運(yùn)行b) 雖然避免了內(nèi)部碎片,但有可能出現(xiàn)極小的翻去暫時(shí)分配不出去的情形,引起了外部碎片,c) 為了形成大的分區(qū),可變分區(qū)存儲(chǔ)管理通過(guò)移動(dòng)程序來(lái)達(dá)到分區(qū)合并的目的,然而程序的移動(dòng)是很花費(fèi)時(shí)間的,增加了系統(tǒng)在這方面的投入與開(kāi)銷(xiāo)4) 分頁(yè)式存儲(chǔ)管理:需要兩次訪(fǎng)問(wèn)內(nèi)存,目的是提高內(nèi)存利用率a
22、. 分頁(yè)式儲(chǔ)存管理是將固定分區(qū)方法與動(dòng)態(tài)重定位技術(shù)結(jié)合在一起,需要硬件支持基本思想:首先把整個(gè)內(nèi)存儲(chǔ)器劃分成大小相等的許多分區(qū),每個(gè)分區(qū)稱(chēng)為“一塊”b. 在分頁(yè)式存儲(chǔ)管理中,塊是存儲(chǔ)分配的單位a) 用戶(hù)作業(yè)仍然是相對(duì)于“0”進(jìn)行編址,形成一個(gè)連續(xù)的相對(duì)地址空間b) 用戶(hù)程序相對(duì)地址空間中的每一個(gè)分區(qū)被稱(chēng)為“頁(yè)”,用戶(hù)相對(duì)地址空間中的每一個(gè)相對(duì)地址,都可以用(頁(yè)號(hào),頁(yè)內(nèi)位移)這樣的數(shù)對(duì)來(lái)表示i. 物理地址=頁(yè)的大小*頁(yè)號(hào)+頁(yè)內(nèi)位移ii. 頁(yè)號(hào)=相對(duì)地址/塊尺寸iii. 頁(yè)內(nèi)位移=相對(duì)地址%塊尺寸c. 頁(yè)與塊對(duì)應(yīng)關(guān)系表稱(chēng)為“頁(yè)表”a) 快速寄存器組單獨(dú)起名為“相聯(lián)寄存器”,簡(jiǎn)稱(chēng)“快表”b) 快表與
23、頁(yè)表聯(lián)合工作,先查找快表,若無(wú)再查找頁(yè)表并把數(shù)據(jù)寫(xiě)入快表c) (訪(fǎng)問(wèn)頁(yè)表時(shí)間+訪(fǎng)問(wèn)一次內(nèi)存時(shí)間)*命中率+訪(fǎng)問(wèn)快表時(shí)間*命中率=平均內(nèi)存存取時(shí)間d) 頁(yè)面尺寸大多選在512byte到64kb之間d. 特點(diǎn):a) 內(nèi)存儲(chǔ)器實(shí)現(xiàn)被劃分成相等尺寸的塊,它是進(jìn)行存儲(chǔ)分配的單元b) 用戶(hù)作業(yè)的相對(duì)地址空間按照塊的尺寸劃分成頁(yè),這是在系統(tǒng)內(nèi)部進(jìn)行的,用戶(hù)感覺(jué)不到c) 相對(duì)地址空間中的頁(yè)可以進(jìn)入內(nèi)存中的任何一個(gè)空閑塊,并且分頁(yè)式存儲(chǔ)管理實(shí)行的是動(dòng)態(tài)重定位,因此它打破了一個(gè)作業(yè)必須占據(jù)連續(xù)的存儲(chǔ)空間的限制,作業(yè)在不連續(xù)的存儲(chǔ)區(qū)里,也能夠得到正確的運(yùn)行e. 缺點(diǎn):a) 平均每一個(gè)作業(yè)要浪費(fèi)半頁(yè)大小的存儲(chǔ)塊,會(huì)產(chǎn)
24、生內(nèi)部碎片b) 作業(yè)雖然可以不占據(jù)連續(xù)的存儲(chǔ)區(qū),但是每次仍然要求一次全部進(jìn)入內(nèi)存。因此,如果作業(yè)很大,其存儲(chǔ)需求大于內(nèi)存,仍然存在小內(nèi)存不能運(yùn)行大作業(yè)的問(wèn)題5) 分段式存儲(chǔ)管理:a. 目的:方便用戶(hù)使用編程,存儲(chǔ)共享,存儲(chǔ)保護(hù),動(dòng)態(tài)增長(zhǎng),動(dòng)態(tài)鏈接b. 要求用戶(hù)將自己的整個(gè)作業(yè)程序以多個(gè)相互獨(dú)立的稱(chēng)為“段”的地址空間提交給系統(tǒng),每個(gè)段都是一個(gè)從“0”開(kāi)始的一維地址空間,長(zhǎng)度不一,操作系統(tǒng)按照段長(zhǎng)為作業(yè)分配內(nèi)存空間c. 段表:段號(hào)、段長(zhǎng)、該段在內(nèi)存的基址(起始地址)段號(hào),段內(nèi)位移a) 物理地址=段的起始地址+段內(nèi)地址b) 邏輯地址=段號(hào)+段內(nèi)地址d. 分段與分頁(yè)的區(qū)別:a) 頁(yè)是信息的物理單位,段
25、是信息的邏輯單位i. 分頁(yè)提高內(nèi)存的利用率,僅僅是系統(tǒng)管理上的需要,用戶(hù)不可見(jiàn)。段是信息的邏輯單位,它通常包括的是一組意義相對(duì)完整的信息,分段段的目的主要在于能更好地滿(mǎn)足用戶(hù)的需要b) 頁(yè)的尺寸由系統(tǒng)決定,段的尺寸因段而異i. 段的長(zhǎng)度取決于用戶(hù)編寫(xiě)的程序,通常由編譯程序在對(duì)源程序進(jìn)行編譯時(shí)根據(jù)信息的性質(zhì)來(lái)劃分c) 頁(yè)的地址空間是一維的,段的地址空間是二維的i. 分頁(yè):用戶(hù)必須通過(guò)鏈接編輯程序,把各程序段鏈接成一個(gè)相對(duì)于0編址的線(xiàn)性空間,程序中是通過(guò)地址編號(hào)來(lái)確定空間中的位置的。因此用戶(hù)向系統(tǒng)提供的是一個(gè)一維的邏輯地址空間。ii. 分段:用戶(hù)不把各程序段鏈接成一個(gè)相對(duì)于0進(jìn)行編制的一維線(xiàn)性空間
26、,各程序段之間是通過(guò)段號(hào),段內(nèi)位移進(jìn)行訪(fǎng)問(wèn)的。因此,用戶(hù)向系統(tǒng)提供的是一個(gè)二維的邏輯地址空間6) 段頁(yè)式存儲(chǔ)管理:(三次訪(fǎng)問(wèn)內(nèi)存)a. 基本原理:分段和分頁(yè)原理的結(jié)合,即先將用戶(hù)程序分成若干個(gè)段,再把每個(gè)段分成若干個(gè)頁(yè),并為每一個(gè)段賦予一個(gè)段名。a) 作業(yè)地址空間結(jié)構(gòu):主程序段,子程序段,數(shù)據(jù)段b) 地址結(jié)構(gòu):段號(hào),段內(nèi)頁(yè)號(hào),頁(yè)內(nèi)地址b. 系統(tǒng)設(shè)置了位示圖、段表和頁(yè)表,記錄主存的使用情況和作業(yè)分配情況a) 邏輯地址=段號(hào)+頁(yè)號(hào)+頁(yè)內(nèi)位置b) 塊號(hào)*塊長(zhǎng)+頁(yè)內(nèi)地址c. 虛擬存儲(chǔ)器:是具有請(qǐng)求調(diào)入功能和置換功能,能從邏輯上對(duì)內(nèi)存容量加以擴(kuò)充的一種存儲(chǔ)器系統(tǒng),其邏輯容量由內(nèi)存容量和外存容量之和所決定
27、,其運(yùn)行速度接近于內(nèi)存速度。a) 特征:多次性、對(duì)換性、虛擬性、離散性d. 請(qǐng)求分頁(yè)式存儲(chǔ)管理(需要硬件支持)a) 是基于分頁(yè)式存儲(chǔ)管理的一種虛擬存儲(chǔ)器“請(qǐng)求分頁(yè)式”是指當(dāng)程序運(yùn)行中需要某一頁(yè)時(shí),再把它從輔助存儲(chǔ)器里調(diào)入內(nèi)存使用,解決了小內(nèi)存與大作業(yè)的矛盾,但會(huì)產(chǎn)生內(nèi)部碎片b) 缺頁(yè)中斷是指在指令執(zhí)行期間,若發(fā)現(xiàn)所要訪(fǎng)問(wèn)的指令或數(shù)據(jù)不在內(nèi)存時(shí),便立即產(chǎn)生和處理缺頁(yè)中斷信號(hào),以便能及時(shí)將所缺之頁(yè)面調(diào)入內(nèi)存e. 缺頁(yè)中斷與一般中斷的區(qū)別缺頁(yè)中斷率=缺頁(yè)次數(shù)/頁(yè)面總數(shù)a) 缺頁(yè)中斷是在執(zhí)行一條指令中間時(shí)產(chǎn)生的中斷,并立即去處理,一般中斷則是一條指令執(zhí)行完畢后,當(dāng)發(fā)現(xiàn)有中斷請(qǐng)求時(shí),才去響應(yīng)和處理b)
28、缺頁(yè)中斷處理完成后,仍返回到原指令去執(zhí)行,因?yàn)槟菞l指令并未執(zhí)行;而一般中斷則是到下一條指令去執(zhí)行,因?yàn)樯弦粭l指令已經(jīng)執(zhí)行完畢了f. 影響缺頁(yè)中斷次數(shù)的因素:a) 分配給作業(yè)的內(nèi)存塊數(shù)b) 頁(yè)面尺寸c) 程序的實(shí)現(xiàn)7) 頁(yè)面淘汰(置換)算法:頁(yè)面淘汰是由缺頁(yè)中斷引起的,但缺頁(yè)中斷不見(jiàn)得一定引起頁(yè)面淘汰a. 先進(jìn)先出頁(yè)面淘汰(置換)算法(FIFO)淘汰最先進(jìn)入內(nèi)存的頁(yè)面(3個(gè)內(nèi)存塊都為空,3次缺頁(yè)中斷)b. 最近最久未用頁(yè)面淘汰(置換)算法(LRU)總是把最長(zhǎng)時(shí)間未被訪(fǎng)問(wèn)過(guò)的頁(yè)面淘汰出去(需要寄存器和棧)c. 最近最少用頁(yè)面淘汰(置換)算法(LFU)總是把當(dāng)前使用的最少的頁(yè)面淘汰出去為每個(gè)內(nèi)存中的
29、頁(yè)面設(shè)置一個(gè)計(jì)數(shù)器(移位寄存器) 加1d. 最優(yōu)(最佳)頁(yè)面淘汰(置換)算法(OPT)把以后不再使用的或最長(zhǎng)時(shí)間內(nèi)不會(huì)用到的頁(yè)面淘汰出去(理論上,不會(huì)實(shí)現(xiàn))注:對(duì)于FIFO頁(yè)面淘汰算法,有時(shí)增加分配給作業(yè)的可用內(nèi)存塊數(shù),它的缺頁(yè)次數(shù)反而上升,通常稱(chēng)為異?,F(xiàn)象第4章 設(shè)備管理1 “設(shè)備”泛指計(jì)算機(jī)系統(tǒng)中的各種外部設(shè)備,外設(shè)(即主機(jī)以外的其他所有設(shè)備)在眾多的I/O設(shè)備中,并不是所有的設(shè)備都是可以共享的,可以借助于磁盤(pán),把只能獨(dú)享的設(shè)備變?yōu)楣蚕?,這就是所謂的“虛擬設(shè)備”SPOOLing技術(shù)2 設(shè)備是指計(jì)算機(jī)中用以在機(jī)器之間進(jìn)行傳送和接收信息,完成用戶(hù)輸入/輸出(I/O)操作的那些部件。比如磁盤(pán)、磁
30、帶、打印機(jī)、顯示器、鼠標(biāo)、鍵盤(pán)······3 計(jì)算機(jī)I/O系統(tǒng)的組織結(jié)構(gòu):(1) 底層是具體的設(shè)備和硬件接口(2) 中間是系統(tǒng)軟件(與設(shè)備相關(guān)軟件、與設(shè)備無(wú)關(guān)軟件)(3) 用戶(hù)程序4 I/O設(shè)備一般是由執(zhí)行I/O操作的機(jī)械部分和執(zhí)行控制I/O的電子部件組成(1) 執(zhí)行I/O操作的機(jī)械部分就是一般的I/O設(shè)備(2) 執(zhí)行控制I/O的電子部件稱(chēng)為設(shè)備控制器或適配器1 為了能夠使CPU設(shè)備控制器中的各個(gè)寄存器進(jìn)行通信,通常采用“單獨(dú)的I/O空間”和“內(nèi)存映射I/O”兩種方法2 設(shè)備控制器是CPU與外圍設(shè)備之間的接口,是一個(gè)可編址設(shè)備,每一個(gè)
31、地址對(duì)應(yīng)一個(gè)設(shè)備功能:Ø 接收和識(shí)別命令Ø 數(shù)據(jù)交換Ø 標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)Ø 地址識(shí)別Ø 數(shù)據(jù)緩沖區(qū)Ø 差錯(cuò)控制組成:Ø 設(shè)備控制器與處理機(jī)(CPU)的接口Ø 設(shè)備控制器與設(shè)備的接口Ø I/O邏輯:用于實(shí)現(xiàn)對(duì)設(shè)備的控制5 設(shè)備驅(qū)動(dòng)程序:6 設(shè)備處理方式:(1) 為每一類(lèi)設(shè)備設(shè)置一個(gè)進(jìn)程,專(zhuān)門(mén)用于執(zhí)行這類(lèi)設(shè)備的I/O操作(2) 在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專(zhuān)門(mén)用于執(zhí)行系統(tǒng)中所有各類(lèi)設(shè)備的I/O操作(3) 不設(shè)置專(zhuān)門(mén)的設(shè)備處理進(jìn)程,而只為各類(lèi)設(shè)置相應(yīng)的設(shè)備驅(qū)動(dòng)程序,供用戶(hù)或系統(tǒng)進(jìn)程調(diào)用7 設(shè)備驅(qū)動(dòng)程序的
32、處理過(guò)程(1) 將抽象要求轉(zhuǎn)換為具體要求(2) 對(duì)服務(wù)請(qǐng)求進(jìn)行校驗(yàn),即檢查I/O請(qǐng)求的合法性(3) 檢查設(shè)備的狀態(tài)(4) 傳送必要的參數(shù)(5) 啟動(dòng)I/O設(shè)備(6) 工作方式的設(shè)置I/O接口程序:是操作系統(tǒng)中與設(shè)備無(wú)關(guān)的軟件,它從上層接收用戶(hù)對(duì)設(shè)備提出的I/O請(qǐng)求,然后負(fù)責(zé)吧I/O請(qǐng)求轉(zhuǎn)變成所需要的I/O命令,調(diào)用具體的設(shè)備驅(qū)動(dòng)程序去執(zhí)行系統(tǒng)都是用主設(shè)備號(hào)和次設(shè)備號(hào)組成“邏輯設(shè)備名”操作系統(tǒng)提供的設(shè)備無(wú)關(guān)性的優(yōu)點(diǎn):ü 方便用戶(hù)ü 提高設(shè)備的利用率8 計(jì)算機(jī)設(shè)備的分類(lèi)(1) 基于設(shè)備的從屬關(guān)系a. 系統(tǒng)設(shè)備(鍵盤(pán)、顯示器、打印機(jī)、磁盤(pán)驅(qū)動(dòng))b. 用戶(hù)設(shè)備(2) 基于設(shè)備的分配
33、特性a. 獨(dú)享設(shè)備(打印機(jī))b. 共享設(shè)備c. 虛擬設(shè)備(SPOOLing技術(shù))(3) 基于設(shè)備的工作特性a. 輸入/輸出設(shè)備(字符設(shè)備)b. 存儲(chǔ)設(shè)備(塊設(shè)備) 磁盤(pán)、磁帶(4) 按信息交換的單位a. 塊設(shè)備:用于存儲(chǔ)信息,屬于結(jié)構(gòu)設(shè)備。磁盤(pán)、磁帶(以塊為單位傳送信息)b. 字符設(shè)備:以單個(gè)字符為單位來(lái)傳送信息。鍵盤(pán)9 設(shè)備管理的目標(biāo)a. 提高外部設(shè)備的利用率b. 為用戶(hù)提供便利、統(tǒng)一的使用界面10 設(shè)備管理的功能a. 提供一組I/O命令b. 進(jìn)行設(shè)備的分配和回收c. 對(duì)緩沖區(qū)進(jìn)行管理d. 實(shí)現(xiàn)真正的I/O操作11 輸入輸出管理步驟(1) 用戶(hù)在程序中使用系統(tǒng)提供的輸入/輸出命令發(fā)出I/O請(qǐng)
34、求(2) 輸入輸出管理程序接受這個(gè)請(qǐng)求(3) “設(shè)備驅(qū)動(dòng)程序”來(lái)具體完成所要求的的I/O操作(4) 實(shí)現(xiàn)設(shè)備中斷處理程序來(lái)處理這個(gè)請(qǐng)求設(shè)備的輸入輸出管理程序由3塊內(nèi)容組成:接受用戶(hù)的I/O請(qǐng)求,組織管理輸入輸出進(jìn)行,輸入輸出的善后處理設(shè)備控制:1) 設(shè)備控制塊DCB中存放的是一臺(tái)具體設(shè)備的有關(guān)信息,找到一個(gè)設(shè)備的DCB,就得到了該設(shè)備的特性,各種參數(shù),使用情況等,所以DCB是設(shè)備管理中最重要的一條數(shù)據(jù)結(jié)構(gòu)2) 獨(dú)享設(shè)備中具有排他性,只能采取“靜態(tài)分配”的策略a. 靜態(tài)分配:用戶(hù)作業(yè)開(kāi)始之前,由系統(tǒng)一次分配給該作業(yè)所需的設(shè)備,控制器和通道,不會(huì)發(fā)生死鎖b. 動(dòng)態(tài)分配:在進(jìn)程執(zhí)行過(guò)程中進(jìn)行的設(shè)備分
35、配,可能造成死鎖對(duì)獨(dú)享設(shè)備采用的分配算法:v 先來(lái)先服務(wù)v 優(yōu)先級(jí)高者先服務(wù)3) 共享磁盤(pán)的調(diào)度磁盤(pán)是一種典型的共享存儲(chǔ)設(shè)備,允許多個(gè)作業(yè)進(jìn)程同時(shí)使用,而不是讓一個(gè)作業(yè)在整個(gè)運(yùn)行期間獨(dú)占。“同時(shí)使用”是指當(dāng)一個(gè)作業(yè)進(jìn)程暫時(shí)不用時(shí),其他作業(yè)進(jìn)程就可以使用。每一個(gè)時(shí)刻只有一個(gè)作業(yè)用4) 調(diào)度算法a. “先來(lái)先服務(wù)”調(diào)度算法(并不理想)(移臂調(diào)度,減少查找時(shí)間)以I/O請(qǐng)求到達(dá)的先后次序作為磁盤(pán)調(diào)度的順序b. “最短查找時(shí)間”調(diào)度算法把距離磁頭當(dāng)前位置最近的I/O請(qǐng)求作為下一次調(diào)度的對(duì)象c. “電梯”調(diào)度算法(SCAN)總是沿著此案移動(dòng)臂的移動(dòng)方向選擇距離磁頭當(dāng)前位置最近的I/O請(qǐng)求,作為下一次調(diào)度
36、的對(duì)象d. “單向掃描”調(diào)度算法(循環(huán)掃描 CSCAN)總是從0號(hào)柱面開(kāi)始往里移動(dòng)移動(dòng)臂,遇到有I/O請(qǐng)求就進(jìn)行處理,直到到達(dá)最后一個(gè)請(qǐng)求柱面,然后移動(dòng)臂立即帶動(dòng)磁頭不做任何服務(wù)地快速返回到0號(hào)柱面,開(kāi)始下一次掃描對(duì)I/O設(shè)備的控制方式(數(shù)據(jù)傳輸方式)1) 程序循環(huán)測(cè)試方式(程序查詢(xún)式)是指用戶(hù)進(jìn)程使用start指令啟動(dòng)設(shè)備后,不斷地執(zhí)行test指令,去測(cè)試所啟動(dòng)設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測(cè)試工作,完成輸入/輸出。數(shù)據(jù)寄存器:用來(lái)存放傳輸?shù)臄?shù)據(jù)狀態(tài)寄存器:用來(lái)記錄設(shè)備當(dāng)前所處狀態(tài)2) 中斷方式所謂“中斷”是一種使CPU暫時(shí)中止正在執(zhí)行的程序而轉(zhuǎn)去處理特殊時(shí)間
37、的操作。引起中斷的時(shí)間稱(chēng)為中斷源。程序中產(chǎn)生的中斷,由CPU的某些錯(cuò)誤結(jié)果(如,計(jì)算機(jī)溢出)產(chǎn)生的中斷稱(chēng)為“內(nèi)中斷”,由外部設(shè)備控制器引起的中斷稱(chēng)為“外中斷”3) 直接存儲(chǔ)器存取方式(DMA方式)特點(diǎn):能使I/O設(shè)備直接和內(nèi)存儲(chǔ)器進(jìn)行成批數(shù)據(jù)的快速傳輸。(單位:塊數(shù)據(jù))DMA控制器包括四個(gè)寄存器:數(shù)據(jù)寄存器,狀態(tài)寄存器,地址寄存器,字節(jié)計(jì)數(shù)器DMA控制器的組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯4) 通道方式通道方式能夠使CPU徹底從I/O中解放出來(lái)。CPU進(jìn)行善后處理和啟動(dòng)。通道是一個(gè)獨(dú)立于CPU的,專(zhuān)門(mén)用來(lái)管理輸入/輸出操作的處理機(jī)。通道是通過(guò)執(zhí)行通道程序
38、并與設(shè)備控制器共同實(shí)現(xiàn)對(duì)I/O設(shè)備的控制的。它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作的順序。由一系列通道指令所構(gòu)成,CPU對(duì)I/O請(qǐng)求只去做啟動(dòng)和善后處理工作,輸入/輸出的管理以及數(shù)據(jù)傳輸?shù)仁乱?,全部由通道?dú)立完成。緩沖:1) 原因:a. 緩和CPU與I/O設(shè)備間速度不匹配的矛盾b. 減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制c. 解決數(shù)據(jù)粒度不匹配的問(wèn)題d. 提高CPU和I/O設(shè)備之間的并行性2) 緩沖的實(shí)現(xiàn)a. 采用專(zhuān)門(mén)的硬件寄存器,比如設(shè)備控制器里的數(shù)據(jù)寄存器,“硬件緩沖”b. 在內(nèi)存儲(chǔ)器中開(kāi)辟出n個(gè)單元,作為專(zhuān)用的I/O緩沖區(qū),以便存放輸入/輸出的數(shù)據(jù),這種緩沖區(qū)就是“軟件緩沖”c.
39、 根據(jù)緩沖區(qū)的個(gè)數(shù):?jiǎn)尉彌_區(qū)、雙緩沖區(qū)、多緩沖區(qū)、緩沖池3) 虛擬設(shè)備a. 通過(guò)多道程序技術(shù)可將一臺(tái)物理CPU虛擬為多臺(tái)邏輯CPU,需要硬件的支持。作為后援的硬盤(pán)(大容量),具有設(shè)備與CPU并行工作的能力4) SPOOLing技術(shù)a. 在主機(jī)的直接控制下,實(shí)現(xiàn)以前的脫機(jī)輸入/輸出功能,此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行,我們把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作的技術(shù)稱(chēng)為SPOOLing技術(shù),或假脫機(jī)技術(shù)b. SPOOLing技術(shù)是對(duì)脫機(jī)輸入/輸出系統(tǒng)的模擬。SPOOLing系統(tǒng)建立在通道技術(shù)和多道程序技術(shù)的基礎(chǔ)上,以高速隨機(jī)外存(通常為磁盤(pán))為后援存儲(chǔ)器5) 設(shè)備無(wú)關(guān)性:應(yīng)用程序中所用
40、的設(shè)備,不局限于使用某個(gè)具體的物理設(shè)備。為每個(gè)設(shè)備所配置的設(shè)備驅(qū)動(dòng)程序是與硬件緊密相關(guān)的軟件。為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須再在設(shè)備驅(qū)動(dòng)程序上設(shè)置一層軟件,稱(chēng)為與設(shè)備無(wú)關(guān)的I/O軟件或設(shè)備獨(dú)立性軟件6) 操作系統(tǒng)中實(shí)現(xiàn)虛擬設(shè)備的軟件功能模塊由3部分組成a. 預(yù)輸入程序b. 緩輸出程序c. 井管理程序7) SPOOLing系統(tǒng)由四部分組成a. 輸入井和輸出井在磁盤(pán)上開(kāi)辟出來(lái)的兩個(gè)存儲(chǔ)區(qū)域,輸入數(shù)據(jù),輸出數(shù)據(jù)b. 輸入緩沖區(qū)和輸出緩沖區(qū)在內(nèi)存中開(kāi)辟的兩個(gè)緩沖區(qū)c. 輸入進(jìn)程和輸出進(jìn)程模擬外圍控制機(jī)d. 井管理程序特點(diǎn):Ø 提高了I/O的速度Ø 將獨(dú)占設(shè)備改造為共享設(shè)備Ø 實(shí)
41、現(xiàn)了虛擬設(shè)備的功能第5章 文件管理1) 目標(biāo):提高外存儲(chǔ)空間的利用率主要任務(wù):對(duì)用戶(hù)文件和系統(tǒng)文件進(jìn)行管理,方便用戶(hù)使用,并保證文件的安全性文件存儲(chǔ)設(shè)備是以塊為單位進(jìn)行管理的2) 所謂“文件”是指具有完整邏輯意義的一組相關(guān)信息的集合,它是在磁盤(pán)上保存信息,而且能方便以后讀取的方法,文件用符號(hào)名加以標(biāo)識(shí),這個(gè)符號(hào)名就被稱(chēng)為“文件名”3) 文件是指由創(chuàng)建者所定義的,具有文件名的一組相關(guān)元素的集合,可分為有結(jié)構(gòu)文件和無(wú)結(jié)構(gòu)文件兩種。在有結(jié)構(gòu)的文件中,文件由若干個(gè)相關(guān)記錄組成而無(wú)結(jié)構(gòu)文件則被看成是一個(gè)字符流。文件在文件系統(tǒng)中是一個(gè)最大的數(shù)據(jù)單位,它描述了對(duì)象集文件屬性:文件類(lèi)型、文件長(zhǎng)度、文件的物理位
42、置、文件的建立時(shí)間(最后一次的修改時(shí)間)4) 文件名:在不同的系統(tǒng)之間,對(duì)文件名的規(guī)定是不同的。一個(gè)文件名是在創(chuàng)建該文件時(shí)由用戶(hù)給出的,操作系統(tǒng)將向用戶(hù)提供組成文件名的命名規(guī)則5) 很多操作系統(tǒng)采用句點(diǎn).隔開(kāi)成兩部分的文件名形式,句點(diǎn)之前的部分稱(chēng)為文件名,句點(diǎn)后面的部分稱(chēng)為文件的“擴(kuò)展名”。又稱(chēng)后綴名,用于指示文件的類(lèi)型.bak備份文件.basABSIC源程序.bin可執(zhí)行的二進(jìn)制文件.cC源程序.dat數(shù)據(jù)文件.doc文檔文件.hlp幫助文件.obj目標(biāo)文件.pasPascal文件.txt一般文本文件.tmp臨時(shí)文件1) 文件被存在大容量的輔助存儲(chǔ)器(外存)中,當(dāng)用戶(hù)需要使用時(shí),就通過(guò)文件名
43、把相應(yīng)的文件讀到內(nèi)存2) “文件系統(tǒng)”是指操作系統(tǒng)中與文件管理有關(guān)的那部分軟件,被管理的文件,以及管理文件所需要的數(shù)據(jù)結(jié)構(gòu)(目錄、索引表······)的總體3) 對(duì)文件的分類(lèi)a. 按文件的性質(zhì)和用途:系統(tǒng)文件、用戶(hù)文件、庫(kù)文件b. 按文件中數(shù)據(jù)的形式:源文件、目標(biāo)文件、可執(zhí)行文件c. 按存取控制屬性分類(lèi):只執(zhí)行文件、只讀文件、讀寫(xiě)文件d. 按文件的保護(hù)性質(zhì):只讀文件、讀寫(xiě)文件、可執(zhí)行文件、不保護(hù)文件e. 按文件的保護(hù)期限:臨時(shí)文件、檔案文件、永久文件f. 按文件的存取方式:順序存取文件、隨機(jī)存取文件g. 按設(shè)備的類(lèi)型:磁盤(pán)文件、磁帶文
44、件、打印文件h. 按文件的物理結(jié)構(gòu):連續(xù)文件、鏈接文件、索引文件i. 按文件的內(nèi)容(組織形式和處理方式):普通文件、目錄文件、特殊文件j. 按文件的邏輯結(jié)構(gòu):流式文件、記錄式文件4) 文件的邏輯結(jié)構(gòu)a. 從用戶(hù)使用的角度出發(fā)組織的文件,被稱(chēng)為是文件的邏輯結(jié)構(gòu),一類(lèi)是有結(jié)構(gòu)的文件,這是指由一個(gè)以上的記錄構(gòu)成的文件,故又稱(chēng)為記錄式文件b. 從文件的組織方式來(lái)分,可以分為順序文件,索引文件,索引順序文件c. UNIX操作系統(tǒng)總是以流失作為文件的邏輯結(jié)構(gòu)5) 文件的物理結(jié)構(gòu)a. 文件按不同的組織方式在輔存上存放,就會(huì)得到不同的物理結(jié)構(gòu),文件的物理結(jié)構(gòu)有時(shí)也稱(chēng)為文件的“存儲(chǔ)結(jié)構(gòu)”b. 文件在輔存(外存)
45、上可以有3種不同的存放方式:連續(xù)存放、鏈接塊存放以及索引表存放c. 對(duì)應(yīng)地文件就有3種物理結(jié)構(gòu),分別叫做順序結(jié)構(gòu),鏈接結(jié)構(gòu)和索引結(jié)構(gòu),也叫作連續(xù)文件,串聯(lián)文件,索引文件6) 存放方式a. 連續(xù)存放連續(xù)文件不足之處:v 必須預(yù)先知道文件的最大長(zhǎng)度v 會(huì)造成磁盤(pán)碎片b. 鏈接塊存放串聯(lián)文件不會(huì)因?yàn)榇疟P(pán)碎片而浪費(fèi)存儲(chǔ)空間,但使用的指針要占去一些字節(jié),每個(gè)磁盤(pán)塊存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù)不再是2的冪,從而降低了系統(tǒng)的運(yùn)行效率c. 索引表存放索引文件7) 文件的存取a. 順序存取b. 隨機(jī)存取8) 磁盤(pán)空間的管理a. 磁盤(pán)是以塊為單位進(jìn)行分配的b. 磁盤(pán)與內(nèi)存之間是以磁盤(pán)塊為信息傳輸?shù)膯挝籧. 選定了塊的大小,還
46、要對(duì)它們進(jìn)行管理,即要記住哪些已經(jīng)分配,哪些仍然空閑。d. 常采用的磁盤(pán)存儲(chǔ)空間管理方案有:位示圖,空閑塊表,空閑塊鏈9) 文件的操作:創(chuàng)建文件、刪除文件、打開(kāi)文件、關(guān)閉文件、讀文件、寫(xiě)文件10) 系統(tǒng)是通過(guò)文件的目錄來(lái)管理文件的文件目錄也是一種數(shù)據(jù)結(jié)構(gòu),用于標(biāo)識(shí)系統(tǒng)中的文件及其物理地址11) 為每一個(gè)文件開(kāi)辟一個(gè)存儲(chǔ)區(qū),在它的里面記錄著該文件的有關(guān)信息。我們把該存儲(chǔ)區(qū)稱(chēng)為“文件控制塊”(FCB) 也是一個(gè)目錄項(xiàng)隨系統(tǒng)的不同,一個(gè)文件的FCB中所包含的內(nèi)容及大小也不盡相同包含內(nèi)容:Ø 文件名稱(chēng)Ø 文件在輔存中存放的物理位置Ø 文件的邏輯結(jié)構(gòu)Ø 文件的物理
47、結(jié)構(gòu)Ø 文件的存取控制信息Ø 文件管理信息12) 目錄的層次結(jié)構(gòu)如果把所有文件的FCB都登記在一個(gè)文件目錄中,這樣由文件名查文件目錄項(xiàng),直接就能夠找到所需要的文件,那么就成這種文件目錄為一級(jí)目錄結(jié)構(gòu)a) 優(yōu)點(diǎn):i. 簡(jiǎn)單,能實(shí)現(xiàn)目錄管理中最基本的功能按名存取b) 缺點(diǎn):i. 查找速度慢,不允許重名,不便于實(shí)現(xiàn)文件共享二級(jí)目錄結(jié)構(gòu):由“主目錄”與“用戶(hù)目錄”二級(jí)構(gòu)成,在主目錄(根目錄)中,每個(gè)目錄項(xiàng)的內(nèi)容只是給出文件主名以及它的目錄所在的磁盤(pán)地址。在一個(gè)個(gè)用戶(hù)目錄中,才是由問(wèn)價(jià)的呢FCB組成的目錄,用戶(hù)目錄,實(shí)際上就是一級(jí)目錄1) 兩級(jí)目錄結(jié)構(gòu)的優(yōu)點(diǎn):a. 提高了檢索目錄的速
48、度b. 在不同的文件目錄中,可以使用相同的文件名c. 不同用戶(hù)還可使用不同的文件名訪(fǎng)問(wèn)系統(tǒng)中的同一個(gè)共享文件2) 缺點(diǎn):a. 若一個(gè)用戶(hù)可以擁有很多文件,則查找時(shí)間仍然很長(zhǎng)b. 用戶(hù)無(wú)法對(duì)自己的文件進(jìn)行再分類(lèi)安排3) 樹(shù)型目錄結(jié)構(gòu)允許每個(gè)用戶(hù)可以擁有多個(gè)目錄,即在用戶(hù)目錄的下面可以再分子目錄,子目錄的下面還可以再有子目錄。但每個(gè)文件目錄中,只能有一個(gè)根目錄,每個(gè)文件和每個(gè)目錄都只能有一個(gè)父目錄4) 從根目錄出發(fā)到具體文件所經(jīng)過(guò)的各層名字,就構(gòu)成了文件的“路徑名”,從根目錄出發(fā)的這個(gè)路徑名,也稱(chēng)為文件的“絕對(duì)路徑名”。文件的絕對(duì)路徑名必須從根目錄出發(fā),且是唯一的,從分隔符開(kāi)頭在UNIX系統(tǒng)中,路
49、徑名各部分之間是用“/”分隔在MS-DOS系統(tǒng)中,路徑各部分是用“”分隔在MVLTICS系統(tǒng)中,路徑各部分之間是用“>”分隔在當(dāng)前目錄下的文件的路徑名,稱(chēng)為文件的相對(duì)路徑名5) 文件的“共享”是指一個(gè)文件可以被多個(gè)授權(quán)用戶(hù)共同使用分兩種:Ø 任何時(shí)刻只允許一個(gè)用戶(hù)使用共享文件Ø 允許多個(gè)用戶(hù)同時(shí)使用同一個(gè)共享文件,只進(jìn)行讀操作第6章 進(jìn)程間的制約關(guān)系1) 在多道程序設(shè)計(jì)環(huán)境下,進(jìn)程程序的執(zhí)行具有并發(fā)性,在相同的前提條件下,兩次執(zhí)行的結(jié)果有可能不相同,使得一個(gè)進(jìn)程對(duì)另一個(gè)進(jìn)程的影響無(wú)法預(yù)測(cè),在操作系統(tǒng)里把這種由于時(shí)間因素的影響而產(chǎn)生的錯(cuò)誤稱(chēng)為:“與時(shí)間有關(guān)的錯(cuò)誤”2)
50、進(jìn)程間具有兩種制約關(guān)系:互斥和同步a. 由于對(duì)共享資源的爭(zhēng)奪,導(dǎo)致進(jìn)程之間出現(xiàn)互斥關(guān)系b. 由于對(duì)任務(wù)的協(xié)調(diào)工作,導(dǎo)致進(jìn)城之間出現(xiàn)同步關(guān)系3) 把那些可以共享的資源(文件、隊(duì)列、緩沖區(qū)、表格、變量······)統(tǒng)稱(chēng)為共享變量或臨界資源與一個(gè)共享變量(或共享資源)交往的多個(gè)進(jìn)程,為了保證它們各自運(yùn)行結(jié)果的正確性,當(dāng)其中的一個(gè)進(jìn)程正在對(duì)該變量(臨界資源)進(jìn)行操作時(shí),就不允許其他進(jìn)程同時(shí)對(duì)它操作。進(jìn)程的這種制約關(guān)系被稱(chēng)為“互斥”4) 注意(互斥進(jìn)程)a. 作為具有互斥關(guān)系的進(jìn)程,它的一部分程序可能用于內(nèi)部的計(jì)算以及內(nèi)部的數(shù)據(jù)處理等,那么只有
51、設(shè)計(jì)共享變量的那一部分程序,才真正需要保證互斥地執(zhí)行,把進(jìn)程程序中“真正需要保證互斥執(zhí)行”的那一段程序(或在每個(gè)進(jìn)程中訪(fǎng)問(wèn)臨界資源的那段代碼)稱(chēng)為該進(jìn)程的臨界區(qū)(臨界段)b. 具有互斥關(guān)系的進(jìn)程,并不關(guān)心對(duì)方的存在,即使對(duì)方不存在,自己也能夠正確地運(yùn)行c. 具有互斥關(guān)系的那些進(jìn)程程序中的臨界區(qū),雖然都是針對(duì)同一個(gè)共享變量的程序,但在其上執(zhí)行的操作可以相同也可以不同d. 進(jìn)程的臨界區(qū)是相對(duì)于某個(gè)共享變量而言的,不同共享變量的臨界區(qū)之間,不存在互斥關(guān)系信號(hào)量及其定義在信號(hào)量上的P、V操作:1) 如何來(lái)保證進(jìn)程在臨界區(qū)執(zhí)行的互斥性,由信號(hào)量及其定義在信號(hào)量上的P、V操作具體完成,但遵循如下規(guī)則a.
52、如果有若干個(gè)進(jìn)程希望進(jìn)入臨界區(qū)時(shí),至少應(yīng)該允許一個(gè)進(jìn)入,而不能誰(shuí)也進(jìn)不去b. 每次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)c. 進(jìn)入臨界區(qū)的進(jìn)程不能無(wú)限期地把持臨界區(qū)2) 同步a. 需要在某些點(diǎn)上協(xié)調(diào)相互的動(dòng)作,誰(shuí)先到達(dá)誰(shuí)后到達(dá)是有順序要求的b. 這些進(jìn)程都應(yīng)該了解對(duì)方的工作,對(duì)方如果不存在,或任何一方單獨(dú)運(yùn)行,就會(huì)出現(xiàn)差錯(cuò)c. 一方或雙方的運(yùn)行會(huì)直接地依賴(lài)于對(duì)方所產(chǎn)生的的信息,或發(fā)出的消息3) 一個(gè)進(jìn)程運(yùn)行到某一點(diǎn)時(shí),除非合作進(jìn)程已經(jīng)完成了某種操作或發(fā)來(lái)了信息,否則就必須暫時(shí)等待那些操作的完成或信息的到來(lái)。進(jìn)程間的這種關(guān)系被稱(chēng)為“同步”,暫停以取得同步的那一點(diǎn)稱(chēng)為“同步點(diǎn)”,需要等待一個(gè)進(jìn)程完成的操作或發(fā)送的信息,稱(chēng)為
溫馨提示
- 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è)角色定位與專(zhuān)業(yè)發(fā)展路徑探究
- 公共財(cái)物授權(quán)管理辦法
- 固定資產(chǎn)管理系統(tǒng)設(shè)計(jì):理論與實(shí)踐
- 國(guó)際金融治理中的主權(quán)邊界問(wèn)題研究
- 生活藝術(shù)與創(chuàng)意表達(dá)
- 供水公司閥門(mén)管理辦法
- PPP項(xiàng)目績(jī)效評(píng)估指標(biāo)體系設(shè)計(jì)與應(yīng)用
- 港口安全管理
- 應(yīng)用型本科高?;A(chǔ)課程建設(shè)與實(shí)踐的創(chuàng)新探索
- 核心素養(yǎng)導(dǎo)向的小學(xué)語(yǔ)文習(xí)作大單元教學(xué)優(yōu)化策略
- JT-T 329-2025 公路橋梁預(yù)應(yīng)力鋼絞線(xiàn)用錨具、夾具和連接器
- 2024年質(zhì)量工程師備考常見(jiàn)問(wèn)答試題及答案
- 三通四通尺寸數(shù)據(jù)及標(biāo)準(zhǔn)表
- 2025-2030全球及中國(guó)管道運(yùn)輸服務(wù)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 安慶市桐城經(jīng)開(kāi)區(qū)建設(shè)投資集團(tuán)有限公司招聘筆試題庫(kù)2025
- JJF 2244-2025公共機(jī)構(gòu)重點(diǎn)用能單位能源資源計(jì)量審查規(guī)范
- 警犬基地人員管理制度
- 2025年甘肅省建筑安全員B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- ICU感控管理分析報(bào)告
- 垃圾分類(lèi)創(chuàng)新創(chuàng)業(yè)項(xiàng)目
- 體育賽事中的后勤保障工作
評(píng)論
0/150
提交評(píng)論