現代作業系統第三版課後習題解答

2021-07-10 23:56:41 字數 685 閱讀 6314

1. 什麼是多道程式設計?

a: 多道程式設計是指將記憶體分為幾個部分,每一部分存放不同的程式,當乙個作業等待 io 操作完成時,另乙個作業就可以使用 cpu 。主要目的是減少 cpu 的忙等,提高 cpu 的利用率。存在的問題是,由於記憶體中同時存在多個程式,需要對各個程式的資料進行保護,避免其他程式資料的更改和盜取。

2. 什麼是 spooling ?讀者是否認為將來的高階個人計算機會把 spooling 作為標準功能?

a: spooling 是 simultaneous peripheral operation on line 的簡稱,是一種讀入任務和輸出結果的一種方式。例如,編碼有任務的卡片被拿到機房後能夠很快地將作業從卡片讀入磁碟。於是,任意時刻但乙個作業執行結束時,作業系統就能將乙個新作業從磁碟讀出,裝進空出來的記憶體區域執行。輸出資料時也是先輸出到磁碟,然後再等待列印輸出。用於輸出結果的spooling技術應該會成為高階個人計算機的標準功能。

3. 在早期計算機中,每個位元組的讀寫直接由 cpu 處理(即沒有 dma)。對於多道程式而言這種組織方式有什麼含義?

a: 資料的讀寫屬於 i/o 操作,i/o 操作的響應速度相比於 cpu 的處理速度而言要慢幾個數量級。基於多道程式的出現意義,cpu 在等待 i/o 操作完成的時間段內可以切換到其他任務上進行執行,提高 cpu 的利用率。如果 cpu 需要一直等待 i/o 操作的完成,那麼多道程式的作用會大打折扣。

C語言程式設計教程(第三版)課後習題11 3

submit status web board description 現有有n個學生的資料記錄,每個記錄包括學號 姓名 三科成績。編寫乙個函式input,用來輸入乙個學生的資料記錄。編寫乙個函式print,列印乙個學生的資料記錄。在主函式呼叫這兩個函式,讀取n條記錄輸入,再按要求輸出。n 100 ...

《現代作業系統 中文第三版》讀書筆記之 排程演算法

在單cup計算機系統處理多道程式時,通常就會有多個程序或執行緒同時競爭cpu。只要有兩個或者更多的程序處於就緒狀態,這種競爭就會發生。此時必須選擇下乙個要執行的程序占領cpu。在作業系統中,完成選擇工作的這一部分稱為排程程式 scheduler 該程式使用的演算法稱為排程演算法。2.4.2排程演算法...

演算法導論第三版習題5 2

正好僱傭一次說明第一次僱傭的就是所有應聘者中最好的,所以概率為1n 正好僱傭 n 次說明所有應聘者按優秀從低到高依次出現,第一位是最差的,概率為1n 第二位其次,概率為1n 1,所以整體概率為1n 正好僱傭兩次,說明第乙個應聘者不是最好的,概率為n 1n,第二個應聘者是最好的,概率為1n 1,所以概...