第一章【作業系統引論】
學習本章習題大概可以幫助你了解認識作業系統這個基本概念以及部分實作的技術,
習題
1.設計現代OS的主要目標是什么?
(1):方便性:方便用戶,使計算機變得易學易用,
(2):有效性:加速程式的運行,從而提高系統的吞吐量,
(3):可擴充性:方便的添加新功能和模塊,
(4):開放行:使得各種硬體、軟體都能彼此兼容,實作互連,
2:OS的作用可表現在哪幾個方面?
(1):OS作為用戶與計算機硬體系統之間的介面,
(2):OS作為計算機系統的資源的管理者,
(3):OS實作了對計算機資源的抽象,
3:為什么說作業系統實作了對計算機資源的抽象?
對于一臺無作業系統的計算機系統(即裸機)用戶想要控制計算機只能對硬體的物理介面有充分的了解,而作業系統猶如在硬體上鋪設了一系列軟體的集合,通過軟體控制硬體從而隱藏了對硬體控制的細節,而且還增強了系統的功能,實作了對計算機硬體操作的多個層次的抽象模型,
4:試說明推動多道批處理系統形成和發展的主要動力是什么?
(1):資源利用率高
(2):系統吞吐量大
5:何為脫機I/O和聯機I/O?
脫機I/O是針對聯機I/O的改進,
脫機IO:事先將裝有用戶程式和資料的紙帶裝入紙帶輸入機,在一臺外 圍機的控制下,把紙帶上的資料輸入到磁帶上,當CPU需要這些程式和資料時,再從磁帶上高速地調入記憶體;
聯機IO:在主機的直接控制下進行輸入/輸出的方式,稱為聯機輸入/輸出(On-Line I/O)方式
6:試說明推動分時系統形成和發展的主要動力是什么,
為了滿足人——機互動,
7:實時系統的關鍵性是什么,應如何解決?
實時系統的關鍵性未將時間做為關鍵引數,它必須對接受到的某些信號做出“及時”或“實時”的處理,實時系統是指系統能及時回應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致的完成,
用單任務處理方式解決(Ps:這里答案不太正規)
8:為什么要引入實時作業系統,
隨著技術的發展許多的系統上需要實時的資訊處理或者操作,如:工業(武器)控制系統、飛機或者火車訂票系統、嵌入式系統…
9:什么是硬實時任務和軟實時任務?試舉例說明,
硬實時任務:是指系統必須滿足任務對截止時間的要求,否則可能出現難以預測的后果,例:用于工業武器控制的實時系統
軟實時任務:也聯系一個截止時間,但并不嚴格,若偶爾錯過了任務的截至時間,對系統的影響也不會太大,例:資訊查詢系統(購票系統)、多媒體系統(歌曲播放系統、投屏系統),
10:試從互動性、及時性、以及可靠性方面將分時系統和實時系統進行比較,
互動性:
(1)分時系統:能向終端提供資料處理、資源共享等服務,
(2)實時系統:人與系統的互動性僅限于某些特定的專用服務程式,
及時性:
(1)分時系統:在用戶能接受的等待時間內完成及時的操作,
(2)實時系統:以控制物件所要求的截止時間來確定的,一般精確到毫秒級,
可靠性:
(1)分時系統:要求系統可靠
(2)實時系統:要求系統高度可靠,往往采用多級容錯性來保障系統的安全性以及資料的安全性,
11:OS有哪幾大特征,其中最基本的特征是什么?
(1)并發性:
- 并發性(Concurrence)是指在一個系統中,擁有多個計算,這些計算有同時執行的特性,而且他們之間有著潛在的互動,因此系統可進行的運行路徑會有相當多個,而且結果可能具有不確定性,并發計算可能會在具備多核心的同一個芯片中復合運行,以優先分時執行緒在同一個處理器中運行,或在不同的處理器執行,
- 程式并發性體現在兩個方面: 1、用戶程式與用戶程式之間的并發執行;2、用戶程式與作業系統程式之間的并發,
(2)共享性:
- 資源共享是作業系統程式和多個用戶程式共用系統中的資源,
(3) 隨機性:
- 作業系統的運行是在一個隨機的環境中,一個設備可能在任何時間向處理機發出中斷請求,系統無法知道運行著的程式會在什么時候做什么事情,
(4)虛擬性 (virtual)
- 是指通過技術將一個物理物體變成若干個邏輯上的對應物,在作業系統中虛擬的實作主要是通過分時的使用方法,顯然,如果n是某一個物理設備所對應的虛擬邏輯設備數,則虛擬設備的速度必然是物理設備速度的1/n,
(5)異步性:
- 即不確定性,同一程式和資料的多次運行可能得到不同的結果;程式的運行時間、運行順序也具有不確定性;外部輸入的請求、運行故障發生的時間難以預測,這些都是不確定性的表現,
12:在多道程式技術的OS環境下的資源共享與一般情況下的資源共享有何不同?對獨占資源應該采用何種共享方式?
- 一般情況下的資源共享只是說明一個資源可被大家共同使用(圖書館的書可被每一位借書者使用),OS環境下的資源共享是指資源可供記憶體中多個并發執行的行程共同使用,
- 對于獨占資源應該采用互斥共享方式
13:什么是時分復用技術?舉例說明它能提高資源利用率的根本原因是什么?
- 時分復用技術用來實作虛擬處理機、虛擬設備等,使資源的利用率得到提高,時分復用技術能提高資源利用率的根本原因在于,它利用某設備為一用戶服務的空閑時間,又轉去為其它用戶服務,使設備得到最充分的利用
14:是什么原因使作業系統具有異步的特征?
- 對于記憶體中的每個行程,在何時能獲得處理及運行,何時又因提出某種資源請求而暫停,以及行程以怎么樣的速度向前推進,每到程式總共需要多少時間才能完成等等,都是不可預知的,
15:處理機的管理有哪些主要功能?其主要任務是什么?
-
(1)行程的控制:行程控制的主要功能也就是為作業創建行程、撤銷已結束的行程,以及控制行程在運行程序中的狀態轉換,
-
(2)行程的同步:為使多個行程能夠有條不紊的進行,該機制的主要任務是為多個行程(含執行緒)的運行進行協調,
-
(3)行程通信:實作相互合作行程之間的資訊交換,
-
(4)調度:
作業調度:從后備佇列中按照一定的演算法選擇出若干個作業,為他們分配運行中所需要的資源,在將這些作業調入記憶體后,分別為它們建立行程,使它們成為可能獲得處理機的就緒行程,并把它們插入到就緒佇列中,
行程調度:行程調度的主要任務是從行程的就緒佇列中按照一定的演算法選出一個行程,將處理機分配給它,并為它設定運行現場,使其投入運行,
16:記憶體管理有哪些功能?其主要任務是什么?
-
(1)記憶體分配:
<1 為每到程式分配空間,使它們“各得其所”
<2 提高儲存器的利用率,盡量減少不可用的記憶體空間(碎片)
< 3 允許正在運行的程式申請附加的記憶體空間,以適應程式和資料動態增長的需要,P:OS在記憶體分配時,可采徐靜態和動態兩種方式; 靜態分配方式,每個作業的記憶體空間是在作業裝入記憶體時確定的,在作業裝入后的整個運行期間不允許該作業在申請新的記憶體空間,也不允許作業在記憶體中“移動”, 動態分配方式,每個作業所要求的基本記憶體空間也是在裝入記憶體時確定的,但允許作業在運行程序中繼續申請新的附加記憶體空間,以適應程式和資料的動態增長,也允許作業在記憶體中“移動”, -
(2)記憶體保護 記憶體保護的主要任務是:
<1 確保每道用戶程式都僅在自己的的記憶體空間內運行,彼此互不干擾,
<2 絕不允許用戶程式訪問作業系統的程式和資料,也不允許用戶程式轉移到非共享的其它用戶程式中去執行, -
(3)地址映射
將地址空間中的邏輯地址轉換為記憶體空間中與之對應的物理地址, -
(4)記憶體擴充
<1 請求調入功能:系統允許在僅裝入部分用戶程式和資料的情況下,便能啟動該程式運行,在程式運行的程序中,若發現所需的程式和資料尚未裝入記憶體,可向OS發出請求,由OS從磁盤中將所需部分調入記憶體,以便繼續運行,
<2 置換功能:若發現沒有記憶體空間裝入所需要調入的程式和資料時,系統應將記憶體中的一部分暫時不用的程式和資料調至硬碟上,以騰出空間,然后在將所需調入的部分轉給記憶體,
17:設備管理有哪些主要功能?其主要任務是什么?
功能:緩沖管理、設備分配、設備處理
主要任務:(1)完成用戶提出的I/O請求,位用戶行程分配所需的I/O設備,并完成指定的I/O操作,
(2)提高CPU和I/O設備的利用率,提高I/O速度,方便用戶使用I/O設備,
18:檔案管理有哪些主要功能?其主要任務是什么?
功能:檔案存盤空間的管理、目錄管理、檔案的讀寫管理和保護,
主要任務:檔案管理的主要任務是對用戶檔案和系統檔案進行管理以方便用戶的使用,并保證檔案的安全性,
19:試說明推動傳統OS演變為現代OS的主要原因是什么?
現在作業系統除了具有傳統作業系統的功能外,還增加了面向安全、面向網路和面向多媒體等功能,
20:什么是微內核OS?
1)足夠小的內核
2)基于客戶/服務器模式
3)應用“機制與策略分離”原理
4)采用面向物件技術
21:微內核作業系統有哪些優點?它為何具有這些優點?
- 優點:
1)提高了系統的擴展性
2)提高了系統的可靠性
3)可以移植性強
4)提供了對分布式系統的支持
5)融入了面向物件技術 - 原因 :
由于微內核結構OS結構是建立在模塊化、層次化結構基礎上的,并采用了客戶/服務器模式和面向物件程式設計技術,因此作業系統具有以上優點,
22:現代作業系統之傳統作業系統增加了哪些功能和特征?
- 1)系統安全
2)網路的功能和服務
3)支持多媒體
23:在微內核OS中,為什么采用客戶/服務器模式?
- C/S模式具有獨特的優點:
(1)資料的分布處理和存盤,
(2)便于集中管理,
(3)靈活性和可擴充性,
(4) 易于改編應用軟體,
24:在微內核結構OS中,應用了哪些新技術?
- 1)足夠小的內核
2)客戶/服務器模式
3)“機制與策略分離”原理
4)面向該物件技術
25:何為微內核技術?在微內核技術中通常提供了哪些新功能?
- 把作業系統中更多的成分和功能放到更高的層次(即用戶模式)中去運行,而留下一個盡量小的內核,用它來完成作業系統最基本的核心功能,稱這種技術為微內核技術,
- 功能:
1)行程(執行緒)管理
2)低級存盤器管理
3)中斷陷入處理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286384.html
標籤:其他
上一篇:教你用python爬英雄聯盟官網:①掌握爬蟲技術;②Python資料可視化
下一篇:JVM概述
