計(jì)算機(jī)操作系統(tǒng)慕課版湯小丹2023年版本課后習(xí)題答案

計(jì)算機(jī)操作系統(tǒng)|湯小丹慕課版|課后習(xí)題答案|考研備考

第1章 操作系統(tǒng)引論

第1章 課后習(xí)題答案

第1章 零碎知識(shí)點(diǎn)

第2章 進(jìn)程的描述與控制

第2章 課后習(xí)題答案

第2章 零碎知識(shí)點(diǎn)

第3章 處理機(jī)調(diào)度與死鎖

第3章 課后習(xí)題答案

第3章 零碎知識(shí)點(diǎn)

第4章 進(jìn)程同步

第4章 課后習(xí)題答案

第4章 零碎知識(shí)點(diǎn)

第5章 存儲(chǔ)器管理

第5章 課后習(xí)題答案

第5章 零碎知識(shí)點(diǎn)

第6章 虛擬存儲(chǔ)器

第6章 課后習(xí)題答案

第6章 零碎知識(shí)點(diǎn)

第7章 輸入/輸出系統(tǒng)

第7章 課后習(xí)題答案

第7章 零碎知識(shí)點(diǎn)

第8章 文件管理

第8章 課后習(xí)題答案

第8章 零碎知識(shí)點(diǎn)

第9章 磁盤存儲(chǔ)器管理

第9章 課后習(xí)題答案

第9章 零碎知識(shí)點(diǎn)

第10章 多處理機(jī)操作系統(tǒng)

第10章 課后習(xí)題答案

第10章 零碎知識(shí)點(diǎn)

第11章 虛擬化和云計(jì)算

第11章 課后習(xí)題答案

第11章 零碎知識(shí)點(diǎn)

第12章 保護(hù)和安全

第12章 課后習(xí)題答案

第12章 零碎知識(shí)點(diǎn)


第1章 操作系統(tǒng)引論

第1章 課后習(xí)題答案

在計(jì)算機(jī)系統(tǒng)上配置OS的目標(biāo)是什么?作用主要表現(xiàn)在哪幾個(gè)方面?

答:

1.1 計(jì)算機(jī)系統(tǒng)配置OS的4個(gè)主要目標(biāo):是實(shí)現(xiàn)方便性、有效性、可擴(kuò)充性、開放性。

1.2 OS的作用主要表現(xiàn)在3個(gè)方面:

(1)OS是用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口。

(2)OS是計(jì)算機(jī)系統(tǒng)資源的管理者。

(3)OS實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)資源的抽象。


請說明OS與硬件、其他系統(tǒng)軟件以及用戶之間的關(guān)系。

答:

(1)從體系結(jié)構(gòu)的角度看:OS是覆蓋在硬件上的第一層軟件,它負(fù)責(zé)管理計(jì)算機(jī)的軟硬件資源,同時(shí)為用戶提供良好的界面。

(2)從硬件的角度看:OS與硬件緊密相關(guān),直接管理著硬件資源,為用戶提供了完成所有與硬件相關(guān)的操作,極大方便了用戶對(duì)硬件資源的使用,并提高了硬件資源的利用率。

(3)從軟件角度看:OS是一種特殊的系統(tǒng)軟件,也是其他系統(tǒng)軟硬件的接口。其它系統(tǒng)軟件運(yùn)行在OS的基礎(chǔ)之上,可獲得OS所提供的大量服務(wù) 。而一般用戶使用計(jì)算機(jī)除了可以使用OS支持外,也可以使用其他系統(tǒng)和應(yīng)用軟件。


請說明推動(dòng)OS發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>

答:

(1)計(jì)算機(jī)系統(tǒng)資源利用率不斷提高

(2)方便用戶

(3)硬件的更新?lián)Q代

(4)計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展

(5)新的需求被不斷提出


在OS中,何謂脫機(jī)I/O方式和聯(lián)機(jī)I/O方式?

(1)脫機(jī)I/O是指事先將裝有用戶程序或者數(shù)據(jù)的紙帶或卡片上的數(shù)據(jù)輸入到磁帶上,該方式的I/O操作由外圍控制機(jī)完成,是在脫離主機(jī)的情況下進(jìn)行的。

(2)聯(lián)機(jī)I/O是指程序和數(shù)據(jù)的I/O都是在主機(jī)的直接控制下進(jìn)行的。


請問推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?

答:

推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Γ骸案脻M足用戶需要”。其主要表現(xiàn)為:

(1)CPU的分時(shí)縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間。

(2)人機(jī)交互功能的提供方便用戶直接控制自己的作業(yè)

(3)主機(jī)共享可以使多個(gè)用戶(包括遠(yuǎn)程用戶)同時(shí)使用一臺(tái)計(jì)算機(jī)獨(dú)立地、互不干擾地處理各自的作業(yè)。


實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題使什么?應(yīng)該如何解決?

答:

6.1 實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是:使用戶可以與自己的作業(yè)進(jìn)行交互,即用戶在自己的終端上輸入一條命令以請求系統(tǒng)服務(wù)后,系統(tǒng)能夠及時(shí)接收并處理該命令,并在用戶能接受的時(shí)間內(nèi)返回給該用戶。

6.2 實(shí)現(xiàn)分時(shí)系統(tǒng)的解決方法是:在系統(tǒng)中配置一個(gè)多路卡,并為每個(gè)終端配置一個(gè)緩沖區(qū)以暫存用戶輸入的命令和輸出的結(jié)果(這樣是為了及時(shí)接受命令和返回輸出結(jié)果)。

因此關(guān)鍵問題是要確保在較短時(shí)間內(nèi)確保所有的用戶程序都能執(zhí)行一次,從而使用戶輸入的命令可以得到及時(shí)的響應(yīng)。

為此一方面(1)用戶作業(yè)被提交后應(yīng)該立即進(jìn)入內(nèi)存。另一方面(2)系統(tǒng)應(yīng)該設(shè)置一個(gè)時(shí)間很短的時(shí)間片,并規(guī)定每個(gè)程序每次最長只能連續(xù)運(yùn)行一個(gè)時(shí)間片,如何一個(gè)時(shí)間片用完,則不管它是否運(yùn)行完畢,都必須將CPUA讓給下一個(gè)作業(yè)。通過使作業(yè)分時(shí)共享CPU,所有的作業(yè)都可以及時(shí)的處理,用戶的請求亦可得到及時(shí)的響應(yīng)。


為什么要引入實(shí)時(shí)系統(tǒng)?

答:實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請求,在規(guī)定的額時(shí)間內(nèi)內(nèi)完成對(duì)時(shí)間的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致的運(yùn)行。引入實(shí)時(shí)系統(tǒng)是為了更好的滿足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。


什么是硬實(shí)時(shí)(HRT)任務(wù)和軟實(shí)時(shí)(SRT)任務(wù)?試舉例說明。

答:

(1)硬實(shí)時(shí)任務(wù)(HRT)是指系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測的結(jié)果,如:運(yùn)載火箭的控制,導(dǎo)彈武器系統(tǒng)等。

(2)軟實(shí)時(shí)任務(wù)(SRT)對(duì)截止時(shí)間的要求并不嚴(yán)格,偶爾錯(cuò)過截止時(shí)間對(duì)系統(tǒng)產(chǎn)生的影響也不大,如:網(wǎng)頁內(nèi)容的更新,火車售票系統(tǒng)剩余票數(shù)的更新等。


請從及時(shí)性、交互性、可靠性方面分別對(duì)分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。

答:

(2)及時(shí)性方面:分時(shí)系統(tǒng)的及時(shí)性是指用戶能在很短時(shí)間間隔內(nèi)獲取系統(tǒng)響應(yīng),這一時(shí)間間隔是根據(jù)人們能接受的等待時(shí)間來確定的。一般為2~3s。對(duì)實(shí)時(shí)系統(tǒng)來說,及時(shí)性是實(shí)時(shí)系統(tǒng)的關(guān)鍵問題之一,實(shí)時(shí)信息系統(tǒng)的及時(shí)性要求和分時(shí)系統(tǒng)的及時(shí)性要求相似,而實(shí)時(shí)控制系統(tǒng)的及時(shí)性要求則是由被控制對(duì)象所要求的開始截止時(shí)間和完成截止時(shí)間決定的,一般為秒級(jí),毫秒級(jí),甚至更低。

(2)交互性方面:交互性問題是分時(shí)系統(tǒng)的關(guān)鍵問題。在分時(shí)系統(tǒng)中用戶可以通過終端與系統(tǒng)進(jìn)行廣泛的人機(jī)交互,比如文件編輯、數(shù)據(jù)處理和資源共享等。實(shí)時(shí)系統(tǒng)也有交互性,但是在實(shí)時(shí)系統(tǒng)中,交互性僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序,即實(shí)時(shí)系統(tǒng)的交互性具有很大的局限性。

(2)可靠性方面:可靠性是實(shí)時(shí)系統(tǒng)的另一個(gè)關(guān)鍵問題,實(shí)時(shí)系統(tǒng)中的任何差錯(cuò)都可能帶來巨大的經(jīng)濟(jì)損失,甚至導(dǎo)致無法預(yù)料的災(zāi)難性后果,因此實(shí)時(shí)系統(tǒng)往往采用多級(jí)容錯(cuò)措施來保證系統(tǒng)高度可靠。分時(shí)系統(tǒng)也要求可靠,但是相對(duì)實(shí)時(shí)系統(tǒng)而言的要求較低。


微機(jī)OS按運(yùn)行方式來分,可以分為哪幾類?請舉例說明。

答:按照運(yùn)行方式,微機(jī)OS可以分為3類:單用戶單任務(wù)OS、單用戶多任務(wù)OS、多用戶多任務(wù)OS。

(1)單用戶單任務(wù)OS:只允許一個(gè)用戶上機(jī)(使用計(jì)算機(jī)),且只允許用戶程序作為一個(gè)任務(wù)運(yùn)行,主要配置在8位和16位微機(jī)上。最具代表性的單用戶單任務(wù)OS是CP/M(8位)和MS-DOS(16位)。

(2)單用戶多任務(wù)OS:只允許一個(gè)用戶上機(jī),但允許用戶把程序分成若干個(gè)任務(wù)并發(fā)執(zhí)行,從而有效地改善了系統(tǒng)性能。最具代表性的單用戶多任務(wù)OS是微軟的早期推出的Windows系列,如Windows3.1、Windows 95、Windows 98等。

(3)多用戶多任務(wù)OS:允許多個(gè)用戶通過各自的終端使用一臺(tái)機(jī)器,共享主機(jī)系統(tǒng)中的各種資源,而每個(gè)用戶程序又可以進(jìn)一步分為若干個(gè)任務(wù)并發(fā)執(zhí)行,從而進(jìn)一步提高資源利用率和系統(tǒng)吞吐量。最具代表性的多用戶多任務(wù)OS是UNIX系統(tǒng),各種類UNIX系統(tǒng)(如Solaris、Linux系統(tǒng)等)以及Windows NT/Server系列的系統(tǒng)。


OS具有哪幾大特征?它們之間有何聯(lián)系?

答:OS具有4大基本特征:并發(fā)、共享、虛擬、異步。它們有如下4種關(guān)系。

(1)并發(fā)和共享是OS最基本的特征。為了提高計(jì)算機(jī)資源利用率,OS必然要采用多道程序技術(shù),使得多個(gè)程序共享系統(tǒng)資源、并發(fā)執(zhí)行。

(2)并發(fā)和共享互為存在條件。一方面,資源的共享是以程序(進(jìn)程)的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,就不會(huì)存在資源共享方面的問題;另一方面若系統(tǒng)不能對(duì)資源共享實(shí)施有效的管理,協(xié)調(diào)好各進(jìn)程對(duì)共享資源的訪問,則并將影響程序的并發(fā)執(zhí)行。

(3)虛擬以并發(fā)和共享為前提。,OS之所以采用虛擬技術(shù),就是為了使并發(fā)進(jìn)程更方便、更有效地共享系統(tǒng)資源。OS多采用虛擬技術(shù)在邏輯上增加CPU和設(shè)備的數(shù)量以及存儲(chǔ)器的數(shù)量,從而解決并發(fā)進(jìn)程對(duì)有限系統(tǒng)資源的共享問題。

(4)異步性使并發(fā)性和共享性地必然結(jié)果。OS允許多個(gè)并發(fā)進(jìn)程共享資源、相互合作,使得每個(gè)進(jìn)程地運(yùn)行過程受到了其他進(jìn)程地制約,不再一氣呵成,這必然會(huì)導(dǎo)致異步這一特征地產(chǎn)生。


是什么原因使OS具有異步特征?

答:

OS具有異步特征,而異步是并發(fā)和共享地必然結(jié)果。 具體可以歸納為以下3個(gè)原因。

(1)在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但由于資源等因素地限制,進(jìn)程的執(zhí)行通常并非一氣呵成,而是以走走停停的方式完成的。

(2)內(nèi)存中的每個(gè)進(jìn)程在何時(shí)執(zhí)行、何時(shí)暫停、以怎樣的速度向前推進(jìn),都是不可預(yù)知的。

(3)但是在有關(guān)進(jìn)程控制以及同步機(jī)制等的支持下,只要運(yùn)行環(huán)境相同,作業(yè)經(jīng)過多次運(yùn)行都會(huì)獲得完全相同的結(jié)果,因?yàn)楫惒椒绞绞窃试S的。


什么是OS內(nèi)核?OS內(nèi)核的主要功能是什么?

答:

OS內(nèi)核定義:在現(xiàn)代OS理論中,一般將OS劃分為若干層次,再將OS的不同功能分別設(shè)置在不同層次中。通常將一些與硬件緊密相連的模塊(如中斷程序)、各種常用設(shè)備的驅(qū)動(dòng)程序以及運(yùn)行頻率比較高的模塊(如時(shí)鐘管理、進(jìn)程調(diào)度、公共基本操作等)都緊密安排在靠近硬件的模塊種,讓他們常駐內(nèi)存,進(jìn)而形成了所謂的OS內(nèi)核。

OS內(nèi)核主要功能:

(1)支撐功能:包括中斷處理、時(shí)鐘管理和原語操作等;

(2)資源管理功能:包括進(jìn)程管理、存儲(chǔ)器管理、設(shè)備管理等。


什么是原語?什么是原子操作?

答:原語,是一個(gè)過程,該過程由若干條指令組成沒用于完成一定的功能。原子操作,是一個(gè)不可分割的基本單位,是指一個(gè)操作的所有動(dòng)作要么全做,要么全部不做。

因此,原語在執(zhí)行過程中不允許被中斷,原子操作在內(nèi)核態(tài)被執(zhí)行,常駐內(nèi)存。


請簡要描述處理機(jī)的雙重工作模式?

答:一般地,處理機(jī)至少需要兩種單獨(dú)的運(yùn)行模式:即用戶態(tài)和內(nèi)核態(tài)。

(1)用戶態(tài),又稱為目態(tài),計(jì)算機(jī)硬件可以通過一個(gè)模式位1來表示它。當(dāng)計(jì)算機(jī)運(yùn)行用戶程序時(shí),系統(tǒng)即處于用戶態(tài)。

(2)內(nèi)核態(tài),又稱管態(tài)或系統(tǒng)態(tài),計(jì)算機(jī)硬件可以通過一個(gè)模式位0來表示它。當(dāng)OS能夠控制計(jì)算機(jī)時(shí),它就處于內(nèi)核態(tài)。比如,當(dāng)用戶程序通過系統(tǒng)調(diào)用請求OS服務(wù)時(shí),系統(tǒng)必須從用戶態(tài)切換到內(nèi)核態(tài),以響應(yīng)請求。


簡述中斷處理的過程。

答:一旦CPU響應(yīng)中斷,系統(tǒng)就會(huì)開始進(jìn)行中斷處理。中斷處理的過程主要包括以下3步。

(1)保護(hù)被中斷進(jìn)程的現(xiàn)場。為了在中斷處理結(jié)束后能使進(jìn)程正確返回中斷點(diǎn),系統(tǒng)必須保存當(dāng)前處理機(jī)狀態(tài)字和程序計(jì)數(shù)器的值。(保護(hù)現(xiàn)場)

(2)分析中斷原因,執(zhí)行相應(yīng)的中斷處理程序。在多個(gè)中斷請求同時(shí)發(fā)生時(shí),處理優(yōu)先級(jí)最高的中斷源所發(fā)出的請求。(執(zhí)行中斷)

(3)恢復(fù)被中斷進(jìn)程的現(xiàn)場,CPU繼續(xù)執(zhí)行被中斷的原進(jìn)程。(恢復(fù)現(xiàn)場)


【王道補(bǔ)充の中斷過程】

答:

(1)CPU檢測到中斷信號(hào)后,由硬件自動(dòng)保存被中斷程序的斷點(diǎn)(即程序計(jì)數(shù)器PC和程序狀態(tài)字PSW)。(保護(hù)現(xiàn)場)

(2)之后,硬件找到該中斷信號(hào)對(duì)應(yīng)的中斷向量,中斷向量指明終端服務(wù)程序入口地址(中斷向量統(tǒng)一存放在中斷向量表中,該表由操作系統(tǒng)初始化,即找中斷向量)。然后,開放中斷,允許更高級(jí)的中斷請求打斷低級(jí)的中斷服務(wù)程序。

(3)接下來,執(zhí)行中斷服務(wù)程序,保存中斷品鼻子、保存各通用寄存器的值,并提供與中斷信號(hào)對(duì)應(yīng)的中斷服務(wù),中斷服務(wù)程序?qū)儆诓僮飨到y(tǒng)內(nèi)核,中斷服務(wù)程序的最后一條指令一定是中斷返回指令。

(4)然后,關(guān)中斷,防止在恢復(fù)現(xiàn)場過程中被新的中斷請求打斷。

(5)最后,恢復(fù)現(xiàn)場,然后開放中斷,以便返回原來的程序后可以響應(yīng)其他的中斷請求。

PS:可以簡記為:保護(hù)現(xiàn)場—>確認(rèn)中斷向量—>開中斷—>執(zhí)行中斷服務(wù)程序—>關(guān)中斷—>恢復(fù)現(xiàn)場—>開中斷


處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?

答:處理機(jī)管理的主要功能有4個(gè):進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度。其中各部分的主要任務(wù)為:

(1)進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行中的狀態(tài)轉(zhuǎn)換。

(2)進(jìn)程同步:協(xié)調(diào)多個(gè)進(jìn)程(含線程)的運(yùn)行。

(3)進(jìn)程通信:實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。

(4)處理機(jī)調(diào)度:包括作業(yè)調(diào)度和進(jìn)程調(diào)度。作業(yè)調(diào)度是按照一定的算法從后備隊(duì)列里選出若干個(gè)作業(yè),為他們分配運(yùn)行所需的資源;進(jìn)程調(diào)度是按照一定的算法從進(jìn)程的就緒隊(duì)列中選取一個(gè)進(jìn)程,把處理機(jī)分配給它,并設(shè)置運(yùn)行現(xiàn)場,使進(jìn)程投入運(yùn)行。


內(nèi)存管理有哪些主要功能?它們的主要任務(wù)是什么?

答:內(nèi)存管理的主要功能有4個(gè):內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。其中各部分的主要任務(wù)為:

(1)內(nèi)存分配:為每道程序分配內(nèi)存。

(2)內(nèi)存保護(hù):確保每道程序僅在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。

(3)地址映射:將地址空間的邏輯地址轉(zhuǎn)為內(nèi)存空間對(duì)應(yīng)的物理地址。

(4)內(nèi)存擴(kuò)充:即從邏輯上擴(kuò)充內(nèi)存,實(shí)現(xiàn)請求調(diào)入功能和置換功能。


設(shè)備管理有哪些主要功能?它們的主要任務(wù)是什么?

答:設(shè)備管理的主要功能有4個(gè):緩沖管理、設(shè)備分配、設(shè)備處理和設(shè)備虛擬。其中各部分的主要任務(wù)為:

(1)完成用戶提出的I/O請求,為用戶分配進(jìn)程所需的I/O設(shè)備,并完成指定的I/O操作。

(2)提高CPU和I/O設(shè)備的利用率,提高I/O速度,方便用戶使用I/O設(shè)備。


文件管理有哪些主要功能?它們的主要任務(wù)是什么?

答:文件管理的主要功能有3個(gè):文件存儲(chǔ)空間管理、目錄管理、文件讀寫管理和保護(hù)。其主要任務(wù)是對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理以方便用戶使用、保證文件安全。


現(xiàn)代OS的新功能有哪些?

答:現(xiàn)代OS除了具有傳統(tǒng)OS的功能外,還具有保障系統(tǒng)安全、支持用戶聯(lián)網(wǎng)獲取服務(wù)和可處理多媒體信息等功能。


什么是微內(nèi)核OS?它具有哪些優(yōu)點(diǎn)?

答:微內(nèi)核OS是具有如下4個(gè)特征的OS:(1)足夠小的內(nèi)核;(2)基于客戶/服務(wù)器模式;(3)應(yīng)用策略與機(jī)制分離原則;(4)采用面向?qū)ο蠹夹g(shù)。

微內(nèi)核OS的主要優(yōu)點(diǎn)有4個(gè):(1)提高了系統(tǒng)的可擴(kuò)展性;(2)增強(qiáng)了系統(tǒng)的可靠性和可移植性;(3)提供了對(duì)分布式系統(tǒng)的支持;(4)融入了面向?qū)ο蠹夹g(shù)。


外核OS的基本思想是什么?

答:外核OS的基本思想是:內(nèi)核不提供傳統(tǒng)OS中的進(jìn)程、虛擬存儲(chǔ)等抽象事物,而是專注于物理資源的隔離(保護(hù))與復(fù)用。具體來說,在基于外核結(jié)構(gòu)的OS中,內(nèi)核負(fù)責(zé)保護(hù)系統(tǒng)資源,而硬件資源的管理職責(zé)則委托給了應(yīng)用程序,這樣,OS就可以做到在保證資源安全的前提下,減少對(duì)應(yīng)用程序的限制,充分滿足應(yīng)用程序?qū)τ布Y源的不同需求。


什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序和庫函數(shù)有何區(qū)別?

答:系統(tǒng)調(diào)用是OS提供給程序員的唯一接口。程序員利用系統(tǒng)調(diào)用,在源程序?qū)用鎰?dòng)態(tài)請求和釋放系統(tǒng)資源,并調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機(jī)器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個(gè)黑箱子,對(duì)用戶屏蔽了OS的具體動(dòng)作,而只提供有關(guān)的功能。

系統(tǒng)調(diào)用與一般用戶程序和庫函數(shù)的區(qū)別在于3點(diǎn):(1)系統(tǒng)調(diào)用(程序)在內(nèi)核態(tài)執(zhí)行,調(diào)用它們時(shí)需要一個(gè)類似于硬件中斷處理機(jī)制的中斷處理機(jī)制來提供系統(tǒng)服務(wù);(2)普通用戶程序是直接為用戶完成某特定功能而設(shè)計(jì)的,它們一般在用戶態(tài)執(zhí)行;(3)庫函數(shù)是把函數(shù)放到庫里提供別人使用的一種方式,是面向應(yīng)用開發(fā),方便人們編程的。


【王道補(bǔ)充】請簡述系統(tǒng)調(diào)用的過程?

答:

(1)(傳參)正在運(yùn)行的進(jìn)程先傳遞系統(tǒng)調(diào)用參數(shù)。(2)(trap)然后陷入指令負(fù)責(zé)將用戶態(tài)轉(zhuǎn)換為核心態(tài),并將返回地址壓入堆棧后備用(3)(執(zhí)行)接下來CPU執(zhí)行相應(yīng)的內(nèi)核態(tài)程序,(4)(返回)最后返回用戶態(tài),繼續(xù)執(zhí)行程序。


【王道補(bǔ)充】請結(jié)合OS和計(jì)組相關(guān)知識(shí),簡述計(jì)算機(jī)的啟動(dòng)過程?

答:CPU激活后,會(huì)從最頂端的地址FFF0H獲得第一條指令來執(zhí)行,這個(gè)地址僅僅只有16字節(jié),放不下一段程序,所以是一條JMP指令,以跳轉(zhuǎn)到更低地址去執(zhí)行BIOS程序。BIOS程序在內(nèi)存最開始的空間構(gòu)建中斷向量表和相應(yīng)的服務(wù)程序,在后續(xù)POST過程中要用到中斷調(diào)用等功能。然后通過通電自檢POST(Power-on Self Tset),以檢測硬件是否有故障。完成POST后,BIOS需要在硬盤、光驅(qū)或軟驅(qū)等存儲(chǔ)設(shè)備搜尋操作系統(tǒng)內(nèi)核的位置以啟動(dòng)操作系統(tǒng)。

PS:可簡記為①CPU加電、激活,CS:IP指向FFF0H;②執(zhí)行JMP指令跳轉(zhuǎn)到BIOS;③登記BIOS中斷程序入口地址;④硬件自檢;⑤進(jìn)行操作系統(tǒng)引導(dǎo)


OS的概念、特征和功能是什么?

答:

(1)OS定義:OS是一組程序的集合,主要負(fù)責(zé)控制和管理計(jì)算機(jī)的硬件和軟件資源、合理地對(duì)各類作業(yè)進(jìn)行調(diào)度以方便用戶使用計(jì)算機(jī)。

(2)OS的4個(gè)特征:并發(fā)、共享、虛擬、異步。①并發(fā):一段時(shí)間間隔內(nèi)多個(gè)進(jìn)程或線程的并發(fā)執(zhí)行,是宏觀上的并行,微觀上的串行。②共享:系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程或者線程共同使用。③虛擬:通過某種技術(shù)將物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。④異步:進(jìn)程以人們不可預(yù)知的速度向前推薦,每次運(yùn)行只要環(huán)境相同,則結(jié)果必定一致。

(3)OS的5大功能:處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理、文件管理、接口管理。①處理機(jī)管理:進(jìn)程(線程)是處理機(jī)調(diào)度的單位,因此處理機(jī)管理實(shí)際上是對(duì)進(jìn)程(線程)的管理。②存儲(chǔ)器管理:主要包括內(nèi)存的分配與回收、地址轉(zhuǎn)換、虛擬內(nèi)存的實(shí)現(xiàn)等。③設(shè)備管理:主要包括設(shè)備分配與回收、緩沖區(qū)管理、磁盤調(diào)度、設(shè)備虛擬等。④文件管理:主要包括文件存儲(chǔ)空間的管理、目錄管理、文件共享與保護(hù)等。⑤接口管理:主要包括用戶接口、程序接口、命令接口和網(wǎng)絡(luò)接口的管理等。


第1章 零碎知識(shí)點(diǎn)

零碎的雜七雜八の知識(shí)點(diǎn)

并發(fā)是指若干事件在同一時(shí)間間隔發(fā)生,并行是指若干事件在同一時(shí)刻發(fā)生。

廣義指令就是系統(tǒng)調(diào)用(或者說系統(tǒng)調(diào)用指令)。其中系統(tǒng)調(diào)用包括①傳參 ②trap指令(或仿管指令、陷入指令),該指令只在用戶態(tài)執(zhí)行,CPU進(jìn)入核心態(tài)。 ③執(zhí)行系統(tǒng)調(diào)用,在核心態(tài)下完成。④返回用戶態(tài),繼續(xù)執(zhí)行程序。廣義指令只能在核心態(tài)執(zhí)行。

Shell是命令解析器,命令解析器屬于命令接口。命令接口是面向用戶的,在用戶態(tài)執(zhí)行。

系統(tǒng)中的緩存全部由操作系統(tǒng)管理,對(duì)用戶是透明的,操作系統(tǒng)不提供管理系統(tǒng)緩存的系統(tǒng)調(diào)用。

系統(tǒng)開機(jī)后,操作系統(tǒng)的程序會(huì)被自動(dòng)加載到內(nèi)存中的系統(tǒng)區(qū),這段區(qū)域是RAM。即操作系統(tǒng)最終會(huì)被加載到RAM中。

中斷技術(shù)使得多道批處理系統(tǒng)的I/O設(shè)備可與CPU并行工作。

中斷處理是操作系統(tǒng)必須提供的功能。

進(jìn)程調(diào)度由調(diào)度算法決定CPU的使用權(quán),由操作系統(tǒng)來實(shí)現(xiàn),不需要硬件的支持。

中斷處理的前三個(gè)步驟是由硬件直接實(shí)現(xiàn)的;地址映射需要基地址(或頁表)寄存器和地址加法器的支持;時(shí)鐘管理需要硬件計(jì)數(shù)器保持時(shí)鐘的運(yùn)行。

缺頁處理和時(shí)鐘中斷都屬于中斷,在核心態(tài)執(zhí)行。

進(jìn)程調(diào)度是操作系統(tǒng)內(nèi)核進(jìn)程,無需用戶干預(yù),在核心態(tài)執(zhí)行。

特權(quán)指令只能由操作系統(tǒng)使用,在核心態(tài)執(zhí)行。

置時(shí)鐘指令只能在核心態(tài)執(zhí)行。讀時(shí)鐘、取數(shù)、寄存器清零都可以通過匯編,在用戶態(tài)下完成。

中斷程序本身可能使用戶程序,也可能是OS程序,但是進(jìn)入中斷處理的程序一定屬于OS程序,因?yàn)檫M(jìn)入中斷處理的程序時(shí)通過硬件來實(shí)現(xiàn)的。

子程序調(diào)用只保存程序斷點(diǎn),即該指令的下一條指令的地址;中斷處理不僅要保存斷點(diǎn)(程序計(jì)數(shù)器PC的內(nèi)容,即地址),還要保存程序狀態(tài)字寄存去PSWR(即當(dāng)前使用戶態(tài)還是核心態(tài))的內(nèi)容。在中斷處理中最重要的兩個(gè)寄存器使PC和PSWR。

中斷服務(wù)程序?qū)儆诓僮飨到y(tǒng)內(nèi)核。

微內(nèi)核的缺點(diǎn)是系統(tǒng)效率低,因?yàn)槲?nèi)核要頻繁地在用戶態(tài)和核心態(tài)之間切換,開銷大。

只有操作系統(tǒng)的內(nèi)核才常駐內(nèi)存,操作系統(tǒng)地其他部分僅在需要時(shí)調(diào)入。

軟件能實(shí)現(xiàn)地功能硬件也能實(shí)現(xiàn),所以虛擬機(jī)既可以用軟件實(shí)現(xiàn),也可以用硬件實(shí)現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容