版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄
第1章操作系統(tǒng)引論...............................................................................5
1.1復(fù)習(xí)筆記..................................................................................5
1.2課后習(xí)題詳解..............................................................................7
1.3考研真題詳解.............................................................................12
第2章進(jìn)程的描述與控制.........................................................................13
2.1復(fù)習(xí)筆記..................................................................................13
2.2課后習(xí)題詳解.............................................................................19
2.3考研真題詳解.............................................................................24
第3章處理機(jī)調(diào)度與死鎖..........................................................................28
3.1復(fù)習(xí)筆記..................................................................................28
3.2課后習(xí)題詳解.............................................................................31
3.3考研真題詳解.............................................................................38
第4章存儲(chǔ)器管理................................................................................41
4.1復(fù)習(xí)筆記..................................................................................41
4.2課后習(xí)題詳解.............................................................................49
4.3考研真題詳解.............................................................................54
第5章虛擬存儲(chǔ)器................................................................................56
5.1復(fù)習(xí)筆記..................................................................................56
5.2課后習(xí)題詳解.............................................................................60
5.3考研真題解................................................................................66
第6章輸入輸出系統(tǒng).............................................................................68
6.1復(fù)習(xí)筆記..................................................................................68
6.2課后習(xí)題詳解.............................................................................80
6.3考研真題詳解.............................................................................87
第7章文件管理..................................................................................89
7.1復(fù)習(xí)筆記..................................................................................89
7.2課后習(xí)題詳解.............................................................................94
7.3考研真題詳解............................................................................101
第8章磁盤存儲(chǔ)器的管理........................................................................102
8.1復(fù)習(xí)筆記.................................................................................102
8.2課后習(xí)題詳解............................................................................107
8.3考研真題詳解............................................................................113
第9章操作系統(tǒng)接口.............................................................................115
9.1復(fù)習(xí)筆記.................................................................................115
9.2課后習(xí)題詳解............................................................................121
9.3考研真題詳解............................................................................127
第10章多處理機(jī)操作系統(tǒng)........................................................................128
10.1復(fù)習(xí)筆記.................................................................................128
10.2課后習(xí)題詳解............................................................................138
10.3考研真題詳解............................................................................145
第11章多媒體操作系統(tǒng)..........................................................................146
11.1復(fù)習(xí)筆記................................................................................146
11.2課后習(xí)題詳解............................................................................150
11.3考研真題詳解............................................................................158
第12章保護(hù)和安全..............................................................................159
12.1復(fù)習(xí)筆記.................................................................................159
12.2課后習(xí)題詳解............................................................................162
12.3考研真題詳解169
第1章操作系統(tǒng)引論
1.1復(fù)習(xí)筆記
一、操作系統(tǒng)的目標(biāo)和作用
1.操作系統(tǒng)的目標(biāo)
(1)方便性。
(2)有效性。
(3)可擴(kuò)充性。
(4)開放性。
2.操作系統(tǒng)的作用
(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口。
(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者。
(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。
二、操作系統(tǒng)的發(fā)展過程
1.未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)
(1)人工操作方式。
(2)脫機(jī)輸入/輸出方式。
2.單道批處理系統(tǒng)
3.多道批處理系統(tǒng)
多道批處理系統(tǒng)特征:多道、宏觀上并行、微觀上串行。
4.分時(shí)系統(tǒng)
分時(shí)系統(tǒng)的特征:多路性、獨(dú)立性、及時(shí)性、交互性。
5.實(shí)時(shí)系統(tǒng)
(1)實(shí)時(shí)系統(tǒng)的類型
①工業(yè)(武器)控制系統(tǒng),如火炮的自動(dòng)控制系統(tǒng)、飛機(jī)的自動(dòng)駕駛系統(tǒng),以及導(dǎo)彈的制導(dǎo)系統(tǒng)等。
②信息查詢系統(tǒng),如飛機(jī)或火車的訂票系統(tǒng)等。
③多媒體系統(tǒng)。
④嵌入式系統(tǒng)。
(2)實(shí)時(shí)系統(tǒng)最主要的特征便是及時(shí)性與可靠性。
6.微機(jī)操作系統(tǒng)的發(fā)展
微機(jī)操作系統(tǒng)按運(yùn)行方式分為以下幾類:
(1)單用戶單任務(wù)操作系統(tǒng)。
(2)單用戶多任務(wù)操作系統(tǒng)。
(3)多用戶多任務(wù)操作系統(tǒng)。
三、操作系統(tǒng)的基本特性
I.并發(fā)(Concurrence)
區(qū)分并行與并發(fā)
(I)并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;
(2)并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。
2.共享(Sharing)
目前實(shí)現(xiàn)資源共享的主要方式有以下兩種:
(1)互斥共享方式。
(2)同時(shí)訪問方式。
3.虛擬(Wtual)
4.異步(Asynchronism)
并發(fā)和共享是多用戶(多任務(wù))OS的兩個(gè)最基本的特征。
四、操作系統(tǒng)的主要功能
1.處理機(jī)管理功能
對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。處理機(jī)管理的主要功能有:
(1)進(jìn)程控制。
(2)進(jìn)程同步。
(3)進(jìn)程通信。
(4)調(diào)度。
2.存儲(chǔ)器管理功能
(1)內(nèi)存分配。
(2)內(nèi)存保護(hù)。
(3)地址映射。
(4)內(nèi)存擴(kuò)充。
3.設(shè)備管理功能
(1)緩沖管理。
(2)設(shè)備分配。
(3)設(shè)備處理。
4.文件管理功能
(1)文件存儲(chǔ)空間的管理。
(2)目錄管理。
(3)文件的讀/寫管理和保護(hù)。
5.操作系統(tǒng)與用戶之間的接口
(1)用戶接口
用戶接口進(jìn)一步分為聯(lián)機(jī)用戶接口、脫機(jī)用戶接口和圖形用戶接口三種。
(2)程序接口
程序接口是由一組系統(tǒng)調(diào)用組成的,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序。
6.系統(tǒng)調(diào)用
(1)系統(tǒng)調(diào)用又被稱為廣義指令。
(2)系統(tǒng)調(diào)用的相關(guān)處理都是在核心態(tài)下進(jìn)行。
(3)系統(tǒng)調(diào)用按功能分類為:設(shè)備管理、文件管理、進(jìn)程控制、進(jìn)程通信、內(nèi)存管理。
五、操作系統(tǒng)的運(yùn)行環(huán)境
1.內(nèi)核態(tài)與用戶態(tài)
(1)操作系統(tǒng)的內(nèi)核是計(jì)算機(jī)上配置的底層軟件,是操作系統(tǒng)最基本、最核心的部分。
(2)操作系統(tǒng)內(nèi)核的核心功能包括時(shí)鐘管理,中斷處理,原語,進(jìn)程管理,存儲(chǔ)器管理,設(shè)備管理。
(3)用戶態(tài)也叫做目態(tài),核心態(tài)也叫做管態(tài).
2.操作系統(tǒng)的指令分為特權(quán)指令和非特權(quán)指令。
(1)特權(quán)指令是只能由操作系統(tǒng)才能執(zhí)行的指令,如1/O指令、內(nèi)存清零指令,只能在核心態(tài)下執(zhí)行。
(2)非特權(quán)指令是用戶可以去執(zhí)行的指令,在用戶態(tài)下執(zhí)行。
3.中斷與異常
(1)中斷分為內(nèi)中斷和外中斷。其中,內(nèi)中斷信號(hào)的來源是CPU內(nèi)部,與當(dāng)前執(zhí)行指令的有關(guān);外中斷信
號(hào)的來源是CPU外部,與當(dāng)前執(zhí)行指令的無關(guān)。
(2)內(nèi)中斷也稱為異常或者陷入(trap).
(3)外中斷就是狹義上的中斷。
(4)中斷可以使CPU從用戶態(tài)切換為核心態(tài)。
六、微內(nèi)核OS結(jié)構(gòu)
(1)基本概念
微內(nèi)核并非是一個(gè)完整的OS,而只是將操作系統(tǒng)中最基本的部分放入微內(nèi)核,微內(nèi)核通常包含以下幾部分:
①與硬件處理緊密相關(guān)的部分:
②一些較基本的功能;
③客戶和服務(wù)器之間的通信。
(2)微內(nèi)核的基本功能
①進(jìn)程(線程)管理。
②低級(jí)存儲(chǔ)器管理。
③中斷和陷入處理。
(3)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)
①提高了系統(tǒng)的可擴(kuò)展性。
②增強(qiáng)了系統(tǒng)的可靠性。
③可移植性強(qiáng)。
④提供了對(duì)分布式系統(tǒng)的支持。
⑤融入了面向?qū)ο蠹夹g(shù)。
(4)微內(nèi)核操作系統(tǒng)存在的問題
微內(nèi)核OS存在著潛在的缺點(diǎn)。其中最主要的是,較之早期OS,微內(nèi)核OS的運(yùn)行效率有所降低。
1.2課后習(xí)題詳解
1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?
答:在計(jì)算機(jī)系統(tǒng)上配置操作系統(tǒng)的主要目標(biāo)是方便性、有效性、可擴(kuò)充性和開放性。
(1)方便性
配置操作系統(tǒng)后,系統(tǒng)可以使用編譯命令將用戶采用高級(jí)語言書寫的程序翻譯成機(jī)器代碼,用戶可以直接通
過OS所提供的各種命令操縱計(jì)算機(jī)系統(tǒng),使計(jì)算機(jī)變得易學(xué)易用。
(2)有效性
①提高系統(tǒng)資源利用率
能有效分配各種設(shè)備的工作狀態(tài),提高系統(tǒng)資源的利用率。
②提高系統(tǒng)的吞吐量
OS可以通過合理地組織計(jì)算機(jī)的工作流程,加速程序的運(yùn)行,縮短程序的運(yùn)行周期,從而提高系統(tǒng)的吞吐
量。
(3)可擴(kuò)充性
OS必須具有很好的可擴(kuò)充性,才能適應(yīng)計(jì)算機(jī)硬件、體系結(jié)構(gòu)以及應(yīng)用發(fā)展的要求。
(4)開放性
開放性是指系統(tǒng)能遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國(guó)際標(biāo)準(zhǔn)。開放性是衡量一個(gè)新推
出系統(tǒng)或軟件能否被廣泛應(yīng)用的至關(guān)重要的因索。
2.OS的作用可表現(xiàn)在哪幾個(gè)方面?
答:OS的作用可表現(xiàn)在以下3個(gè)方面:
(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的軟件接口
OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)。
(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者
在計(jì)算機(jī)系統(tǒng)中,通常都包含硬件和軟件資源,歸納起來可將資源分為4類:處理器、存儲(chǔ)器、I/O設(shè)備以
及信息(數(shù)據(jù)和程序)。相應(yīng)地,OS的主要功能也正是針對(duì)這4類資源進(jìn)行有效的管理。為了管理好這些共享資
源(包括硬件和信息)的使用,操作系統(tǒng)必須記錄下各種資源的使用情況,對(duì)使用資源的請(qǐng)求進(jìn)行授權(quán),協(xié)調(diào)諸
用戶對(duì)共享資源的使用,避免發(fā)生沖突,并計(jì)算使用資源的費(fèi)用等。
(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象
在裸機(jī)上覆蓋上一層1/0設(shè)備管理軟件得到擴(kuò)充機(jī)器(虛擬機(jī)),它向用戶(進(jìn)程)提供了一個(gè)對(duì)硬件操作
的抽象模型,用戶可利用抽象模型提供的接口使用計(jì)算機(jī),而無需了解物理接口實(shí)現(xiàn)的細(xì)節(jié),從而使用戶更容易
地使用計(jì)算機(jī)硬件資源。
3.為什么說OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?
答:OS是鋪設(shè)在計(jì)算機(jī)硬件上的多層系統(tǒng)軟件,它不僅增強(qiáng)了系統(tǒng)的功能,而且還隱藏了對(duì)硬件操作的細(xì)
節(jié),實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的多個(gè)層次的抽象。
(1)在裸機(jī)上覆蓋上一層1/0設(shè)備管理軟件,由它來實(shí)現(xiàn)對(duì)I/O設(shè)備操作的細(xì)節(jié),并向上提供一組I/O命令,
用戶可利用它來進(jìn)行數(shù)據(jù)輸入或輸出,而無需關(guān)心I/O是如何實(shí)現(xiàn)的。該軟件實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層
次的抽象。
(2)在第一層次的抽象上再覆蓋上一層用于文件的管理軟件,同樣由它來實(shí)現(xiàn)文件操作的細(xì)節(jié),并向上提
供一組對(duì)文件進(jìn)行存取操作的命令,用戶可利用這組命令進(jìn)行文件的存取。該層軟件實(shí)現(xiàn)了對(duì)硬件資源操作的第
二層次的抽象。
4.試說明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁础?/p>
答:不斷提高計(jì)算機(jī)資源的利用率和系統(tǒng)吞吐量是推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Α?/p>
5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?
答:(1)脫機(jī)I/O
為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)輸入/輸出
(Off-LineI/O)技術(shù)。該技術(shù)是事先將裝有用戶程序和數(shù)據(jù)的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片機(jī)),在
一臺(tái)外圍機(jī)的控制下,把紙帶(卡片)上的數(shù)據(jù)(程序)輸入到磁帶上。當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再?gòu)?/p>
磁帶上將其高速地調(diào)入內(nèi)存。類似地,當(dāng)CPU需要輸出時(shí),可由CPU直接高速地把數(shù)據(jù)從內(nèi)存送到磁帶上,然
后再在另一臺(tái)外圍機(jī)的控制下,將磁帶上的結(jié)果通過相應(yīng)的輸出設(shè)備輸出。即脫機(jī)I/O方式指的是程序和數(shù)據(jù)的
輸入和輸出都是在外圍機(jī)的控制下完成的,或者說,它們是在脫離主機(jī)的情況下進(jìn)行的。
(2)聯(lián)機(jī)I/O
和脫機(jī)I/O方式相反,聯(lián)機(jī)I/O方式指的是在主機(jī)的直接控制下進(jìn)行輸入/輸出的方式。
6.試說明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>
答:進(jìn)一步提高計(jì)算機(jī)資源的利用率、更好的滿足人機(jī)交互是推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Α?/p>
7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?
答:(1)實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是如何使用戶能與自己的作業(yè)進(jìn)行交互,即當(dāng)用戶在自己的終端上鍵入命
令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,再將結(jié)果返回給用戶。
(2)解決方案
①及時(shí)接收問題
針對(duì)及時(shí)接收問題,解決辦法是在系統(tǒng)中配置一個(gè)多路卡,多路卡的作用是使主機(jī)能同時(shí)接收不同用戶從終
端上輸入的數(shù)據(jù)。此外,還須為每個(gè)終端配置一個(gè)緩沖區(qū),用來暫存用戶鍵入的命令(或數(shù)據(jù))。
②及時(shí)處理問題
針對(duì)及時(shí)處理問題,各個(gè)用戶的作業(yè)應(yīng)該直接進(jìn)入內(nèi)存,并且規(guī)定每個(gè)作業(yè)只運(yùn)行一個(gè)很短的時(shí)間片,然后
暫停該作業(yè)的運(yùn)行,并立即調(diào)度下一個(gè)作業(yè)運(yùn)行。
8.為什么要引入實(shí)時(shí)OS?
答:引入實(shí)時(shí)OS是為了滿足實(shí)時(shí)應(yīng)用的需求,更好地滿足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。
9.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說明。
答:在實(shí)時(shí)操作系統(tǒng)中,根據(jù)對(duì)截止時(shí)間的要求來分類,實(shí)時(shí)任務(wù)可分為硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)兩種。
(1)硬實(shí)時(shí)任務(wù)及其舉例
硬實(shí)時(shí)任務(wù)是系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果,在一里高科技領(lǐng)域,如
運(yùn)載火箭的控制等。
(2)軟實(shí)時(shí)任務(wù)及其舉例
軟實(shí)時(shí)任務(wù)是它也聯(lián)系著一個(gè)截止時(shí)間,但并不嚴(yán)格,若偶爾錯(cuò)過了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影響也
不會(huì)太大,比如網(wǎng)頁的更新等。
10.試從交互性、及時(shí)性以及可靠性方面將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。
答:(1)交互性
實(shí)時(shí)信息處理系統(tǒng)雖然也具有交互性,但這里人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序。
它不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理和資源共享等服務(wù)。
(2)及時(shí)性
實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受的等待時(shí)間來確定的;而實(shí)時(shí)控制系
統(tǒng)的及時(shí)性,則是以控制對(duì)象所要求的開始截止時(shí)間或完成截止時(shí)間來確定的,一般為秒級(jí)到毫秒級(jí),甚至有的
要低于100微秒。
(3)可靠性
分時(shí)系統(tǒng)雖然也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)對(duì)可靠性的要求更高。因?yàn)槿魏尾铄e(cuò)都可能帶來巨大
的經(jīng)濟(jì)損失,甚至是無法預(yù)料的災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施來保障系統(tǒng)的安全
性及數(shù)據(jù)的安全性。
11.OS有哪幾大特征?其最基本的特征是什么?
答:(1)操作系統(tǒng)具備四種共同的基本特征,即并發(fā)、共享、虛擬和異步。
(2)并發(fā)和共享是OS兩大最基本的特征。
12.在多道程序技術(shù)的OS環(huán)境下的資源共享與一般情況下的資源共享有何不同?對(duì)獨(dú)占資源應(yīng)采取何種共
享方式?
答:(1)OS環(huán)境下與一般情況下的資源共享間的不同點(diǎn)
①一般情況下的共享
一般情況下的共享只是說明某種資源能被大家使用,對(duì)于這樣的資源共享方式,只要通過適當(dāng)?shù)陌才牛脩?/p>
之間并不會(huì)產(chǎn)生對(duì)資源的競(jìng)爭(zhēng),因此資源管理是比較簡(jiǎn)單的。
②OS環(huán)境下的共享
OS環(huán)境下的資源共享或稱為資源復(fù)用,是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用。這里
在宏觀上既限定了時(shí)間(進(jìn)程在內(nèi)存期間),也限定了地點(diǎn)(內(nèi)存)。對(duì)于這種資源共享方式,其管理就要復(fù)雜得
多,因?yàn)橄到y(tǒng)中的資源少于多道程序需求的總和,會(huì)形成它們對(duì)共享資源的爭(zhēng)奪。所以,系統(tǒng)必須對(duì)資源共享進(jìn)
行妥善管理。
(2)獨(dú)占資源應(yīng)采取的共享方式
對(duì)獨(dú)占資源應(yīng)采用互斥共享方式,該共享方式僅當(dāng)占有該資源的進(jìn)程訪問并釋放資源后,才允許另一進(jìn)程對(duì)
該資源進(jìn)行訪問。
13.什么是時(shí)分復(fù)用技術(shù)?舉例說明它能提高資源利用率的根本原因是什么。
答:(1)時(shí)分復(fù)用技術(shù)是將不同的信號(hào)相互交織在不同的時(shí)間段內(nèi),沿著同?個(gè)信道傳輸;在接收端再用某
種方法,將各個(gè)時(shí)間段內(nèi)的信號(hào)提取出來還原成原始信號(hào)的通信技術(shù)。這種技術(shù)可以在同一個(gè)信道上傳輸多路信
號(hào)。
(2)時(shí)分復(fù)用技術(shù)能提高資源利用率的根本原因在于,它利用某設(shè)備為一用戶服務(wù)的空閑時(shí)間,乂轉(zhuǎn)去為
其他用戶服務(wù),使設(shè)備得到最充分的利用。
14.是什么原因使操作系統(tǒng)具有異步性特征?
答:由于各用戶程序性能的不同,不同程序?qū)?nèi)存的使用開始時(shí)間、結(jié)束時(shí)間、中斷時(shí)間是不可預(yù)知的,或
者說,進(jìn)程是以人們不可預(yù)知的速度向前推進(jìn),導(dǎo)致了進(jìn)程的異步性。
15.處理機(jī)管理有哪些主要功能?其主要任務(wù)是什么?
答:處理機(jī)管理的主要功能是進(jìn)程控制、進(jìn)程同步、進(jìn)程通信和調(diào)度。
(1)進(jìn)程控制
為作業(yè)創(chuàng)建進(jìn)程,并為之分配必要的資源;進(jìn)程結(jié)束時(shí)撤銷進(jìn)程,及時(shí)回收該進(jìn)程所占用的各類資源:以及
控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。
(2)進(jìn)程同步
為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào),協(xié)調(diào)分為進(jìn)程互斥方式和進(jìn)程同步方式。
(3)進(jìn)程通信
用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。
(4)處理機(jī)調(diào)度
在后備隊(duì)列上等待的每個(gè)作業(yè)都必須經(jīng)過調(diào)度才能執(zhí)行,在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調(diào)度和進(jìn)程調(diào)度兩
步。
①作業(yè)調(diào)度
從后備隊(duì)里按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配運(yùn)行所需的資源(首先是分配內(nèi)存)。
②進(jìn)程調(diào)度
從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入
執(zhí)行。
16.內(nèi)存管理有哪些主要功能?其主要任務(wù)是什么?
答:內(nèi)存管理的主要功能有內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。
(1)內(nèi)存分配
內(nèi)存分配的主要任務(wù)是為每道程序分配內(nèi)存空間,使它們“各得其所”;提高存儲(chǔ)器的利用率,減少不可用
的內(nèi)存空間;允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長(zhǎng)的需要。
(2)內(nèi)存保護(hù)
內(nèi)存保護(hù)的主要任務(wù)是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾;絕不允許用戶程序
訪問操作系統(tǒng)的程序和數(shù)據(jù);也不允許用戶程序轉(zhuǎn)移到非共享的其他用戶程序中去執(zhí)行。
(3)地址映射
為使程序能正確運(yùn)行,存儲(chǔ)器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與
之對(duì)應(yīng)的物理地址,該功能應(yīng)在硬件的支持下完成。
(4)內(nèi)存擴(kuò)充
借助于虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多,以便
讓更多的用戶程序并發(fā)運(yùn)行。
17.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?
答:設(shè)備管理的主要功能有緩沖管理、設(shè)備分配和設(shè)備處理。設(shè)備管理的主要任務(wù)是完成用戶進(jìn)程提出的1/0
請(qǐng)求,為用戶進(jìn)程分配其所需的1/0設(shè)備:提高CPU和1/0設(shè)備的利用率;提高I/O設(shè)備處理速度:方便用戶使
用I/O設(shè)備。
18.文件管理有哪些主要功能?其主要任務(wù)是什么?
答:文件管理主要功能有文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。文件管理的主要任務(wù)
是對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理,以方便用戶使用,并保證文件的安全性。
19.試說明推動(dòng)傳統(tǒng)0S演變?yōu)楝F(xiàn)代OS的主要因素是什么?
答:推動(dòng)傳統(tǒng)OS演變?yōu)楝F(xiàn)代OS的主要因素如下:
(1)不斷提高計(jì)算機(jī)資源的利用率
在計(jì)算機(jī)發(fā)展初期,計(jì)算機(jī)系統(tǒng)特別昂貴,因此,必須千方百計(jì)地提高計(jì)算機(jī)各種資源的利用率,這是OS
最初發(fā)展的推動(dòng)力。
(2)方便用戶
當(dāng)資源利用率不高的問題得到基本解決后,用戶在上機(jī)、調(diào)試程序時(shí)的不方便性又成為了繼續(xù)推動(dòng)OS發(fā)展
的主要因素。
(3)器件的不斷更新?lián)Q代
隨著微機(jī)芯片的不斷更新?lián)Q代,使得計(jì)算機(jī)的性能快速提高,從而推動(dòng)了OS功能和性能的迅速增強(qiáng)和提高。
(4)計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展
計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展,不斷推動(dòng)著OS的發(fā)展,也促進(jìn)了新的OS類型的產(chǎn)生。
(5)不斷提出新的應(yīng)用需求
不斷提出的新的應(yīng)用需求是推動(dòng)OS迅速發(fā)展的另一個(gè)重要原因。
20.什么是微內(nèi)核OS?
答:微內(nèi)核操作系統(tǒng)結(jié)構(gòu)是20世紀(jì)80年代后期發(fā)展起來的。它能有效地支持多處理機(jī)運(yùn)行,非常適用于分
布式系統(tǒng)環(huán)境,微內(nèi)核OS主要有以下四個(gè)方面的特征:
(1)足夠小的內(nèi)核
能實(shí)現(xiàn)現(xiàn)代OS最基本的核心功能的部分,微內(nèi)核并非是一個(gè)完整的OS,而只是操作系統(tǒng)中最基本的部分。
(2)基于客戶/服務(wù)器模式
將操作系統(tǒng)中最基本的部分放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的一組服務(wù)器(進(jìn)
程)中實(shí)現(xiàn)。
(3)應(yīng)用“機(jī)制與策略分離”原理
在傳統(tǒng)的OS中,將機(jī)制放在OS的內(nèi)核的較低層,把策略放在內(nèi)核的較高層次中。而在微內(nèi)核操作系統(tǒng)中,
通常將機(jī)制放在OS的微內(nèi)核中。正因?yàn)槿绱?,才有可能將?nèi)核做得很小。
(4)采用面向?qū)ο蠹夹g(shù)
確保操作系統(tǒng)的“正確性”“可靠性”“易修改性”“易擴(kuò)展性”等,并提高操作系統(tǒng)的設(shè)計(jì)速度。
21.微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?
答:(1)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)
①提高了系統(tǒng)的可擴(kuò)展性。
②增強(qiáng)了系統(tǒng)的可靠性。
③可移植性強(qiáng)。
④提供了對(duì)分布式系統(tǒng)的支持。
⑤融入了面向?qū)ο蠹夹g(shù)。
(2)微內(nèi)核操作系統(tǒng)具有上述優(yōu)點(diǎn)的原因
微內(nèi)核OS結(jié)構(gòu)是建立在模塊化、層次化結(jié)構(gòu)的基礎(chǔ)上的,并采用了客戶/服務(wù)器模式和面向?qū)ο蟮某绦蛟O(shè)計(jì)
技術(shù)。
22.現(xiàn)代操作系統(tǒng)較之傳統(tǒng)操作系統(tǒng)又增加J'哪些功能和特征?
答:(1)現(xiàn)代操作系統(tǒng)增加的功能
傳統(tǒng)的OS具有處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理、文件管理和提供友好的用戶接口這五大功能,現(xiàn)代
OS中還增加了面向安全、面向網(wǎng)絡(luò)和面向多媒體等功能。
(2)現(xiàn)代操作系統(tǒng)增加的特征
現(xiàn)代操作系統(tǒng)較傳統(tǒng)的多道批處理系統(tǒng)、實(shí)時(shí)操作系統(tǒng)以及分時(shí)操作系統(tǒng)增加并發(fā)性、資源共享性、虛擬
性和異步性四大特征。
23.在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?
答:由于客戶/服務(wù)器模式具有數(shù)據(jù)的分布處理和存儲(chǔ);便于集中管理;靈活性和可擴(kuò)充性:易于改編應(yīng)用
軟件等優(yōu)點(diǎn)。故在單機(jī)微內(nèi)核操作系統(tǒng)中幾乎無一例外地都采用客戶/服務(wù)器模式,將操作系統(tǒng)中最基本的部分
放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的?組服務(wù)器(進(jìn)程)中實(shí)現(xiàn)。
24.在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?
答:在設(shè)計(jì)微內(nèi)核OS時(shí),采用了面向?qū)ο蟮募夹g(shù),其中的“封裝”,“繼承”,“對(duì)象類”和“多態(tài)性”,
以及在對(duì)象之間采用消息傳遞機(jī)制等,都有利于提高系統(tǒng)的“正確性”“可靠性”“易修改性”“易擴(kuò)展性”,
而且還能顯著地減少開發(fā)系統(tǒng)所付出的開銷。
25.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?
答:(1)微內(nèi)核技術(shù)的定義
把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,而留下一個(gè)盡量小的內(nèi)核,用它
來完成操作系統(tǒng)最基本的核心功能,這種技術(shù)被稱為微內(nèi)核技術(shù)。
(2)微內(nèi)核技術(shù)提供的功能
在微內(nèi)核中通常提供了進(jìn)程(線程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理功能。
1.3考研真題詳解
1.在單處理機(jī)系統(tǒng)中,可并行的是()?[2009年統(tǒng)考]
1.進(jìn)程與進(jìn)程
II.處理機(jī)與設(shè)備
UL處理機(jī)與通道
IV.設(shè)備與設(shè)備
A.I、H和出
B.I、II和IV
C.1、阿W
D.IRIV
【答案】D
【解析】單處理機(jī)即只有一個(gè)處理機(jī)(此處不包含多核的情況),某時(shí)刻處理機(jī)只能執(zhí)行一個(gè)進(jìn)程,所以進(jìn)程
與進(jìn)程之間不能并行執(zhí)行。處理機(jī)、通道、設(shè)備都能并行執(zhí)行,比如同時(shí)打印(設(shè)備)、計(jì)算(處理機(jī))、傳輸數(shù)據(jù)
(通道控制內(nèi)存與外存間數(shù)據(jù)交換)。換個(gè)角度來想,進(jìn)程的執(zhí)行必須要依賴處理機(jī),而一個(gè)處理機(jī)同時(shí)只能處理
一個(gè)進(jìn)程,所以單處理機(jī)系統(tǒng)中進(jìn)程就不可以并行;而其他選項(xiàng)依賴的是不同部件,因此可以并行。明確一個(gè)概
念,即使是采用了多道程序設(shè)計(jì)技術(shù)的系統(tǒng),只要是單處理機(jī),進(jìn)程就不可以并行,而只是并發(fā)。因此如果題目
改成“采用多道程序設(shè)計(jì)技術(shù)的單處理機(jī)系統(tǒng)”,答案依然不變。
2.舉例說明為什么操作系統(tǒng)起到了擴(kuò)展機(jī)器的作用?[北大2004年研]
答:把真實(shí)的硬件情況在程序員面前隱藏起來,而表現(xiàn)為一組友好的、簡(jiǎn)單的、可以被讀/寫的命名文件的
程序就是操作系統(tǒng)。就如同隱藏磁盤硬件,表現(xiàn)為一個(gè)簡(jiǎn)單的面向文件的接口一樣,操作系統(tǒng)還隱藏了很多令人
厭煩的中斷、定時(shí)器、內(nèi)存管理以及其他一些底層特性。在這種情況下,操作系統(tǒng)所提供的對(duì)硬件的抽象更簡(jiǎn)單,
更容易使用。例如,對(duì)于最基本的命令read與write,每個(gè)read及write命令都需要13個(gè)參數(shù),這些參數(shù)被組合
在一個(gè)9字節(jié)的數(shù)據(jù)中。這些參數(shù)給出了需要讀的磁盤塊的地址、每磁道的扇區(qū)數(shù)、物理介質(zhì)上所使用的記錄模
式、扇區(qū)間的間隔以及遇到數(shù)據(jù)刪除標(biāo)志時(shí)需要做些什么。當(dāng)操作完成的時(shí)候,控制芯片會(huì)返回23個(gè)狀態(tài)以及
錯(cuò)誤碼,它們會(huì)被組合到7個(gè)字節(jié)長(zhǎng)的數(shù)據(jù)中。不僅如此,編寫軟盤驅(qū)動(dòng)程序的程序員還必須隨時(shí)留意驅(qū)動(dòng)器的
電動(dòng)機(jī)是開著的還是關(guān)著的。如果電動(dòng)機(jī)是關(guān)著的,在讀/寫數(shù)據(jù)前,它必須被打開(伴隨很長(zhǎng)一段啟動(dòng)延時(shí))。
電動(dòng)機(jī)也不能長(zhǎng)時(shí)間開著,否則會(huì)使軟磁盤因磨損過度而損壞。這就要求程序員必須在長(zhǎng)啟動(dòng)延時(shí)及磁盤磨損度
(磨損會(huì)使磁盤上的數(shù)據(jù)丟失)之間尋找一種平衡。這對(duì)程序員來說是非常困難的。程序員所想要的,是一種簡(jiǎn)單
的、高級(jí)的抽象。對(duì)于這一問題,一個(gè)典型的抽象就是磁盤上包含一組已被命名的文件,每一個(gè)文件都可能被打
開來寫或讀,最后,文件會(huì)被關(guān)閉。諸如記錄信息是否需要調(diào)整頻率、電動(dòng)機(jī)的當(dāng)前狀態(tài)等細(xì)節(jié)問題在這一抽象
中就不會(huì)再出現(xiàn)在用戶的面前。
在這種觀點(diǎn)中,操作系統(tǒng)的功能在用戶面前就等同于是一臺(tái)擴(kuò)展了的機(jī)器或者說是虛擬的機(jī)器,它使得在硬
件上面的編程更加容易。
第2章迸程的描述與控制
2.1復(fù)習(xí)筆記
一、前趨圖和程序執(zhí)行
1.前趨圖
(1)定義
前趨圖是指一個(gè)有向無循環(huán)圖,可記為DAG,它用于描述進(jìn)程之間執(zhí)行的先后順序。
(2)圖形表示
前趨圖如圖2-1所示。
2.程序的執(zhí)行
(1)程序順序執(zhí)行時(shí)的特征
①順序性。
②封閉性。
③可再現(xiàn)性。
(2)程序并發(fā)執(zhí)行時(shí)的特征
①間斷性。
②失去封閉性。
③不可再現(xiàn)性。
二、進(jìn)程的描述
1.進(jìn)程的定義和特征
(1)進(jìn)程的定義
對(duì)于進(jìn)程的定義,從不同的角度可以有不同的定義,其中較典型的定義有:
①進(jìn)程是程序的一次執(zhí)行。
②進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。
③進(jìn)程是具有獨(dú)立功能的程序在?個(gè)數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單
位。
(2)進(jìn)程的特征
①動(dòng)態(tài)性
動(dòng)態(tài)性是進(jìn)程的最基本的特征。
②并發(fā)性。
③獨(dú)立性。
④異步性。
(3)進(jìn)程實(shí)體
通常,進(jìn)程實(shí)體由程序控制塊(PCB)、程序段、數(shù)據(jù)段三部分組成。
2.進(jìn)程的狀態(tài)及轉(zhuǎn)換
(1)進(jìn)程有三種基本狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)、阻塞(等待)狀態(tài)。圖2-2示出了基本狀態(tài)的轉(zhuǎn)換圖。
圖2-3進(jìn)程的五種狀態(tài)及轉(zhuǎn)換
3.掛起操作和進(jìn)程狀態(tài)的轉(zhuǎn)換
(1)當(dāng)掛起操作作用于某個(gè)進(jìn)程時(shí),該進(jìn)程將被掛起,意味著此時(shí)該進(jìn)程處于靜止?fàn)顟B(tài)。如果進(jìn)程正在執(zhí)
行,它將暫停執(zhí)行。若原本處于就緒狀態(tài),則該進(jìn)程此時(shí)暫不接受調(diào)度。與掛起操作對(duì)應(yīng)的操作是激活操作。
(2)引入掛起原語操作后三個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換
①活動(dòng)就緒一靜止就緒。
②活動(dòng)阻塞一靜止阻塞。
③靜止就緒一活動(dòng)就緒。
④靜止阻塞T活動(dòng)阻塞。
(3)引入掛起操作后五個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換如圖2-4所示。
圖2-4具有創(chuàng)建、終止和掛起狀態(tài)的進(jìn)程狀態(tài)圖
4.進(jìn)程控制塊(PCB)
(1)概念
PCB是一記錄型數(shù)據(jù)結(jié)構(gòu),它作為進(jìn)程實(shí)體的一部分,記錄了操作系統(tǒng)所需的、用于描述進(jìn)程的當(dāng)前情況
以及管理進(jìn)程運(yùn)行的全部信息。
(2)進(jìn)程控制塊中的信息
處理機(jī)狀態(tài)進(jìn)程調(diào)度信息進(jìn)程控制信息
通用寄存器進(jìn)程狀態(tài)程序和數(shù)據(jù)的地址
指令計(jì)數(shù)器進(jìn)程優(yōu)先級(jí)進(jìn)程同步和通信機(jī)制
程序狀態(tài)字進(jìn)程調(diào)度所需的其它信息資源清單
用戶棧指針事件涯接指針
(3)進(jìn)程控制塊的組織方式
①線性方式。
②鏈接方式。
③索引方式。
三、進(jìn)程控制
進(jìn)程控制是進(jìn)程管理中最基本的功能,主要包括創(chuàng)建新進(jìn)程、終止已完成的進(jìn)程、將因發(fā)生異常情況而無法
繼續(xù)運(yùn)行的進(jìn)程置于阻塞狀態(tài)、負(fù)責(zé)進(jìn)程運(yùn)行中的狀態(tài)轉(zhuǎn)換等功能。
四、進(jìn)程同步
1.進(jìn)程同步的基本概念
(1)進(jìn)程同步機(jī)制的主要任務(wù)
對(duì)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),使并發(fā)執(zhí)行的諸進(jìn)程之間能按照一定的規(guī)則(或時(shí)序)共享系統(tǒng)資
源,并能很好地相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性。
(2)臨界資源
一次僅允許一個(gè)進(jìn)程使用的資源稱為臨界資源。
(3)臨界區(qū)
將在每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。
(4)同步機(jī)制應(yīng)遵循的規(guī)則
①空閑讓進(jìn)。
②忙則等待。
③有限等待。
④讓權(quán)等待。
2.硬件同步機(jī)制
(1)關(guān)中斷。
(2)利用Test-and-Set指令實(shí)現(xiàn)互斥。
(3)利用Swap指令實(shí)現(xiàn)進(jìn)程互斥。
3.信號(hào)量機(jī)制
(1)整型信號(hào)量
①定義
把整型信號(hào)量定義為一個(gè)用于表示資源數(shù)目的整型量S。
②描述
通過兩個(gè)標(biāo)準(zhǔn)的原子操作wail(S)和signal(S)來訪問S,兩個(gè)操作一直被分別稱為P、V操作。wail和
signal操作可描述如下:
wait(S)
while(S<=0);/*dono-op*/
S??;
)
signal(S)
i
S++;
)
(2)記錄型信號(hào)量
①定義
記錄型信號(hào)量機(jī)制采用了記錄型的數(shù)據(jù)結(jié)構(gòu),是一種不存在“忙等”現(xiàn)象的進(jìn)程同步機(jī)制。
②描述
typedefstruct
(
intvalue;〃代表資源數(shù)目的整型變量
structprocess_control_block*list;〃一個(gè)鏈接所有等待進(jìn)程的進(jìn)程鏈表指針
}semaphore;
wait(S)和signal(S)操作可描述如下:
wait(semaphore*S)
(
S->value—;
if(S->value<0)
block(S->list);
)
signal(semaphore*S)
(
S->value++;
if(S->value<=0)
wakeup(S->list);
)
4.經(jīng)典同步問題-生產(chǎn)者-消費(fèi)者問題
問題描述:一組生產(chǎn)者進(jìn)程和一組消費(fèi)者進(jìn)程共享一個(gè)初始為空、大小為n個(gè)單元的緩沖區(qū)。只有當(dāng)緩沖區(qū)
沒滿時(shí),生產(chǎn)者才可以把消息放入緩沖區(qū),否則必須等待;只有當(dāng)緩沖區(qū)不空時(shí),消費(fèi)者才可以從中取出消息,
否則必須等待。由于緩沖區(qū)是臨界資源,只允許一個(gè)生產(chǎn)者放入消息或者一個(gè)消費(fèi)者從中取出消息,不允許同時(shí)
訪問緩沖區(qū)。
信號(hào)量設(shè)置:定義信號(hào)量mutex為互斥信號(hào)量,初值為1,用于表示互斥訪問緩沖區(qū);信號(hào)量empty用于表
示當(dāng)前緩沖區(qū)中可用空間大小,初值為n;信號(hào)量full用于表示當(dāng)前緩沖區(qū)中已用空間大小,初值為0。
程序描述:
semaphoremutex=1;
semaphoreempty=n;
semaphorefull=0;
producer()
{〃生產(chǎn)者進(jìn)程
while(true)
(
〃生產(chǎn)一個(gè)消息
p(empty);〃申請(qǐng)緩沖區(qū)中的一個(gè)空單元
p(mutex);〃中請(qǐng)?jiān)L問緩沖區(qū)
〃將消息放入緩沖區(qū)
v(mutex);〃釋放互斥信號(hào)量
v(full);〃緩沖區(qū)中滿單元數(shù)加一
}
)
consumer()
(〃消費(fèi)者進(jìn)程
while(true)
(
p(full);〃申請(qǐng)從緩沖區(qū)中的滿單元取出消息
p(mulex);〃申請(qǐng)?jiān)L問緩沖區(qū)
〃將消息取出緩沖區(qū)
v(mutex);〃釋放互斥信號(hào)量
v(empty);〃緩沖區(qū)中空單元數(shù)加一
5.管程機(jī)制
(1)定義
一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行(在該數(shù)據(jù)結(jié)構(gòu)上)的一組操作,這組操作能同步進(jìn)程
和改變管程中的數(shù)據(jù)。
(2)組成
①管程的名稱:
②局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說明;
③對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程;
④對(duì)局部于管程的共享數(shù)據(jù)設(shè)置初始值的語句。
五、進(jìn)程通信
I.進(jìn)程通信的概念
(1)進(jìn)程通信的定義
進(jìn)程通信是指進(jìn)程之間的信息交換。
(2)進(jìn)程通信的分類
進(jìn)程通信可分為高級(jí)進(jìn)程通信和低級(jí)進(jìn)程通信兩利、
2.高級(jí)進(jìn)程通信的類型
(1)共享存儲(chǔ)器系統(tǒng)
①基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式。
②基于共享存儲(chǔ)區(qū)的通信方式。
(2)管道通信系統(tǒng)
(3)消息傳遞系統(tǒng)(Messagepassingsystem)
①直接通信方式。
②問接通信方式。
(4)客戶機(jī)-服務(wù)器系統(tǒng)(Client-Serversystem)
六、線程的基本概念
1.線程的引入
(1)進(jìn)程的兩個(gè)基本屬性
①進(jìn)程是一個(gè)可擁有資源的獨(dú)立單位;
②進(jìn)程同時(shí)又是一個(gè)可獨(dú)立調(diào)度和分派的基本單位。
(2)線程引入原因
減少程序并發(fā)執(zhí)行所需付出的時(shí)空開銷,使操作系統(tǒng)具有更好的并發(fā)性。
2.線程與進(jìn)程的比較
(1)調(diào)度的基本單位
①在傳統(tǒng)的OS中,進(jìn)程是作為獨(dú)立調(diào)度和分派的基本單位,因而進(jìn)程是能獨(dú)立運(yùn)行的基本單位。
②而在引入線程的OS中,已把線程作為調(diào)度和分派的基本單位,因而線程是能獨(dú)立運(yùn)行的基本單位。
(2)并發(fā)性
不同進(jìn)程之間、在一個(gè)進(jìn)程中的多個(gè)線程之間或者不同進(jìn)程中的線程之間都能并發(fā)執(zhí)行。
(3)擁有資源
①進(jìn)程是系統(tǒng)中擁有資源的一個(gè)基本單位。
②線程本身并不擁有系統(tǒng)資源,而是僅有一點(diǎn)必不可少的、能保證獨(dú)立運(yùn)行的資源。
(4)獨(dú)立性
在同一進(jìn)程中的不同線程之間的獨(dú)立性要比不同進(jìn)程之間的獨(dú)立性低得多。
(5)系統(tǒng)開銷
①創(chuàng)建或撤消進(jìn)程時(shí)所付出的開銷明顯大于線程創(chuàng)建或撤消時(shí)所付出的開銷。
②線程的切換代價(jià)也遠(yuǎn)低于進(jìn)程的切換代價(jià)。
3.線程的狀態(tài)和線程控制塊
(1)線程運(yùn)行的三個(gè)狀態(tài):執(zhí)行狀態(tài),就緒狀態(tài),阻塞狀態(tài)。
(2)線程控制塊TCB
線程控制塊通常有這樣幾項(xiàng)信息:
①線程標(biāo)識(shí)符;
②一組寄存器;
③線程運(yùn)行狀態(tài);
④優(yōu)先級(jí);
⑤線程專有存儲(chǔ)區(qū);
⑥信號(hào)屏蔽;
⑦堆棧指針。
【說明】在多線程OS中,線程作為獨(dú)立運(yùn)行(或稱調(diào)度)的基本單位;而進(jìn)程仍是資源分配的基本單位。
七、線程的實(shí)現(xiàn)方式
1.內(nèi)核支持線程KST
2.用戶級(jí)線程ULT
3.組合方式
組合方式下包括三種不同的模型,如圖2-5所示。
用戶線程
(a)多對(duì)一模型(b)一對(duì)一模型(c)多對(duì)多模型
圖2-5多線程模型
2.2課后習(xí)題詳解
1.什么是前趨圖?為什么要引入前趨圖?
答:(1)前趨圖的定義
前趨圖是一個(gè)有向無循環(huán)圖,記為DAG,用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。圖中的每個(gè)結(jié)點(diǎn)可用于描述
一個(gè)程序段或進(jìn)程,乃至一條語句;結(jié)點(diǎn)間的有向邊則用于表示兩個(gè)結(jié)點(diǎn)之間存在的偏序或前趨關(guān)系。
(2)引入前趨圖的原因
引入前趨圖可以形象的表示進(jìn)程之間的前后關(guān)系和順序,可以更好地描述程序的順序和并發(fā)執(zhí)行情況。
2.試畫出下面四條語句的前趨圖:
SI:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+l;
答:S3語句中的操作涉及SI中的a和S2中的b,因此,S3的前趨是S1和S2;S4中的語句涉及S3中的c,
因此,S4的前趨是S3,所以畫出前趨圖如圖2-6所示。
3.為什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征?
答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行
的程序之間,形成了相互制約的關(guān)系,從而產(chǎn)生間斷性特征。簡(jiǎn)而言之,相互制約將導(dǎo)致并發(fā)程序具有“執(zhí)行-
暫停-執(zhí)行”這種間斷性的活動(dòng)規(guī)律。
4.程序并發(fā)執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?
答:程序在并發(fā)執(zhí)行時(shí),是多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)將由多個(gè)程序來改變,致
使程序的運(yùn)行失去了封閉性。這樣,某程序在執(zhí)行時(shí),必然會(huì)受到其他程序的影響,而這也將導(dǎo)致其再失去可再
現(xiàn)性,亦即程序經(jīng)過多次執(zhí)行后,雖然它們執(zhí)行時(shí)的環(huán)境和初始條件相同,但得到的結(jié)果卻各不相同。
5.在操作系統(tǒng)中為什么要引入進(jìn)程的概念?它會(huì)產(chǎn)生什么樣的影響?
答:(1)引入進(jìn)程的原因
在多道程序環(huán)境下,程序的執(zhí)行屬于并發(fā)執(zhí)行,此時(shí)它們將失去其封閉性,并具有間斷性及不可再現(xiàn)性的特
征。這決定了通常的程序是不能參與并發(fā)執(zhí)行的,因?yàn)槌绦驁?zhí)行的結(jié)果是不可再現(xiàn)的。這樣,程序的運(yùn)行也就失
去了意義。為使程序能并發(fā)執(zhí)行,且為了對(duì)并發(fā)執(zhí)行的程序加以描述和控制,人們引入了“進(jìn)程”的概念。
(2)引入進(jìn)程的影響
進(jìn)程的引入使程序的并發(fā)執(zhí)行得以實(shí)現(xiàn)。
6.試從動(dòng)態(tài)性、并發(fā)性和獨(dú)立性上比較進(jìn)程和程序。
答:(1)動(dòng)態(tài)性
進(jìn)程的實(shí)質(zhì)是進(jìn)程實(shí)體的一次執(zhí)行過程,因此,動(dòng)態(tài)性是進(jìn)程的最基本的特征。動(dòng)態(tài)性還表現(xiàn)在:“它由創(chuàng)
建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡”。可見,進(jìn)程實(shí)體有一定的生命期,而程序則只是一組有序指令的集
合,并存放于某種介質(zhì)上,其本身并不具有運(yùn)動(dòng)的含義,因而是靜態(tài)的。
(2)并發(fā)性
這是指多個(gè)進(jìn)程實(shí)體共同存于內(nèi)存中,且能在一段時(shí)間內(nèi)同時(shí)運(yùn)行。并發(fā)性是進(jìn)程的重要特征,同時(shí)也成為
OS的重要特征。引入進(jìn)程的目的也正是為了使其進(jìn)程實(shí)體能和其他進(jìn)程實(shí)體并發(fā)執(zhí)行;而程序(沒有建立PCB)
是不能并發(fā)執(zhí)行的。
(3)獨(dú)立性
在傳統(tǒng)的OS中,進(jìn)程是一個(gè)能獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位,具有高度的獨(dú)立性。
但凡未建立PCB的程序都不能作為一個(gè)獨(dú)立的單位參與運(yùn)行。
7.試說明PCB的作用具體表現(xiàn)在哪幾個(gè)方面,為什么說PCB是進(jìn)程存在的唯一標(biāo)識(shí)?
答:(1)PCB作用的具體表現(xiàn)
①進(jìn)程控制塊PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。
②PCB中記錄了操作系統(tǒng)所需的、用于描述進(jìn)程的當(dāng)前情況以及控制進(jìn)程運(yùn)行的全部信息。
③進(jìn)程控制塊使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,
一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程。
(2)PCB是進(jìn)程存在的唯一標(biāo)識(shí)的原因
在進(jìn)程的整個(gè)生命期中,系統(tǒng)總是通過PCB對(duì)進(jìn)程進(jìn)行控制,即系統(tǒng)是根據(jù)進(jìn)程的PCB而非其他感知到該
進(jìn)程的存在的。所以說,PCB是進(jìn)程存在的唯一標(biāo)識(shí)。
8.PCB提供了進(jìn)程管理和進(jìn)程調(diào)度所需要的哪些信息?
答:在進(jìn)程控制塊中,主要包括下述四個(gè)方面的信息:
(1)進(jìn)程標(biāo)識(shí)符:進(jìn)程標(biāo)識(shí)符用于唯一標(biāo)識(shí)一個(gè)進(jìn)程。
(2)處理機(jī)狀態(tài);處理機(jī)狀態(tài)信息也稱為處理機(jī)的上下文,主要由處理機(jī)的各種寄存器中的內(nèi)容組成。
(3)進(jìn)程調(diào)度信息:進(jìn)程調(diào)度信息包括進(jìn)程狀態(tài)、進(jìn)程優(yōu)先級(jí)、進(jìn)程調(diào)度所需的其他信息、事件四個(gè)方面。
(4)進(jìn)程控制信息:進(jìn)程控制信息包括程序和數(shù)據(jù)的地址、進(jìn)程同步和通信機(jī)制、資源清單和鏈接指針。
9.進(jìn)程控制塊的組織方式有哪幾種?
答:(1)線性方式:將系統(tǒng)中所有的PCB都組織在一張線性表中,將該表的首址存放在內(nèi)存的一個(gè)專用區(qū)
域中。
(2)鏈接方式:把具有相同狀態(tài)進(jìn)程的PCB分別通過PCB中的鏈接字鏈接成一個(gè)隊(duì)列。
(3)索引方式:系統(tǒng)根據(jù)所有進(jìn)程狀態(tài)的不同,建立幾張索引表,在每個(gè)索引表的表目中,記錄具有相應(yīng)
狀態(tài)的某個(gè)PCB在PCB表中的地址。
10.何謂操作系統(tǒng)內(nèi)核??jī)?nèi)核的主要功能是什么?
答:(1)操作系統(tǒng)內(nèi)核的定義
操作系統(tǒng)內(nèi)核是指大多數(shù)操作系統(tǒng)的核心部分。它由操作系統(tǒng)中用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的
那些部分組成。操作系統(tǒng)內(nèi)核通常運(yùn)行進(jìn)程,并提供進(jìn)程間的通信。
(2)操作系統(tǒng)內(nèi)核的主要功能
①支撐功能
該功能是提供給OS其他眾多模塊所需要的一些基本功能,以便支撐這些模塊工作。其中三種最基本的支撐
功能是:中斷處理、時(shí)鐘管理和原語操作。
a.中斷處理
中斷處理是內(nèi)核最基本的功能,是整個(gè)操作系統(tǒng)賴以活動(dòng)的基礎(chǔ),OS中許多重要的活動(dòng)。
b.時(shí)鐘管理
時(shí)鐘管理是內(nèi)核的一項(xiàng)基本功能,在OS中的許多活動(dòng)都需要得到它的支撐。
c.原語操作
原語(Primitive),就是由若干條指令組成的,用于完成一定功能的一個(gè)過程,是一個(gè)不可分割的基本單位,
在內(nèi)核中可能有許多原語。
②資源管理功能
a.進(jìn)程管理
在進(jìn)程管理中,或者由于各個(gè)功能模塊的運(yùn)行頻率較高,通常都將它們放在內(nèi)核中,以提高OS的性能。
b.存儲(chǔ)器管理
存儲(chǔ)器管理軟件的運(yùn)行頻率也比較高,通常也將它們放在內(nèi)核中,以保證存儲(chǔ)器管理具有較高的運(yùn)行速度。
c.設(shè)備管理
由于設(shè)備管理與硬件(設(shè)備)緊密相關(guān),因此其中很大部分也都設(shè)置在內(nèi)核中。
11.試說明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。
答:進(jìn)程的三種基本狀態(tài)是就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài),這三種基本狀態(tài)之間轉(zhuǎn)換的典型原因如圖2-7
所示,具體如下:
(1)就緒狀態(tài)-執(zhí)行狀態(tài)進(jìn)程通過調(diào)度分配到CPU資源;
(2)執(zhí)行狀態(tài)-就緒狀態(tài)時(shí)間片用完;
(3)執(zhí)行狀態(tài)-阻塞狀態(tài)I/O設(shè)備請(qǐng)求;
(4)阻塞狀態(tài)-就緒狀態(tài)I/O設(shè)備請(qǐng)求完成。
圖2-7進(jìn)程狀態(tài)轉(zhuǎn)換圖
12.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?
答:(1)引入掛起狀態(tài)的原因
①終端用戶的請(qǐng)求:當(dāng)終端用戶在自己的程序運(yùn)行期間發(fā)現(xiàn)有可疑問題時(shí),希望暫時(shí)使自己的程序靜止下來。
②父進(jìn)程請(qǐng)求:父進(jìn)程希望掛起自己的某個(gè)子進(jìn)程,以便考查和修改該子進(jìn)程,或者協(xié)調(diào)各子進(jìn)程間的活動(dòng)。
③負(fù)荷調(diào)節(jié)的需要:當(dāng)實(shí)時(shí)系統(tǒng)中的工作負(fù)荷較重,已可能影響到對(duì)實(shí)時(shí)任務(wù)的控制時(shí),可由系統(tǒng)把一些不
重要的進(jìn)程掛起,以保證系統(tǒng)能正常運(yùn)行。
④操作系統(tǒng)的需要:操作系統(tǒng)有時(shí)希望掛起某些進(jìn)程,以便檢查運(yùn)行中的資源使用情況或進(jìn)行記賬。
(2)掛起狀態(tài)的性質(zhì)
①當(dāng)進(jìn)程處于未被掛起的就緒狀態(tài)時(shí),稱此為活動(dòng)就緒狀態(tài),表示為Readya。當(dāng)用掛起原語Suspend將該
進(jìn)程掛起后,該進(jìn)程便轉(zhuǎn)變?yōu)殪o止就緒狀態(tài),表示為Readys,處于Readys狀態(tài)的進(jìn)程不再被調(diào)度執(zhí)行。
②當(dāng)進(jìn)程處于未被掛起的阻塞狀態(tài)時(shí),稱它是處于活動(dòng)阻塞狀態(tài),表示為Blockeda?當(dāng)用Suspend原語將它
掛起后,進(jìn)程便轉(zhuǎn)變?yōu)殪o止阻塞狀態(tài),表示為Blockeds。處于該狀態(tài)的進(jìn)程在其所期待的事件出現(xiàn)后,將從靜止
阻塞變?yōu)殪o止就緒。
13.在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些?
答:處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種寄存器中的內(nèi)容組成的。處理機(jī)在運(yùn)行時(shí),許多信息都放在寄存
器中。當(dāng)處理機(jī)被中斷時(shí),所有這些信息都必須保存在PCB中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 立方體紋理映射課程設(shè)計(jì)
- 嬰兒用沐浴椅相關(guān)項(xiàng)目建議書
- 護(hù)士模擬急救課程設(shè)計(jì)
- 桌面籃球游戲器具項(xiàng)目可行性實(shí)施報(bào)告
- 帆布制裝木柴用手提袋相關(guān)項(xiàng)目實(shí)施方案
- 汽車內(nèi)飾文案課程設(shè)計(jì)
- 數(shù)字語音處理 課程設(shè)計(jì)
- 篩選機(jī)課程設(shè)計(jì)
- 機(jī)電設(shè)備水管、風(fēng)管、電管、橋架穿越變形縫處理圖示
- 新員工入職安全培訓(xùn)試題帶答案(奪分金卷)
- 肝衰竭護(hù)理查房-課件
- 貴州貴陽觀山湖富民村鎮(zhèn)銀行招聘考試真題2022
- 2023年遼寧省鞍山市成考專升本高等數(shù)學(xué)二自考真題(含答案帶解析)
- 《民航客票銷售實(shí)務(wù)》項(xiàng)目二-課件
- DB22-T 5131-2022 預(yù)拌盾構(gòu)砂漿應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 種蛋購(gòu)銷合同
- 中國(guó)土地制度知到章節(jié)答案智慧樹2023年浙江大學(xué)
- 學(xué)前兒童數(shù)學(xué)教育PPT全套教學(xué)課件
- 【教學(xué)】《打麥號(hào)子》
- 經(jīng)典歌曲鳳凰傳奇
- 核磁共振醫(yī)療設(shè)備的安裝或搬遷的技術(shù)思路
評(píng)論
0/150
提交評(píng)論