第5章 習(xí)題解答
1.從使用的角度,外圍設(shè)備可分為哪兩類?用戶要求使用外圍設(shè)備時(shí),系統(tǒng)采用什么方法來分配?
答:從使用角度來分析設(shè)備的特點(diǎn),可以把設(shè)備分成兩類:一類是一個(gè)作業(yè)在執(zhí)行期間獨(dú)占使用的設(shè)備,稱為獨(dú)占設(shè)備。這類設(shè)備一般采用靜態(tài)分配的辦法在作業(yè)執(zhí)行前就分配出去了,直到作業(yè)結(jié)束撤離的時(shí)候,才將分配出去的設(shè)備收回,收回后,才能再分配給其他需要使用該類設(shè)備的作業(yè)。另外一類是共享設(shè)備。這類設(shè)備可以由幾個(gè)作業(yè)同時(shí)使用。共享設(shè)備采用動(dòng)態(tài)分配的辦法,這種方法不是在作業(yè)執(zhí)行前分配,而是到作業(yè)需要啟用設(shè)備的時(shí)候才分配設(shè)備給作業(yè)。
2.如果某作業(yè)申請(qǐng)外圍設(shè)備時(shí),指定申請(qǐng)某臺(tái)外圍設(shè)備,那么按教材中圖5-l設(shè)置的分配表怎樣實(shí)現(xiàn)分配?
答:如果用戶指定申請(qǐng)某臺(tái)外圍設(shè)備,用戶給出設(shè)備絕對(duì)號(hào),系統(tǒng)為它分配時(shí)先查設(shè)備分配表,按照設(shè)備絕對(duì)號(hào)找到登記項(xiàng),查是否未分配且是好的,若是則分配給用戶,狀態(tài)改成已分配,填上占用的作業(yè)名,通知用戶已經(jīng)分配成功;若已經(jīng)分配或者設(shè)備壞了,則分配不能被滿足,輸出信息告訴用戶不能分配的原因。
3.什么是輸入輸出操作?
答:作業(yè)執(zhí)行中總要不斷地啟動(dòng)外圍設(shè)備,把信息讀入主存儲(chǔ)器進(jìn)行處理,或者把主存儲(chǔ)器中的信息傳送到存儲(chǔ)介質(zhì)上。主存儲(chǔ)器與外圍設(shè)備之間的信息傳送操作就叫作輸入輸出操作。
4.解釋通道命令、通道程序、通道地址字、通道狀態(tài)字。
答:通道命令:又稱為通道命令字(CCW,Channel command Word),它是規(guī)定設(shè)備的某一種動(dòng)作的指令。
通道程序:是由通道命令編制出來一段程序,用于控制設(shè)備的工作。整個(gè)通道程序確定了外圍設(shè)備應(yīng)執(zhí)行的操作及操作順序。
通道地址字:通道程序是存放在主存中的,為了使通道能夠正確快速地找到通道程序的起始地址,系統(tǒng)在主存中安排一個(gè)固定的單元,用來存放通道程序的起始地址,這個(gè)固定的單元稱為通道地址字(CAW,Channel address Word)
通道狀態(tài)字:通道被啟動(dòng)后,控制指定的設(shè)備完成規(guī)定的操作,同時(shí),通道在執(zhí)行對(duì)外圍設(shè)備控制的過程中,要記錄通道與設(shè)備執(zhí)行情況,為此系統(tǒng)在主存中安排另一個(gè)固定單元,用于存放這些被記錄狀態(tài),這個(gè)固定單元稱為通道狀態(tài)字(CSW,Channel Status Word)。
5.中央處理器與通道是怎樣配合工作的?
答:①中央處理器組織好通道程序,并把通道程序的首地址存人通道地址字中。然后,中央處理器執(zhí)行“啟動(dòng)I/O”指令來啟動(dòng)通道工作。通道收到命令后根據(jù)通道和設(shè)備的工作情況,或者逐條執(zhí)行通道程序中的通道命令,來控制設(shè)備運(yùn)行;或者拒絕接受,并且用條件碼向中央處理器作出是否接受啟動(dòng)的回答。
②中央處理器分析條件碼,若啟動(dòng)不成功,則推遲相應(yīng)的輸人輸出操作的執(zhí)行,待適當(dāng)?shù)臅r(shí)候重新執(zhí)行“啟動(dòng)I/O”指令。
③通道把執(zhí)行通道程序的情況匯集在通道狀態(tài)字中,當(dāng)通道完成輸人輸出操作,向中央處理器匯報(bào)命令執(zhí)行情況。由于通道和設(shè)備執(zhí)行操作的情況已經(jīng)在CSW中了,所以一般由通道產(chǎn)生I/O中斷,將中斷的通道和設(shè)備記載到寄存器中,中央處理器響應(yīng)中斷后,操作系統(tǒng)分析特定寄存器和CSW中的內(nèi)容并做相應(yīng)地處理。
6.什么叫驅(qū)動(dòng)調(diào)度?總結(jié)對(duì)磁盤的驅(qū)動(dòng)調(diào)度過程。
答:在共享設(shè)備中,采用某種策略從等待訪問該設(shè)備的進(jìn)程中選擇一個(gè)進(jìn)程訪問設(shè)備的工。作稱為驅(qū)動(dòng)調(diào)度。其目的是降低若干個(gè)訪問者執(zhí)行I/O操作的總時(shí)間,提高I/O操作的吞吐量。對(duì)于磁盤設(shè)備來說驅(qū)動(dòng)調(diào)度先進(jìn)行“移臂調(diào)度”,以尋求較優(yōu)化的尋找時(shí)間,定位好柱面,然后再進(jìn)行‘旋轉(zhuǎn)調(diào)度“,尋求好的延遲時(shí)間,定位好扇區(qū)。
7.假定磁盤的移動(dòng)臂現(xiàn)在處于第8柱面,有如下6個(gè)請(qǐng)求者等待訪問磁盤,請(qǐng)你列出最省時(shí)間的響應(yīng)次序:
序號(hào) 柱面號(hào) 磁頭號(hào) 扇區(qū)號(hào)
1 9 6 3
2 7 5 6
3 15 20 6
4 9 4 4
5 20 9 5
6 7 15 2
(分析)先進(jìn)行移臂調(diào)度,再進(jìn)行旋轉(zhuǎn)調(diào)度,由于尋找時(shí)間更為重要,那么要想時(shí)間最短就要有最短的尋找時(shí)間,所以移臂調(diào)度可以選擇最短尋找時(shí)間優(yōu)先算法。根據(jù)題目,訪問9柱面和訪問7柱面在尋找時(shí)間上是等同的,可以任意選擇一個(gè),假設(shè)選擇了第9柱面,這里有進(jìn)程1和進(jìn)程4滿足要求,再根據(jù)旋轉(zhuǎn)調(diào)度,進(jìn)程1訪問的扇區(qū)號(hào)小于進(jìn)程4,應(yīng)該西先訪問,所以確定進(jìn)程1第一訪問,其次是在同一個(gè)柱面上的進(jìn)程4,之后,根據(jù)最短尋找時(shí)間優(yōu)先算法,接下來應(yīng)該是第7柱面的任務(wù)6或任務(wù)2,同樣我們應(yīng)該選擇任務(wù)6,再選擇2,然后是訪問15柱面的任務(wù)3,最后是訪問20柱面的任務(wù)5,整個(gè)過程移臂移動(dòng)了16個(gè)柱面。次序是l、4、6、2、3、5.
如果第一步先訪問7柱面,我們也很容易得到訪問順序是6、2、1、4、3、5,整個(gè)過程移臂移動(dòng)了14個(gè)柱面。
答:最省時(shí)間的響應(yīng)次序是:l、4、6、2、3、5或6、2、l、4、3、5.
8.什么是輸人井和輸出井?
答:在具有通道技術(shù)的系統(tǒng)中,我們利用中央處理器和通道并行工作的能力,用一臺(tái)機(jī)器完成脫機(jī)外圍設(shè)備操作技術(shù)中三臺(tái)機(jī)器的工作。操作系統(tǒng)中包含兩個(gè)程序:“預(yù)輸入程序”代替輸入外圍設(shè)備,“緩輸出程序”代替輸出外圍設(shè)備。系統(tǒng)在磁盤中劃分出專門稱為“井”的區(qū)域,它分為“輸入井”和“輸出井”,它們分別代替低速的獨(dú)占使用的輸入設(shè)備和輸出設(shè)備。
9.什么是SPOOLING系統(tǒng)?清簡(jiǎn)述它的實(shí)現(xiàn)思想。
答:操作系統(tǒng)中實(shí)現(xiàn)聯(lián)機(jī)同時(shí)外圍設(shè)備操作功能的部分稱為斯普林(SPOOIJNG)系統(tǒng)。它的實(shí)現(xiàn)思想是:
利用中央處理器和通道并行工作的能力,用一臺(tái)機(jī)器完成脫機(jī)外圍設(shè)備操作技術(shù)中三臺(tái)機(jī)器的工作。
操作系統(tǒng)中包含兩個(gè)程序:“預(yù)輸入程序”代替輸入外圍設(shè)備,“緩輸出程序”代替輸出外圍設(shè)備。系統(tǒng)在磁盤中劃分出專門稱為“井”的區(qū)域,它分為“輸入井”和“輸出井”?!邦A(yù)輸入程序”把作業(yè)流中作業(yè)信息傳送到“輸入井”保存,作業(yè)在執(zhí)行時(shí)只要通過“輸入井讀”程序從上“輸入井”獲取數(shù)據(jù),而不去啟動(dòng)低速的外圍設(shè)備。作業(yè)執(zhí)行的時(shí)候產(chǎn)生的結(jié)果也不直接輸出到低速外設(shè)上,而是先通過“輸出井寫”程序輸出到“輸出井”,由“緩輸出程序”將“輸出井”中的數(shù)據(jù)再輸出到低速設(shè)備上?!熬忀敵龀绦颉陛敵龅臅r(shí)候,中央處理器可以處理別的事務(wù)了。實(shí)現(xiàn)“輸入井讀”和“輸出井寫”程序統(tǒng)稱為“井管理”程序。顯然,斯普林系統(tǒng)由三個(gè)部分組成:“預(yù)輸入”程序、“井管理”程序和“緩輸出”程序。
10.什么叫虛擬設(shè)備?實(shí)現(xiàn)虛擬設(shè)備的主要條件是什么?
答:采用SPOOL操作后,利用共享設(shè)備來模擬獨(dú)占設(shè)備,使每個(gè)作業(yè)都感到分到了一臺(tái)高速的輸入輸出設(shè)備,利用這個(gè)技術(shù)所提供的設(shè)備稱為虛擬設(shè)備。實(shí)現(xiàn)虛擬設(shè)備時(shí),必須要有硬件的中斷裝置和通道技術(shù)作支撐,使中央處理器與各種外圍設(shè)備之間可以并行工作。操作系統(tǒng)采用多道程序設(shè)計(jì)技術(shù),合理分配處理器,實(shí)現(xiàn)聯(lián)機(jī)的外圍設(shè)備同時(shí)操作。實(shí)現(xiàn)虛擬設(shè)備時(shí),操作系統(tǒng)必須設(shè)計(jì)好“預(yù)輸入”、“井管理”、“緩輸出”程序。
11.總結(jié)實(shí)現(xiàn)虛擬設(shè)備的優(yōu)點(diǎn)。
答:實(shí)現(xiàn)虛擬設(shè)備不僅提高了獨(dú)占實(shí)用設(shè)備的利用率,而且大大加快了作業(yè)的執(zhí)行速度。
1.從使用的角度,外圍設(shè)備可分為哪兩類?用戶要求使用外圍設(shè)備時(shí),系統(tǒng)采用什么方法來分配?
答:從使用角度來分析設(shè)備的特點(diǎn),可以把設(shè)備分成兩類:一類是一個(gè)作業(yè)在執(zhí)行期間獨(dú)占使用的設(shè)備,稱為獨(dú)占設(shè)備。這類設(shè)備一般采用靜態(tài)分配的辦法在作業(yè)執(zhí)行前就分配出去了,直到作業(yè)結(jié)束撤離的時(shí)候,才將分配出去的設(shè)備收回,收回后,才能再分配給其他需要使用該類設(shè)備的作業(yè)。另外一類是共享設(shè)備。這類設(shè)備可以由幾個(gè)作業(yè)同時(shí)使用。共享設(shè)備采用動(dòng)態(tài)分配的辦法,這種方法不是在作業(yè)執(zhí)行前分配,而是到作業(yè)需要啟用設(shè)備的時(shí)候才分配設(shè)備給作業(yè)。
2.如果某作業(yè)申請(qǐng)外圍設(shè)備時(shí),指定申請(qǐng)某臺(tái)外圍設(shè)備,那么按教材中圖5-l設(shè)置的分配表怎樣實(shí)現(xiàn)分配?
答:如果用戶指定申請(qǐng)某臺(tái)外圍設(shè)備,用戶給出設(shè)備絕對(duì)號(hào),系統(tǒng)為它分配時(shí)先查設(shè)備分配表,按照設(shè)備絕對(duì)號(hào)找到登記項(xiàng),查是否未分配且是好的,若是則分配給用戶,狀態(tài)改成已分配,填上占用的作業(yè)名,通知用戶已經(jīng)分配成功;若已經(jīng)分配或者設(shè)備壞了,則分配不能被滿足,輸出信息告訴用戶不能分配的原因。
3.什么是輸入輸出操作?
答:作業(yè)執(zhí)行中總要不斷地啟動(dòng)外圍設(shè)備,把信息讀入主存儲(chǔ)器進(jìn)行處理,或者把主存儲(chǔ)器中的信息傳送到存儲(chǔ)介質(zhì)上。主存儲(chǔ)器與外圍設(shè)備之間的信息傳送操作就叫作輸入輸出操作。
4.解釋通道命令、通道程序、通道地址字、通道狀態(tài)字。
答:通道命令:又稱為通道命令字(CCW,Channel command Word),它是規(guī)定設(shè)備的某一種動(dòng)作的指令。
通道程序:是由通道命令編制出來一段程序,用于控制設(shè)備的工作。整個(gè)通道程序確定了外圍設(shè)備應(yīng)執(zhí)行的操作及操作順序。
通道地址字:通道程序是存放在主存中的,為了使通道能夠正確快速地找到通道程序的起始地址,系統(tǒng)在主存中安排一個(gè)固定的單元,用來存放通道程序的起始地址,這個(gè)固定的單元稱為通道地址字(CAW,Channel address Word)
通道狀態(tài)字:通道被啟動(dòng)后,控制指定的設(shè)備完成規(guī)定的操作,同時(shí),通道在執(zhí)行對(duì)外圍設(shè)備控制的過程中,要記錄通道與設(shè)備執(zhí)行情況,為此系統(tǒng)在主存中安排另一個(gè)固定單元,用于存放這些被記錄狀態(tài),這個(gè)固定單元稱為通道狀態(tài)字(CSW,Channel Status Word)。
5.中央處理器與通道是怎樣配合工作的?
答:①中央處理器組織好通道程序,并把通道程序的首地址存人通道地址字中。然后,中央處理器執(zhí)行“啟動(dòng)I/O”指令來啟動(dòng)通道工作。通道收到命令后根據(jù)通道和設(shè)備的工作情況,或者逐條執(zhí)行通道程序中的通道命令,來控制設(shè)備運(yùn)行;或者拒絕接受,并且用條件碼向中央處理器作出是否接受啟動(dòng)的回答。
②中央處理器分析條件碼,若啟動(dòng)不成功,則推遲相應(yīng)的輸人輸出操作的執(zhí)行,待適當(dāng)?shù)臅r(shí)候重新執(zhí)行“啟動(dòng)I/O”指令。
③通道把執(zhí)行通道程序的情況匯集在通道狀態(tài)字中,當(dāng)通道完成輸人輸出操作,向中央處理器匯報(bào)命令執(zhí)行情況。由于通道和設(shè)備執(zhí)行操作的情況已經(jīng)在CSW中了,所以一般由通道產(chǎn)生I/O中斷,將中斷的通道和設(shè)備記載到寄存器中,中央處理器響應(yīng)中斷后,操作系統(tǒng)分析特定寄存器和CSW中的內(nèi)容并做相應(yīng)地處理。
6.什么叫驅(qū)動(dòng)調(diào)度?總結(jié)對(duì)磁盤的驅(qū)動(dòng)調(diào)度過程。
答:在共享設(shè)備中,采用某種策略從等待訪問該設(shè)備的進(jìn)程中選擇一個(gè)進(jìn)程訪問設(shè)備的工。作稱為驅(qū)動(dòng)調(diào)度。其目的是降低若干個(gè)訪問者執(zhí)行I/O操作的總時(shí)間,提高I/O操作的吞吐量。對(duì)于磁盤設(shè)備來說驅(qū)動(dòng)調(diào)度先進(jìn)行“移臂調(diào)度”,以尋求較優(yōu)化的尋找時(shí)間,定位好柱面,然后再進(jìn)行‘旋轉(zhuǎn)調(diào)度“,尋求好的延遲時(shí)間,定位好扇區(qū)。
7.假定磁盤的移動(dòng)臂現(xiàn)在處于第8柱面,有如下6個(gè)請(qǐng)求者等待訪問磁盤,請(qǐng)你列出最省時(shí)間的響應(yīng)次序:
序號(hào) 柱面號(hào) 磁頭號(hào) 扇區(qū)號(hào)
1 9 6 3
2 7 5 6
3 15 20 6
4 9 4 4
5 20 9 5
6 7 15 2
(分析)先進(jìn)行移臂調(diào)度,再進(jìn)行旋轉(zhuǎn)調(diào)度,由于尋找時(shí)間更為重要,那么要想時(shí)間最短就要有最短的尋找時(shí)間,所以移臂調(diào)度可以選擇最短尋找時(shí)間優(yōu)先算法。根據(jù)題目,訪問9柱面和訪問7柱面在尋找時(shí)間上是等同的,可以任意選擇一個(gè),假設(shè)選擇了第9柱面,這里有進(jìn)程1和進(jìn)程4滿足要求,再根據(jù)旋轉(zhuǎn)調(diào)度,進(jìn)程1訪問的扇區(qū)號(hào)小于進(jìn)程4,應(yīng)該西先訪問,所以確定進(jìn)程1第一訪問,其次是在同一個(gè)柱面上的進(jìn)程4,之后,根據(jù)最短尋找時(shí)間優(yōu)先算法,接下來應(yīng)該是第7柱面的任務(wù)6或任務(wù)2,同樣我們應(yīng)該選擇任務(wù)6,再選擇2,然后是訪問15柱面的任務(wù)3,最后是訪問20柱面的任務(wù)5,整個(gè)過程移臂移動(dòng)了16個(gè)柱面。次序是l、4、6、2、3、5.
如果第一步先訪問7柱面,我們也很容易得到訪問順序是6、2、1、4、3、5,整個(gè)過程移臂移動(dòng)了14個(gè)柱面。
答:最省時(shí)間的響應(yīng)次序是:l、4、6、2、3、5或6、2、l、4、3、5.
8.什么是輸人井和輸出井?
答:在具有通道技術(shù)的系統(tǒng)中,我們利用中央處理器和通道并行工作的能力,用一臺(tái)機(jī)器完成脫機(jī)外圍設(shè)備操作技術(shù)中三臺(tái)機(jī)器的工作。操作系統(tǒng)中包含兩個(gè)程序:“預(yù)輸入程序”代替輸入外圍設(shè)備,“緩輸出程序”代替輸出外圍設(shè)備。系統(tǒng)在磁盤中劃分出專門稱為“井”的區(qū)域,它分為“輸入井”和“輸出井”,它們分別代替低速的獨(dú)占使用的輸入設(shè)備和輸出設(shè)備。
9.什么是SPOOLING系統(tǒng)?清簡(jiǎn)述它的實(shí)現(xiàn)思想。
答:操作系統(tǒng)中實(shí)現(xiàn)聯(lián)機(jī)同時(shí)外圍設(shè)備操作功能的部分稱為斯普林(SPOOIJNG)系統(tǒng)。它的實(shí)現(xiàn)思想是:
利用中央處理器和通道并行工作的能力,用一臺(tái)機(jī)器完成脫機(jī)外圍設(shè)備操作技術(shù)中三臺(tái)機(jī)器的工作。
操作系統(tǒng)中包含兩個(gè)程序:“預(yù)輸入程序”代替輸入外圍設(shè)備,“緩輸出程序”代替輸出外圍設(shè)備。系統(tǒng)在磁盤中劃分出專門稱為“井”的區(qū)域,它分為“輸入井”和“輸出井”?!邦A(yù)輸入程序”把作業(yè)流中作業(yè)信息傳送到“輸入井”保存,作業(yè)在執(zhí)行時(shí)只要通過“輸入井讀”程序從上“輸入井”獲取數(shù)據(jù),而不去啟動(dòng)低速的外圍設(shè)備。作業(yè)執(zhí)行的時(shí)候產(chǎn)生的結(jié)果也不直接輸出到低速外設(shè)上,而是先通過“輸出井寫”程序輸出到“輸出井”,由“緩輸出程序”將“輸出井”中的數(shù)據(jù)再輸出到低速設(shè)備上?!熬忀敵龀绦颉陛敵龅臅r(shí)候,中央處理器可以處理別的事務(wù)了。實(shí)現(xiàn)“輸入井讀”和“輸出井寫”程序統(tǒng)稱為“井管理”程序。顯然,斯普林系統(tǒng)由三個(gè)部分組成:“預(yù)輸入”程序、“井管理”程序和“緩輸出”程序。
10.什么叫虛擬設(shè)備?實(shí)現(xiàn)虛擬設(shè)備的主要條件是什么?
答:采用SPOOL操作后,利用共享設(shè)備來模擬獨(dú)占設(shè)備,使每個(gè)作業(yè)都感到分到了一臺(tái)高速的輸入輸出設(shè)備,利用這個(gè)技術(shù)所提供的設(shè)備稱為虛擬設(shè)備。實(shí)現(xiàn)虛擬設(shè)備時(shí),必須要有硬件的中斷裝置和通道技術(shù)作支撐,使中央處理器與各種外圍設(shè)備之間可以并行工作。操作系統(tǒng)采用多道程序設(shè)計(jì)技術(shù),合理分配處理器,實(shí)現(xiàn)聯(lián)機(jī)的外圍設(shè)備同時(shí)操作。實(shí)現(xiàn)虛擬設(shè)備時(shí),操作系統(tǒng)必須設(shè)計(jì)好“預(yù)輸入”、“井管理”、“緩輸出”程序。
11.總結(jié)實(shí)現(xiàn)虛擬設(shè)備的優(yōu)點(diǎn)。
答:實(shí)現(xiàn)虛擬設(shè)備不僅提高了獨(dú)占實(shí)用設(shè)備的利用率,而且大大加快了作業(yè)的執(zhí)行速度。