操作系统复习资料(考研+期末)
系列文章目錄
操作系統(參考江蘇大學考研)
文章目錄
- 系列文章目錄
- 前言
- 一、操作系統概述
- 1.操作系統的定義:
- 2.操作系統的特征:
- 2.操作系統的五大功能:
- 3.操作系統的形成與發展:
- 4.操作系統的運行環境:
- 二、進程和線程
- 1.進程
- 2.線程
- 3.管程
- 三、互斥與同步
- 1.進程管理的背景
- 2.進程互斥
- 3.進程同步
- 4.進程通信
- 5.死鎖
- 四、處理器調度
- 1.處理器調度層次
- 2.調度算法
- 五、存儲器管理
- 1.存儲器的三級與任務
- 2.存儲分配的三種形式
- 3.覆蓋與交換
- 4、存儲管理
- 5.頁式存儲管理
- 6.段式存儲管理
- 7.段頁式存儲管理
- 6.文件管理
- 1.文件的存取方法
- 2、文件的邏輯結構
- 3、文件共享
- 4.文件的存儲空間管理
- 5.文件分配方法
- 七、I/O管理
- 1.I/O控制方式
- 2.I/O緩沖
- 3.SPOOLing技術
- 4.磁盤調度
前言
幫助對操作系統進行系統的學習
提示:以下是本篇文章正文內容,下面案例可供參考
一、操作系統概述
1.操作系統的定義:
定義:操作系統是控制和管理整個計算機系統的硬件與軟件資源,合理地組織、調度計算機的工作與資源的分配,進而為用戶和其他軟件提供方便接口與環境的程序集合。
簡捷定義:操作系統是控制和管理整個計算機系統的硬件與軟件資源的系統軟件。2.操作系統的特征:
1、并發:并發是指兩個或多個事件在同一時間間隔內發生。并行是指兩個或多個事件在同一時刻發生。在多道程序環境下,并發性是指宏觀上在一段時間內多道程序同時運行。在單處理器系統中,每一時刻僅能執行一道程序,微觀上這些程序是在交替執行的。 2、共享:共享是指系統中的資源可供主存中多個并發執行的進程共同使用。共享方式:1、互斥共享方式:規定在一段時間內只允許一個進程訪問資源。2、同時訪問方式:允許在一段時間內由多個進程“同時”訪問。并發和共享是操作系統的兩個最基本的特征,它們是互為存在條件。 3、虛擬:虛擬是指通過某種技術把一個物理實體變為若干個邏輯上的對應物。 4、異步:進程的執行并不是“一氣呵成”,而是以“走走停停”的方式運行。進程的異步是操作系統的一個重要特征。2.操作系統的五大功能:
1、處理機管理:完成處理器資源的分配調度等功能。主要功能:1、進程控制 2、進程同步 3、進程通信 4、死鎖處理 5、處理機調度 2、存儲管理:提高利用率、方便用戶使用、提供足夠的存儲空間、方便進程并發執行主要功能:1、存儲分配與回收 2、地址映射 3、存儲保護 4、內存擴展 3、設備管理:方便設備使用、提高CPU與I/O設備利用率主要功能:1、緩沖管理 2、設備分配與回收 3、設備操作與處理 4、文件管理:解決軟件資源的存儲、共享、保密和保護主要功能:1、文件存儲空間管理 2、文件目錄管理 3、文件的讀寫管理4、文件的存取控制 5、作業管理(大中型操作系統提供,微機和單用戶不提供):主要功能:1、作業控制語言 2、作業調度3.操作系統的形成與發展:
1、手工操作階段(此階段無操作系統):缺點:1、用戶獨占全機 2、CPU等待用戶 2、批處理階段(操作系統開始出現):1、單道批處理系統:特征:1、自動性 2、順序性 3、單道性2、多道批處理系統:特征:1、多道 2、宏觀上并行 3、微觀上串行優點:資源利用率高,系統吞吐量大缺點;1、用戶響應的時間較長 2、不提供人機交互能力 3、分時操作系統:特征:1、同時性 2、交互性 3、獨立性 4、及時性 4、實時操作系統:特征:1、及時性 2、可靠性 5、網絡操作系統 6、分布式操作系統 7、嵌入式操作系統4.操作系統的運行環境:
根據CPU的狀態劃分為用戶態(目態)和核心態(又稱管態、內核態)
中斷(外中斷):是指來自CPU執行指令以外的時間的發生
如:時鐘中斷
異常(內中斷):源自CPU執行指令內部的事件
如:程序的非法操作碼、地址越界、算術溢出、虛存系統的缺頁
————————————————————————————-
二、進程和線程
1.進程
程序:是指指令的有序集合
進程:具有獨立功能的程序關于某個數據集合的一次運行活動
進程的組成:程序段+數據段+PCB
進程的特征:1、動態性 2、并發性 3、獨立性 4、異步性 5、結構性
PCB的組織方式:
1、線性方式:所有PCB組成一個數組
2、鏈接方式:運行隊列、就緒隊列、阻塞隊列
3、索引方式:建立N張索引表
進程控制中所需要原語:1、創建原語 2、撤銷原語3、阻塞原語4、喚醒原語
原語:是由若干條機器指令組成,用于完成特定功能的一段程序 特性:不可分割性 P操作:將信號量s的整型值減去1,若結果小于0,則將調用P(s)的進程置成等待信號量s的狀態 V操作:將信號量s的整型值加上1,若結果不大于0,則釋放一個等待信號量s的進程 創建進程: 1、申請空白PCB和分配唯一的數字標識符PID2 2、為新進程分配資源 3、初始化PCB中的數據項 4、將新進程調入到就緒隊列中2.線程
線程:線程是進程中的一個實體,比進程更小的獨立運行的基本單位(不獨立擁有資源)
引入線程的理由:1、原并發機制是建立在進程的基礎上,當有并發進程搶占CPU時需進行進程上下文的切換,代價高2、改善后并發機制是建立在線程基礎上的,線程調度時不發生進程上下文切換,可省去CPU的時間3、引入線程后原有進程的兩個特征分別處理------操作系統的調度分配單位用線程描述;資源的分配單位仍用進程線程的四部分組成(了解即可):1、唯一的標識符2、狀態寄存器3、兩個棧4、私用存儲器
引入線程的重要性:1、在已有進程中創建或終止一個線程遠比控制進程來的快2、撤銷線程更快3、進程間的切換更容易更快捷4、線程間的通信無需內核干涉可直接進行 線程與進程比較:1、地址空間:線程是進程內的一個執行單元;進程至少有一個線程,他們共享進程的地址空間;進程有自己的獨立的地址空間2、資源擁有:進程是資源分配和擁有的單位;同一個進程內的線程共享進程的資源3、調度單位:進程不是處理器調度的基本單位;線程成為處理器調度的基本單位4、執行方式:進程之間與線程之間都是并發執行注:進程與線程同樣有三態轉換、創建和終止。 線程的實現方式:1、用戶級線程的實現2、內核支持線程的實現3.管程
定義:代表共享資源的數據結構以及由對該共享數據結構實施操作的一組過程所組成的資源管理程序
管程的4部分組成:1、管程的名稱2、局部于管程內部的共享數據結構說明3、對該數據結構進行操作的一組過程(或函數)4、對局部于管程內部的共享數據設置初始值的語句管程對共享資源的訪問限制(管程把對共享資源的操作封裝起來):
1、管程內的共享數據結構只能被管程內的過程所訪問。一個進程只有通過調用管程內的過程才能進入管程訪問共享資源。
2、每次僅允許一個進程進入管程,從而實現進程互斥。(各個進程只能串行執行管程內的過程)
三、互斥與同步
1.進程管理的背景
并發進程執行可能是無關的,也可能是交往的,因而產生了與時間有關的錯誤
1、結果不唯一
2、永遠等待
2.進程互斥
臨界資源:一次僅允許一個進程使用的資源
臨界區:并發進程中與共享變量有關的程序段
互斥:不允許兩個以上共享共有資源或變量的進程同時進入臨界區執行的性質
臨界區管理的三個原則:
1、互斥性:如果一個進程在它臨界區中執行,其他任何進程均不能進入相關的臨界區執行
2、進展性:如果一個進程不在它臨界區中執行,不應阻止其他任何進程進入相關的臨界區執行
3、有限等待性:某個進程從申請進入臨界區開始,應在有限的時間內得以進入臨界區執行
3.進程同步
進程間的同步:異步環境下的一組并發進程,因直接制約互相發送消息而進行互相協作、互相等待,使得各進程按一定的速度執行的過程
4.進程通信
進程通信:一個進程將一批信息發送給另一個進程的過程。即進程間用信件來交換信息
進程通信分類:1、共享存儲器系統2、消息傳遞3、管道通信
消息傳遞的兩種方式:
1、直接通信;是指發送進程把信件直接發送給接收進程(用到send原語和receive原語)
2、間接通信:發送信件進程把信件發送到一個共享的數據結構——信箱,接受進程也到信箱中去取信件
信箱:存放多封信件的存儲區域。(信箱特征+信箱體)
5.死鎖
概念:一組并發進程彼此相互等待對方所占有的資源,而且這些進程在得到對方資源之前不會釋放自己所占有的資源,從而造成這組進程都不能繼續向前推進的狀況。
死鎖的必要條件: 1、互斥條件:一個資源一次只能由一個進程使用,如果有其他進程申請使用該資源,申請進程必須等待直到所申請資源被釋放。 2、部分分配條件:一個進程已占有一定資源后,執行期間又再申請其他資源 3、不可搶占條件:一個資源僅由一個占有它的進程來釋放,不能被其他進程搶占使用。 4、循環等待條件:在系統中存在一個由若干進程申請使用資源而形成的循環等待鏈,其中每個進程占有若干資源, 同時又在等待下一個進程所占有的資源。解決死鎖的辦法: (1)死鎖的防止,消除可能產生死鎖的原因1、資源靜態分配法:破壞部分分配條件。一個進程必須在執行前就申請它所需的全部資源,并且直到它所需的資源得到滿足后才能開始執行。這種策略實現簡單,但資源利用率低。2、資源的層次分配法:(1)把資源分成多個層次 (2)一個進程得到某一層的一個資源后,它只能再申請較高一層的資源(3)當一個進程要釋放某一層的一個資源時,必須先釋放所占有的較高層的資源(4)當一個進程獲得了某一層的一個資源后,它想再申請該層的另一個資源,則必須先釋放該層中的已占有的資源優點:資源的利用率有較大的提高缺點:特別小心地安排資源所處的層次 (2)死鎖的避免思想:在為申請者分配資源前先測試系統的資源狀況,若把資源分配給申請者會產生死鎖的話,則拒分配,否則接受申請并為它分配資源。著名的避免死鎖的方法:**銀行家算法**銀行家算法的思想:檢查申請者對各類資源的最大需求量,如果系統現存的各類資源可以滿足它的最大需求量時,就滿足當前的申請。換句話說,僅僅在申請者獲得資源最終運行完畢,無條件地歸還它所申請的全部資源時,才分配資源給它。系統的安全狀態:是指系統能按某種進程順序,來為每個進程Pi分配其所需資源,直至滿足每個進程對資源的最大需求,使每個進程都可以順利地完成。如果系統中無法找到這樣一個安全序列,則稱系統處于不安全狀態。 (3)死鎖的檢測和修復思想:對資源地分配不加限制,但系統必須定時或不定時地運行一個“死鎖檢測”程序,判斷系統內是否出現死鎖,若檢測到死鎖則采用相應地辦法解除死鎖,并以盡可能小地代價回復相應的進程運行。解除死鎖的辦法:1、撤銷進程法(兩種形式)(1)撤銷所有卷入死鎖的進程(2)一次撤銷一個進程直到死鎖消失2、剝奪資源法思想:是從一個或多個卷入死鎖的進程中搶占資源,再把這些資源分配給卷入死鎖的其他進程,以解除 死鎖。四、處理器調度
處理器調度的目的:為了滿足系統的運行目標,把進程或線程按照一定的策略分派到一個或者多個處理器上運行。
1.處理器調度層次
調度層次:長程、中程、短程 1、長程調度(高級調度或作業調度):根據作業控制塊中的信息,按照某中原則從外存上的后備隊列中選取一個或 幾個作業調入內存,并為它們創建進程、分配必要的資源,然后再將新創建的進程插入就緒隊列。 2、中程調度(中級調度):中程調度負責內外存之間的進程對換,以解決內存緊張的問題,即它將內存中處于等待 狀態的某些進程調到外存對換區,以騰出內存空間,再將外存對換區中已具備運行條件的進程重新調入內存準備運行。 3、短程調度(低級調度或進程調度);決定就緒隊列中哪個進程或線程將獲得處理器,并將處理器分配給該進程或 線程。調度的方式:1、剝奪式 2、非剝奪式 剝奪式(搶占式):當一個進程正在執行時,系統可以基于某種原則強行將CPU的控制權從當前進程轉給其他進程。 剝奪原則:(1)優先級原則 (2)短進程原則 (3)時間片原則非剝奪式(非搶占式):進程對處理器的控制權具有獨占性,除非該進程主動讓出CPU控制權 優點:簡單,系統開銷小 缺點:可能導致系統性能的惡化2.調度算法
1、先來先服務調度(FCFS) (非搶占策略)思想: 先請求處理器的進程先分配處理器,直到該進程運行結束或發生等待。實現:采用就緒隊列進出操作實現優點:易實現缺點:未考慮調度準則 2、時間片輪轉法(剝奪式)思想:把CPU按時間篇依順序輪流賦予就緒隊列中的每一個進程。關鍵:在于選擇合理的時間片 3、短作業優先(SJF,會出現“饑餓”)思想:選擇所需處理時間最短的進程占有CPU運行。優點:克服了FCFS偏愛長進程的缺點,易于實現缺點:需要預先知道進程所需的CPU;忽視進程的等待時間,使進入系統時間早但計算時間長的進程等待時間長。 4、優先級調度(常用于批處理系統和實時系統)思想:把處理器分配給就緒隊列中具有最高優先級的進程,當具有最高優先級的進程有兩個或者兩個以上時,采用先來先服務調度策略進行調度。關鍵:在于如何確定進程的優先級優先級確定方法:(1)靜態優先級:再進程創建時即被確定的,在以后整個執行期間不在改變。(2)動態優先級:在進程執行期間,按某種原則不斷修改進程的優先級,優先級可隨進程的等待時間,占用CPU的時間的變化而變化。 5、多級反饋隊列輪換法(會導致饑餓)思想;把時間片輪轉法中的單就緒隊列改為雙就緒隊列或多就緒隊列,并賦給每個隊列不同的優先權。 6、高相應比優先調度算法(主要用于作業調度)思想:是對FCFS調度算法和SJF調度算法的一種綜合平衡,同時考慮了每個作業的等待時間和估計的運行時間。五、存儲器管理
1.存儲器的三級與任務
存儲器三級:外部存儲器、主存儲器和高數緩沖存儲器
1、外部存儲器(外存或輔存):用來存放不立即使用的程序和數據,當用戶的程序運行需要它們時,再從外存把它們讀入到主存儲器。 2、主存儲器(主存或內存):程序的運行總是存放在主存中,以便處理器的訪問。 3、高速緩沖存儲器:處理及指令和存取數據就在高速緩沖存儲器中進行。存儲管理的主要任務:
(1)為多道程序的并發執行塔公良好的環境
(2)提高存儲器利用率,盡量減少空閑及不可利用的主存儲器區域
(3)邏輯上擴充空間,使大程序、多個程序能在小主存中運行
(4)方便用戶使用存儲器,用戶無需考慮存儲器的分配、回收和保護等工作,這些工作完全由操作系統進行管理
2.存儲分配的三種形式
1、直接存儲分配方式:程序遠在編寫程序或編譯程序對源程序編譯時采用內存物理地址 2、靜態存儲分配方式:在將作業裝入內存時才確定它們在內存中的位置。運行中固定不變。 3、動態存儲分配方式:不是一次性將程序全部裝入主存,而是根據執行需要動態裝入與回收,也可動態申請存儲空間。重定位:相對地址轉化為存儲空間中絕對地址的變換過程 重定位方式:(1)靜態地址重定位:裝配程序一次性完成 (2)動態地址重定位:執行中,硬件地址轉換機構完成3.覆蓋與交換
覆蓋與交換是從邏輯上擴充主存的兩種辦法,解決在較小主存空間中如何執行大、多程序的問題
覆蓋:把程序劃分為若干個功能相互獨立的程序段,讓那些不會同時被CPU執行的程序段共享同一個主存區。 交換:將系統中暫時不用的程序或數據部分或全部從主存中調出,以騰出更大的存儲空間,同時將系統要求使用的程序和數據調入主存中,并將控制權轉交給它,讓其在系統上運行。交換與覆蓋的區別:(1)對象的區別:交換不要求出覆蓋結構,主要是在進程或作業之間進行,而覆蓋則主要是在同一個進程或作業之間運行。(2)作用的區別:交換可以在較小的存儲空間中運行較多的作業或進程,覆蓋可以在較小的存儲空間中運行比其容量大的作業或進程4、存儲管理
單一連續存儲管理(靜態存儲分配方式):優點:管理簡單,只需很少的軟硬件支持缺點:(1)系統的存儲空間浪費較大(2)當正在執行的程序因出現等待,處理器就處于空閑狀態(3)主存中的冊灰姑娘徐和數據不能被共享(4)系統的外圍設備也只有一個程序使用,因此外部設備利用率低 固定分區:思想:系統在初始化時,將主存空間劃分為若干個固定大小的區域。用戶程序在執行過程中,不允許改變劃分區域的大小,只能夠根據各自的要求,由系統分配一個存儲區域。優點:簡單缺點:雖然可以使多個作業在同一時刻共享存儲區,單它不能充分利用存儲器資源“碎片”或“內零頭”:在已分配的分區中,通常都有一部分未被進程占用而浪費的主存空間 動態分區:思想:在系統初啟時,除了操作系統常駐內存部分以外,只存在一個空閑分區。隨后,分配程序將該區依次劃分給調度程序選中的進程,并且分配的大小可隨用戶進程對主存的要求而改變(不會產生碎片,提高了主存利用率) 動態分區的分配方式:(1)最先適應法:將作業分配到主存第一個足夠裝入它的可用空閑區缺點:可能將大的空閑區分割成一個小區,不利于大作業的裝入與運行(2)最佳適應法:將作業分配主存中與它所需大小最接近的一個可用空閑區優點:可保證不會區分割一個更大的空閑區,便于今后大作業的裝入運行。缺點:由于空閑區通常不可能正好和作業所要求的大小相等,往往分割后剩下的空閑區非常小,以至幾乎無法使用,造成了主存空間的浪費。(3)最壞適應法:把一個作業分配到主存中最大的空閑區中。優點:在大空閑區中裝入作業后,剩下的空閑區常常也很大,于是也能滿足以后較大的作業的要求。該算法對中、小作業的運行是很有利的。 動態分區的回收:(1)釋放區與上下兩個空閑區相鄰(2)釋放區與上空閑區相鄰(3)釋放區與下空閑區相鄰(4)釋放區與上下兩個空閑區都不相鄰地址轉換與存儲保護基址寄存器:存放分配給作業使用的分區的最小絕對地址值限長寄存器:存放作業占用的連續存儲空間的長度基址寄存器與限長寄存器內容都屬于保護的現場分區的共享:(1)系統提供多對基址/限長寄存器(2)規定某些對基址/限長寄存器指定的區為共享區(3)規定對共享區的信息只執行或讀,不能寫移動技術:思想:當存儲分配程序找不到一個足夠大的空閑區來裝入作業時,可以采用移動技術改變主存中的作業存放區域,同時修改它們的基址/限長值,從而使分散的小空閑區匯集成一個大的空閑區,有利于作業的裝入。優點:1、可使分散的“碎片”或小空閑區匯集成大的空閑區2、為作業執行過程中擴充主存提供了方便缺點:1、增加了系統開銷2、不是隨時可移動3、作業動態申請主存會出現“死鎖”。 分區存儲管理的優缺點:優點:(1)實現了多道程序設計,從而提高了系統資源的利用率(2)系統要求的硬件支持少,管理簡單缺點:(1)作業在裝入時的連續性使主存的利用率不高(2)主存的擴充只能采用覆蓋與交換技術,無法真正實現虛擬存儲5.頁式存儲管理
思想:將作業分配在不連續的大小相同存儲區域中(見縫插針分配),同時又要保證作業的連續執行。每個區稱為
一塊(頁框),與此對應,編制程序的邏輯地址也分為頁(頁面),頁的大小與塊的大小相等,通常頁的大小總
是2的整數次冪
邏輯地址:頁號+頁內偏移
物理地址:頁框號+頁內偏移
頁面置換算法
概念:主存已滿,又需裝入新頁時,將主存中的某些頁調出去。頁面調度實質上是決定淘汰哪一頁。
缺頁中斷率:f=F/(S+F)
6.段式存儲管理
思想:把程序按邏輯含義或過程(函數)關系分成段,每段有段名。每段邏輯地址均是以0 開始進行
順序編址。用戶作業或進程的地址空間就形成了一個二維線性地址空間。以段為單位分配主存。執行
時通過地址轉換機構把段式邏輯地址轉換程主存物理地址。
邏輯地址格式:段號+段內地址
7.段頁式存儲管理
思想:每個作業按邏輯分段,然后對每段又分成若干頁。這樣,每一段不必占用連續的主存空間,而是按頁存放在不一定連續
的主存頁框中,并且當主存頁框不夠時只將一段的部分頁面放在主存,用到不在主存中的頁面時再將之調入。
6.文件管理
文件的定義:文件是一組邏輯上相互關聯的信息的集合,是計算機系統中信息的組織結構。
文件類型:1、普通文件 2、目錄文件3、設備文件
1.文件的存取方法
文件存取方法:研究訪問存儲空間上物理文件的方法。 1、順序存取法:嚴格按照數據記錄的排列順序依次存取。 2、直接存取法:允許用戶隨意讀寫文件的任意一個記錄 3、索引存取法:根據文件中各記錄的索引進行存取的2、文件的邏輯結構
文件的邏輯結構分類:1、流式文件(無結構的字符流構成)2、記錄式文件(有結構的記錄構成)
記錄式文件的邏輯組織方式 1、堆文件:按照記錄到達的時間順序組織 2、順序文件:把文件看作固定長度的集合優點:順序存取速度快,適應于順序存取和成批處理,多用于順序設備(如:磁帶)缺點:涉及到對單位或少數幾個記錄的查詢或更新,順序文件表現出來的性能較差 3、索引順序文件在順序文件的基礎上,另外建立文件索引和溢出文件。這樣做目的在于加快順序文件的檢索速度 4、索引文件記錄大小不必相同,不必排序,存放在主文件中。索引文件的記錄項通常較小,查找速度快,便于隨機訪問。索引文件與索引順序文件的區別:對于同一主文件,處理主索引表外,還有輔助索引表,可以針對不用的關鍵子域相應建立多個索引。 5、直接文件(哈希文件)記錄大小相同。由主文件和溢出文件組成。記錄位置由哈希函數確定。檢索時給出記錄編號,通過哈希函數計算出該記錄在文件中的相對位置。訪問速度快,但不能隨機訪問。3、文件共享
1、利用符號鏈接實現共享思想:文件擁有指向文件結點的指針,共享該文件的其他用戶,只有該文件的路徑名。優點:能夠用于鏈接計算機網絡上的任何地點中的文件缺點:訪問共享文件時,可能需要多次放盤,時間開銷較大,也要開銷一定磁盤空間。 2、基于索引節點的共享方式思想:對咬共享的文件,引入一個索引節點,將文件中諸如文件的物理地址及其文件屬性等信息,不放在文件目錄表目中,而是放在索引節點中。在文件目錄中只設置文件名及其指向相應索引節點的指針。優點:文件目錄較小,查找速度快缺點:不能實現跨文件系統和跨設備的共享 3、利用好基本文件目錄實現文件共享思想:利用把目錄表目進行分解的辦法來加快檢索速度,同時也便于實施文件的共享目錄分解:就是把一個目錄表目分解為兩部分:基本文件目錄部分與符號文件目錄部分文件的一致性檢查:1、塊的一致性檢查 2、文件的一致性檢查4.文件的存儲空間管理
1、空閑表法系統為存儲介質上的所有空閑區建立一張空閑表,每一個空閑區對應表中的一個表目。表目的 內容包括:空閑區第一個盤塊號、該空閑區的盤塊總數等信息。將所有空閑區按第一盤塊號的大小排列。總結:適用于連續分配文件,管理方法簡單,但當空閑區過多時,將大大影響使用效率。 2、空閑鏈表法空閑盤塊鏈:優點:分配與回收一個盤塊的過程非常簡單缺點:空閑盤塊鏈可能很長,影響效率。 3、位示圖法每一位表示一個盤塊,取值0和1分別表示對應盤塊空閑或者占用。 4、鏈接索引表法使用若干個空閑盤塊作為索引表塊,來指出存儲空間中所有空閑盤塊。5.文件分配方法
1、連續分配在創建文件時,給文件分配一組連續的物理盤塊,使用靜態分配策略。所形成的物理文件為順序文件。優點:1、比較簡單,容易實現。2、順序訪問速度快,性能較好缺點:1、必須在文件創建時就知道文件的最大長度。2、造成磁盤碎片 2、鏈接分配為每個文件構成磁盤塊的鏈接表,每個塊的第一個字用于指向下一塊的指針,塊的其他部分存放數據,由此形成的物理文件稱為鏈接文件。分配方式:1、隱式鏈接2、顯示鏈接優點:沒有磁盤碎片浪費存儲空間缺點:隨機存取緩慢;每個磁盤塊不是2的冪,降低了系統的運行效率。 3、索引鏈接分配為了解決連續分配和鏈接分配的問題而產生的。索引鏈接分配時文件邏輯組織中索引組織的物理實現。七、I/O管理
1.I/O控制方式
1、程序直接控制方式利用詢問指令測試設備的忙/閑狀態,從而決定下一步工作。缺點:1、CPU與外設只能串行工作2、CPU在一段時間內只能與一臺外設交換數據信息3、無法發現和處理由于設備和其他硬件所產生的錯誤 2、中斷控制方式缺點:1、中斷次數過多2、中斷次數的幾句增加會造成CPU無法及時響應中斷,出現數據丟失現象 3、DMA控制方式優點:傳輸速度塊,COPU干預少缺點:1、硬件線路復雜2、DMA方式竊取了CPU的工作周期,CPU處理效率降低了DMA與中斷的區別:1、中斷次數不同2、控制方式不同中斷控制方式的數據傳送是在中斷處理時由CPU完成的DMA方式是由DMA控制器完成的,不經過CPU 4、通道控制方式通過有一系列通道指令,指令受CPU啟動,操作結束向CPU發中斷信號2.I/O緩沖
緩沖引入原因:
1、環節CPU與I/O設備間速度不匹配的矛盾,提高CPU與I/O設備間的并行性
2、j減少對CPU的中斷頻率,放寬對中斷響應時間的限制
3.SPOOLing技術
思想:獨占設備的靜態分配利用率低,使用動態分配又可能造成死鎖,SPOOLing技術利用磁盤和程序模擬脫機工作模式
實現聯機情況下的同時外圍操作。
4.磁盤調度
1、先來先服務策略根據進程請求訪問磁盤的先后順序進行調度,而不管進程的優先級優點:公平,處理簡單,每個進程的請求都會得到處理缺點:未對尋道進行優化,致使平均尋道時間可能較長 2、最短尋道時間優先策略以申請者要求磁頭移動距離大小作為優先因素,磁道距離磁頭當前位置愈近者優先優點:平均等待時間按得到改善,可以獲得較好的尋道性能缺點:對用戶進程請求的響應機會不是均等的,可能導致某些進程發生“餓死”現象 3、掃描策略不僅考慮申請者要求磁盤移動方向,又考慮要求磁盤移動距離,而且首先是方向一致,其次才是距離最短。優點:避免了饑餓現象缺點:優待了中間刺刀的請求,有“磁臂粘著”現象 4、循環掃描策略規定磁頭單向移動。將各磁道視作一個環形緩沖區結構,最大磁道號和最小磁道號構成循環優點:等待時間較均衡缺點:有“磁臂粘著”現象 5、N-STEP-SCAN策略把磁盤請求隊列分成長度為N的子隊列;按FCFS策略依次處理這些子隊列,而每處理一個隊列,又是用SCAN策略;在處理某一個隊列時,新請求必須添加到其他某個隊列中。好處:可避免出現“磁臂粘著”現象總結
以上是生活随笔為你收集整理的操作系统复习资料(考研+期末)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SPSS教程:单因素重复测量方差分析,超
- 下一篇: java信息管理系统总结_java实现科