作業系統錯題知識點2
作業系統錯題知識點
第一章 作業系統概述
- 從使用者的觀點看,作業系統是 使用者與計算機之間的介面。
- 多道程式(multiprogramming)是作業之間自動排程執行、共享系統資源,並不是真正地同時執行多個作業;而多重處理(multiprocessing)系統配置多個CPU,能真正同時執行多道程式。要有效使用多重處理,必須採用 多道程式設計 技術,而 多道程式設計 原則上不一定要求多重處理系統的支援。多重處理系統比起單處理系統來說,雖增加了硬體設施,卻換來了提高系統吞吐量、可靠性、 計算能力 和並行處理能力等好處。
-
- 批處理作業系統
批處理(Batch Processing)作業系統的工作方式是:使用者將作業交給系統操作員,系統操作員將許 多使用者的作業組成一批作業
批處理作業系統的特點是:多道和成批處理。
2. 分時作業系統
分時(Time Sharing)作業系統的工作方式是:一臺主機連 接了若干個終端 ,每個終端有一個使用者在使用。使用者 互動式地向系統提出命令請求 ,系統接受每個使用者的命令,採用 * 時間片輪轉 ** 方式處理服務請求,並通過互動方式在終端上向用戶顯示結果。使用者根據上步結果發出下道命令。 分時作業系統 將CPU的時間劃分成若干個片段,稱為時間片。作業系統以時間片為單位,輪流為每個終端使用者服務。每個使用者輪流使用一個時間片而使每個使用者並不感到有別的使用者存在。分時系統具有 * * 多路性、互動性、“獨 佔”性和及時性
常見的通用作業系統是分時系統與批處理系統的結合。其原則是: 分時優先,批處理在後 。“前臺”響應需頻繁互動的作業,如終端的要求; “後臺”處理時間性要求不強的作業。
3.實時作業系統
實時作業系統(RealTimeOperatingSystem,RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間內完成對該事件的處理,並控制所有實時裝置和實時任務協調一致地工作的作業系統。實時作業系統要追求的目標是:對外部請求在 嚴格時間範圍內做 出反應,有高可靠性
4.網路作業系統
網路作業系統是基於 計算機網路 的,是在各種 計算機作業系統上按網路體系結構協議標準開發的軟體,包括網路管理、通訊、安全、資源共享和各種網路應用。其目標是 相互通訊及資源共享 。在其支援下,網路中的各臺計算機能互相通訊和共享資源。其主要特點是與網路的硬體相結合來完成網路的通訊任務。
5.分散式作業系統
它是為分佈計算系統配置的作業系統。大量的計算機通過 網路被連結在一起 ,可以獲得極高的運算能力及廣泛的資料共享。這種系統被稱作分散式系統(DistributedSystem) 。它在資源管理,通訊控制和作業系統的結構等方面都與其他作業系統有較大的區別。由於分佈計算機系統的資源分佈於系統的不同計算機上,作業系統對使用者的資源需求不能像一般的作業系統那樣等待有資源時直接分配的簡單做法而是要在系統的各臺計算機上搜索,找到所需資源後才可進行分配。對於有些資源,如具有多個副本的檔案,還必須考慮一致性。所謂 一致性是指若干個使用者對同一個檔案所同時讀出的資料是一致的 。為了保證一致性,作業系統須控制檔案的讀、寫、操作,使得多個使用者可同時讀一個檔案,而任一時刻最多隻能有一個使用者在修改檔案。分佈作業系統的通訊功能類似於網路作業系統。由於分佈計算機系統不像網路分佈得很廣,同時分佈作業系統還要支援並行處理,因此它提供的通訊機制和網路作業系統提供的有所不同,它要求通訊速度高。分佈作業系統的結構也不同於其他作業系統,它分佈於系統的各臺計算機上,能並行地處理使用者的各種需求,有較強的容錯能力。
- 批處理作業系統
- 程序排程是由軟體實現的,不需要硬體的直接支援。
- 批處理系統的目的是提高系統吞吐量和資源的利用率,其缺點是 無 互動性 。
- 批處理系統特點:
優點:資源利用率高,系統吞吐量(系統在單位時間內所完成的總工作量)大。
缺點:平均週轉時間(從作業進入系統開始,直至作業完成並退出系統為止所經歷的時間)長,且無互動能力(使用者一旦將作業提交給系統,直至作業完成,使用者都不能作業進行互動,這對修改與除錯程式均是不方便的)。
分時系統特點:
人機互動:能夠邊執行邊修改。
共享主機:當使用計算機時感覺是自己獨佔主機,不僅能夠隨時與計算機進行互動,並且感覺不到其他使用者也在使用該計算機。 - 時間換空間 ,請求分頁、請求分段、請求段頁式,這些都是讓訪問時間增加了,但是擴充了主存的邏輯容量,使得大於主存容量的程式也可以得到執行。
空間換時間,各類的緩衝區、緩衝池都是的,本來需要在速度很慢的裝置上I/O的,但是自從劃分了些儲存區域做緩衝,那麼就可以減少訪問時間啊。再如UNIX的檔案系統中的超級塊被放在記憶體中,減少訪問時間。 - SPOOLing技術是在通道技術和多道 程式設計基礎 上產生的,它由 主機 和相應的通道共同承擔作業的輸入輸出工作,利用磁碟作為後援 儲存器 ,實現 外圍裝置 同時聯機操作。
- 覆蓋:把一個程式劃分為一系列功能相對獨立的程式段,讓執行時不要求同時裝入記憶體的程式段組成一組(稱為覆蓋段) ,共享主存的同一個區域,這種記憶體擴充技術就是覆蓋。
對換:是指將暫時不用的某個程序及資料(首先是處於阻塞狀態優先順序最低的)部分(或全部)從記憶體移到到外存(備份區或對換區)中去,讓出記憶體空間,同時將某個需要的程序調入到記憶體中,讓其執行。 - 計算機系統是由 硬體 系統和 軟體 系統兩部分組成。
- 採用多道程式設計技術能充分發揮 CPU 和 外設 並行工作的能力。
- 多道程式設計的特點是 多道、 巨集觀上並行、 微觀上序列 。
- 作業系統向用戶提供了兩類藉口,一類是 命令級介面 ,另一類是 程式級介面 。
- 作業系統是計算機系統中的一個 系統軟體,他管理和控制著計算機系統中的 軟體和硬體資源 。
- 與許多個使用者以互動使用計算機的作業系統稱為分時作業系統 。
- 與許多個使用者將多個作業提交給計算機集中處理的作業系統稱為 批處理作業系統 。
- 對系統的總體設計目標來說,批處理作業系統應注重提高計算機的效率,儘量增加系統的 平均吞吐量 ,分時作業系統應保證使用者 所能忍受的響應時間 ;而實時作業系統則應在保證及時響應和處理有關事件的前提下,再考慮 系統資源的利用率 。
- 為了實現多道程式設計,計算機系統在硬體方面必須提供兩種支援,它們是 中斷 和 通道 。
- 批處理系統的基本特徵是“批量”, 它把提高 作業的吞吐量 作為主要設計目標,同時也兼顧作業的 週轉時間。
- 單道批處理系統是在解決 人機矛盾 和 CPU與I/O裝置 的矛盾中發展起來的。
- 為了解決人機矛盾及CPU和I/O裝置之間速度不匹配的矛盾,出現了批處理系統。它按發展歷程又分為單道批處理系統、多道批處理系統(多道程式設計技術出現以後)。
- 作業系統的基本功能包括處理器管理、儲存器管理、裝置管理和檔案管理。除此之外還為使用者使用作業系統提供了使用者介面。
- 通用作業系統:具有多種型別操作特徵的作業系統。可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。
- 在分時和批處理系統結合的作業系統中引入“前臺”和“後臺”作業的概念,其目,的是為了提高CPU的利用率。
- 分時作業系統的主要特徵有三個 多路性、互動性、獨佔性。
- 分時操作性痛和實時作業系統的主要區別是 及時性和高可靠性 。
- 於程式和資料都在 外圍機的控制下 完成,或者說,他們在脫離主機的情況下進行的,故此稱為離線輸入/輸出 ,反之,在 主機的直接控制下 進行的輸入/輸出的方式稱為聯機輸入/輸出方式。
- 般系統的效能指標有:
1、響應時間(系統為其服務所耗費的時間)。
2、 吞吐率 (簡單講就是系統在每單位時間內能處理多少個事務/請求/單位資料等)。
3、 資源利用率 (常見的資源有:CPU佔用率、記憶體使用率、磁碟I/O、網路I/O)。
4、點選數(單位時間內,系統 響應客戶的請求,是系統處理能力的一個很有用的指標)。
5、併發使用者數(併發使用者數用來度量伺服器併發容量和同步協調能力)。 - 併發和共享 是 作業系統的兩個最基本的特徵,兩者互為存在條件。
第2章 程序管理
- 優先權的分類:
- 靜態優先權
靜態優先權是在建立程序時確定的,且在程序的整個執行期間保持不變.
一般地,優先權是利用某一範圍內的一個整數來表示的,例如,07或0255中的某一整數, 又把該整數稱為優先數.只是具體用法各異:有的系統用”0”表示最高優先權,當數值愈大時,其優先權愈低;而有的系統恰恰相反.
確定程序優先權的依據有如下三個方面:
(1)程序型別.(系統程序/使用者程序)
(2) 程序對資源的需求.(需求量的大小)
(3) 使用者要求.(使用者程序緊迫程度) - 動態優先權
動態優先權是指在建立程序時所賦予的優先權,可以隨程序的推進或隨其等待時間的增加而改變的,以便獲得更好的排程效能.
例如,我們可以規定,在就緒佇列中的程序,隨其等待時間的增長,其優先權以速率a提高.若所有的程序都具有相同的優先權初值,則顯然是最先進入就緒佇列的程序,將因其動態優先權變得最高而優先獲得處理機,此即FCFS演算法.
優先權的變化規律可描述為:
由於等待時間與服務時間之和,就是系統對該作業的響應時間,故該優先權又相當於響應比RP. - 搶佔式和非搶佔式
- 非搶佔式優先權演算法
在這種方式下,系統一旦把處理機分配給就緒佇列中優先權最高的程序後,該程序便一直執行下去,直至完成;或因發生某事件使該程序放棄處理機時,系統方可再將處理機重新分配給另一優先權最高的程序。這種排程演算法主要用於批處理系統中;也可用於某些對實時性要求不嚴的實時系統中。 - 搶佔式優先權排程演算法
在這種方式下,系統同樣是把處理機分配給優先權最高的程序,使之執行。但在其執行期間,只要又出現了另一個其優先權更高的程序,程序排程程式就立即停止當前程序(原優先權最高的程序)的執行,重新將處理機分配給新到的優先權最高的進程。因此,在採用這種排程演算法時,是每當系統中出現一個新的就緒程序i 時,就將其優先權Pi與正在執行的程序j 的優先權Pj進行比較。如果Pi≤Pj,原程序Pj便繼續執行;但如果是Pi>Pj,則立即停止Pj的執行,做程序切換,使i 程序投入執行。顯然,這種搶佔式的優先權排程演算法能更好地滿足緊迫作業的要求,故而常用於要求比較嚴格的實時系統中,以及對效能要求較高的批處理和分時系統中。
非搶佔式(Nonpreemptive):讓程序執行直到結束或阻塞的排程方式 容易實現 適合專用系統,不適合通用系統
搶佔式(Preemptive):允許將邏輯上可繼續執行的在執行過程暫停的排程方式 可防止單一程序長時間獨佔CPU 系統開銷大(降低途徑:硬體實現 程序切換 ,或擴充主存以貯存大部分程式) - 三態模型:在多道程式系統中,程序在處理器上交替執行,狀態也不斷地發生變化。程序一般有3種基本狀態:執行、就緒和阻塞。
(1)執行:當一個程序在處理機上執行時,則稱該程序處於執行狀態。處於此狀態的程序的數目小於等於處理器的數目,對於單處理機系統,處於執行狀態的程序只有一個。在沒有其他程序可以執行時(如所有程序都在阻塞狀態),通常會自動執行系統的空閒程序。
(2)就緒:當一個程序獲得了除處理機以外的一切所需資源, 一旦得到處理機即可執行 ,則稱此程序處於就緒狀態。就緒程序可以按多個優先順序來劃分佇列。例如,當一個程序由於時間片用完而進入就緒狀態時,排入低優先順序佇列;當程序由I/O操作完成而進入就緒狀態時,排入高優先順序佇列。
(3)阻塞:也稱為等待或睡眠狀態,一個程序正在等待某一事件發生(例如請求I/O而等待I/O完成等)而暫時停止執行,這時即使把處理機分配給程序也無法執行,故稱該程序處於阻塞狀態。
活躍就是在記憶體中,靜止就是在磁碟中。
活躍就緒:是指程序在主存並且可被排程的狀態。
** 靜止就緒(掛起就緒):是指程序被對換到輔存**時的就緒狀態,是不能被直接排程的狀態,只有當主存中沒有活躍就緒態程序,或者是掛起就緒態程序具有更高的優先順序,系統將把掛起就緒態程序調回主存並轉換為活躍就緒。
活躍阻塞:是指程序已在主存,一旦等待的事件產生便進入活躍就緒狀態。
靜止阻塞:是指程序對換到輔存時的阻塞狀態,一旦等待的事件產生便進入靜止就緒狀態。 - 非剝奪程序排程:分派程式一旦把處理機分配給某程序後便讓它一直執行下去,直到程序完成或發生 程序排程某事件而阻塞時,才把處理機分配給另一個程序。
**剝奪式程序排程:**當一個程序正在執行時,系統可以基於某種原則,剝奪已分配給它的處理機,將之分配給其它程序。 - 每個程序中 訪問臨界資源 的那段程式稱為臨界區。
- 整型訊號量(integer semaphore):訊號量是整數
記錄型訊號量(record semaphore):每個訊號量s除一個整數值s.value(計數)外,還有一個程序 等待佇列 s.L,其中是阻塞在該訊號量的各個程序的標識
二進位制訊號量(binary semaphore):只允許訊號量取0或1值 - 互斥訪問中,每類資源的訊號量初值設定為1;
條件同步中,訊號量初值設為0; - 響應比=作業週轉時間/作業執行時間
- 題型:已知作業的到達時間和執行時間,按照高響應比優先演算法,對作業的執行次序進行排序。
- 在訊息緩衝通訊中, 訊息佇列 屬於臨界資源,在訊息緩衝區操作的前後,都要執行P、V操作,對該佇列進行互斥訪問控制。
- 批處理系統常用排程演算法:
①、先來先服務: FCFS
②、最短作業優先
③、最短剩餘時間優先
④、響應比最高者優先
分時系統排程演算法:
①、輪轉排程
②、優先順序排程
③、多級佇列排程
④、彩票排程
實時系統排程演算法:
①、單比率排程:在實時系統中,事件是週期性發生的,單比率排程是視週期長度而定的搶佔式策略,週期越短,優先順序越高。
②、限期排程:當一個事件發生時,對應的實時程序/執行緒就被加入就緒佇列,此佇列按照截止期限排序,對於週期性事件,截止期限即為事件下一次發生的時間。
③、最少裕度法:先計算各個程序/執行緒的富裕時間,即裕度,然後選擇裕度最少者執行。計算公式為:裕度=截止時間-(就緒時間+計算時間);裕度越小說明程序/執行緒越緊迫,就緒後令其儘快執行。 - 剝奪式(搶佔式)排程:輪轉排程演算法(RR),最短剩餘時間有限演算法(SRTF)。
- 1、對I/O型程序,讓其進入最高優先順序佇列,以及時響應需要I/O 互動的程序。通常執行一個小的時間片,在該時間片內要求可處理完一次I/O請求的資料,然後轉入到阻塞佇列。
2、對計算型程序,每次執行完時間片後進入更低階佇列。最終採用最大時間片來執行。
I/O型程序優先順序高於計算型程序。 - 程序在執行過程中,請求和釋放資源的順序不當( 程序推進順序不當 ),導致了 程序死鎖 。
- 產生死鎖的原因主要是:
(1) 因為系統資源不足。
(2) 程序執行推進的順序不合適。
(3) 資源分配不當等。 - 死鎖的四個必要條件**:1)互斥條件 2)佔有和等待條件 2)不可搶佔條件 4)環路等待條件(迴圈等待)**。
死鎖的處理方法:
死鎖預防:破壞四個條件;有序資源分配法可以破壞迴圈等待的條件;靜態分配資源可以打破“佔有和等待條件”
死鎖避免:分配資源前先判斷是否會出現死鎖;包括 銀行家演算法
死鎖檢測;
死鎖恢復:程序終止;程序回退;資源搶佔剝奪; - 有序資源分配:這種演算法資源按某種規則系統中的所有資源統一編號,申請時必須以上升的次序。系統要求申請程序:
1、對它所必須使用的而且屬於同一類的所有資源,必須一次申請完;
2、在申請不同類資源時,必須按各類裝置的編號依次申請。
銀行家演算法:該演算法需要檢查申請者對資源的最大需求量,如果系統現存的各類資源可以滿足申請者的請求,就滿足申請者的請求。
這樣申請者就可很快完成其計算,然後釋放它佔用的資源,從而保證了系統中的所有程序都能完成,所以可避免死鎖的發生。 - 程序同步:在多道程式環境下,程序是併發執行的,不同程序之間存在著不同的相互制約關係。
- 程序控制塊包含的資訊:
1.程式ID(PID、程序控制代碼):它是唯一的,一個程序都必須對應一個PID。PID一般是整型數字
2.特徵資訊:一般分系統程序、使用者程序、或者核心程序等
3.程序狀態 :執行、就緒、阻塞,表示程序現的執行情況
4.優先順序:表示獲得CPU控制權的優先順序大小
5.通訊資訊:程序之間的通訊關係的反映,由於 作業系統 會提供 通訊通道
6.現場保護區:保護阻塞的程序用
7.資源需求、分配 控制資訊
8.程序實體資訊,指明程式路徑和名稱,程序資料在實體記憶體還是在 交換分割槽 (分頁)中
9.其他資訊:工作單位,工作區,檔案資訊等 - 程序控制塊包含的資訊:
1.標識資訊。
用於唯一地標識一個程序,常常分由使用者使用的外部識別符號和被系統使用的內部標識號。幾乎所有作業系統中程序都被賦予一個唯一的、內部使用的數值型的程序號,作業系統的其他控制表可以通過程序號來交叉引用程序控制表。常用的標識資訊包括程序識別符號、父程序的識別符號、使用者程序名、使用者組名等。
2.現場資訊。
用於保留一個程序在執行時存放在處理器現場中的各種資訊,任何一個程序在讓出處理器時必須把此時的處理器現場資訊儲存到程序控制塊中,而當該程序重新恢復執行時也應恢復處理器現場。常用的現場資訊包括通用暫存器的內容、控制暫存器(如PSW暫存器)的內容、使用者堆戰指標、系統堆餃指標等。
3.控制資訊。
用於管理和排程一個程序。常用的控制資訊包括:
l)程序的排程相關資訊,如程序狀態、等待事件和等待原因、程序優先順序、佇列指引元等;
2)程序組成資訊,如正文段指標、資料段指標;
3)引程序間通訊相關資訊,如訊息佇列指標、訊號量等互斥和同步機制;
4)程序在輔儲存器內的地址;
5)CPU資源的佔用和使用資訊,如時間片餘量、程序己佔用CPU的時間、程序己執行的時間總和,記賬資訊;
6)程序特權資訊,如在記憶體訪問和處理器狀態方面的特權; - 程序主要由資料段、程式段和PCB三部分內容組成。
- 程序的基本特徵有 動態性、併發性、獨立性、非同步性及結構性。
1 動態性:程序是程式的一次執行,它有著建立、活動、暫停、終止等過程,具有一定的生命週期,是動態地產生、變化和消亡的。動態性是程序最基本的特徵。
2 併發性:指多個程序實體,同存於記憶體中,能在一段時間內同時執行,併發性是程序的重要特徵,同時也是作業系統的重要特徵。引入程序的目的就是為了使程式能與其他程序的程式併發執行,以提高資源利用率。
3 獨立性:指程序實體是一個能獨立執行、獨立獲得資源和獨立接受排程的基本單位。凡未建立PCB的程式都不能作為一個獨立的單位參與執行。
4 非同步性:由於程序的相互制約,使程序具有執行的間斷性,即程序按各自獨立的、 不可預知的速度向前推進。非同步性會導致執行結果的不可再現性,為此,在作業系統中必須配置相應的程序同步機制。
5 結構性:每個程序都配置一個PCB對其進行描述。從結構上看,程序實體是由程式段、資料段和程序控制段三部分組成的。 - 程序是一個 獨立執行 的基本單位,也是一個 資源分配 和 CPU排程 的基本單位。
- 程序的佇列組織通常採用 連結 和 索引 的形式。
- 臨界資源的概念是“ 一次僅允許一個程序訪問的資源 ”,而臨界區是指 程序中訪問臨界資源的那段程式程式碼 。
- 對每個資源類只有一個資源的死鎖檢測程式根據“ 資源分配表 ”和“ 程序等待表 ”,判別是否出現死鎖。
- 用於實現互斥的同步機制必須遵循(臨界區的訪問規則):
空閒則入;
忙則等待;
有限等待;
讓權等待; - 為實現基於訊息緩衝佇列的程序通訊,在程序控制塊中應增加 訊息佇列指標、訊息佇列的互斥訊號量、訊息佇列的資源訊號量。
- 程序通訊使用的信箱邏輯上分成 信箱頭 和 信箱體 兩部分 。
- 使用者和作業系統之間的介面主要分成 命令介面 和 系統功能呼叫兩 類。
- 根據作業的方式不同,命令介面又分為 聯機命令介面 和 脫節命令介面 。
- 處理機排程分為四級: 作業排程 ,交換排程, 程序排程 , 執行緒排程 。
作業排程:又稱巨集觀排程,或 高階排程 。作業排程的主要功能是根據 作業控制塊 中的資訊,審查系統能否滿足使用者作業的資源需求,以及按照一定的演算法,從外存的後備佇列中選取某些作業調入記憶體,併為它們建立程序、分配必要的資源。然後再將新建立的 程序插入 就緒 佇列 ,準備執行。
交換排程:又稱 中級排程 。其主要任務是按照給定的原則和策略,將處於外存交換區中的 就緒狀態 或等待狀態或記憶體等待狀態的程序交換到外存交換區。交換排程主要涉及到記憶體管理與擴充。因此在有些書本中也把它歸入記憶體管理部分。
程序排程:又稱微觀排程或 低階排程 。其主要任務是按照某種策略和方法選取一個處於就緒狀態的程序佔用處理機。在確立了佔用處理機之後,系統必須進行 程序上下文 切換以建立與佔用處理機程序相適應的執行環境。
執行緒排程:程序中相關堆疊和控制表等的排程。 - 剝奪原則:時間片原則、優先權原則、短程序優先原則。
- 確定優先權的方法概括起來不外乎是基於 靜態特性 和 動態特性 兩種方法。前者所得到的是靜態優先權,後者所得到的是動態優先權。
- 死鎖產生的原因:
(1)** 競爭資源**
(2) 程序推進順序非法。
產生死鎖的四個必要條件:
(1) 互斥條件:一個資源每次只能被一個程序使用。
(2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。
(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。 - 化簡資源分配圖:
方法步驟:
- 第一步:先看系統還剩下多少資源沒分配,再看有哪些程序是不阻塞(“不阻塞”即:系統有足夠的空閒資源分配給它)的
- 第二步:把不阻塞的程序的所有邊都去掉,形成一個孤立的點,再把系統分配給這個程序的資源回收回來
- 第三步:看剩下的程序有哪些是不阻塞的,然後又把它們逐個變成孤立的點。
- 第四步:最後,所有的資源和程序都變成孤立的點。這樣的圖就叫做“可完全簡化”。
如果一個圖可完全簡化,則不會產生死鎖;如果一個圖不可完全簡化(即:圖中還有“邊”存在),則會產生死鎖。這就是”死鎖定理”。
第三章 記憶體管理
- 單一連續分割槽:採用這種管理方案時,記憶體被分成兩個區域,一個是系統區域,僅供作業系統使用,可以駐留在記憶體的低地址部分,也可以駐留在高地址部分(通常設定在記憶體的低端);另一個是使用者區,它是除系統區以外的全部記憶體區域,這部分割槽域是提供給使用者使用的區域,任何時刻 主儲存器 中最多隻有一個作業。所以,單一連續區儲存管理只適用於單使用者的情況。
固定分割槽:又稱定長分割槽或靜態分割槽模式,是滿足多道程式設計需要的最簡單的儲存管理技術。基本思想:給進入主存的使用者作業劃分一塊連續儲存區域,把作業裝入該連續儲存區域,若有多個作業裝入主存,則它們可併發執行。
可變分割槽:可變分割槽儲存管理不是預先把記憶體中的使用者區域劃分成若干固定 分割槽,而是在作業要求裝入記憶體時,根據使用者作業的大小和當時記憶體空間使用情況決定是否為該作業分配一個分割槽。因此 分割槽大小不是預先固定的,而是按作業需求量來劃分的 ;分割槽的個數和位置也不是預先確定的。它有效地克服了固定分割槽方式中,由於分割槽內部剩餘記憶體空置造成浪費的問題。 - 交換技術主要是在不同程序之間進行,而覆蓋則用於同一程式或程序中。
- 內部碎片問題:單一連續分配、固定分割槽分配
外部碎片問題:動態分割槽分配(可變是分割槽管理)
分頁管理不會產生外部碎片,內部碎片也很小。 - 可重入程式碼(Reentry code)也叫純程式碼(Pure code)是一種允許多個程序同時訪問的程式碼。為了使各程序所執行的程式碼完全相同,故不允許任何程序對其進行修改。程式在執行過程中可以被打斷,並由開始處再次執行,並且在合理的範圍內(多次重入,而不造成堆疊溢位等其他問題),程式可以在被打斷處繼續執行,且執行結果不受影響。
- 請求分頁系統是建立在基本分頁的基礎上的,為了能支援虛擬儲存器功能而增加了請求調頁功能和頁面置換功能。
- 靜態重定位:是在目標程式裝入記憶體時,由裝入程式對目標程式中的指令和資料的地址進行修改,即把程式的邏輯地址都改成實際的地址。對每個程式來說,這種地址變換隻是在裝入時一次完成,在程式執行期間不再進行重定位。
優點:是無需增加硬體地址轉換機構,便於實現程式的靜態連線。在早期計算機系統中大多采用這種方案。
缺點(:1)程式的儲存空間只能是連續的一片區域,而且在重定位之後就不能再移動。這不利於記憶體空間的有效使用。(2)各個使用者程序很難共享記憶體中的同一程式的副本。
動態重定位:是在程式執行期間每次訪問記憶體之前進行重定位。這種變換是靠硬體地址變換機構實現的。通常採用一個重定位暫存器,其中放有當前正在執行的程式在記憶體空間中的起始地址,而地址空間中的程式碼在裝入過程中不發生變化。
優點:(1)程式佔用的記憶體空間動態可變,不必連續存放在一處。(2)比較容易實現幾個程序對同一程式副本的共享使用。
缺點:是需要附加的硬體支援,增加了機器成本,而且實現儲存管理的軟體演算法比較複雜。
現在一般計算機系統中都採用動態重定位方法。 - 地址對映一定要有硬體地址轉換機制做支援。
- 記憶體保護單元(MPU)是ARM中配備的有效保護系統資源硬體的一種,提供了記憶體區域保護功能。
- 地址對映:為了保證CPU執行指令時可正確訪問儲存單元,需將使用者程式中的 邏輯地址 轉換為執行時由機器直接定址的 實體地址 ,這一過程稱為地址對映。
重定位的結果還是 邏輯地址 。 - 在分段式儲存管理中用做儲存保護的首先是段表長度。系統首先將段號與段表長度進行比較,如果段號大於等於段暫存器中的段表長度,則訪問越界,產生越界中斷。
- 在請求頁式管理中,頁面置換演算法常用的是 先進先出 和 最近最久未使用 。
- 段表表目的主要內容包括:段號、段在記憶體中的起始地址、段長度。
- 頁表表目的主要內容包括:頁號、塊號。
- 靜態重定位在程式裝入記憶體時進行,動態重定位在程式執行時進行。
- 動態頁式系統中的頁表項比靜態頁式中頁表項增加了存在位、修改位和外存地址,決定淘汰也是否寫回外存的頁表項中的依據是修改位。
第四章 檔案管理
- 隱式連結指標在磁碟上,每一次都要讀取磁碟。顯示連結將磁碟上檔案的鏈式結構用記憶體的一張 FAT 表去描述,查詢時可以在記憶體中進行。定位後再讀磁碟。速度比隱式快很多。
- 檔案的邏輯結構(組織方式):
①順序檔案:所有記錄具有相同長度,並且由相同數目、長度固定的域按照特定的順序組成(記錄按關鍵字排序)。
*優點:通常用於批處理檔案,即每次讀或寫一大批記錄,順序檔案是最佳的;只有順序檔案才能儲存在磁帶上。
*缺點:對於查詢或更新記錄的互動式應用,順序檔案效能很差(在訪問時,為了匹配關鍵字,需要順序查詢檔案);增加或刪除一個記錄比較困難。②**索引檔案:**對主檔案的每個記錄(可以是變長的記錄),索引表中設有一個相應的表項,用於記錄該記錄的長度L及指向該記錄的指標。由於索引表本身是一個定長記錄的順序檔案,從而可以方便的實現直接存取。
檢索過程:首先根據使用者提供的關鍵字,並利用折半查詢法去檢索索引表,從中找到相應的表項;再利用該表項中給出的指向記錄的指標值,去訪問所需的記錄。每當要向索引檔案中增加一個新記錄時,便需對索引表進行修改。
*優點:索引表具有較快的檢索速度,因此主要用於對資訊處理的及時性要求較高的場合。
*缺點:儲存成本大。除了主檔案,還需配置一張索引表,而且每個記錄都要有一個索引項。③索引順序檔案:是順序檔案和索引檔案相結合的產物,最常見的一種邏輯檔案方式,克服了變長記錄不便於直接存取的缺點,而且付出的代價也不算太大。
**結構:**將順序檔案所有記錄分成若干個組;為順序檔案簡歷一張索引表,在索引表中為每組中的第一個記錄建立一個索引項,其中含有該記錄的鍵值和指向該記錄的指標。
**檢索過程:**首先利用使用者提供的關鍵字以及查詢演算法去檢索索引表,找到該記錄所在記錄組中第一個記錄的表項,從中得到該記錄組第一個記錄在主檔案中的位置;然後利用順序查詢法去查詢主檔案,從中得到所要求的記錄。④直接檔案(Hash檔案):可根據給定的記錄鍵值,直接獲得指定記錄的實體地址。
特點:利用Hash函式,可將記錄鍵值轉換為相應記錄的地址。通常由Hash函式所求得的並非是相應記錄的地址,而是指向一目錄表相應表目的指標,該表目的內容指向相應記錄所在的實體地址。
- 外存分配:
常用的三種檔案分配方式:連續分配方式、連結分配方式、索引分配方式。
①連續分配方式:為每一個檔案分配一組相鄰接的盤塊,一組盤快地址定義了磁碟上的一段線性地址。
優點:順序訪問容易、快。
缺點:要求有連續的儲存空間,會產生許多外部碎片;必須實現知道檔案的大小。②連結分配方式:通過在每個盤塊上的連結指標,將同屬於一個檔案的多個離散的盤塊連結成一個連結串列,把這樣形成的物理檔案稱為連結檔案。**
優點:採用離散分配方式,消除了外部碎片,提高了外存空間利用率;無需知道檔案的大小,可根據需要動態分配。
缺點:區域性性原理不在使用;不支援高效的直接存取(必須順序查詢)。③索引分配:為每個檔案分配一個索引塊,再把分配給檔案的所有盤塊號都記錄在該索引塊中,因而索引塊就是一個含有許多盤塊號的陣列。**
優點:支援隨機訪問;不會產生外部碎片;當檔案較大時,由於連結分配方式。
缺點:可能花費較多的外存空間,每建立一個檔案時,便需為之分配一個索引塊,將分配給該檔案的所有盤塊號記錄於其中。
- 空閒空間管理:正如分配給檔案的空間需要管理,當前還沒有分配的空間也必須管理起來。
①位示圖法:使用一個向量,向量的每一位對應於磁碟中的每一塊。0:表示空閒塊,1:表示已使用塊。
優點:很容易找到一個或一組連續的空閒塊;位示圖很小,佔用空間少。常用語微型機或小型機中。
②空閒表法(空閒檔案目錄):類似於連續分配方式,系統為外存上的所有空閒去建立一張空閒表,每個空閒區對應於一個空閒表項,其中包括表項序號、該空閒區的第一個盤塊號、該區的空閒盤塊資訊。
③空閒連結串列法(自由連結串列法):將所有空閒盤區拉成一條空閒鏈。根據構成鏈的基本元素不同分為:空閒盤塊鏈和空閒盤塊區。
④成組連結法:
空閒表法和空閒連結串列法都不適用於大型檔案系統,因為這會使空閒表和空閒連結串列太長。在UNIX中採用的是成組連結法,結合上述兩種方法而形成的一種空閒盤塊管理方法。
- MS-DOS採用顯式連結檔案結構,將各個盤塊的連結指標集中存放在盤的開始,構成一張FAT表。
- 計算物理結構:連續、連結、索引分配的訪問外存的次數:
①連續:訪問1次即可。
②隱式連結:訪問n次。與磁碟塊的位置n有關。(一般連結分配指的是隱式連結分配)
③直接地址索引(一級索引):需要2次訪外存,一次讀索引塊,一次真正讀資料。一般不使用一級索引這個名稱,一般一級索引指的是一級間接索引。
k-1級間接地址索引(k級索引):需要k+1次訪外存。 - 一個檔案系統的邏輯分割槽不能管理大與物理硬碟的容量。
- 分割槽型別:
◆主分割槽:總共最多隻能分四個。(每個硬碟最多隻能劃分為4個主分割槽,或者是3個主分割槽加上一個擴充套件分割槽,這是因為在硬碟的開頭,也就是0磁頭(head)、0柱(cyliner)、0面(side)、0磁軌(track)、0扇區(sector)總共512位元組存放著硬碟最重要的資訊MBR(Master Boot Record,主引導記錄)和分割槽的相關資訊,由於記錄空間只有那麼大,所以也只能記錄這4個分割槽的資訊。分割槽表 partition table 用來記錄整塊硬碟分割槽的狀態,且只有64bytes,最多隻能容納四個分割槽。 )
◆擴充套件分割槽:只能有一個(這是作業系統限制的,理論上來講,一個擴充套件分割槽可以分成多個邏輯分割槽,因此不需要有多個擴充套件分割槽),也算作主分割槽的一種,也就是說主分割槽加擴充套件分割槽最多有四個。但是擴充套件分割槽不能儲存資料和格式化,必須再劃分成邏輯分割槽才能使用。
◆邏輯分割槽:邏輯分割槽是在擴充套件分割槽中劃分的,如果是IDE硬碟,Linux最多支援59個邏輯分割槽,如果是SCSI硬碟Linux最多支援11個邏輯分割槽。 - 邏輯分割槽不能管理大於物理硬碟的容量。
- 當用戶提出在某個路徑或目錄下建立檔案時,系統首先檢查在該目錄下是否有相同名的檔案,如沒有的話則在磁碟目錄某個路徑或目錄下中建立檔案的目錄項,一個檔案控制塊FCB就是一個檔案目錄項。
- 檔案保護:常採用存取控制方式進行,不同的使用者對檔案的訪問規定不同的許可權,以防止檔案未被檔案擁有者授權的使用者訪問。
- 檔案系統管理中,有三種常用的磁碟空閒塊管理方法:索引法、空閒塊連結串列連結法和點陣圖法。
- open系統呼叫操作根據檔名搜尋牡蠣,找到該檔案後,將該檔案的檔案控制資訊(主要是目錄項的資訊:檔案屬性和磁碟地址表)讀入到記憶體的開啟檔案表中,方便後續呼叫的快速訪問。
- close命令關閉檔案,將已修改的記憶體檔案目錄資訊及時寫回到磁碟目錄中,並釋放檔案的記憶體目錄表目空間供其他程序使用。
- 超級塊:包含檔案系統資訊的資料結構。檔案系統的控制資訊、單獨檔案的資訊這些都包含超級塊中。超級塊通常存放在特定的扇區中。
- 檔案系統使用檔名進行管理,也實現了檔名到實體地址的轉換。
- 多級目錄結構中,對檔案的訪問通過路徑名和檔名進行。
- 檔案被劃分的物理塊的大小是固定的,通常和記憶體管理中的頁面大小一致。
- 邏輯記錄是檔案中按資訊在邏輯上的獨立含義來劃分的資訊單位,它是對檔案進行存取操作的基本單位。
- 系統級安全管理的主要任務是不允許未經核準的使用者進入系統,從而也防止了他人非法使用系統中的各類資源。
- 索引檔案的優點是既適合順序存取有適合隨機存取。
- 索引檔案大體由索引區和資料區構成。其中索引區一般按關鍵字的順序存放。
- 系統級安全管理的主要任務是防止未經核準的使用者進入系統,檔案級安全管理的主要任務是控制使用者對檔案的訪問。
- 檔案按照邏輯結構分為兩種:一種是記錄式檔案,另一種為流式檔案。
- 使用者組存取許可權的集合稱為該檔案存取控制表
- 檔案保護是指避免檔案擁有者或者其他使用者因有意或無意的錯誤操作使檔案受到破壞。
- 檔案的結構及存取方法:
檔案的組織形式是檔案的結構,從不同的角度分析檔案有不同的結構形式:邏輯結構和物理結構。從使用者角度出發,研究檔案的抽象組織方式而定義的檔案組織形式為檔案的邏輯結構;從系統的角度出發,研究檔案的物理組織方式而定義的檔案組織形式為檔案的物理結構。檔案的邏輯結構獨立於輔存,幫助使用者分析資訊之間的關係及含義;而物理結構主要關注檔案資訊的儲存形式,幫助使用者瞭解與儲存裝置相關知識。
1、檔案的邏輯結構
檔案的邏輯結構可以分為無結構的字元流式檔案和有結構的記錄式檔案。
1)無結構的字元流式檔案
無結構的字元流式檔案是相關的有序字元的集合。檔案長度即為所含字元數。流式檔案不分成記錄,而是直接由一連串資訊組成。對於流式檔案而言,它是按資訊的個數或以特殊字元為界進行存取的。常見的採用這種結構的有源程式檔案和可執行檔案。
無結構的字元流式檔案的優點主要是空間利用上比較節省,因為沒有額外的說明(如記錄長度)和控制資訊等;但應當注意的是檔案資訊的檢索問題,即採用的邏輯結構應方便系統查詢所需資訊,減少資訊儲存的變動。
2)有結構的記錄式檔案
檔案的資訊劃分為多個記錄,使用者以記錄為單位組織資訊。記錄是具有特定意義的資訊單位,它包含記錄在檔案中的相對位置、記錄名、記錄的屬性等資訊組成。記錄式檔案中,每一個記錄都有一項資訊,用來唯一標識相應的記錄,將各個記錄區分開來,我們稱這個資訊為主鍵。一個記錄中的任一資料項或若干資料項的組合均可作為記錄鍵,除主鍵外的其他鍵成為次鍵。
有結構的記錄式檔案就是按照一定的結構來組織記錄資訊,按照記錄的不同組織形式,常見的記錄式檔案可以分為連續結構和順序結構。
1)連續結構:按照記錄生成的先後順序連續排列。
2)順序結構:設定一種順序規則,以記錄的鍵為索引物件,按照設定的順序規則將記錄順序排列起來。邏輯上的檔案資訊最終都要按照一定存取方法儲存到物理裝置中,檔案系統按照什麼方式將檔案資訊儲存到儲存裝置中,這要與檔案的邏輯結構和存取內容及目的相關。
1)順序存取:按照檔案的邏輯地址依次順序存取。
2)隨機存取:使用者按照記錄的編號進行存取,也稱為直接存取或立即存取。這種方式下,根據存取命令把讀、寫指令直接移動到讀/寫處進行操作。
3)按鍵存取:根據給定記錄的鍵進行存取。給定鍵後,首先搜尋該鍵在記錄中的位置,然後進一步搜尋包含該鍵的記錄,在含有該鍵的所有記錄中查詢所需記錄,當搜尋到所需記錄的邏輯位置後,再將其轉換到相應的實體地址進行存取。2、檔案的物理結構
檔案的物理結構是指檔案在輔助儲存器上儲存的結構形式,其和檔案的存取方法有密切關係。檔案物理結構的優劣,直接影響到檔案系統系統的效能。
為了有效地分配儲存器的空間,通常把它們分成若干塊,並以塊為單位進行分配和傳遞,每一個塊稱為物理塊,而塊中的資訊稱為物理記錄。物理塊長通常是固定的,在磁碟上經常以512B至8KB為一塊。檔案在邏輯上可以看成是連續的,但在物理介質上存放時可以有多種形式。目前常用的檔案物理結構有順序結構檔案、連結結構檔案、索引檔案、Hash檔案。
1)順序結構檔案
把邏輯檔案的資訊順序地儲存到連續的物理盤塊中,這樣形成的檔案稱為順序檔案。這種檔案保證了邏輯檔案中的記錄順序與儲存器中檔案佔用盤塊的順序地一致性。
優點:
<1>管理簡單:一旦知道檔案儲存的起始塊號和檔案塊數,就可以立即找到所需的檔案資訊。
<2>順序存取速度快:要獲得一批相鄰的記錄時,其存取速度在所有檔案物理結構中是最快的。
缺點:
<1>要求連續儲存空間:如同記憶體的連續分配一樣,可能形成許多儲存空間的碎片。
<2>必須事先知道檔案的長度,才能為該檔案分配合適的連續儲存空間。
2)連結結構檔案
連結結構的特點是使用指標(也稱為連結字)來表示檔案中各個記錄之間的關聯。在連結結構檔案中,一個邏輯上連續的檔案,可以存放在不連續的儲存塊中,每個塊之間用單向連結串列連結起來。為了使系統能方便地找到邏輯上連續的下一塊的物理位置,在每個物理塊中設定一個指標,指向該檔案的下一個物理塊號,使得存放同一個檔案的物理塊連結成一個佇列,該結構為連結檔案。
優點: <1>不要求為檔案分配連續的儲存空間,一定程度上解決了空間碎片問題,提高了儲存空間利用率因為採用連結串列的思想,檔案中記錄的增刪工作比較容易實現
<2>因為採用連結串列的思想,檔案中記錄的增刪工作比較容易實現
缺點:
<1>只適合於順序存取,不便於直接存取,為了找到某個物理塊的資訊,必須從頭開始,逐一查詢每個物理塊,直到找到為止,因此降低了查詢速度。
<2>在每個物理塊中都要設定一個指標,佔去一定的儲存空間
3)連結結構檔案
索引檔案是實現非連續儲存的另一種辦法,適用於資料記錄儲存在隨機存取儲存裝置上的檔案。這種結構的組織方式要求為每一個檔案建立一張索引表,其中每個表目指出檔案邏輯記錄所在的物理塊號,索引表指標由FCB給出。
當檔案很大時,索引表也將很大,需要佔用多個盤塊。管理多個盤塊的索引表有兩種方法:一是將存放索引表的盤塊用指標連結起來,稱為連結索引。連結索引需要順序地讀取索引表各索引表項。因此,與連結檔案相似,讀取後面的索引表項需進行多次磁碟I/O操作;另一種是採用多級索引,即為多個索引表再建立一個索引表(稱為主索引表),形成二級索引。如果二級索引的主索引表仍然不能存放在一個盤塊中,就需要三級索引。
優點:
是連結結構的一種擴充套件,具有連結結構的優點,還克服了只能作順序存取的缺點,具有直接讀寫任意一個記錄的能力,便於檔案的增加和刪除,可以方便地進行隨機存取。缺點:
<1>增加了索引表的空間開銷和查詢時間,索引表的資訊量甚至可能遠遠超過檔案記錄本身的資訊量。
<2>在存取檔案時首先查詢索引表,增加了一次讀盤操作,從而降低了檔案訪問的速度。都但是可以採取補救措施,例如在檔案讀取前,事先把索引表放在記憶體中,這樣以後的檔案訪問可以直接在記憶體中查詢索引表,以加快訪問速度。
4)Hash檔案
在直接存取裝置上,檔案的物理結構還有一種組織方式,即採用定址結構。在這種方式中,把記錄中的關鍵碼通過某種計算,轉換為記錄的相應地址。這種儲存結構是通過指定記錄在儲存介質上的位置進行直接存取的,記錄無所謂次序。一般來說,用於地址的總數比可能的關鍵碼總數要少得多,所以不會出現一一對應關係。那麼就有可能存在著不同的關鍵碼計算後,得到了相同的地址,這種現象稱為“地址衝突”。而這種通過對記錄的關鍵碼施加變換而獲得相應地址的變換方法,通常稱為Hash方法,或稱為雜湊法、雜湊法。利用Hash方法建立的檔案結構稱為。Hash檔案。這種物理結構適用於不宜採用連續結構,記錄次序比較混亂,又需要快速存取的情況。例如,一個存取學生資訊的檔案,將班級資訊作為索引,凡班級相同的同學作為一個數據,這樣建立的Hash表可以用來快速查詢同一班級學生的資訊,加快了查詢速度。
優點:
查詢不需要做索引,可以快速地直接存取。
缺點:
當地址衝突發生時,需要有解決衝突的方法,這稱為溢位處理技術,也是設計Hash檔案需要考慮的主要內容。常用的溢位處理技術有線性探測法、二次探測法、拉鍊法、獨立溢位區法等。
存取方法
1)順序存取
資料以塊的形式存放,只有前面的物理塊被訪問後,後續的物理塊才能被訪問,塊與塊之間用間隔分開。
2)直接存取
- 從檔案管理角度看,檔案由檔案控制塊和檔案體兩部分組成。
- 檔案轉儲的方法有兩種:全量儲存和增量儲存。
第五章 輸入/輸出
- 區分通道、管道、管程
- 通道命令
通道命令規定裝置的操作,每一種通道命令規定了裝置的一種操作,通道命令一般由命令碼/資料。
主存地址/傳送位元組個數及標誌碼等部分組成。 - 通道程式
是一組通道命令規定通道執行一次輸入輸出操作應做的工作,這一組命令就組成了一個通道程式。 - 管道機制
把第一條命令的輸出作為第二條命令的輸入,如此進行連線的技術。 - 管程
代表共享資源的資料結構,以及由對該共享資料結構實施操作的一組過程所組成的資源管理程式,共同構成了一個作業系統的資源管理模組,我們稱之為管程。
- I/O交通管制程式的主要功能是管理裝置、控制器、通道。
- SPOOLing技術
定義
又稱,假離線系統; 在聯機的情況下實現的同時外圍操作的技術稱為SPOOLing技術,或稱為假離線技術。組成
1.輸入井和輸出井:輸入井和輸出井的儲存區域是在磁碟上開闢出來的。輸入輸出井中的資料一般以檔案的形式組織管理,這些檔案稱之為井檔案。一個檔案僅存放某一個程序的輸入或輸出資料,所有程序的資料輸入或輸出檔案連結成為一個輸入輸出佇列。
2*.輸入緩衝區和輸出緩衝區:輸入緩衝區和輸出緩衝區的儲存區域是在記憶體中開闢出來的。主要用於緩和CPU和磁碟之間速度不匹配的矛盾。輸入緩衝區用於暫存有輸入裝置傳送的資料,之後再傳送到輸入井;輸出緩衝區 同理。
3.輸入程序和輸出程序:輸入程序也稱為預輸入程序,用於模擬離線輸入時的外圍控制機,將使用者要求的資料從輸入裝置傳送到輸入緩衝區*,再存放到輸入井。當CPU需要的時候,直接從輸入井將資料讀入記憶體。反之,輸出的同理。
4.井管理程式:用於控制作業與磁碟井之間資訊的交換。特點
1.提高了I/O的速度:,對資料執行的I/O操作,已從對低速I/O裝置執行的I/O操作演變為對磁碟緩衝區中資料的存取,如同離線輸入輸出一樣,提高了I/O速度,緩和了CPU和低速的I/Os裝置之間速度的不匹配的矛盾。
2. 將獨佔裝置改造成了共享裝置:因為在假離線印表機系統中,實際上並沒有為任何程序分配裝置,而只是在磁碟緩衝區中為程序分配了一個空閒盤塊和建立了一張I/O請求表。
3. 實現了虛擬裝置功能:巨集觀上,對於每一個程序而言,它們認為是自己獨佔了一個裝置,即使實際上是多個程序在同時使用一臺獨佔裝置。也可以說,假離線系統,實現了將獨佔裝置變換為若干臺對應的邏輯裝置的功能。
- 各種磁碟陣列的對比:
- Raid0 :最少需要兩塊盤, 沒用冗餘資料,不做備份,任何一塊磁碟損壞都無法執行。n塊磁碟(同類型)的陣列理論上讀寫速度是單塊磁碟的n倍(實際達不到),風險性也是單一n倍(實際更高),是磁碟陣列中儲存效能最好的。適用於安全性不高,要求比較高效能的圖形工作站或者個人站。
- Raid1:至少需要兩塊盤,磁碟數量是2的n倍,每一塊磁碟要有對應的備份盤,利用率是50%,只要有一對磁碟沒有損壞就可以正常使用。n組磁碟(2n塊同類型磁碟)的陣列理論上讀取速度是單塊磁碟的n倍(實際達不到),風險性是單一磁碟的n分之一(實際更低)。換盤後需要長時間的映象同步,不影響外界訪問,但整個系統性能下降。磁碟控制器負載比較大。適用於安全性較高,且能較快恢復資料的場合。
- Raid0+1: 至少需要四塊盤,磁碟數量也是2的n倍。既有資料映象備份,也能保證較高的讀寫速度。成本比較大。
- Raid3:至少需要3塊盤(2塊盤沒有校驗的意義)。將資料存放在n+1塊盤上,有效空間是n塊盤的總和,最後一塊儲存校驗資訊。資料被分割儲存在n塊盤上,任一資料盤出現問題,可由其他資料盤通過校正監測恢復資料(可以帶傷工作),換資料盤需要重新恢復完整的校驗容錯資訊。對陣列寫入時會重寫校驗盤的內容,對校驗盤的負載較大,讀寫速度相較於Raid0較慢,適用於讀取多而寫入少的應用環境,比如資料庫和web伺服器。使用容錯演算法和分塊的大小決定了Raid3在通常情況下用於大檔案且安全性要求較高的應用,比如視訊編輯、硬碟播出機、大型資料庫等。
- Raid5:至少需要3塊盤,讀取速度接近Raid0,但是安全性更高。安全性上接近Raid1,但是磁碟的利用率更高。可以認為是Raid0和Raid1的一個折中方案。只允許有一塊盤出錯,可以通過另外多塊盤來計算出故障盤的資料,故障之後必須儘快更換。比Raid0+1的磁碟利用率高,是目前比較常用的一種方案。
- DMA方式主要用於塊裝置,磁碟是典型的塊裝置。
- 共享裝置是指同一時間段內允許多個程序同時訪問的裝置。
- 分配獨佔裝置時可能引起思索,在分配共享裝置時不會引起程序死鎖。
- 通道是一種特殊的處理機,可以獨立完成系統交付的輸入輸出任務。通過執行自身的輸入輸出專用程式進行主存與外設間的資料傳輸。
- 一般的大型計算機系統中,主機對外部裝置的控制可以分為4個層次來實現,即主機、通道、控制器和裝置。通常,一個CPU可以連線多個通道,一個通道可以連線多個裝置控制器,一個裝置控制器可以連線同類型的多臺裝置。裝置分配的過程是先分配裝置,再分配控制器,最後分配通道。
- 虛擬裝置是指使用虛擬技術把獨佔裝置改造成為多使用者共享的裝置,也就要把一臺具體的物理裝置變換為若干個邏輯裝置。
- 裝置獨立性,即應用程式獨立於具體使用的 物理裝置* 。在應用程式中, 使用 邏輯裝置 名稱來請求**使用某類裝置;而系統在實際執行時, 還必須使用 物理裝置 名稱。因此,系統須具有將 邏輯裝置 名稱轉換為某物理裝置名稱的功能。
13.裝置控制表(DCT):系統中的每臺裝置都有一張裝置控制表DCT。在DCT中充分體現出了裝置的各方面特徵,以及與該裝置相連的 裝置控制器 的情況,並儲存了控制器塊的入口位置。內容包括:邏輯裝置號、物理裝置號、裝置特性(可讀/可寫)、裝置狀態(空閒/忙碌)、驅動程式入口、指標。 - 裝置分配依據的主要資料結構有:
- 系統裝置表:記錄系統中全部裝置的情況;
- 裝置控制表:系統為每個裝置配置一張裝置控制表,使用者記錄本裝置的情況;
- 控制器控制表:系統為每個控制器設定一張用於記錄本控制器情況的控制器控制表,它反映控制器的使用狀態及與通道的連結情況。
- 通道控制表:用來記錄通道的特性、狀態、及其他的管理資訊。
- 通道是獨立於中央處理器的,專門負責資料I/O傳輸工作的物理單元。優點是,可以實現中央處理器和各種外部裝置並行工作。通道沒有自己的記憶體,通道指令通常放在主機的記憶體中。
- 緩衝技術是用在外部裝置與其他硬體部件之間的一種資料暫存技術。採用緩衝技術最根本的原因是,CPU處理資料速度與裝置傳輸資料速度不相匹配,需要用緩衝區緩解其間的速度矛盾。
- 中斷遮蔽可以影響中斷響應次序。
- 緩衝區(Buffer)就是在記憶體中預留指定大小的儲存空間用來對I/O的資料做臨時儲存,這部分預留的記憶體空間叫