![《操作系統(tǒng)》課程學(xué)習(xí)筆記_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6e80f531-39db-4376-9643-86e646715e81/6e80f531-39db-4376-9643-86e646715e811.gif)
![《操作系統(tǒng)》課程學(xué)習(xí)筆記_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/6e80f531-39db-4376-9643-86e646715e81/6e80f531-39db-4376-9643-86e646715e812.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)學(xué)習(xí)筆記第1章 概述本章介紹了操作系統(tǒng)的基本概念。主要包括: 計算機系統(tǒng)由硬件和軟件兩大部分組成, 操作系統(tǒng)是計算機系統(tǒng)中的一種系統(tǒng)軟件, 它 管理計算機系統(tǒng)的資源和控制程序的執(zhí)行, 改善人機界面和為其他軟件提供支持。 它的設(shè)計 目標(biāo)是使用戶方便地使用計算機系統(tǒng)和使得計算機系統(tǒng)能高效地工作。計算機配置操作系統(tǒng)的目的是提高資源利用率。操作系統(tǒng)的形成和發(fā)展與計算機硬件和其他軟件的發(fā)展密切相關(guān)。 隨著計算機應(yīng)用的日 益廣泛, 操作系統(tǒng)的功能也日趨完善, 根據(jù)計算機系統(tǒng)的功能和應(yīng)用, 操作系統(tǒng)可分成幾類: 批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。批處理操作系統(tǒng)
2、按照用戶預(yù)先規(guī)定好的步驟控制作業(yè)的執(zhí)行,實現(xiàn)計算機操作的 自動 化,無須人工干預(yù) 。批處理多道系統(tǒng)還可以充分利用計算機系統(tǒng)的資源, 縮短作業(yè)執(zhí)行時間, 提高系統(tǒng)的吞吐率。分時操作系統(tǒng)支持多個終端用戶同時以 交互方 式使用計算機系統(tǒng), 為用戶在測試、 修改 和控制程序執(zhí)行方面提供了靈活性。實時操作系統(tǒng)是實現(xiàn)實時控制的系統(tǒng), 它由外部信號觸發(fā)而工作, 并在特定的時間內(nèi)完 成處理,且給出反饋信號。 實時系統(tǒng)對可靠性和安全性的要求極高, 不強求系統(tǒng)資源的利用 率。個人計算機系統(tǒng)都是使用微行計算機。比起大型機來,微行機既小又便宜。 但是, 個人 計算機系統(tǒng)的資源和功能相對有限。為了滿足較大規(guī)模的應(yīng)用,可
3、把若干臺個人計算機系統(tǒng) 構(gòu)成計算機網(wǎng)絡(luò)。根據(jù)計算機網(wǎng)絡(luò)的結(jié)構(gòu)、 通信方式和資源管理方法, 分別配置網(wǎng)絡(luò)操作系 統(tǒng)或分布式操作系統(tǒng)。操作系統(tǒng)的資源管理功能可以分為四大部分: 處理器管理、存儲管理、 文件管理、 設(shè)備 管理。重點內(nèi)容(一)操作系統(tǒng)的定義 操作系統(tǒng)是一種管理計算機系統(tǒng)資源、控制程序執(zhí)行、改善人機界面和為其 他軟件提供支持的系統(tǒng)軟件。(二)操作系統(tǒng)的類型 批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操 作系統(tǒng)、多機操作系統(tǒng)和嵌入式操作系統(tǒng)。其中前三種是基本的操作系統(tǒng)。(四)操作系統(tǒng)的功能操作系統(tǒng)負(fù)責(zé)管理計算機系統(tǒng)的所有資源, 并調(diào)度這些資源的使用。 具體來說, 其主
4、要 功能有:處理器管理、存儲管理、設(shè)備管理、文件管理??记榉治?.1計算機系統(tǒng)概述一、計算機系統(tǒng)1 1、計算機系統(tǒng)定義:是按用戶的要求接收和存儲信息、自動進行數(shù)據(jù)處理并輸出結(jié)果 信息的系統(tǒng)。2 2、計算機系統(tǒng)構(gòu)成:硬件系統(tǒng)和軟件系統(tǒng)。軟件系統(tǒng): :系統(tǒng)軟件 (操作系統(tǒng)、編譯系統(tǒng) ) 、支撐軟件、應(yīng)用軟件。3 3、硬件系統(tǒng)組成:中央處理器(CPUCPU、主存儲器、輔助存儲器、各種輸入 / /輸出設(shè)備。 計算機之父:馮 . . 諾依曼 馮. . 諾依曼的貢獻:( 1 1)提出用二進制表示數(shù);(2 2)提出五大部件組成計算機;(3 3)提出“存儲程序”思想,即把程序和數(shù)據(jù)都存放在存儲器,早期的程序是
5、由開關(guān) 控制實現(xiàn)的,數(shù)據(jù)是存放在存儲器中。二、操作系統(tǒng)1 1、操作系統(tǒng)定義:是一種管理計算機系統(tǒng)資源、控制程序執(zhí)行、改善人機界面和為其 他軟件提供支持的系統(tǒng)軟件。從用戶觀點 理解,操作系統(tǒng)是人機交互接口;從資源管理 角度,操作系統(tǒng)是管理計算機的軟、硬件資源;從程序控制 觀點,操作系統(tǒng)控制計算機程序的執(zhí)行??偨Y(jié)為:操作系統(tǒng)是:(1 1)管理計算機的軟件、硬件資源;(2 2)合理組織計算機工作流程;(3 3)提供方便用戶操作的接口和軟件的集合。計算機配置操作系統(tǒng)的目的是 提高資源的利用率 。 操作使用者認(rèn)為操作系統(tǒng)認(rèn)為操作是一組 命令 的集合, 它接收輸入的命令, 程序設(shè)計人 員認(rèn)為操作系統(tǒng)是一組
6、功能 調(diào)用程序(系統(tǒng)調(diào)用) 的集合。2 2、操作系統(tǒng)兩個主要設(shè)計原則:(1 1)能使得計算機系統(tǒng)使用方便。即方便(2 2)提高計算機工作效率。即效率1.2操作系統(tǒng)的發(fā)展1 1、控制臺:早期,程序的裝入、調(diào)試以及控制程序的運行都是程序員通過控制臺上的 開關(guān)來實現(xiàn)。(第一階段,人工階段)2 2、原始匯編系統(tǒng):用匯編語言編寫的程序稱為源程序,它不能直接在機器上執(zhí)行,只 有通過匯編語言解釋程序把源程序轉(zhuǎn)換成用機器指令序列表示的目標(biāo)程序后才能在計算機 上運行。3 3、設(shè)備驅(qū)動程序:是最 原始的操作系統(tǒng) 。是一種控制設(shè)備工作的程序。4 4、管理程序:是初級的操作系統(tǒng)。是一種能對計算機硬件和軟件進行管理和調(diào)
7、度的程 序。 (第二階段)5 5、操作系統(tǒng):采用了 SPOOLINGSPOOLING處理形式。SPOOLINSPOOLIN 又稱“斯普林”(翻譯為聯(lián)機的同時外圍設(shè)備操作 )。從本質(zhì)上說,SPOOLINGSPOOLING 是把磁盤作為一個巨大的緩沖器。 在一個計算問題開始之前, 把計算所需要的程序和數(shù)據(jù)從 讀卡機或其他輸入設(shè)備上預(yù)先輸入到磁盤上存放。 這樣,在進行計算時不再需要訪問讀卡機 等慢速的輸入設(shè)備, 而可以從速度快得多的磁盤上讀取程序和數(shù)據(jù)。 同樣, 對于計算的結(jié)果 也是先在磁盤上緩沖存放, 待計算完成后, 再從打印機上打印出該計算問題的所有計算結(jié)果。(第三階段)操作系統(tǒng)發(fā)展的歷史:(
8、1 1)無操作系統(tǒng)階段(第一代) 這個階段有卡片、磁帶機和打印機。通過各種開關(guān)操作計算機。特點:用戶獨占計算機 CPUCPU 等待人工操作缺點:資源利用率低,CPICPI 利用不充分(人機矛盾,隨著計算機速度的提高日益顯著)。( 2 2)管理程序階段(第二代)出現(xiàn)了編程語言:FORTRAFORTRANCOBOCOBOL第一個完整操作系統(tǒng)在 IBM360IBM360 上。特點:半自動方式管理部分資源資源可實現(xiàn)簡單共享 這個階段提供了一套控制命令控制卡, 以此來成批地處理用戶程序, 使其能自動有 序執(zhí)行。缺點:CPUCPU=絕對地址 =界限地址,成立則可執(zhí)行,否則有地址錯誤, 形成“地址越界”的程
9、序性中斷事件。5 5、 缺點: (1 1)當(dāng)作業(yè)執(zhí)行中出現(xiàn)了某個等待事件(如訪問外設(shè))時,處理器就處于空閑狀態(tài),不能被利用。(CPCP 困用率低)( 2 2)一個作業(yè)獨占主存中的用戶區(qū), 當(dāng)主存中有空閑區(qū)域時, 也不能被其他作業(yè)利用, 降低了主存空間的利用率。 (主礅利用率低)(3 3)外圍設(shè)備也不能充分被利用。(外設(shè)利用率低,外設(shè)不能與 CPICPI 并行工作)二、 覆蓋技術(shù)1 1、 將作業(yè)劃分成若干段,其中有一個主程序段是作業(yè)執(zhí)行過程中經(jīng)常要用到的信息, 而其他輔程序段是不會同時工作的。2 2、 主程序段入駐留區(qū);其他輔程序段輪流入覆蓋區(qū)。在分時系統(tǒng)中, 單用戶連續(xù)存儲管理可用對換方式讓多
10、個用戶的作業(yè)輪流進入主存儲器 執(zhí)行。系統(tǒng)中必須要有一個大容量的高速輔助存儲器, 多個用戶的作業(yè)信息都被保留在磁盤 上,把一個作業(yè)先裝入主存儲器讓它執(zhí)行。 當(dāng)執(zhí)行中出現(xiàn)等待事件或用完一個時間片時, 把 該作業(yè)從存儲器換出,再把由調(diào)度程序選中的另一個作業(yè)換入到主存儲器中。四、擴展知識1 1、 計算機啟動的四大模塊(1 1)基本輸入輸出模塊(主板 BIOSBIOS 芯片)( 2 2) IO.SYSIO.SYS 輸入輸出模塊(3 3)MSDOS.SYSMSDOS.SYS儲管理模塊(核心)(4 4)COMMAND.COMCOMMAND.COM 令處理模擬(人機交互的接口)2 2、 計算機啟動變慢的原因(
11、 1 1)虛擬內(nèi)存文件( pagefile.syspagefile.sys )中垃圾信息太多( 2 2)啟動加載項太多,特別是殺毒軟件(實時監(jiān)測工具)加載多個( 3 3)硬盤碎片太多。3 3、 主存空間大小 = =物理內(nèi)存大小 + +各分區(qū)上虛擬內(nèi)存大小之和3.2.2固定分區(qū)存儲管理一、基本原理為解決主存空間利用率低和 CPICPI 利用率低及外外設(shè)的利用低,而引入固定分區(qū)存儲管理。 這種分區(qū)存儲管理與 多道程序設(shè)計技術(shù) 一起出現(xiàn)。將主存儲器中可分配的用戶區(qū)域預(yù)先劃分成若干個連續(xù)區(qū),每個連續(xù)區(qū)成為一個分區(qū)。 每個分區(qū)的大小可以相同, 也可以不同。 每個分區(qū)僅可用來裝入一個作業(yè), 但不允許在一個
12、 分區(qū)中同時裝入多個作業(yè)。二、 主存空間的分配與回收系統(tǒng)設(shè)置一張“分區(qū)分配表”, 用來說明各分區(qū)的分配和使用情況。表中指出各分區(qū)的 起始地址和長度,并為每個分區(qū)設(shè)置一個標(biāo)志位。當(dāng)標(biāo)志位為“0 0”時表示分區(qū)空閑,當(dāng)標(biāo)志位非“ 0 0”時表示分區(qū)已被占用。三、 地址轉(zhuǎn)換和存儲保護1 1、 地址轉(zhuǎn)換:采用靜態(tài)重定位方式。2 2、 存儲保護:處理器設(shè)置一對寄存器,即“下限寄存器”和“上限寄存器”用來存放 當(dāng)前進程所對應(yīng)分區(qū)的下限地址和上限地址分別送入下限寄存器和上限寄存器。下限地址 =絕對地址 =上限地址 成立則執(zhí)行,否則產(chǎn)生“地址越界”中斷。四、缺點出現(xiàn)了“內(nèi)零頭”,又稱碎片,是指 主存中無法被利
13、用的小空閑區(qū)。3.2.3可變分區(qū)存儲管理一、 主存空間的分配與回收1 1、 為解決內(nèi)零頭問題而引入可變分區(qū)存儲管理。2 2、 分區(qū)的劃分:系統(tǒng)初始啟動時,主存儲器中除操作系統(tǒng)占用部分外,把整個用戶區(qū) 看做一個大的空閑區(qū)。 當(dāng)有作業(yè)要裝入主存儲器時, 根據(jù)作業(yè)對主存空間的需要量, 從空閑 區(qū)中劃出一個與作業(yè)長度一致的分區(qū)來裝入作業(yè),剩余部分仍為空閑區(qū)。3 3、 主存空間的分配算法:分區(qū)分配表由兩張表格組成,一張是“已分配區(qū)表”, 另一 張是“空閑區(qū)表”。4 4、 常用的分配算法( 1 1)最先適應(yīng)分配算法:每次分配是總是順序查找空閑去表,找到第一個能滿足作業(yè) 長度要求的空閑區(qū),分割這個找到的空閑
14、區(qū),一部分分配給作業(yè),另一部分分配給空閑區(qū)。空閑區(qū)按首地址由小到大排序,高地址區(qū)有利于大作業(yè)裝入。(2 2) 最優(yōu)適應(yīng)分配算法: 按作業(yè)要求從所有的空閑區(qū)中挑選一個能滿足作業(yè)要求的最 小空閑區(qū),這樣可保證不去分割一個更大的區(qū)域,使裝入大作業(yè)時比較容易得到滿足。空閑區(qū)按空閑區(qū)長度由小到大排序,有利于大作業(yè)的裝入。(3 3) 最壞適應(yīng)分配算法: 這種算法總是挑選一個最大的空閑區(qū)分割一部分給作業(yè)使用, 使剩下的部分不至于太小,仍可供分配使用??臻e區(qū)按首地址空閑區(qū)長度由大到小排序,不利于大作業(yè)的裝入。5 5、 主存空間的回收算法(1 1)歸還區(qū)有下鄰空閑區(qū)(空間區(qū)沒有增加);(2 2)歸還區(qū)有上鄰空閑
15、區(qū)(空間區(qū)沒有增加);(3 3) 歸還區(qū)既有上鄰空閑區(qū)又有下鄰空閑區(qū)(空閑區(qū)減少1 1 個);(4 4) 歸還區(qū)既無上鄰空閑區(qū)又無下鄰空閑區(qū)(空閑區(qū)增加1 1 個)。二、 地址轉(zhuǎn)換和存儲保護1 1、地址轉(zhuǎn)換:采用 動態(tài)重定位 。作業(yè)執(zhí)行過程中,每當(dāng)取出一條指令后,就把該指令 中的相對地址與基址寄存器的內(nèi)容相加得到絕對地址。 可變分區(qū)存儲管理一般采用動態(tài)重定 位的方式。為實現(xiàn)地址重定位和存儲保護,系統(tǒng)設(shè)置了相應(yīng)的硬件;基址/ / 限長寄存器(或上界 / /下界寄存器)、加法器、比較線路等?;丶拇嫫饔脕泶娣懦绦蛟趦?nèi)存的起始地址, 限長寄存器用來存。 處理器作業(yè)的基址寄 存器內(nèi)容與作業(yè)長度之和。
16、在執(zhí)行時, 用程序中的相對地址加上基址寄存器中的基地址, 形 成一個絕對地址,并將相對地址與限長寄存器進行計算比較,檢查是否發(fā)生地址越界。2 2、存儲保護基址寄存器內(nèi)容 =絕對地址 =0s0 寸,S S 表示可使用的資源數(shù)或表示可使用資源的進程數(shù);s=0s=0 寸,S S 表示無資源可供使用或表示不允許進程再進入臨界區(qū);s0s0s0),調(diào)用 P P (S S)后不會成為等待,進程可以使用資源。當(dāng)無資 源可使用或不允許使用資源時(S=0S0S0 時調(diào)用 V V (S S)后使可用的資源數(shù)加 1 1 或使可用資源的進程數(shù)加 1 1。當(dāng) s=0s=0 寸調(diào)用 V V(S S)后將釋放一個等待使用資源
17、者或釋放一個等待進入臨界區(qū)者實現(xiàn) 進程互斥時,用一個信號量與一組相關(guān)臨界區(qū)對應(yīng),這些進程在同一個信號量上調(diào)用P P 操作和 V V 操作來實現(xiàn)互斥。實現(xiàn)進程同步時,每一個消息與一個信號量對應(yīng),進程在不同信號量 上調(diào)用 P P 操作以測試自己需要的消息是否到達,在不同信號量上調(diào)用 V V 操作可把不同的消息發(fā)送出去。除 PVPV 操作同步機制外,其他的同步機制還有“管程” (monitormonitor )和“忙時等待”等,有興趣的話可參閱其他書籍。進程可用信件來傳送大量信息, 一個進程可以發(fā)送一封信, 把信息告訴其他進程或請求 其他進程協(xié)助工作。 發(fā)送信件者必須在信件中指出信件送給誰 (或哪個
18、信箱) 以及所要的信 息(或信息存放地址), 這樣才能使收信者收到信件和取道信息。信件的傳送要求依賴專門 的通信機制,通信機制由一些通信原語組成,其中sendsend 原語和 receivereceive 原語是最基本的通信原語。多線程技術(shù)是操作系統(tǒng)的發(fā)展趨勢,它能提高計算機系統(tǒng)的性能。 重點內(nèi)容(一)進程的順序性和并發(fā)性1 1進程的順序性目前使用的計算機的基本特點是處理器順序執(zhí)行指令。 進程的順序性就是指進程在順序 處理器上的執(zhí)行是嚴(yán)格按序的。當(dāng)一個進程獨占處理器順序執(zhí)行時,具有封閉性和可再現(xiàn)性兩個特性。 封閉性是指進程執(zhí)行的結(jié)果只取決于進程本身, 不受外界影響。 可再現(xiàn)性是指當(dāng)進程重復(fù)執(zhí)行
19、時,必定獲得相同的結(jié)果。2 2進程的并發(fā)性 可同時執(zhí)行的進程是指這些進程執(zhí)行在時間上是重疊的,即一個進程的工作沒有全部 完成之前,另一個進程就可以開始工作。若系統(tǒng)中存在一組可同時執(zhí)行的進程, 則該組進程具有并發(fā)性, 可同時執(zhí)行的進程稱為 并發(fā)進程。3 3并發(fā)進程間的關(guān)系 并發(fā)進程間的關(guān)系可以是無關(guān)的, 也可以是有交互的。 并發(fā)進程間無關(guān)是指它們是各自 獨立的,即如果一個進程的執(zhí)行不影響其他進程的執(zhí)行,且與其他進程的進展情況無關(guān);則 并發(fā)進程間有交互是指一個進程的執(zhí)行可能影響其他進程的執(zhí)行結(jié)果, 即一個進程的執(zhí)行依 賴其他進程的進展情況。有交互的并發(fā)進程一定共享某些資源。(二) 與時間有關(guān)的錯誤
20、 有交互的并發(fā)進程可能會同時使用共享資源, 如果對這種情況不加控制, 在使用共享資 源時會出錯。 典型的例子是由觀察者和報告者兩個進程管理交通路口的自動計數(shù)系統(tǒng)。 觀察 者識別卡車并計數(shù),報告者定時把觀察者的計數(shù)值打印輸出,然后把計數(shù)值清 0 0。當(dāng)這兩個 進程并發(fā)執(zhí)行時,若報告者進程執(zhí)行時無卡車通過,則能正確統(tǒng)計某時間段內(nèi)的卡車數(shù)量; 若報告者進程執(zhí)行時有卡車通過,統(tǒng)計結(jié)果會產(chǎn)生錯誤。(三) 臨界區(qū)與 PVPV 操作1 1、 臨界區(qū) 臨界區(qū)是指并發(fā)進程中與共享變量有關(guān)的程序段。2 2、 相關(guān)臨界區(qū) 相關(guān)臨界區(qū)是指并發(fā)進程中涉及相同變量的那些臨界區(qū)。 只要若干并發(fā)進程的相關(guān)臨界區(qū)互斥執(zhí)行,就不
21、會造成與時間有關(guān)的錯誤。3 3、 管理相關(guān)臨界區(qū)的三點要求( 1 1)一次最多讓一個進程在臨界區(qū)執(zhí)行;( 2 2)任何一個進入臨界區(qū)執(zhí)行的進程必須在有限的時間內(nèi)退出臨界區(qū);( 3 3)不能強迫一個進程無限地等待進入它的臨界區(qū)。4 4、 PVPV 操作P P 操作和 V V 操作是兩個在信號量上進行操作的過程,PVPV 操作就是由這兩個操作組成的。假設(shè)用 S S 表示信號量,用 P P ( S S)和 V V (S S)表示 P P、V V 操作。(1) P P( S S)的過程如下:S S 直減 1 1;若 S0,S=0,S=0,則當(dāng)前進程繼續(xù)執(zhí)行。(2) V V ( S S)的過程如下;S
22、S 直加 1 1 ;若 S=0,S0,S0,則當(dāng)前進程繼續(xù)進行。不可中斷的過程稱為原語,所以 P P 操作和 V V 操作也稱為 P P 操作原語和 V V 操作原語。5 5用 PVPV 操作管理臨界區(qū) 用一個信號與一組涉及共享變量的相關(guān)臨界區(qū)相對應(yīng)。信號量的初直定為1 1,任何一個進程進入臨界區(qū)前, 先調(diào)用 P P 操作,退出臨界區(qū)時調(diào)用 V V 操作,就能滿足管理相關(guān)臨界區(qū)的三 個要求。(四) 進程的互斥 進程的互斥是指當(dāng)有若干進程都要使用某一共享資源時, 任何時刻最多只允許一個進程去使用該資源,其他要使用它的進程必須等待,直到該資源的占用者釋放了該資源。實際上共享資源的互斥使用就是使得并
23、發(fā)進程互斥地進入臨界區(qū)。7.1進程的PV操作一、進程的順序性1 1、進程的順序性:是指進程在順序處理器上的執(zhí)行是嚴(yán)格按序的,即按照程序規(guī)定的 操作順序,只有在前一個操作結(jié)束后才能開始后繼操作。2 2、進程順序執(zhí)行的特性:(1 1)封閉性:進程執(zhí)行的結(jié)果只取決于進程本身,不受外界影響。也就是說,進程執(zhí) 行的結(jié)果與其執(zhí)行的速度無關(guān)。(2 2)可再現(xiàn)性:進程重復(fù)執(zhí)行時,必定獲得同樣的結(jié)果。二、進程的并發(fā)性1 1、并發(fā)性:在一個進程的工作沒有全部完成之前,另一個進程就可以開始工作,我們 說這些進程是可同時執(zhí)行的, 或稱它們具有并發(fā)性, 并且把可同時執(zhí)行的進程稱為并發(fā)進程。2 2、并發(fā)進程間的關(guān)系:(1
24、 1)無關(guān):如果一個進程的執(zhí)行不影響其它進程的執(zhí)行結(jié)果,也不依賴其它進程的進 展情況,即它們是各自獨立的,則說這些進程相互之間是無關(guān)的。(2 2)有交互:如果一個進程的執(zhí)行要依賴其它進程的進展情況,或者可能會影響其它 進程的執(zhí)行結(jié)果, 則說這些進程相互之間是有交互的。 有交互的進程并發(fā)執(zhí)行時, 執(zhí)行結(jié)果 與其執(zhí)行的相對速度有關(guān)。 例如, 如果輸入進程尚未把一批數(shù)據(jù)全部讀入, 處理進程就對其 進行加工的話,那么其結(jié)果就會出錯。因而,進程的并發(fā)執(zhí)行會破壞“封閉性”和“可再現(xiàn) 性”。三、與時間有關(guān)的錯誤造成進程執(zhí)行不正確的因素是與進程占用處理器的時間、 執(zhí)行的速度以及外界的影響有 關(guān)。這些因素都與時
25、間有關(guān),所以把它們稱為與時間有關(guān)的錯誤。0909 年 7 7 月解答題就考了本知識點四、臨界區(qū)與 PVPV 操作(一)臨界區(qū)1 1、臨界區(qū):是指并發(fā)進程中與共享變量有關(guān)的程序段。2 2、相關(guān)臨界區(qū):是指并發(fā)進程中涉及相同變量的那些臨界區(qū)。說明: 如果有進程在臨界區(qū)執(zhí)行時, 不讓另一個進程進入相關(guān)的臨界區(qū)執(zhí)行, 就不會形 成多個進程對相同的共享變量交叉訪問,于是就可避免出現(xiàn)與時間有關(guān)的錯誤。3 3、相關(guān)臨界區(qū)的管理要求:( 1 1) 一次最多一個進程能夠進入臨界區(qū)。 當(dāng)有進程在臨界區(qū)執(zhí)行時, 其它想進入臨界 區(qū)執(zhí)行的進程必須等待。(2 2) 不能讓一個進程無限制地在臨界區(qū)執(zhí)行,即任何一個進入臨界
26、區(qū)的進程必須在有 限的時間內(nèi)退出臨界區(qū)。(3 3) 不能強迫一個進程無限制地等待進入它的臨界區(qū),即有進程退出臨界區(qū)時應(yīng)讓一 個等待進入臨界區(qū)的進程進入它的臨界區(qū)執(zhí)行。(二)PVPV 操作(是不可中斷的過程,即原語)1 1、 P P 操作(占用資源的過程):將信號量S S 減去 1 1,若結(jié)果小于 0 0 ,則把調(diào)用 P P(S S)的 進程置成等待信號量 S S 的狀態(tài)。2 2、 V V 操作(釋放資源的過程):將信號量S S 加 1 1, 若結(jié)果不大于 0,0,則釋放一個等待信 號量 S S 的進程。(三)用 PVPV 操作管理臨界區(qū)P P (S S); 臨界區(qū) CiCi ;V V( S S
27、);7.2進程的互斥一、 用 PVPV 操作實現(xiàn)進程的互斥進程的互斥: 是指當(dāng)有若干進程都要使用某一共享資源時, 任何時刻最多只允許一個進 程去使用該資源,其它要使用它的進程必須等待,直到該資源的占用者釋放了該資源。二、 讀者 / / 寫者問題1 1、共享文件:在計算機系統(tǒng)中,把可供多個進程使用的文件稱為共享文件。我們把想 讀文件信息的進程稱為讀者(讀進程),把想修改文件內(nèi)容的進程稱為寫者(寫進程)。2 2、共享文件的管理方式:( 1 1)不允許多個進程同時使用共享文件: 這種管理方式限制了每次只有一個進程可以 使用文件。實際上這仍是一個互斥使用共享資源的問題。( 2 2)允許多個進程同時使用
28、共享文件。要注意使用規(guī)則。7.3進程的同步一、協(xié)作1 1、 進程 A A 把一個記錄存入緩沖區(qū)后,應(yīng)向進程B B 發(fā)送“緩沖區(qū)中有等待處理的記錄”的 消息。2 2、 進程 B B 從緩沖區(qū)取出一個記錄后, 應(yīng)向進程 A A 發(fā)送“緩沖區(qū)中的記錄已取走”的消息。3 3、進程 A A 只有在得到進程 B B 發(fā)送來的“緩沖區(qū)中的記錄已取走”的消息后,才能把下一 個記錄存入緩沖區(qū),否則進程 A A 等待,直到消息到達。4 4、進程 B B 只有在得到進程 A A 發(fā)送來的“緩沖區(qū)中有等待處理的記錄”的消息后,才能從緩沖區(qū)中取出記錄并加工,否則進程B B 等待,直到消息到達。二、用 PVPV 操作實現(xiàn)
29、進程的同步,0707 年 4 4 月綜合體就考了本知識點1 1、進程的同步: 是指并發(fā)進程之間存在一種制約關(guān)系, 一個進程的執(zhí)行依賴另一個進 程的消息,當(dāng)一個進程沒有得到另一個進程的消息時應(yīng)等待,直到消息到達才被喚醒。2 2、同步機制:要實現(xiàn)進程的同步就必須提供一種機制,這種機制應(yīng)能把其它進程所需 的消息發(fā)送出去, 也能測試自己需要的消息是否到達。 把能實現(xiàn)進程同步的機制稱為同步機 制。3 3、同步與互斥概括: 進程的同步與進程的互斥都涉及到并發(fā)進程訪問共享資源的問題。 從進程互斥和進程同步的討論中, 我們看到,進程的互斥實際上是進程同步的一種特殊情況。 實現(xiàn)進程互斥時用 P P 操作測試是否
30、可以使用共享資源,這相當(dāng)于測試“資源可使用”的消 息是否到達;用 V V 操作歸還共享資源,這相當(dāng)于發(fā)送了“共享資源已空閑”的消息。因此 互斥使用資源的進程之間實際上也存在一個進程等待另一個進程發(fā)送消息的制約關(guān)系。所 以,經(jīng)常把進程的互斥與進程的同步統(tǒng)稱為進程的同步, 把用來解決進程互斥與進程同步的 機制(如 PVPV 操作)統(tǒng)稱為同步機制。4 4、同步與互斥的混合問題: 若一組涉及共享資源的并發(fā)進程執(zhí)行時不僅要等待指定的 消息到達,而且還必須考慮資源的互斥使用, 那么,就既要實現(xiàn)進程的同步,又要實現(xiàn)進程 的互斥。這樣一類問題就是同步與互斥的混合問題。7.4死 鎖內(nèi)容概要 本節(jié)主要介紹了死鎖的
31、基本概念以及對解決死鎖的幾種方法。主要包括: 若系統(tǒng)中存在一組進程, 它們中的每一個進程都占用了某種資源而又都在等待其中另一 個進程所占用的資源,這種等待永遠(yuǎn)不能結(jié)束,則說系統(tǒng)出現(xiàn)了“死鎖”。死鎖是由于進程競爭互斥使用資源且又互不相讓形成的, 所以,系統(tǒng)中形成死鎖一定同 時保持了 4 4 個必要條件, 即互斥使用資源、 占用并等待資源、 不可搶奪資源和循環(huán)等待資源。 但要注意這是死鎖的必要條件,而不是充分條件。解決死鎖問題可以有 3 3 種方式:(1 1)死鎖的防止。預(yù)先確定一些資源分配策略,進程按規(guī)定申請資源,系統(tǒng)按預(yù)定的 策略進行分配,這些功能策略均能使死鎖的4 4 個必要條件中的一個條件
32、不成立,從而使系統(tǒng)不發(fā)生死鎖。(2 2)死鎖的避免。當(dāng)進程提出資源申請時,系統(tǒng)動態(tài)測試資源分配情況,僅當(dāng)能確保 系統(tǒng)安全時才把資源分配給進程, 銀行家算法雖然很保守, 但它可保證系統(tǒng)時時刻刻都處于 安全狀態(tài)。(3 3)死鎖的檢測。多資源的申請和分配不加限制,只要有剩余的資源就可把資源分配 給申請者,這樣就可能出現(xiàn)死鎖,于是系統(tǒng)要定時運行一個“死鎖檢測程序”,若檢測時沒 有發(fā)現(xiàn)死鎖則系統(tǒng)可繼續(xù)工作;若檢測時發(fā)現(xiàn)有死鎖則必須先解除死鎖再繼續(xù)工作。在一個實際的操作系統(tǒng)中要兼顧資源的使用效率和安全可靠, 對不同的資源可以采用不 不同的分配策略, 往往采用死鎖的防止、 避免和檢測的混合策略, 以使整個系
33、統(tǒng)能處于安全 狀態(tài)不出現(xiàn)死鎖??记榉治?.4.1死鎖的形成1 1、死鎖概念:若系統(tǒng)中存在一組進程(兩個或多個),它們中每個進程都占用了某種資源, 又都在等待已被該組進程中的其它進程占用的資源, 如果這種等待永遠(yuǎn)不能結(jié)束, 則 說系統(tǒng)出現(xiàn)了死鎖,或者說這組進程處于死鎖狀態(tài)。2 2、死鎖的形成: (1 1)與進程對資源的需求有關(guān); ( 2 2)與進程的執(zhí)行速度有關(guān);(3 3)與資源的分配策略有關(guān)。7.4.2死鎖的防止一、死鎖的必要條件:(即死鎖產(chǎn)生一定會成立的條件) 1 1、互斥地使用資源:每個資源每次只能給一個進程使用。 2 2、占有且等待資源:一個進程占有了某些資源后又申請新資源而得不到滿足時
34、,處于 等待資源的狀態(tài),且不釋放已占資源。3 3、不可搶奪資源:任何一個進程不能搶奪另一個進程所占的資源。4 4、循環(huán)等待資源:相互等待已被其它進程占用的資源。必要條件說明: 以上四個條件僅僅是必要條件而不是充分條件, 即只要發(fā)生死鎖, 則這 四個條件一定同時成立, 如果其中的一個或幾個條件不成立, 則一定沒有死鎖。 但反之不然, 即若這四個條件同時成立,系統(tǒng)未必就有死鎖存在。二、互斥條件 要使互斥使用資源的條件不成立, 唯一的辦法是允許進程共享資源。 但部分硬件設(shè)備的 物理特性是改變不了的,所以要想破壞“互斥使用資源”這個條件經(jīng)常是行不通的。三、占有并等待條件 1 1、靜態(tài)分配資源:是指進程
35、必須在開始執(zhí)行前就申請自己所要的全部資源,僅當(dāng)系統(tǒng)能滿足進程的全部資源申請要求且把資源分配給進程后,該進程才開始執(zhí)行。 2 2、釋放已占資源:僅當(dāng)進程沒有占用資源時,才允許它去申請資源。因此,如果進程 已經(jīng)占用了某些資源而又要再申請資源,那么按此策略的要求, 它應(yīng)先歸還所占的資源, 歸 還后才允許申請新資源。 (如進程要占用磁帶機,又要申請打印機, 可以先啟動磁帶機工作, 完成后先釋放磁帶機再申請打印機。 由于申請者是在歸還資源后才申請新資源, 故不會出現(xiàn) 占有了部分資源再等待其它資源的現(xiàn)象。)四、不可搶奪條件為了使這個條件不成立, 我們可以約定如下: 如果一個進程已占有了某些資源又要申請 新
36、資源R,R,而 R R 已被另一進程 P P 占用因而必須等待時,則系統(tǒng)可以搶奪進程P P 已占用的資源 R Ro具體做法如下:(1) 若進程 A A 申請的資源 R R 尚未被占用,則系統(tǒng)可把資源 R R 分配給進程 A Ao(2) 若進程 A A 申請的資源 R R 已被進程 B B 占用,則查看進程 B B 的狀態(tài)。如果進程 B B 處于等待另 一個資源的狀態(tài),那么就搶奪進程 B B 已占的資源 R,R,并把 R R 分配給進程 A A,適當(dāng)?shù)臅r候再把 R R 歸 還給進程 B B使用;否則讓進程 A A 處于等待資源 R R 的狀態(tài)。(3) 一個等待資源的進程只有在得到自己所申請的新資
37、源和所有被其它進程搶奪去的 老資源后,才能繼續(xù)執(zhí)行。四、循環(huán)等待條件對資源采用按序分配的策略可使循環(huán)等待資源的條件不成立。 按序分配資源是指對系統(tǒng) 中所有資源排一個順序, 對每一個資源給出一個確定的編號, 規(guī)定任何一個進程申請兩個以 上資源時,總是先申請編號小的資源,再申請編號大的資源。7.4.3死鎖的避免一、 安全狀態(tài)1 1、 安全狀態(tài)概念:如果操作系統(tǒng)能保證所有的進程在有限的時間內(nèi)得到需要的全部資源,則稱系統(tǒng)處于安全狀態(tài),否則說系統(tǒng)是不安全的。顯然,處于安全狀態(tài)的系統(tǒng)不會發(fā)生死鎖,而處于不安全狀態(tài)的系統(tǒng)可能會發(fā)生死鎖。2 2、 資源分配算法:在分配資源時,只要系統(tǒng)能保持處于安全狀態(tài),就可避
38、免死鎖的發(fā)生。故每當(dāng)有進程提出分配資源的請求時,系統(tǒng)應(yīng)分析各進程已占資源數(shù)、尚需資源數(shù)和系統(tǒng)中可以分配的剩余資源數(shù),確定是否處于安全狀態(tài)。如果分配后系統(tǒng)仍然能維持安全狀態(tài), 則可為該進程分配資源, 否則就暫不為申請者分配資源, 直到其它進程歸還資源后再考慮它 的分配問題。二、 銀行家算法( 0707 年綜合體考查了本知識點)1 1、當(dāng)一個用戶對資金的最大需求量不超過銀行家現(xiàn)有的資金時,就可接納該用戶;2 2、用戶可以分期貸款,但貸款總數(shù)不能超過最大需求量;3 3、當(dāng)銀行家現(xiàn)有的資金不能滿足用戶的尚需貸款數(shù)時,可以推遲支付,但總能使用戶 在有限的時間里得到貸款;4 4、當(dāng)用戶得到所需的全部資金后
39、,一定能在有限時間里歸還所有的資金。7.4.5死鎖的檢測一、死鎖的檢測方法1 1、每類資源中只有一個資源:如果每類資源中只有一個資源,則可以設(shè)置兩張表格來記錄進程使用和等待資源的情況。一張為占用表,記錄進程占用資源的情況。另一張為等待表,記錄進程正在等待資源的情況。任一進程申請資源時,若該資源空閑, 則把該資源分配給申請者, 且在占用表中登記, 否則把申請者登入等待表中。 死鎖檢測程序 定時地檢測這兩張表。如果發(fā)現(xiàn)有循環(huán)等待資源的進程,則表明有死鎖出現(xiàn)。2 2、資源類中含有若干個資源:(1) 初始檢測:找出資源已經(jīng)滿足的進程,即不再申請資源的進程。若有這樣的進程,則它們一定能在有限的時間內(nèi)執(zhí)行結(jié)束,且歸還所占的資源。 所以可以把它們所占的資源與系統(tǒng)中還剩余的資源加在一起作為可分配的資源,同時對這些進程置上標(biāo)志。(2) 循環(huán)檢測:檢測所有無標(biāo)志的進程,找出一個尚需資源量不超過系統(tǒng)中的可分配資源量的進程。若能找到,則只要把資源分配給該進程, 就一定能在有限時間內(nèi)收回它所占 的全部資源。故可把該進程已占的資源添加到可分配的資源中,同
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小型裝飾裝修工程施工合同范本
- 云南文化藝術(shù)職業(yè)學(xué)院《經(jīng)濟數(shù)學(xué)(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 出租車司機聘用合同范本
- 甘肅衛(wèi)生職業(yè)學(xué)院《數(shù)學(xué)課堂教學(xué)技能訓(xùn)練與評價》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南文理學(xué)院芙蓉學(xué)院《數(shù)學(xué)教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 學(xué)校物業(yè)管理服務(wù)合同范本模板
- 委托代建合同范本
- 幼兒園勞務(wù)派遣合同書資訊
- 漳州城市職業(yè)學(xué)院《數(shù)學(xué)基礎(chǔ)二》2023-2024學(xué)年第二學(xué)期期末試卷
- 政府物資采購合同
- 集團母子公司協(xié)議書
- DL-T-692-2018電力行業(yè)緊急救護技術(shù)規(guī)范
- 2024年杭州錢塘新區(qū)建設(shè)投資集團有限公司招聘筆試沖刺題(帶答案解析)
- 2023年四川省綿陽市中考數(shù)學(xué)試卷
- 《電力系統(tǒng)自動化運維綜合實》課件-SDH設(shè)備尾纖連接
- 中醫(yī)病證診斷療效標(biāo)準(zhǔn)
- 愛國主義教育法 講座
- 南安市第三次全國文物普查不可移動文物-各鄉(xiāng)鎮(zhèn)、街道分布情況登記清單(表五)
- ITSMS-D-038 問題記錄表范本
- 小區(qū)監(jiān)控改造方案
- GA/T 2016-2023公安視頻圖像信息系統(tǒng)運維管理規(guī)范
評論
0/150
提交評論