自考《操作系統(tǒng)》概述(3)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  設(shè)備管理
  一、輸入輸出操作(要求達到“識記”層次)
  1、什么是輸入輸出操作:主存儲器與外圍設(shè)備之間的信息傳送操作稱為輸入輸出操作。
  2、對于存儲型設(shè)備,輸入輸出操作的信息傳輸單位為“塊”。對輸入輸出型設(shè)備,輸入輸出操作的信息傳輸單位為“字符”。
  二、獨占設(shè)備和共享設(shè)備(識記)
  1、獨

一、輸入輸出操作(要求達到“識記”層次)

1、什么是輸入輸出操作:主存儲器與外圍設(shè)備之間的信息傳送操作稱為輸入輸出操作。

2、對于存儲型設(shè)備,輸入輸出操作的信息傳輸單位為“塊”。對輸入輸出型設(shè)備,輸入輸出操作的信息傳輸單位為“字符”。

二、獨占設(shè)備和共享設(shè)備(識記)

1、獨占設(shè)備是指每次只能供一個作業(yè)執(zhí)行期間單獨使用的設(shè)備。如輸入機、磁帶機、打印機等。

2、共享設(shè)備是指允許幾個作業(yè)執(zhí)行期間可同時使用的設(shè)備。共享設(shè)備的“同時使用”的含義是指多個作業(yè)可以交替啟動共享設(shè)備,其實是當(dāng)一個用業(yè)正在使用設(shè)備時其他作業(yè)暫不能使用,即每一時刻仍只有一個作業(yè)占用,但當(dāng)一個作業(yè)正在使用設(shè)備時其他作業(yè)就可使用。

三、獨占設(shè)備的分配(領(lǐng)會)

1、獨占設(shè)備的絕對號與相對號

這和絕對地址/相對地址的概念類似。絕對號就是將每一臺設(shè)備確定一個編號(相當(dāng)于一個絕對地址)。相對號就是為了用戶程序的方便而設(shè)的,在用戶請求使用時,采用“設(shè)備類-相對號”來提出使用設(shè)備要求。由系統(tǒng)建立絕對號與“設(shè)備類-相對號”之間的關(guān)系,就能正確啟用設(shè)備了。

2、設(shè)備的指定方式

1) 設(shè)備絕對號:系統(tǒng)為每一個設(shè)備確定一個唯一的編號。

2)設(shè)備相對號:不具體指定是哪臺設(shè)備,只說明要某類設(shè)備多少臺,這樣可以由系統(tǒng)靈活分配。

3)設(shè)備獨立性:采用“設(shè)備類、相對號”方式使用設(shè)備時,用戶編程時使用的設(shè)備與實際使用哪臺設(shè)備無關(guān),這就是“設(shè)備獨立性”。

4)如何實現(xiàn)獨占性設(shè)備分配:對于獨占性設(shè)備,系統(tǒng)采用“靜態(tài)分配”的策略,就是當(dāng)一個作業(yè)所需使用的獨占設(shè)備能得到滿足時,該作業(yè)才能被裝入主存儲器執(zhí)行。

在操作系統(tǒng)中,設(shè)置“設(shè)備分配表”來記錄計算機系統(tǒng)所配置的獨占設(shè)備類型、臺數(shù)和分配情況等。設(shè)備分配表由“設(shè)備類表”和“設(shè)備表”兩部分組成。通過查表和修改表的操作完成設(shè)備分配工作。

四、磁盤的驅(qū)動調(diào)度(領(lǐng)會)

1、 磁盤的結(jié)構(gòu)

還記得小學(xué)時的作業(yè)嗎?秒,分,小時?)這也一樣,扇區(qū)套在磁道里,磁道套在柱面里,柱面套在一個磁盤里。接下來的問題就是被除數(shù)=除數(shù)×商+余數(shù)了。明白了嗎?

2、訪問磁盤的操作時間

3、磁盤的驅(qū)動調(diào)度:系統(tǒng)決定等待磁盤訪問者的執(zhí)行次序的工作就是磁盤的“驅(qū)動調(diào)度”。

4、對磁盤進行驅(qū)動調(diào)度的目的:有利于系統(tǒng)效率的提高。

5、磁盤調(diào)度分為移臂調(diào)度和旋轉(zhuǎn)調(diào)度。

6、移臂調(diào)度算法包括以下四種:

1) 先來先服務(wù)算法;

根據(jù)訪問者提出訪問請求的先后次序來決定執(zhí)行次序。

2) 最短尋找時間優(yōu)先調(diào)度算法;

從等待的訪問者中挑選尋找時間最短的那個請求執(zhí)行,而不管訪問者的先后次序。

3) 電梯調(diào)度算法;

從移動臂當(dāng)前位置沿移動方向選擇最近的那個柱面的訪問者來執(zhí)行,若該方向上無請求訪問時,就改變移動方向再選擇。

4) 單向掃描調(diào)度算法。

從0柱面開始往里單向掃描,掃到哪個執(zhí)行哪個。

7、信息的優(yōu)化分布:知道信息在磁盤上排列不一定是按順序最優(yōu),對于一些能預(yù)知處理要求的信息采用優(yōu)化分頁可以縮短輸入輸出操作時間,提高系統(tǒng)效率。

五、外圍設(shè)備的啟動(識記)

1、通道(channel):計算機系統(tǒng)中能夠獨立完成輸入輸出操作的硬件裝置。是CPU與設(shè)備的橋梁。

注解:CPU并不直接操作外圍設(shè)備,他連接通道(I/O處理機),通道連接設(shè)備控制器,設(shè)備控制器連接設(shè)備。CPU只需把“I/O”設(shè)備啟動,并給出相關(guān)的操作要求。然后就由通道來處理輸入輸出事宜,做完后報告CPU。

2、通道地址字(CAW)和通道狀態(tài)字(CSW)

用來存放通道程序首地址的主存固定單元稱為“通道地址字”。

通道狀態(tài)字:用于記錄通道和設(shè)備執(zhí)行情況的主存單元。

3、I/O中斷:是指中央處理器和通道協(xié)調(diào)工作的一種手段。通道借助I/O中斷請求CPU進行干預(yù),CPU根據(jù)產(chǎn)生的I/O中斷事件了解輸入輸出操作的執(zhí)行情況,I/O中斷事件是由于通道程序的執(zhí)行或其他外界原因引起的,對通道操作而言,當(dāng)操作正常結(jié)束或異常結(jié)束(如設(shè)備故障、設(shè)備特殊情況引起異常結(jié)束)形成I/O中斷,由CPU根據(jù)相應(yīng)情況分別處理。

六、虛擬設(shè)備SPOOL系統(tǒng)(領(lǐng)會)

1、實現(xiàn)虛擬設(shè)備的目的:用一種物理設(shè)備模擬另一類物理設(shè)備,使各作業(yè)在執(zhí)行期間只使用虛擬的設(shè)備而不直接使用物理的獨占設(shè)備。這種技術(shù)可使獨占的設(shè)備變成可共享的設(shè)備,使得設(shè)備的利用率和系統(tǒng)效率都能得到提高。

2、實現(xiàn)虛擬設(shè)備的硬件條件:大容量磁盤;中斷裝置和通道;中央處理器與通道并行工作的能力。

實現(xiàn)虛擬設(shè)備的軟件條件是要求操作系統(tǒng)采用多道程序設(shè)計技術(shù)。

3、虛擬設(shè)備的實現(xiàn)原理:對于多道程序,輸入時將一批作業(yè)的信息通過輸入設(shè)備預(yù)先傳送到磁盤上。輸出時將作業(yè)產(chǎn)生的結(jié)果也全部暫時存在磁盤上而不直接輸出,直到一個作業(yè)得到全部結(jié)果而執(zhí)行結(jié)束時再行輸出。這樣在執(zhí)行過程中,不需要使用輸入機和打印機。因此在配置一臺輸入機和打印機的情況下,可以讓多個作業(yè)同時執(zhí)行,并且各個作業(yè)請求輸入信息和輸出結(jié)果的要求都能及時得到滿足和實現(xiàn)。

4、SPOOL系統(tǒng)的組成和實現(xiàn):

井:為實現(xiàn)虛擬設(shè)備在磁盤上劃出的專用存儲空間,用于存放作業(yè)的初始信息和執(zhí)行結(jié)果。

SPOOL系統(tǒng)由三部分程序組成:

1、預(yù)輸入程序。通過該程序把作業(yè)流中每個作業(yè)的初始信息傳送到輸入井保存,以備作業(yè)執(zhí)行時使用。

2、井管理程序:根據(jù)作業(yè)的請求,保證作業(yè)正確及時地從“井”中讀取或?qū)懗鲂畔ⅰ?/p>

3、緩輸出程序。它負責(zé)查看“輸出井”中是否有待輸出的結(jié)果信息,若有則啟動打印機把作業(yè)結(jié)果輸出。

4、spool系統(tǒng)可以縮短作業(yè)執(zhí)行時間的原因。

作業(yè)的執(zhí)行時間是指作業(yè)被裝入主存儲器到產(chǎn)生全部結(jié)果所需要的時間。在SP在SPOOL系統(tǒng)控制下,作業(yè)執(zhí)行時從磁盤上讀/寫信息代替低速的輸入機和打印機的讀/寫操作,信息傳送的速率顯然是快得多。因此作業(yè)的執(zhí)行時間就縮短了。

死鎖:(就是路口的塞車現(xiàn)象 )

若系統(tǒng)中存在一組進程(兩個或多個進程),它們中的每一個進程都占用了某種資源而又都在等待其中另一個進程所占用的資源,這種等待永遠不能結(jié)束,則說系統(tǒng)出現(xiàn)了“死鎖”。或說這組進程處于“死鎖”狀態(tài)。

一、死鎖的防止(簡單應(yīng)用)

1、系統(tǒng)出現(xiàn)死鎖必然出現(xiàn)以下情況:

1)互斥使用資源

2)占有并等待資源

3)不可搶奪資源

4)循環(huán)等待資源

2、死鎖的防止策略:破壞產(chǎn)生死鎖的條件中的一個就可以了。

常用的方法有:靜態(tài)分配、按序分配、搶奪式分配3種。

二、死鎖的避免(簡單應(yīng)用)

1、死鎖的避免是讓系統(tǒng)處于安全狀態(tài),來避免發(fā)生死鎖。

安全狀態(tài):如果操作系統(tǒng)能保證所有的進程在有限的時間內(nèi)得到需要的全部資源,則稱系統(tǒng)處于“安全狀態(tài)”。

2、銀行算法是怎樣避免死鎖的:

計算機銀行家算法是通過動態(tài)地檢測系統(tǒng)中資源分配情況和進程對資源的需求情況,在保證到少有一個進程能得到所需要的全部資源,從而能確保系統(tǒng)處于安全狀態(tài)進,才把資源分配給申請者,從而避免了進程共享資源時系統(tǒng)發(fā)生死鎖。

采用銀行家算法時為進程分配資源的方式:

1)對每一個首次申請資源的進程都要測試該進程對資源的最大的需求量。如果系統(tǒng)現(xiàn)存資源可以滿足他的最大需求量,就按當(dāng)前申請量為分配資源。 否則推遲分配。

2)進程執(zhí)行中繼續(xù)申請資源時,先測試該進程已占用資源數(shù)和本次申請資源總數(shù)有沒有超過最大需求量。超過就不分配。

若沒有超過,再測試系統(tǒng)現(xiàn)存資源是否滿足進程尚需的最大資源量,滿足則按當(dāng)前申請量分配,否則也推遲分配。

總之,銀行家算法要保證分配資源時系統(tǒng)現(xiàn)存資源一定能滿足至少一個進程所需的全部資源。

(銀行家算法在操作系統(tǒng)的實踐考試中可能會用到)

三、死鎖的檢測和解除(領(lǐng)會)

死鎖的檢測

就是既不打預(yù)防針,也不去避免得病,而是經(jīng)常去體檢,如果發(fā)現(xiàn)有病了就治療。這是一種事后解決的辦法,也算是解決死鎖問題的一條途徑。但這畢竟要付出較大代價。

重點是:分析與時間有關(guān)的錯誤;用PV操作實現(xiàn)進程的同步與互斥;用信箱實現(xiàn)進程通信。

一、進程的順序性與并發(fā)性(領(lǐng)會)

1、進程的順序性:任何進程在順序的處理器上的執(zhí)行是嚴(yán)格按照順序進行的,每次只能執(zhí)行一個操作。這就是進程的順序性。

當(dāng)一個進程獨占處理器順序執(zhí)行時,具有兩個特性:一、封閉性 二、可再現(xiàn)性。封閉性是說進程的執(zhí)行結(jié)果只取決于進程本身,不受外界影響??稍佻F(xiàn)性是說當(dāng)進程重復(fù)執(zhí)行時,必定獲得相同的結(jié)果。

2、進程的可同時執(zhí)行:指一個進程沒有完,另一個就可以開始。在時間上是可重疊的,我們把這個叫做進程的可同時執(zhí)行。

3、進程的并發(fā)性:系統(tǒng)中存在一組可同時執(zhí)行的進程。并發(fā)進程相互之間可能是無關(guān)的,也可能是交往的。

并發(fā)進程的執(zhí)行速度取決于自身和進程調(diào)度策略。二者缺一不可,執(zhí)行速度不能由自己決定。

4、與時間有關(guān)的錯誤 :有交往的并發(fā)進程交替使用共享資源時會出現(xiàn)錯誤,錯誤與時間有關(guān),稱為與時間有關(guān)的錯誤。其錯誤的根本原因是這些進程交叉使用了共享變量。

二、相關(guān)臨界區(qū)

1、并發(fā)進程中與共享變量有關(guān)的程序段稱為“臨界區(qū)”。并發(fā)進程中涉及到相同變量的那些程序段是相關(guān)臨界區(qū)。

2、對相關(guān)臨界區(qū)的管理的基本要求。

對相關(guān)臨界區(qū)管理的基本原則是:如果有進程在相關(guān)臨界區(qū)執(zhí)行,則不讓另一個進程進入相關(guān)的臨界區(qū)執(zhí)行。

五、進程的同步(綜合應(yīng)用)

1、進程同步的含義:進程的同步是指并發(fā)進程之間存在一種制約關(guān)系,一個進程的執(zhí)行依賴另一個進程的消息,當(dāng)一個進程沒有得到另一個進程的消息時應(yīng)等待,直到消息到達才被喚醒。

“生產(chǎn)者”與“消費者”是同步問題的典型例子。

這里有兩個消息量:一是“緩沖器里有物品”,二是“可把物品存入緩沖器”,這兩個消息量對應(yīng)需要兩個信號量SPut和SGet.SP的初始值為1,如果初始時可用的緩沖器為n個,則SP=n;SG的初始值為0。

生產(chǎn)者進程調(diào)用P(SP)和V(SG),消費者進程調(diào)用P(SG)和V(SP),根據(jù)SG和SP的值來決定是否可以存或取物。

2、正確使用PV操作實現(xiàn)進程同步。

(1)用一個信號量與一個消息聯(lián)系起來,當(dāng)信號量的值為0時表示期望的消息尚未產(chǎn)生,當(dāng)信號量值為非0時表示期望的消息已經(jīng)存在。

(2)在用PV操作實現(xiàn)同步時,一個信號量與一個消息量聯(lián)系在一起,當(dāng)有多個消息時必須定義多個信號量;測試不同的消息是否到達或發(fā)送不同消息時,應(yīng)對不同的信號調(diào)用P操作或V操作。

(3)仔細領(lǐng)會教材中的例子,關(guān)于PV操作,在考試中出現(xiàn)的可能性極大,但是難度基本不超過教材上例題。見本欄的高手切磋。

3、使用PV操作實現(xiàn)進程同步與互斥的混合問題。

進程的同步與進程的互斥都涉及到并發(fā)進程訪問共享資源的問題。可以看到進程的互斥實際上是進程同步的一種特殊情況。若干進程互斥使用資源時,一個等待使用資源的的進程在得到占用資源的進程發(fā)出“歸還資源”的消息(調(diào)用了V操作)后,它就可去使用資源。因此,互斥使用資源的進程之間實際上也存在一個進程依賴另一個進程發(fā)出信息的制約關(guān)系。所以,也把進程的互斥與進程的同步稱為進程的同步。

相關(guān)閱讀