作業系統期末複習整理

2022-06-17 05:54:02 字數 5380 閱讀 3065

1、填空題、選擇題

1. 使用者使用計算機的三種方式:命令方式,系統呼叫方式,圖形,視窗方式。

2. 多道程式設計的概念:同時把多個作業放入記憶體,並允許它們在一段時間內交替執行,共享系統資源。

3. 3種基本系統及其優缺點(特點):

基本系統:多道批處理系統,分時系統,實時系統

多道批處理系統優缺點:資源利用率高,系統吞吐量大,平均周轉時間長,無互動能力

分時系統特點:多路性,獨立性,及時性,互動性

實時系統特點:

4. 單使用者單任務作業系統代表:cp/m ms-dos

單使用者多工作業系統代表:windows

多使用者多工作業系統代表:unix os

5. 作業系統的四個基本特徵:併發性,共享性,虛擬性,非同步性。其中最重要最基本的特性是:併發性

6. 實現資源共享的方式有:互斥共享方式,同時共享方式

7. 基於客戶/伺服器模式的微核心結構,作業系統分為:微核心和多個伺服器

8. 程式順序執行的特徵:封閉性,順序性,可再現性

程式併發執行的特徵:間斷性,失去封閉性,不可再現性

9. 程序三種基本狀體間的轉換的關係:

程序的基本狀態有哪些?這些狀態之間是如何轉換的?

程序的基本狀態有:就緒,阻塞,執行三種。

就緒到執行:程序排程

執行到就緒:時間片完

執行到阻塞:i/o請求或等待事件發生

阻塞到就緒:i/o完成或事件已發生

10. 異常結束的情況:

1 越界錯誤

2 保護錯誤

3 非法指令

4 特權指令錯

5 執行超時

6 等待超時

7 算術運算錯

8 i/o故障

11. 程序同步間的兩種制約關係:直接制約(源於程序間的合作) 間接制約(互斥:資源競爭產生)

12. 程序通訊之高階通訊機制分為:共享儲存器系統,訊息傳遞系統,管道通訊系統

13. 程序的引入目的:為了使多個程式能並大執行,以提高資源的利用率和吞吐量

執行緒的引入目的:為了減少程式在併發執行時所付出的時空開銷

14. 執行緒實現方式:核心支援執行緒,使用者級執行緒。他們的優缺點分別為:

核心支援執行緒方式:

優點:1 在多處理器系統中,核心能夠同時排程統一程序中多個執行緒並行執行

2 如果程序中的乙個執行緒被阻塞了,核心可以排程該程序中的其他執行緒占有處理器執行,也可以執行其他程序中的執行緒

3 核心支援執行緒具有小的資料結構和堆疊,執行緒的切換比較快,切換開銷小

4 核心本身也可以採用多執行緒技術,可以提高系統的執行速度和效率

缺點:對於使用者的執行緒切換而言,切換開銷較大

使用者級執行緒方式:

優點: 執行緒切換不需要轉換到核心空間

排程演算法可以是程序專用的

使用者級執行緒的實現與作業系統平台無關

缺點: 系統呼叫的阻塞問題:在基於程序機制的作業系統中,大多數系統呼叫將阻塞程序

在單純的使用者級執行緒實現方式中,多執行緒應用不能利用,多處理機進行多重處理的優點

15. 響應比(優先權)的計算:響應比=1+等待時間/執行時間

16. 產生死鎖的原因:競爭資源、程序時間的推進順序非法

死鎖產生的四個必要條件:互斥條件、請求和等待條件、不剝奪條件、環路等待條件。

解除死鎖:剝奪資源、撤銷程序。

死鎖定理;(檢測圖中有無環路)

1 在圖中有乙個p點(只有分配邊無申請邊或者申請邊立即變成分配邊),去掉該結點(所有邊歸還資源),對其他結點也做同樣的考慮

2 經過一系列簡化後,若圖中無邊則無死鎖,圖中有邊則一定有環路,為死鎖狀態。

利用資源分配圖判斷有無死鎖

若圖中無環路,一定不死鎖

若圖中有環路,環路資源均只有乙個單位,為死鎖狀態

若圖中有環路,環中資源不只有乙個單位,不一定死鎖,依據死鎖處理進一步判斷

17. **記憶體:有四種情況

1 只上臨空閒分割槽:只將他們合併,無需修改表項,空閒區個數不變

2 只下臨空閒分割槽;將它們合併並將所得的空閒分割槽的表項首位址為所**的記憶體的首位址,空閒分割槽個數不變

3 上下臨空閒分割槽:將他們三者合併,表項首位址用上臨空閒分割槽首位址,空閒分割槽個數少1。

4 無上下臨空閒分割槽:空閒分割槽個數增加1

18. 什麼是緊湊/拼接,什麼時候做緊湊?

緊湊是:通過移動記憶體中作業的位置,把原來多個分散的小分割槽拼接成乙個大分割槽的方法。

當任何乙個碎片都不能容納新作業,但合併後可以容納新作業才緊湊,如果合併後也可以,則不做緊湊。

19. 快表:為了提高位址變換速度,可在位址變換機構中增設乙個具有並行查詢能力的特殊高速緩衝器,又稱聯想暫存器,或快表。

20. 為什麼要引入虛存及起原理:

引入虛存的目的是為了小記憶體執行大作業,原理是:時間侷限性和空間侷限性原理。

21. 缺頁中斷和一般中斷的區別:

1 缺頁中斷在指令執行期間發現所要訪問的指令或者資料不在記憶體時所產生和處理,一般中斷是,cpu在一條指令執行完後,才檢測是否有中斷強求到達,若有,則去響應,否則繼續執行下一條指令。

2 一條指令在執行期間可能發生多次缺頁中斷。

22. 為了確定系統將程序執行時所缺的頁面調入記憶體的時機,可採取:預調頁策略和請求調頁策略

23. 沒當發生缺頁請求時,系統應從何處將缺頁調入記憶體,有三種情況:p149

1 系統擁有足夠的對換區空間,這時可以全部從對換區調入所虛頁面,以提高調入速度

2 系統缺少足夠的對換區空間,這時凡是不會將被修改的檔案都直接從檔案區調入,...

3 unix方式

24. i/o裝置按資訊交換的單位分類,有;塊裝置和字元裝置。

塊裝置:以資料塊或kb為單位,有結構,可定址,典型的塊裝置如磁碟,每塊大小為512b4kb到磁碟裝置的i/o控制方式常採用dna方式。傳輸速度較高

字元裝置:基本單位是字元,無結構,如互動式終端、印表機等。傳輸速率較低,不可定址,i/o控制方式常採用中斷驅動方式。

25. 通道

26. 引入緩衝區的原因

1 緩和cpu和i/o裝置之間速度不匹配的矛盾

2 減少對cpu的中斷頻率,發寬對cpu中斷響應時間的限制。

27. 系統的裝置分配程式可以(sdt——dct——coct——chct)

1 分配裝置dct

2 分配控制器 coct

3 分配通道 chct

28. spooling系統主要有一下三個部分

1 輸入井和輸出井

2 輸入緩衝區和輸出緩衝區

3 輸入程序spi和輸出程序spo

spooling的含義是什麼?試述spooling系統的特點、功能以及控制過程。

答:spooling是simultaneous peripheral operation on-line (即外部裝置聯機並行操作)的縮寫,它是關於慢速字元裝置如何與計算機主機交換資訊的一種技術,通常稱為「假離線技術」。

spooling技術是在通道技術和多道程式設計基礎上產生的,它由主機和相應的通道共同承擔作業的輸入輸出工作,利用磁碟作為後援儲存器,實現外圍裝置同時聯機操作。

spooling系統由專門負責i/o的常駐記憶體的程序以及輸入井、輸出井組成;它將獨佔裝置改造為共享裝置,實現了虛擬裝置功能

29. 系統將資料交付給請求程序的兩種方式:

1 資料交付

2 指標交付

30. raid的分級:raid 0級 、raid 1級 、 raid 3級 、raid 5級 、raid 6級 、raid 7級。

1 raid 0級:容量使用率100%,但只要出錯將無法挽回,全為資料盤去備份。

2 raid 1級:容量損失50%,有映象即備份。用一半的盤做備份。

3 raid 3級:專門拿乙個盤做校驗碼儲存,1個備份,所以c盤利用率為6/7.

4 raid 5級:不採用專門的盤存校驗碼,每個盤都有獨立的通道,不共享,不知道校驗碼佔多少,不知道比例

5 raid 6級、7級:具有比raid 3級,raid 5級更好的效能,原因是綜合了他們製造的。是他們的綜合體

31. 檔案管理系統管理的物件:a:檔案 b:目錄 c:磁碟(磁帶)儲存空間

32. 最基本的檔案操作:a:建立檔案 b:刪除檔案 c:讀檔案 d:寫檔案 e:截斷檔案 f:設定檔案的讀/寫位置

33. 外存分配方式:連續分配(檔案物理結構:順序檔案) 鏈結分配(鏈結檔案) 索引分配(索引檔案)

34. 鏈結方式可分為:隱式鏈結顯示鏈結

35. 什麼是目錄:人們把檔案控制塊的有序集合稱之為檔案目錄。

36. 執行緒與程序的關係:

執行緒是比程序更小的能獨立執行的基本單位,通常乙個程序都有若干個執行緒,至少也需要乙個執行緒。

1.排程執行緒師排程和分派的基本單位,程序是資源擁有的基本單位。

2.併發性程序之間可以併發執行,在乙個程序中的多個執行緒之間也可以併發執行。

3.擁有資源程序是擁有資源的乙個獨立單元,執行緒自己不擁有系統資源(也有一點比不可少的資源)但它可以訪問其隸屬程序的資源。

4.系統開銷建立或撤消程序時,系統都要為之分配或**資源,如記憶體空間、i/o裝置等,os所付出的開銷顯著大於在建立或撤消執行緒時的開銷;程序切換的開銷也遠大於執行緒切換的開銷。

程序是指在系統中正在執行的乙個應用程式;執行緒是系統分配處理器時間資源的基本單元,或者說程序之內獨立執行的乙個單元。對於作業系統而言其排程單元是執行緒。乙個程序至少包括乙個執行緒,通常將該執行緒稱為主線程。

乙個程序從主線程的執行開始進而建立乙個或多個附加執行緒,就是所謂基於多執行緒的多工。

37. 處理機排程層次

在某些作業系統中,乙個作業從提交到完成需要經歷高、中、低3級排程。

1. 高階排程:又稱「長排程」或「作業排程」或「接納排程」。

它決定處於輸入池中的哪個後備作業可以調入主系統做好執行的準備,成為乙個或一組就緒程序。系統中乙個作業只需經過一次高階排程。

2. 中級排程:又稱「中程排程」或「對換排程」。

它決定處於交換區中的就緒程序哪個可以調入主存,一邊直接參與對cpu的競爭。在主存資源緊張時,為了把程序調入主存,必須將主存中處於阻塞狀態的程序調換至交換區,以便為調入程序騰出空間。這相當於是處於主存的程序和處於交換區的程序互換了位置。

3. 低階排程:又稱「短程排程」或「程序排程」。它決定處於主存中的就緒程序哪個可以占用cpu。是作業系統中最活躍、最重要的排程程式,對系統的影響很大。

38. 程序排程演算法型別

常用的程序排程演算法有先來先服務、時間片輪轉、優先數排程和多級反饋排程演算法。

先來先服務(fcfs):是按照作業提交或程序變為就緒狀態的先後次序,分配cpu。即每當進入程序排程時,總是將就緒佇列隊首的程序投入執行。

fcfs演算法主要用於巨集觀排程,其特點是:比較有利於長作業,而不利於短作業;有利於cpu繁忙的作業,而不利於i/o繁忙的作業。

時間片輪轉(round robin):其基本思路是通過時間片輪轉,提高程序併發性和響應時間特性,提高資源利用率。時間片輪轉演算法主要用於微觀排程,其設計目標是提高資源利用率。

作業系統複習 整理版本

第一章名詞解釋 os 作業系統,是配置在計算機硬體上的第一層軟體,是對硬體的首次擴充套件。習題p33 2 os的作用可表現在哪幾方面?1 os作為使用者與計算機硬體系統之間的介面 2 os作為計算機系統資源的管理者 3 os實現了對計算機資源的抽象 擴充套件機 13 os有幾大特徵?其最基本的特徵是...

作業系統複習

一 什麼是作業系統 在回答這個問題之前,我們先來了解一下什麼是計算機系統。計算機系統是按使用者的要求接收和儲存資訊 自動進行資料處理並輸出結果資訊的系統。計算機系統由硬體系統和軟體系統組成。軟硬體系統的組成部分就是計算機系統的資源,當不同的使用者使用計算機時都要占用系統資源並且有不同的控制需求。作業...

自考作業系統複習

本章考核知識點 1.多道程式設計 2.程序 3.程序狀態 4.程序控制塊 5.程序佇列 6.可再入程式 7.中斷及中斷響應 8.中斷優先順序 9.程序排程 自學要求 通過本章學習應該掌握多道程式設計是如何提高計算機系統效率的 程序與程式有什麼區別 程序的基本狀態以及狀態變化 程序佇列及程序排程策略 ...