考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-1-139_第1頁(yè)
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-1-139_第2頁(yè)
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-1-139_第3頁(yè)
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-1-139_第4頁(yè)
考研學(xué)習(xí)筆記 《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解-1-139_第5頁(yè)
已閱讀5頁(yè),還剩250頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

習(xí)專業(yè)課程的參考教材,這些教材甚至被很多考試(特別是碩士和博士入學(xué)考試)和培訓(xùn)項(xiàng)湯子瀛主編的《計(jì)算機(jī)操作系統(tǒng)》(第4版)(西安電子科技大學(xué)出版社)被列為普通高等(包括科研機(jī)構(gòu))指定為計(jì)算機(jī)專業(yè)考研參考書目。作為該教材的學(xué)習(xí)輔導(dǎo)書,本書具有以1.整理名校筆記,濃縮內(nèi)容精華。在參考了國(guó)內(nèi)名校名師講授湯子瀛主編的《計(jì)算機(jī)操作2.解析課后習(xí)題,提供詳盡答案。本書以湯子瀛主編的《計(jì)算機(jī)操作系統(tǒng)》(第4版)為基本依據(jù),參考了該教材的配套資料和其他計(jì)算機(jī)專業(yè)教材的相關(guān)知識(shí)對(duì)該教材的課(章)3.精選名校真題,囊括所有考點(diǎn)。本書所選考研真題基本來(lái)自指定湯子瀛主編的《計(jì)算機(jī)操作系統(tǒng)》為考研參考書目的院校,并對(duì)每道題(包括概念題)都盡可能給出詳細(xì)的參考答4.補(bǔ)充難點(diǎn)習(xí)題,強(qiáng)化相關(guān)知識(shí)。為了進(jìn)一步鞏固和強(qiáng)化各章知識(shí)難點(diǎn)的復(fù)習(xí),每章參考本書嚴(yán)格按照教材內(nèi)容進(jìn)行編寫,共分12章,每章由三部分組成:第一部分為復(fù)習(xí)筆記,總結(jié)本章的重難點(diǎn)內(nèi)容;第二部分是課(章)后習(xí)題詳解,對(duì)第4版的所有習(xí)題都進(jìn)行了詳|計(jì)算機(jī)類()提供全國(guó)各高校計(jì)算機(jī)類專業(yè)考研考博輔導(dǎo)班【一對(duì)一輔導(dǎo)(面授/網(wǎng)授)、網(wǎng)授精講班等】、多媒體e書、多媒體題庫(kù)(免費(fèi)下載,免費(fèi)升級(jí))、全套資料(歷年真題及答案、筆記講義等)、計(jì)算機(jī)類國(guó)內(nèi)外經(jīng)典教材名師講堂、考研教輔1.互動(dòng)學(xué)習(xí):搖一搖,找學(xué)友,交友學(xué)習(xí)兩不誤頻、語(yǔ)音等形式),交友學(xué)習(xí)兩不誤;學(xué)習(xí)圈內(nèi)有學(xué)霸解答本書學(xué)習(xí)中的問(wèn)題,并配有專職2.720度立體旋轉(zhuǎn):好用好玩的全新學(xué)習(xí)體驗(yàn)3.手機(jī)掃碼即可閱讀,精彩內(nèi)容,輕松分享掃碼即可在手機(jī)閱讀,隨處隨學(xué)??梢圆挥每?.質(zhì)量保證:每本e書都經(jīng)過(guò)圖書編輯隊(duì)伍多次反復(fù)修改,年年升級(jí)5.免費(fèi)升級(jí):更新并完善內(nèi)容,終身免費(fèi)升級(jí)6.功能強(qiáng)大:記錄筆記、答案遮擋等十大功能(1)知識(shí)點(diǎn)串聯(lián)列舉相同知識(shí)點(diǎn)內(nèi)容列表呈現(xiàn),便于讀者記憶和復(fù)習(xí),舉一反三,觸(2)劃線添加筆記——使用顏色筆工具,劃一條線,寫筆記,提交糾錯(cuò)?!惊?dú)家推出】(3)答案遮擋——先看題后看答案,學(xué)習(xí)效果好?!惊?dú)家推出】(4)全文檢索——輸入關(guān)鍵詞,本書相關(guān)內(nèi)容一覽無(wú)余?!惊?dú)家推出】7.多端并用:電腦手機(jī)平板等多平臺(tái)同步使用本書一次購(gòu)買,多端并用,可以在PC端(在線和下載)、手機(jī)(安卓和蘋果)、平板(安卓和蘋果)等多平臺(tái)同步使用。同一本書,使用不同終端登錄,可實(shí)現(xiàn)云同步,即更換不同()是一家為全國(guó)各類考試和專業(yè)課學(xué)習(xí)提供輔導(dǎo)方案【保過(guò)班、網(wǎng)授班、3D電子書、3D題庫(kù)】的綜合性學(xué)習(xí)型視頻學(xué)習(xí)網(wǎng)站,擁有近100種考試(含418個(gè)考試科目)、194種經(jīng)典教材(含英語(yǔ)、經(jīng)濟(jì)、管理、證券、金融等共16大類),合計(jì)近萬(wàn)小時(shí)的面授班、網(wǎng)授如您在購(gòu)買、使用中有任何疑問(wèn),請(qǐng)及時(shí)聯(lián)系我們,我們將竭誠(chéng)為您服務(wù)!詳情訪問(wèn):(計(jì)算機(jī)類)第1章操作系統(tǒng)引論1.1復(fù)習(xí)筆記第2章進(jìn)程的描述與控制第3章處理機(jī)調(diào)度與死鎖(1)方便性第4章存儲(chǔ)器管理第5章虛擬存儲(chǔ)器第6章輸入輸出系統(tǒng)第7章文件管理第8章磁盤存儲(chǔ)器的管理第9章操作系統(tǒng)接口第10章多處理機(jī)操作系統(tǒng)第11章多媒體操作系統(tǒng)第12章保護(hù)和安全第1章操作系統(tǒng)引論1.操作系統(tǒng)的目標(biāo)配置操作系統(tǒng)(OS)后,系統(tǒng)可以使用編譯命令將用戶采用高級(jí)語(yǔ)言書寫的程序翻譯成機(jī)(2)有效性早期未配置OS的計(jì)算機(jī)系統(tǒng),各種資源無(wú)法得到充分利用,配置OS后,能有效分配各種OS可以通過(guò)合理地組織計(jì)算機(jī)的工作流程,加速程序的運(yùn)行,縮短程序的運(yùn)行周期,從而(3)可擴(kuò)充性O(shè)S必須具有很好的可擴(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)。開放性2.操作系統(tǒng)的作用操作系統(tǒng)(OperatingSystem,OS)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對(duì)硬件系統(tǒng)的(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過(guò)OS來(lái)使用計(jì)算機(jī)系統(tǒng)。圖1-1是OS作為接圖1-1OS作為接口的示意圖③管理I/O設(shè)備,負(fù)責(zé)I/O設(shè)備的分配與操縱;(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象①在裸機(jī)上覆蓋上一層I/O設(shè)備管理軟件,如圖1-2所示,由它來(lái)實(shí)現(xiàn)對(duì)I/O設(shè)備操作的細(xì)節(jié),并向上將I/O設(shè)備抽象為一組數(shù)據(jù)結(jié)構(gòu)以及一組I/O操作命令。圖1-2I/O軟件隱藏了I/O操作實(shí)現(xiàn)的細(xì)節(jié)②在第一層軟件(I/O管理軟件)上再覆蓋一層用于文件管理的軟件,由它來(lái)實(shí)現(xiàn)對(duì)文件OS是鋪設(shè)在計(jì)算機(jī)硬件上的多層軟件的集合,它們不僅增強(qiáng)了系統(tǒng)的功能,還隱藏了對(duì)硬3.推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?1)不斷提高計(jì)算機(jī)資源的利用率(2)方便用戶續(xù)推動(dòng)OS發(fā)展的主要因素。(3)器件的不斷更新?lián)Q代(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è)重要原因。1.未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)從1945年誕生的第一臺(tái)計(jì)算機(jī),到50年代中期的計(jì)算機(jī),都屬于第一代計(jì)算機(jī),這時(shí)還未出現(xiàn)OS,對(duì)計(jì)算機(jī)的全部操作都是采用以下兩種方式(1)人工操作方式早期的操作方式是由程序員將事先已穿孔的紙帶(或卡片),裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動(dòng)它們將紙帶(或卡片)上的程序和數(shù)據(jù)輸入計(jì)算機(jī),然后啟動(dòng)計(jì)算機(jī)運(yùn)行。②缺點(diǎn)人工操作方式僅當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果后,才允許下一個(gè)用戶上級(jí),它具有以下兩方面的缺點(diǎn):a.用戶獨(dú)占全機(jī),即一臺(tái)計(jì)算機(jī)的全部資源由上機(jī)用戶所獨(dú)占。b.CPU等待人工操作。當(dāng)用戶進(jìn)行裝帶(卡)、卸帶(卡)等人工操作時(shí),CPU及內(nèi)存等資源是空閑的。③人機(jī)矛盾人機(jī)矛盾指的是人工操作方式嚴(yán)重降低了計(jì)算機(jī)資源的利用率。(2)脫機(jī)輸入/輸出(OfflineI/O)方式①概述為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)I/O技術(shù)。在脫機(jī)I/O過(guò)程中,程序和數(shù)據(jù)的輸入和輸出都是在外圍機(jī)的控制下,即脫離主機(jī)的情況下完成的,圖1-3為脫機(jī)I/O示意圖。②優(yōu)點(diǎn)a.減少了CPU的空閑時(shí)間由于脫機(jī)I/O方式中,程序和數(shù)據(jù)的輸入輸出過(guò)程都是在脫機(jī)情況下由外圍機(jī)完成的,并不占用主機(jī)時(shí)間,從而有效地減少了CPU的空閑時(shí)間。當(dāng)CPU在運(yùn)行中需要輸入數(shù)據(jù)時(shí),是直接從高速的磁帶上將數(shù)據(jù)輸入到內(nèi)存的,極大地提2.單道批處理系統(tǒng)(1)處理過(guò)程①首先由監(jiān)督程序?qū)⒋艓系牡谝粋€(gè)作業(yè)裝入內(nèi)存,并把運(yùn)行控制權(quán)交給該作業(yè);②當(dāng)該作業(yè)處理完成時(shí),又把控制權(quán)交還給監(jiān)督程序,再由監(jiān)督程序把磁帶上的第二個(gè)作業(yè)③計(jì)算機(jī)系統(tǒng)就這樣自動(dòng)地一個(gè)作業(yè)緊接一個(gè)作業(yè)地進(jìn)行處理,直至磁帶上的所有作業(yè)全部完成。單道批處理系統(tǒng)的處理流程如圖1-4所示。這種單道批處理系統(tǒng)仍然不能很好地利用系統(tǒng)資源,故現(xiàn)已很少使用。圖1-4單道批處理系統(tǒng)的處理流程(2)單道批處理系統(tǒng)的缺點(diǎn)單道批處理系統(tǒng)最主要的缺點(diǎn)是,系統(tǒng)中的資源得不到充分的利用。這是因?yàn)樵趦?nèi)存中僅有一道程序,每逢該程序在運(yùn)行中發(fā)出I/O請(qǐng)求后,CPU便處于等待狀態(tài),必須在其I/O完成后才繼續(xù)運(yùn)行。又因I/O設(shè)備的低速性,更使CPU的利用率顯著降低。圖1-5顯示了單道程序的運(yùn)行情況,從圖可以看出:在t?~t3、t?~t7時(shí)間間隔內(nèi)CPU空閑。圖1-5單道程序的運(yùn)行情況3.多道批處理系統(tǒng)(MultiprogrammedBatchProcessingSystem)(1)基本概念由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享CPU和系統(tǒng)中的各種資源。圖1-6顯示了多道程序的運(yùn)行情況。①人機(jī)交互圖1-6多道程序的運(yùn)行情況(2)多道批處理系統(tǒng)的優(yōu)點(diǎn)引入多道批處理能使多道程序交替運(yùn)行,以保持CPU處于忙碌狀態(tài);在內(nèi)存中裝入多道程b.僅當(dāng)作業(yè)完成時(shí)或運(yùn)行不下去時(shí)才進(jìn)行切換,系統(tǒng)開銷小。(3)多道批處理系統(tǒng)的缺點(diǎn)(4)多道批處理系統(tǒng)需要解決的問(wèn)題系統(tǒng)應(yīng)采取適當(dāng)?shù)牟呗詠?lái)分配系統(tǒng)中的I/O設(shè)備,以達(dá)到既能方便用戶對(duì)設(shè)備的使用,又系統(tǒng)中存在著各種作業(yè)(應(yīng)用程序),系統(tǒng)應(yīng)能對(duì)系統(tǒng)中所有的作業(yè)進(jìn)行合理的組織,以滿4.分時(shí)系統(tǒng)(TimeSharingSystem)(1)分時(shí)系統(tǒng)的引入在20世紀(jì)60年代,計(jì)算機(jī)還十分昂貴,一臺(tái)計(jì)算機(jī)要同時(shí)供很多用戶共享使用。顯然,用(2)分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問(wèn)題來(lái)暫存用戶鍵入的命令(或數(shù)據(jù))。a.作業(yè)直接進(jìn)入內(nèi)存b.采用輪轉(zhuǎn)運(yùn)行方式(3)分時(shí)系統(tǒng)的特征時(shí)間確定的,通常僅為1~3秒鐘。5.實(shí)時(shí)系統(tǒng)(RealTimeSystem)(1)實(shí)時(shí)系統(tǒng)的類型①工業(yè)(武器)控制系統(tǒng)中,形成一個(gè)多媒體文件。如在用DVD播放器所播放的數(shù)字電影中就包含了音頻、視頻和配置嵌入式OS,它同樣需要具有實(shí)時(shí)控制或處理的功能。(2)實(shí)時(shí)任務(wù)的類型a.周期性實(shí)時(shí)任務(wù)b.非周期性實(shí)時(shí)任務(wù)并無(wú)明顯的周期性,但都必a.硬實(shí)時(shí)任務(wù)(HardReal-timeTask,HRT)b.軟實(shí)時(shí)任務(wù)(SoftReal-timeTask,SRT)(3)實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較①多路性②獨(dú)立性配置在微型機(jī)上的操作系統(tǒng)稱為微機(jī)操作系統(tǒng),最早誕生的微機(jī)操作系統(tǒng)是配置在8位微機(jī)上的CP/M,微機(jī)操作系統(tǒng)可按微機(jī)的字長(zhǎng)分為8位微機(jī)操作系統(tǒng)、16位微機(jī)操作系統(tǒng)、32為微機(jī)操作系統(tǒng)和64位微機(jī)操作系統(tǒng),也可按運(yùn)行方式分為以下幾類:(1)單用戶單任務(wù)操作系統(tǒng)行,這是最簡(jiǎn)單的微機(jī)操作系統(tǒng),主要配置在8位和16位微機(jī)上,最有代表性的單用戶單任務(wù)微機(jī)操作系統(tǒng)是CP/M和M(2)單用戶多任務(wù)操作系統(tǒng)(3)多用戶多任務(wù)操作系統(tǒng)正是系統(tǒng)中的程序能并發(fā)執(zhí)行這一特征,才使得OS能有效地提(1)并行與并發(fā)(2)引入進(jìn)程2.共享(Sharing)共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用,相應(yīng)地,把這種(1)互斥共享方式(2)同時(shí)訪問(wèn)方式3.虛擬(Virtual)(1)時(shí)分復(fù)用技術(shù)統(tǒng)中只有一臺(tái)處理機(jī),但通過(guò)分時(shí)復(fù)用的方法,能實(shí)現(xiàn)同時(shí)(宏觀上)為多個(gè)用戶服務(wù),使我們還可以利用虛擬設(shè)備技術(shù),也通過(guò)分時(shí)復(fù)用的方法,將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯上的I/O設(shè)備,并允許每個(gè)用戶占用一臺(tái)邏輯上的I/0設(shè)備。這樣便可使原來(lái)僅允許在一段時(shí)間內(nèi)由一個(gè)用戶訪問(wèn)的設(shè)備(即臨界資源),變?yōu)樵试S多(2)空分復(fù)用技術(shù)4.異步(Asynchronism)以人們不可預(yù)知的速度向前推進(jìn),此即進(jìn)程的異步性(As在這四個(gè)基本特征中,并發(fā)和共享是多用戶(多任務(wù))OS的兩個(gè)最基本的特征。它們又是程對(duì)共享資源的訪問(wèn),也必然會(huì)影響到諸進(jìn)程問(wèn)并發(fā)1.處理機(jī)管理功能(1)進(jìn)程控制進(jìn)程控制的主要功能也就是為作業(yè)創(chuàng)建進(jìn)程、撤消(終止)已結(jié)束的進(jìn)程,以及控制進(jìn)程在(2)進(jìn)程同步是為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)。常用的協(xié)調(diào)方式有兩種:(3)進(jìn)程通信(4)調(diào)度2.存儲(chǔ)器管理功能(1)內(nèi)存分配b.提高存儲(chǔ)器的利用率,盡量減少不可用的內(nèi)存空間(碎片)。c.允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長(zhǎng)的需要。a.靜態(tài)分配方式b.動(dòng)態(tài)分配方式(2)內(nèi)存保護(hù)b.絕不允許用戶程序訪問(wèn)操作系統(tǒng)的程序和數(shù)據(jù),也不允許用戶程序轉(zhuǎn)移到非共享的其它②內(nèi)存保護(hù)的目的(3)地址映射(4)內(nèi)存擴(kuò)充①內(nèi)存擴(kuò)充的定義②內(nèi)存擴(kuò)充實(shí)現(xiàn)的功能a.請(qǐng)求調(diào)入功能若發(fā)現(xiàn)要繼續(xù)運(yùn)行時(shí)所需的程序和數(shù)據(jù)尚未裝入內(nèi)存,可向OS發(fā)出請(qǐng)求,由OS從磁盤中b.置換功能3.設(shè)備管理功能并完成指定的I/O操作以及提高CPU和I/O設(shè)備的利用率,提高I/O速度,方便用戶使用I/O設(shè)備。為了實(shí)現(xiàn)上述任務(wù),設(shè)備管理應(yīng)具有的功能有緩沖管理、設(shè)備分配、設(shè)備(1)緩沖管理如果在I/O設(shè)備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設(shè)備速度不匹配的矛(2)設(shè)備分配設(shè)備分配的基本任務(wù)是根據(jù)用戶進(jìn)程的I/O請(qǐng)求、系統(tǒng)現(xiàn)有資源情況以及按照某種設(shè)備分(3)設(shè)備處理即由CPU向設(shè)備控制器發(fā)出I/0命令,要求它完成指定(1)文件存儲(chǔ)空間的管理(2)目錄管理(3)文件的讀/寫管理和保護(hù)文件讀,寫指針,對(duì)文件進(jìn)行讀,寫。一旦讀/寫完成,便修改讀,寫指針,為下一次讀,②文件保護(hù)a.防止未經(jīng)核準(zhǔn)的用戶存取文件;b.防止冒名頂替存取文件;5.操作系統(tǒng)與用戶之間的接口(1)用戶接口這是為批處理作業(yè)的用戶提供的。用戶用作業(yè)控制語(yǔ)言JCL把需要對(duì)作業(yè)進(jìn)行的控制和干操作界面,用非常容易識(shí)別的各種圖標(biāo)(icon)來(lái)將系統(tǒng)的各項(xiàng)功能、各種應(yīng)直觀、逼真地表示出來(lái)。用戶可通過(guò)菜單(和對(duì)話框)用移動(dòng)鼠標(biāo)選擇菜單項(xiàng)的方式取代命(2)程序接口一途徑。它是由一組系統(tǒng)調(diào)用組成的,每一個(gè)系統(tǒng)調(diào)用每當(dāng)應(yīng)用程序要求OS提供某種服務(wù)(功能)時(shí),便調(diào)用具有相應(yīng)功能的系統(tǒng)調(diào)用(子程序)。6.現(xiàn)代操作系統(tǒng)的新功能(1)系統(tǒng)安全這是一個(gè)用來(lái)確認(rèn)被認(rèn)證的對(duì)象是否名副其實(shí)的過(guò)程,以確定對(duì)象的真實(shí)性,防止入侵者進(jìn)行假冒和篡改等。在被認(rèn)證對(duì)象與要驗(yàn)證的那些參數(shù)之間應(yīng)存在嚴(yán)格的對(duì)應(yīng)關(guān)系。②密碼技術(shù)即對(duì)系統(tǒng)中所需存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密,使之成為密文,這樣,攻擊者即使截獲到數(shù)據(jù),也無(wú)法了解到數(shù)據(jù)的內(nèi)容。只有指定的用戶才能對(duì)該數(shù)據(jù)予以解密,了解其內(nèi)容,從而有效地保護(hù)了系統(tǒng)中信息資源的安全性。③訪問(wèn)控制技術(shù)可通過(guò)兩種途徑來(lái)保障系統(tǒng)中資源的安全:a.通過(guò)對(duì)用戶存取權(quán)限的設(shè)置,可以限定用戶只能訪問(wèn)被允許訪問(wèn)的資源,這樣也就限定了用戶對(duì)系統(tǒng)資源的訪問(wèn)范圍;b.訪問(wèn)控制還可以通過(guò)對(duì)文件屬性的設(shè)置來(lái)保障指定文件的安全性,如設(shè)置文件屬性為只讀時(shí),該文件就只能被讀而不能被修改等。④反病毒技術(shù)對(duì)于病毒的威脅,最好的解決方法是預(yù)防,不讓病毒侵入系統(tǒng),但要完全做到這一點(diǎn)是十分困難的,因此還需要非常有效的反病毒軟件來(lái)檢測(cè)病毒。(2)網(wǎng)絡(luò)的功能和服務(wù)①網(wǎng)絡(luò)通信用于在源主機(jī)和目標(biāo)主機(jī)之間,實(shí)現(xiàn)無(wú)差錯(cuò)的數(shù)據(jù)傳輸,如建立和拆除通信鏈路、傳輸控制、差錯(cuò)控制和流量控制等。②資源管理即對(duì)網(wǎng)絡(luò)中的共享資源(硬件和軟件)實(shí)施有效的管理,協(xié)調(diào)諸用戶對(duì)共享資源的使用,保證數(shù)據(jù)的安全性和一致性。典型的共享硬件資源有硬盤、打印機(jī)等,軟件資源有文件和數(shù)據(jù)。③應(yīng)用互操作即在一個(gè)由若干個(gè)不同網(wǎng)絡(luò)互連所構(gòu)成的互連網(wǎng)絡(luò)中,必須提供應(yīng)一用互操作功能,以實(shí)現(xiàn)信息的互通性和信息的互用性。信息的互通性是指在不同網(wǎng)絡(luò)中的用戶之間,能實(shí)現(xiàn)信息的互通。信息的互用性是表示用戶可以訪問(wèn)不同網(wǎng)絡(luò)中的文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)中的信息。(3)支持多媒體一個(gè)支持多媒體的操作系統(tǒng)必須能像一般OS處理文字、圖形信息那樣去處理音頻和視頻信息等多媒體信息,為此,現(xiàn)代操作系統(tǒng)增加了多媒體的處理功能:①接納控制功能在多媒體系統(tǒng)中,為了保證同時(shí)運(yùn)行多個(gè)實(shí)時(shí)進(jìn)程的截止時(shí)間,需要對(duì)在系統(tǒng)中運(yùn)行的軟實(shí)時(shí)任務(wù),即SRT任務(wù)的數(shù)目、駐留在內(nèi)存中的任務(wù)數(shù)目加以限制,為此設(shè)置了相應(yīng)的接納控制功能,如媒體服務(wù)器的接納控制、存儲(chǔ)器接納控制和進(jìn)程接納控制。②實(shí)時(shí)調(diào)度多媒體系統(tǒng)中的每一個(gè)任務(wù),往往都是一些要求較嚴(yán)格的、周期性的軟實(shí)時(shí)任務(wù)SRT,如為了保證動(dòng)態(tài)圖像的連續(xù)性,圖像更新的周期必須在40ms之內(nèi),因此在SRT調(diào)度時(shí),不僅需要考慮進(jìn)程的調(diào)度策略,還要考慮進(jìn)程調(diào)度的接納度等,相比傳統(tǒng)的OS這就要復(fù)雜得多。③多媒體文件的存儲(chǔ)為了存放多媒體文件,對(duì)OS最重要的要求是能把硬盤上的數(shù)據(jù)快速地傳送到輸出設(shè)備上。因此,對(duì)于在傳統(tǒng)文件系統(tǒng)中數(shù)據(jù)的離散存放方式以及磁盤尋道方式都要加以改進(jìn)。1.傳統(tǒng)操作系統(tǒng)結(jié)構(gòu)一代)、模塊化結(jié)構(gòu)的OS(第二代)和分層式結(jié)構(gòu)的OS(第三代),都統(tǒng)稱為傳統(tǒng)結(jié)構(gòu)的OS,而把微內(nèi)核結(jié)構(gòu)的OS稱為現(xiàn)代結(jié)構(gòu)的OS。(1)無(wú)結(jié)構(gòu)操作系統(tǒng)(2)模塊化結(jié)構(gòu)OS有一定獨(dú)立性和大小的模塊。圖1-7顯示了由模塊、子模塊等組成的模塊化OS結(jié)構(gòu)。圖1-7模塊化結(jié)構(gòu)的操作系統(tǒng)②模塊獨(dú)立性a.內(nèi)聚性,指模塊內(nèi)部各部分間聯(lián)系的緊密程度。內(nèi)聚性越高,模塊的獨(dú)立③模塊接口法(無(wú)序模塊法)的優(yōu)缺點(diǎn)利用模塊一接口法開發(fā)的OS,較之無(wú)結(jié)構(gòu)OS具有以下明顯的優(yōu)點(diǎn):a.在OS設(shè)計(jì)時(shí),對(duì)各模塊間的接口規(guī)定很難滿足b.在OS設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定(決策),每一個(gè)決定必須建立在上一(3)分層式結(jié)構(gòu)OSa易保證系統(tǒng)的正確性b.易擴(kuò)充和易維護(hù)性2.客戶/服務(wù)器模式(Client/ServerModel)(1)客戶/服務(wù)器模式的由來(lái)、組成和類型客戶/服務(wù)器系統(tǒng)主要由客戶機(jī)、服務(wù)器、網(wǎng)絡(luò)系統(tǒng)三部分組成。通常在一個(gè)LAN網(wǎng)絡(luò)上連接有多臺(tái)網(wǎng)絡(luò)工作站(簡(jiǎn)稱客戶機(jī)),每臺(tái)客戶機(jī)都是一個(gè)自主②服務(wù)器中的用戶進(jìn)程與服務(wù)器進(jìn)程就形成了客戶/服務(wù)器關(guān)系。③網(wǎng)絡(luò)系統(tǒng)(2)客戶,服務(wù)器之間的交互(3)客戶/服務(wù)器模式的優(yōu)點(diǎn)C/S模式之所以能成為在分布式系統(tǒng)和網(wǎng)絡(luò)環(huán)境下軟件的一種主要工作模式,是由于該模盡管C/S模式具有分布處理功能,但公司(單位)中的有關(guān)全局的重要信息、機(jī)密資料、C/S模式非常靈活,極易擴(kuò)充。理論上,客戶機(jī)和服務(wù)器的數(shù)量不受限制,其靈活性還表(4)客戶/服務(wù)器模式的缺點(diǎn)3.面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-OrientatedProgramming)技術(shù)簡(jiǎn)介(1)基本概念來(lái)表示系統(tǒng)中的某個(gè)對(duì)象的。對(duì)象中的變量(數(shù)據(jù))稱為屬性,它是對(duì)外隱蔽的,外界不能對(duì)它直接進(jìn)行訪問(wèn),必須通過(guò)該對(duì)象中的一組方法(操作函數(shù))對(duì)它進(jìn)行訪問(wèn)。對(duì)象的示意圖如圖1-8所示。類中所定義的變量在實(shí)例中均有具體的值。類和對(duì)象的關(guān)系如圖1-9所示。圖1-8一個(gè)對(duì)象的示意圖圖1-9類和對(duì)象的關(guān)系類被稱為父類(A)。繼承是父類和子類之間共享變量和方法的機(jī)制,該機(jī)制規(guī)定子類自動(dòng)共變量和方法。繼承關(guān)系見圖1-10所示。圖1-10類的繼承關(guān)系(2)面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)4.微內(nèi)核OS結(jié)構(gòu)(1)基本概念我們可以從下面四個(gè)方面對(duì)微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)進(jìn)行描述。①足夠小的內(nèi)核在微內(nèi)核操作系統(tǒng)中,內(nèi)核是指精心設(shè)計(jì)的、能實(shí)現(xiàn)現(xiàn)代OS最基本核心功能的小型內(nèi)核,微內(nèi)核并非是一個(gè)完整的OS,而只是將操作系統(tǒng)中最基本的部分放入微內(nèi)核,微內(nèi)核通常包含以下幾部分:a.與硬件處理緊密相關(guān)的部分;b.一些較基本的功能;c.客戶和服務(wù)器之間的通信。②基于客戶,服務(wù)器模式由于客戶/服務(wù)器模式具有非常多的優(yōu)點(diǎn),故在單機(jī)微內(nèi)核操作系統(tǒng)中幾乎無(wú)一例外地都采用客戶,服務(wù)器模式,將操作系統(tǒng)中最基本的部分放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的一組服務(wù)器(進(jìn)程)中實(shí)現(xiàn)。圖1-11示出了在單機(jī)環(huán)境下的客戶,服務(wù)器模式。圖1-11在單機(jī)環(huán)境下的客戶/服務(wù)器模式在現(xiàn)在操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)中,經(jīng)常利用“機(jī)制與策略分離”的原理來(lái)構(gòu)造OS結(jié)構(gòu)。機(jī)制,是指實(shí)現(xiàn)某一功能的具體執(zhí)行機(jī)構(gòu)。而策略,則是在機(jī)制的基礎(chǔ)上借助于某些參數(shù)和算法來(lái)實(shí)現(xiàn)該功能的優(yōu)化,或達(dá)到不同的功能目標(biāo)。④采用面向?qū)ο蠹夹g(shù)操作系統(tǒng)是一個(gè)極其復(fù)雜的大型軟件系統(tǒng),我們不僅可以通過(guò)結(jié)構(gòu)設(shè)計(jì)來(lái)分解操作系統(tǒng)的復(fù)雜度,還可以基于面向?qū)ο蠹夹g(shù)中的“抽象”和“隱蔽”原則控制系統(tǒng)的復(fù)雜性,再進(jìn)一步利用展性”等,并提高操作系統(tǒng)的設(shè)計(jì)速度。(2)微內(nèi)核的基本功能①進(jìn)程(線程)管理進(jìn)程(線程)之間的通信功能是微內(nèi)核OS最基本的功能,被頻繁使用,因此,幾乎所有的微內(nèi)核OS都是將進(jìn)程(線程)之間的通信功能放入微內(nèi)核中。②低級(jí)存儲(chǔ)器管理在微內(nèi)核中,只配置最基本的低級(jí)存儲(chǔ)器管理機(jī)制,如用于實(shí)現(xiàn)將用戶空間的邏輯地址變換為內(nèi)存空間的物理地址的頁(yè)表機(jī)制和地址變換機(jī)制,這一部分是依賴于硬件的,因此放入微③中斷和陷入處理(3)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)微內(nèi)核操作系統(tǒng)提供了規(guī)范而精簡(jiǎn)的應(yīng)用程序接口(API),為微內(nèi)核外部的程序編制高質(zhì)③可移植性強(qiáng)在微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)中,所有與特定CPU和I/0設(shè)備硬件有關(guān)的代碼(4)微內(nèi)核操作系統(tǒng)存在的問(wèn)題微內(nèi)核OS存在著潛在的缺點(diǎn)。其中最主要的是,較之早期OS,微內(nèi)核OS的運(yùn)行效率有1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?(1)方便性配置操作系統(tǒng)(OS)后,系統(tǒng)可以使用編譯命令將(2)有效性早期未配置OS的計(jì)算機(jī)系統(tǒng),各種資源無(wú)法得到充分利用,配置OS后,能有效分配各種OS可以通過(guò)合理地組織計(jì)算機(jī)的工作流程,加速程序的運(yùn)行,縮短程序的運(yùn)行周期,從而(3)可擴(kuò)充性O(shè)S必須具有很好的可擴(kuò)充性,才能適應(yīng)計(jì)算機(jī)硬件、體系結(jié)構(gòu)以及應(yīng)用發(fā)展的要求。(4)開放性2.OS的作用可表現(xiàn)在哪幾個(gè)方面?(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的軟件接口OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過(guò)OS來(lái)使用計(jì)算機(jī)系統(tǒng);在計(jì)算機(jī)系統(tǒng)中,通常都包含硬件和軟件資源,歸納起來(lái)可將資源分為4類:處理器、存儲(chǔ)器、I/O設(shè)備以及信息(數(shù)據(jù)和程序)。相應(yīng)地,OS的主要功能也正是針對(duì)這4類資源進(jìn)行有效的管理。為了管理好這些共享資源(包括硬件和信息)的使用,操作系統(tǒng)必須記錄下各(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象它向用戶(進(jìn)程)提供了一個(gè)對(duì)硬件操作的抽象模型,用戶可利用抽象模型提供的接口使用3.為什么說(shuō)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?(1)在裸機(jī)上覆蓋上一層I/O設(shè)備管理軟件,由它來(lái)實(shí)現(xiàn)對(duì)I/O設(shè)備操作的細(xì)節(jié),并向上提供一組I/O命令,用戶可利用它來(lái)進(jìn)行數(shù)據(jù)輸入或輸出,而無(wú)需關(guān)心I/O是如何實(shí)現(xiàn)的。(2)在第一層次的抽象上再覆蓋上一層用于文件的管理軟件,同樣由它來(lái)實(shí)現(xiàn)文件操作的4.試說(shuō)明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁础_@就是OS最初發(fā)展的推動(dòng)力。在此推動(dòng)力的5.何謂脫機(jī)I/O和聯(lián)機(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)拇艓袭?dāng)CPU需要輸出時(shí),可由CPU直接高速地把數(shù)據(jù)從(2)聯(lián)機(jī)I/O6.試說(shuō)明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?答:(1)實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題(2)解決方案入的命令(或數(shù)據(jù))。8.為什么要引入實(shí)時(shí)OS?9.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說(shuō)明。(1)硬實(shí)時(shí)任務(wù)及其舉例硬實(shí)時(shí)任務(wù)(Hardreal-timeTask)是系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難(2)軟實(shí)時(shí)任務(wù)及其舉例軟實(shí)時(shí)任務(wù)(Softreal-timeTask)是它也聯(lián)系著一個(gè)截止時(shí)間,但并不嚴(yán)格,若偶爾錯(cuò)過(guò)了10.試從交互性、及時(shí)性以及可靠性方面將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。(2)及時(shí)性一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微秒。(3)可靠性(1)并發(fā)性并發(fā)性(Concurrence),是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。(2)共爭(zhēng)性共享(Sharing),是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用,(3)虛擬性(4)異步性12.在多道程序技術(shù)的OS環(huán)境下的資源共享與一般情況下的資源共享有何不同?對(duì)獨(dú)占資OS環(huán)境下的資源共享或稱為資源復(fù)用,是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(2)獨(dú)占資源應(yīng)采取的共享方式13.什么是時(shí)分復(fù)用技術(shù)?舉例說(shuō)明它能提高資源利用率的根本原因是什么。答:(1)時(shí)分復(fù)用技術(shù)的定義(2)時(shí)分復(fù)用技術(shù)能提高資源利用率的根本原因14.是什么原因使操作系統(tǒng)具有異步性特征?15.處理機(jī)管理有哪些主要功能?其主要任務(wù)是什么?(1)進(jìn)程控制(2)進(jìn)程同步為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào),協(xié)調(diào)分為進(jìn)程互斥方式和進(jìn)程同步方式。(3)進(jìn)程通信(4)處理機(jī)調(diào)度從后備隊(duì)里按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配運(yùn)內(nèi)存)。16.內(nèi)存管理有哪些主要功能?其主要任務(wù)是什么?(1)內(nèi)存分配(2)內(nèi)存保護(hù)(3)地址映射(4)內(nèi)存擴(kuò)充17.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?戶進(jìn)程提出的I/O請(qǐng)求,為用戶進(jìn)程分配其所需的I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O設(shè)備處理速度;方便用戶使用I/O設(shè)備。(1)緩沖管理(2)設(shè)備分配設(shè)備分配的基本任務(wù)是根據(jù)用戶進(jìn)程的I/O請(qǐng)求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備的(3)設(shè)備處理設(shè)備處理程序又稱為設(shè)備驅(qū)動(dòng)程序,其基本任務(wù)是實(shí)現(xiàn)C18.文件管理有哪些主要功能?其主要任務(wù)是什么?(1)文件存儲(chǔ)空間的管理(2)目錄管理(3)文件的讀/寫管理和保護(hù)19.試說(shuō)明推動(dòng)傳統(tǒng)OS演變?yōu)楝F(xiàn)代OS的主要因素是什么,?答:推動(dòng)傳統(tǒng)OS演變?yōu)楝F(xiàn)代OS的主要因素如下:(1)不斷提高計(jì)算機(jī)資源的利用率用率,這是OS最初發(fā)展的推動(dòng)力。(2)方便用戶(3)器件的不斷更新?lián)Q代(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)用需求20.什么是微內(nèi)核OS?答:微內(nèi)核(MicroKernel)操作系統(tǒng)結(jié)構(gòu)是20世紀(jì)80年代后期發(fā)展起來(lái)的。它能有效地支持多處理機(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ù)器模式一組服務(wù)器(進(jìn)程)中實(shí)現(xiàn)。在傳統(tǒng)的OS中,將機(jī)制放在OS的內(nèi)核的較低層,把策略放在內(nèi)核的較高層次中。而在微(4)采用面向?qū)ο蠹夹g(shù)21.微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?答:(1)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)微內(nèi)核OS的許多功能是由相對(duì)獨(dú)立的服務(wù)器軟件來(lái)實(shí)現(xiàn)的,當(dāng)開發(fā)了新的硬件和軟件時(shí),微內(nèi)核OS只須在相應(yīng)的服務(wù)器中增加新的功能,或再增程序接口(API),為微內(nèi)核外部的程序編制高質(zhì)量的代碼創(chuàng)造了條件。此外,由于所有服由于在微內(nèi)核OS中,客戶和服務(wù)器之間以及服務(wù)器和服務(wù)器之間的通信,是采用消息傳遞通信機(jī)制進(jìn)行的,致使微內(nèi)核OS能很好地支持分布式系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)。(2)微內(nèi)核操作系統(tǒng)具有上述優(yōu)點(diǎn)的原因微內(nèi)核OS結(jié)構(gòu)是建立在模塊化、層次化結(jié)構(gòu)的基礎(chǔ)上的,并采22.現(xiàn)代操作系統(tǒng)較之傳統(tǒng)操作系統(tǒng)又增加了哪些功能和特征?答:(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ù)器(進(jìn)程)中實(shí)現(xiàn)。24.在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?25.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?答:(1)微內(nèi)核技術(shù)的定義把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,而留下一個(gè)盡量(2)微內(nèi)核技術(shù)提供的功能在微內(nèi)核中通常提供了進(jìn)程(線程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理功能。①進(jìn)程(線程)管理進(jìn)程(線程)之間的通信功能是微內(nèi)核OS最基本的功能,被頻繁使用,因此,幾乎所有的微內(nèi)核OS都是將進(jìn)程(線程)之間的通信功能放入微內(nèi)核中。1.在單處理機(jī)系統(tǒng)中,可并行的是()。[2009年統(tǒng)考]I.進(jìn)程與進(jìn)程Ⅱ.處理機(jī)與設(shè)備Ⅲ.處理機(jī)與通道IV.設(shè)備與設(shè)備A.I、Ⅱ和Ⅲ【答案】D查看答案【解析】單處理機(jī)即只有一個(gè)處理機(jī)(此處不包含多核的情況),某時(shí)刻處理機(jī)只能執(zhí)行一個(gè)2.訂購(gòu)機(jī)票系統(tǒng)處理來(lái)自各個(gè)終端的服務(wù)請(qǐng)求,處理后通過(guò)終端回答用戶,所以它是一個(gè)A.分時(shí)系統(tǒng)B.多道批處理系統(tǒng)C.計(jì)算機(jī)網(wǎng)絡(luò)D.實(shí)時(shí)信息處理系統(tǒng)【答案】D查看答案3.批處理操作系統(tǒng)的目的是()。A.提高系統(tǒng)與用戶的交互性能B.提高系統(tǒng)資源利用率C.降低用戶作業(yè)的周轉(zhuǎn)時(shí)間D.減少用戶作業(yè)的等待時(shí)間【答案】B查看答案特定區(qū)域(一般稱為輸入井)將其組織好并按一定的算法選擇其中的一個(gè)或幾個(gè)作業(yè),將其4.()不是設(shè)計(jì)實(shí)時(shí)操作系統(tǒng)主要的追求目標(biāo)。A.安全可靠B.資源利用率C.及時(shí)響應(yīng)D.快速處理【答案】B查看答案用,數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)潔明了,任務(wù)切換速度快,能夠處理時(shí)間驅(qū)動(dòng)的任務(wù)(周期性任務(wù))和事件4.用戶可以通過(guò)()兩種方式來(lái)使用計(jì)算機(jī)。A.命令方式和函數(shù)方式B.命令方式和系統(tǒng)調(diào)用方式C.命令方式和文件管理方式D.設(shè)備管理方式和系統(tǒng)調(diào)用方式【答案】B查看答案①命令方式。這是指由OS提供的一組聯(lián)機(jī)命令(語(yǔ)言),用戶可通過(guò)鍵盤鍵入有關(guān)的命令,5.操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中位于()之間。A.CPU和用戶之間B.中央處理器CPUC.計(jì)算機(jī)硬件和用戶D.計(jì)算機(jī)硬件和軟件之間【答案】C查看答案戶有密不可分的關(guān)系,它在計(jì)算機(jī)系統(tǒng)中位于計(jì)算機(jī)裸機(jī)和計(jì)算機(jī)用戶之間,用戶通過(guò)OS來(lái)使用計(jì)算機(jī)系統(tǒng)。或者說(shuō),用戶在OS幫6.操作系統(tǒng)是對(duì)()進(jìn)行管理的軟件。A.軟件B.硬件C.計(jì)算機(jī)資源D.應(yīng)用程序【答案】C查看答案【解析】從一般用戶的觀點(diǎn),可把OS看做是用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口;從資理的觀點(diǎn)看,則可把OS視為計(jì)算機(jī)系統(tǒng)資源的管理者。另外,OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的二、填空題1.多道運(yùn)行的特征之一是宏觀上并行,它的含義是-0一定的算法從隊(duì)列選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,共享CPU和系統(tǒng)的各種資源,并發(fā)【答案】單用戶多任務(wù);多用戶多任務(wù);單用戶單任務(wù)查看答案運(yùn)行,這是一種最簡(jiǎn)單的微機(jī)操作系統(tǒng),主要配置在8位微機(jī)和16位微機(jī)上,最有代表性任務(wù),使它們并發(fā)執(zhí)行,從而有效地改善系統(tǒng)的性能。目前在32位微機(jī)上所配置的32位微操作系統(tǒng):而在32位微機(jī)上,也有不少是配置的多用戶多任務(wù)操作系統(tǒng)。其中,最有代表性的是WindowsNT和UNIX。3.多道程序設(shè)計(jì)的特點(diǎn)是多道、和o_【答案】宏觀上并行;微觀上串行查看答案一定的算法從隊(duì)列選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,共享CPU和系統(tǒng)的各種資源,并發(fā)地執(zhí)行。種原因而不能占用CPU時(shí),其他程序占用CPU,提高了CPU的利用率。因此,多道程序4.操作系統(tǒng)是對(duì)計(jì)算機(jī)進(jìn)行程序,是和用戶的接口。【答案】控制和管理,合理組織計(jì)算機(jī)系統(tǒng)的工作流程;計(jì)算機(jī)硬件查看答案(1)控制和管理計(jì)算機(jī)系統(tǒng)的軟、硬件資源,使之得到有效利用;(2)合理組織計(jì)算機(jī)系統(tǒng)的工作流程,以增強(qiáng)系統(tǒng)的處理能力;(3)提供用戶與操作系統(tǒng)之間的軟件接口,使用戶能通過(guò)操作系統(tǒng)方便地使用計(jì)算機(jī)。5.所謂操作系統(tǒng)虛擬機(jī)的概念,是指前者是實(shí)際存在的,而后者是虛的,只是用戶的一種感覺。在單CPU的計(jì)算機(jī)系統(tǒng)中能同時(shí)運(yùn)行多道程序,好像每個(gè)程序都獨(dú)享一個(gè)CPU,這就是虛擬。在構(gòu)造操作系統(tǒng)時(shí),把操6.批處理系統(tǒng)主要解決問(wèn)題,分時(shí)系統(tǒng)主要解決問(wèn)題?!敬鸢浮客掏铝?;交互性查看答案【解析】批處理系統(tǒng)主要是解決吞吐量問(wèn)題,其主要優(yōu)點(diǎn)是系統(tǒng)吞性是分時(shí)系統(tǒng)的主要特征之一,它主要是指用戶通過(guò)終端設(shè)備(如鍵盤、鼠標(biāo))向系統(tǒng)發(fā)出1.什么是操作系統(tǒng)?它有什么基本特征?答:操作系統(tǒng)(OperatingSystem,簡(jiǎn)稱OS)是一個(gè)管理計(jì)算機(jī)系統(tǒng)資源,控制程序運(yùn)行的系統(tǒng)軟件,它為用戶提供了一個(gè)方便、安全、可靠的工作環(huán)境和界面。它有4個(gè)基本特征。2.分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)的主要區(qū)別是什么?設(shè)計(jì)適應(yīng)于實(shí)時(shí)環(huán)境的主要困難是什么?(1)多路性。實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)一樣具有多路性。系統(tǒng)按分時(shí)原則為多個(gè)終端(2)獨(dú)立性。實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)一樣具有獨(dú)立性。每個(gè)終端用戶在向?qū)崟r(shí)系統(tǒng)(3)及時(shí)性。實(shí)時(shí)信息系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受的等待時(shí)間來(lái)確定的,一般為秒級(jí)、百毫秒級(jí)直至毫秒級(jí),甚至有的要低于100微秒;(4)交互性。實(shí)時(shí)信息處理系統(tǒng)具有交互性,但這里人與系統(tǒng)的交互,僅限于訪問(wèn)系統(tǒng)中(5)可靠性。分時(shí)系統(tǒng)要求系統(tǒng)可靠,相比之下,實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)可靠性要求更高,因?yàn)?.在計(jì)算機(jī)配置上,操作系統(tǒng)有哪幾方面的目標(biāo)?答:計(jì)算機(jī)配置操作系統(tǒng)是為了方便用戶(方便性)、提高效率(有效性)、功能擴(kuò)展和環(huán)境開放(可擴(kuò)充性)。目前存在著多種類型的OS,不同類型的OS其目標(biāo)各有所側(cè)重。在計(jì)算機(jī)硬件上配置的OS(1)方便性。配置OS后可使計(jì)算機(jī)系統(tǒng)更容易使用。一個(gè)未配置OS的計(jì)算機(jī)系統(tǒng)是難以使用的,因?yàn)橛?jì)算機(jī)硬件只能識(shí)別0和1這樣的機(jī)器代碼。如果用戶在計(jì)算機(jī)硬件上配置了OS,用戶便可通過(guò)OS提供的各種命令來(lái)使用計(jì)算機(jī)系統(tǒng)。(2)有效性。在未配置OS的計(jì)算機(jī)系統(tǒng)中,諸如CPU、I/0設(shè)備等各類資源,都會(huì)經(jīng)常處于空閑狀態(tài)而得不到充分利用;內(nèi)存及外存中所存放配置了OS后,可使CPU和I/0設(shè)備由于能保持忙碌狀態(tài)而得到更為有效的利用,且由于(3)方便性和有效性是操作系統(tǒng)最重要的兩個(gè)目標(biāo)。在過(guò)去很長(zhǎng)一段時(shí)間內(nèi),由于計(jì)算機(jī)重于如何提高計(jì)算機(jī)系統(tǒng)資源的利用率和系統(tǒng)吞吐量問(wèn)題。但是,近10年來(lái)在微機(jī)上所配(4)可擴(kuò)充性。超大規(guī)模集成電路的誕生,以及各種由不同生產(chǎn)廠家生產(chǎn)的硬件設(shè)備在使4.舉例說(shuō)明為什么操作系統(tǒng)起到了擴(kuò)展機(jī)器的作用?[北大2004年研]于最基本的命令read與write,每個(gè)read及write命令都需要13個(gè)參數(shù),這些參數(shù)被組合在一個(gè)9字節(jié)的數(shù)據(jù)中。這些參數(shù)給出了需要讀的磁盤塊的地址時(shí)候,控制芯片會(huì)返回23個(gè)狀態(tài)以及錯(cuò)誤碼,它們會(huì)被組合到7個(gè)字節(jié)長(zhǎng)的數(shù)據(jù)中。不僅果電動(dòng)機(jī)是關(guān)著的,在讀/寫數(shù)據(jù)前,它必須被打開(伴隨很長(zhǎng)一段啟動(dòng)延時(shí))。電動(dòng)機(jī)也不第2章進(jìn)程的描述與控制1.前趨圖(1)定義一條語(yǔ)句,結(jié)點(diǎn)間的有向邊則表示兩個(gè)結(jié)點(diǎn)之間存在的偏序(PartialOrder)或前趨關(guān)系(2)相關(guān)概念進(jìn)程(或程序)之間的前趨關(guān)系可用“→”來(lái)表示,如果進(jìn)程P?和Pj存在著前趨關(guān)系,可表示為(Pi,Pj)∈→,也可寫成Pi→Pj。Pi→P;表示在Pj開始執(zhí)行之前Pi必須完成。此時(shí)稱Pi是P;的直接前趨,而稱Pj是Pi的直接在前趨圖中,把沒有前趨的結(jié)點(diǎn)稱為初始結(jié)點(diǎn)(InitialNode)。在前趨圖中,把沒有后繼的結(jié)點(diǎn)稱為終止結(jié)點(diǎn)(FinalNode)。在前趨圖中,每個(gè)結(jié)點(diǎn)還具有一個(gè)重量(Weight),用于表示該結(jié)點(diǎn)所含有的程序量或程序(3)圖形表示前趨圖如圖2-1所示,應(yīng)當(dāng)注意,前趨圖中是不允許有循環(huán)的圖2-1前趨圖2.程序順序執(zhí)行(1)程序的順序執(zhí)行都需要按照某種先后次序順序執(zhí)行,僅當(dāng)前一程序段執(zhí)行完圖2-2程序順序執(zhí)行的前趨圖(2)程序順序執(zhí)行時(shí)的特征前結(jié)束;封閉性是指程序在封閉的環(huán)境下運(yùn)行,即程序運(yùn)行時(shí)獨(dú)占全機(jī)資源,資態(tài)外)只有本程序才能改變它,程序一旦開始執(zhí)行,其執(zhí)行結(jié)果不受外界因素影響;3.程序并發(fā)執(zhí)行程序順序執(zhí)行時(shí),雖然可以給程序員帶來(lái)方便,但系統(tǒng)資源利用率低,為此,在系統(tǒng)中引入了多道程序技術(shù),使程序或程序段間能并發(fā)執(zhí)行。(1)程序的并發(fā)執(zhí)行并非所有的程序都能并發(fā)執(zhí)行,只有在不存在前趨關(guān)系的程序之間才可能并發(fā)執(zhí)行,否則無(wú)法并發(fā)執(zhí)行。圖2-2顯示出了輸入、計(jì)算和打印這三個(gè)程序?qū)σ慌鳂I(yè)進(jìn)行處理的情況。但若是對(duì)一批作業(yè)進(jìn)行處理時(shí),每道作業(yè)的輸入、計(jì)算和打印程序段的執(zhí)行情況如圖2-3所示。圖2-3程序并發(fā)執(zhí)行時(shí)的前趨圖由圖2-3可以看出,存在前趨關(guān)系Ii→C,Ii→Ii+1,C→Pi,C→Ci+1,Pi→Pi+1,而Ii+1和Ci及Pi-1是重疊的,即在Pi-1和Ci以及Ii+1之間,不存在前趨關(guān)系,可以并發(fā)執(zhí)行。對(duì)于具有下述四條語(yǔ)句的程序段:可畫出圖2-4所示的前趨關(guān)系。可以看出:S?必須在a和b被賦值后方能執(zhí)行;S?必須在S?之后執(zhí)行;但S?和S?則可以并發(fā)執(zhí)行,因?yàn)樗鼈儽舜嘶ゲ灰蕾?。圖2-4四條語(yǔ)句的前趨關(guān)系(2)程序并發(fā)執(zhí)行時(shí)的特征程序間的并發(fā)執(zhí)行,雖然提高了系統(tǒng)吞吐量和資源利用率,但由于程序間共享了系統(tǒng)資源,并且它們?yōu)橥瓿赏豁?xiàng)任務(wù)而相互合作,導(dǎo)致了在并發(fā)執(zhí)行的程序之間形成了相互制約的關(guān)系,給程序并發(fā)執(zhí)行帶來(lái)了如下新的特征:①間斷性程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行的程序之間形成了相互制約的關(guān)系。②失去封閉性1.進(jìn)程的定義和特征(1)進(jìn)程的定義①進(jìn)程是程序的一次執(zhí)行。(2)進(jìn)程控制塊(PCB)①定義為了使參與并發(fā)執(zhí)行的每個(gè)程序(含數(shù)據(jù))都能獨(dú)立地運(yùn)行,在操作系統(tǒng)中必須為之配置一個(gè)專門的數(shù)據(jù)結(jié)構(gòu),稱為進(jìn)程控制塊(ProcessControl②作用(3)進(jìn)程的特征基本單位。凡未建立PCB的程序都不能作為一個(gè)獨(dú)立的單位參與運(yùn)行。2.進(jìn)程的基本狀態(tài)及轉(zhuǎn)換(1)進(jìn)程的三種基本狀態(tài)①就緒(Ready)狀態(tài)這是指進(jìn)程己處于準(zhǔn)備好運(yùn)行的狀態(tài),即進(jìn)程己分配到除CPU以外的所有必要資源后,只要再獲得CPU,便可立即執(zhí)行。如果系統(tǒng)中有許多處于就緒狀態(tài)的進(jìn)程,通常將它們按一定的策略(如優(yōu)先級(jí)策略)排成一個(gè)隊(duì)列,稱該隊(duì)列為就緒隊(duì)列。這是指進(jìn)程已獲得CPU,其程序正在執(zhí)行的狀態(tài)。對(duì)任何一個(gè)時(shí)刻而言,在單處理機(jī)系統(tǒng)③阻塞(Block)狀態(tài)這是指正在執(zhí)行的進(jìn)程由于發(fā)生某事件(如I/0請(qǐng)求、申請(qǐng)緩沖區(qū)失敗等)暫時(shí)無(wú)法繼續(xù)(2)三種基本狀態(tài)的轉(zhuǎn)換圖2-5示出了進(jìn)程的三種基本狀態(tài),以及各狀態(tài)之間的轉(zhuǎn)換關(guān)系。圖2-5進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換(3)創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)量的限制推遲新進(jìn)程的提交(創(chuàng)建狀態(tài))。②終止?fàn)顟B(tài)進(jìn)程的終止要通過(guò)兩個(gè)步驟:首先,是等待操作系統(tǒng)進(jìn)行善后處理,最后將其PCB清零,并將PCB空間返還系統(tǒng)。當(dāng)一個(gè)進(jìn)程到達(dá)了自然結(jié)束點(diǎn),或是出現(xiàn)了無(wú)法克服的錯(cuò)誤,或圖2-6示出了增加了創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)后進(jìn)程的五種狀杰及轉(zhuǎn)換關(guān)系圖。圖2-6進(jìn)程的五種基本狀態(tài)及轉(zhuǎn)換3.掛起操作和進(jìn)程狀態(tài)的轉(zhuǎn)換(1)引入掛起操作的原因(2)引入掛起原語(yǔ)操作后三個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換當(dāng)進(jìn)程處于未被掛起的就緒狀態(tài)時(shí),稱此為活動(dòng)就緒狀態(tài),表示為Readya,此時(shí)進(jìn)程可以Suspend原語(yǔ)將它掛起后,進(jìn)程便轉(zhuǎn)變?yōu)殪o止阻塞狀態(tài),表示為Blockeds。處于該狀態(tài)的進(jìn)程在其所期待的事件出現(xiàn)后,它將從靜止阻塞變?yōu)殪o止就緒Readys狀態(tài)。處于Readys狀態(tài)的進(jìn)程若用激活原語(yǔ)Active激活后,該進(jìn)程將轉(zhuǎn)變?yōu)镽eadya狀態(tài)。處于Blockeds狀態(tài)的進(jìn)程若用激活原語(yǔ)Active(3)引入掛起操作后五個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換如圖2-8示出了增加了創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)后具有掛起狀態(tài)的進(jìn)程狀態(tài)及轉(zhuǎn)換圖。與圖2-7圖2-7具有掛起狀態(tài)的進(jìn)程狀態(tài)圖圖2-8具有創(chuàng)建、終止和掛起狀態(tài)的進(jìn)程狀態(tài)圖4.進(jìn)程管理中的數(shù)據(jù)結(jié)構(gòu)(1)操作系統(tǒng)中用于管理控制的數(shù)據(jù)結(jié)構(gòu)批指針。如圖2-9所示。圖2-9操作系統(tǒng)控制表的一般結(jié)構(gòu)(2)進(jìn)程控制塊PCB的作用PCB的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù))成為一個(gè)能獨(dú)立運(yùn)當(dāng)一個(gè)程序(含數(shù)據(jù))配置了PCB后,就表示它已是一個(gè)能在多道程序環(huán)境下獨(dú)立運(yùn)行的、有了PCB后,系統(tǒng)就可將CPU現(xiàn)場(chǎng)信息保存在被中斷進(jìn)程的PCB中,供該進(jìn)程再次被調(diào)度執(zhí)行時(shí)恢復(fù)CPU現(xiàn)場(chǎng)時(shí)使用。在進(jìn)程的整個(gè)生命期中,操作系統(tǒng)總是根據(jù)PCB實(shí)施對(duì)進(jìn)程的控制和管理。(3)進(jìn)程控制塊中的信息a.外部標(biāo)識(shí)符為了方便用戶(進(jìn)程)對(duì)進(jìn)程的訪問(wèn),須為每一個(gè)進(jìn)程設(shè)置一個(gè)外部標(biāo)識(shí)符。它是由創(chuàng)建者b.內(nèi)部標(biāo)識(shí)符為了方便系統(tǒng)對(duì)進(jìn)程的使用,在OS中又為進(jìn)②處理機(jī)狀態(tài)a.通用寄存器有8~32個(gè)通用寄存器,在RISC結(jié)構(gòu)的計(jì)算機(jī)中可超過(guò)100個(gè)。b.指令計(jì)數(shù)器c.程序狀態(tài)字PSWd.用戶棧指針在OS進(jìn)行調(diào)度時(shí),必須了解進(jìn)程的狀態(tài)及有關(guān)進(jìn)程調(diào)度的信息,這些信息包括:a.進(jìn)程狀態(tài)b.進(jìn)程優(yōu)先級(jí)c.進(jìn)程調(diào)度所需的其它信息它們與所采用的進(jìn)程調(diào)度算法有關(guān),比如,進(jìn)程已等待CPU的時(shí)間總和、進(jìn)程已執(zhí)行的時(shí)a.程序和數(shù)據(jù)的地址進(jìn)程實(shí)體中的程序和數(shù)據(jù)的內(nèi)存或外存地(首)址,以便再調(diào)度到該進(jìn)程執(zhí)行時(shí),能從PCBb.進(jìn)程同步和通信機(jī)制c.資源清單在該清單中列出了進(jìn)程在運(yùn)行期間所需的全部資源(除CPU以外),另外還有一張已分配d.鏈接指針給出了本進(jìn)程(PCB)所在隊(duì)列中的下一個(gè)進(jìn)程的PCB的首地址。(4)進(jìn)程控制塊的組織方式即將系統(tǒng)中所有的PCB都組織在一張線性表中,將該表的首址存放在內(nèi)存的一個(gè)專用區(qū)域系統(tǒng)。圖2-10示出了線性表的PCB組織方式。圖2-10PCB線性表示意圖②鏈接方式即把具有相同狀態(tài)進(jìn)程的PCB分別通過(guò)PCB中的鏈接字鏈接成一個(gè)隊(duì)列。圖2-11示出了圖2-11PCB鏈接隊(duì)列示意圖狀態(tài)的某個(gè)PCB在PCB表中的地址。圖2-12示出了索引方式的PCB組織。圖2-12按索引方式組織PCB1.操作系統(tǒng)內(nèi)核不同類型和規(guī)模的OS,它們的內(nèi)核所包含的功能間存在著一定的差異,但大多數(shù)OS內(nèi)核(1)支撐功能原語(yǔ)(Primitive),就是由若干條指令組成的,用于完成一定功能的一個(gè)過(guò)程,是一個(gè)不可(2)資源管理功能由于設(shè)備管理與硬件(設(shè)備)緊密相關(guān),因此其中很大部分也都設(shè)置在內(nèi)核中。2.進(jìn)程的創(chuàng)建(1)進(jìn)程的層次結(jié)構(gòu)①正常結(jié)束①父進(jìn)程在OS中,允許一個(gè)進(jìn)程創(chuàng)建另一個(gè)進(jìn)程,通常(2)進(jìn)程圖于描述進(jìn)程間關(guān)系的一棵有向樹,如圖2-13所示。圖中的結(jié)點(diǎn)代表進(jìn)程。在進(jìn)程Pi創(chuàng)建了進(jìn)程Pi之后,稱P?是P;的父進(jìn)程(ParentProcess),P;是Pi的子進(jìn)程(ProgenyProcess)。圖2-13進(jìn)程樹(3)引起創(chuàng)建進(jìn)程的事件在多道批處理系統(tǒng)中,當(dāng)作業(yè)調(diào)度程序按一定的算法調(diào)度到某個(gè)(些)作業(yè)時(shí),便將它(們)裝入內(nèi)存,為它(們)創(chuàng)建進(jìn)程,并把它(們)插入就緒隊(duì)列中。④應(yīng)用請(qǐng)求(4)進(jìn)程的創(chuàng)建(CreationofProcess)①申請(qǐng)空白PCB,為新進(jìn)程申請(qǐng)獲得唯一的數(shù)字標(biāo)識(shí)符,并從PCB集合中索取一個(gè)空白P③初始化進(jìn)程控制塊(PCB),包括初始化標(biāo)識(shí)信息,初始化處理機(jī)狀態(tài)信息,初始化處理3.進(jìn)程的終止(1)引起進(jìn)程終JE(TerminationofProcess)的事件a.越界錯(cuò)b.保護(hù)錯(cuò)c.非法指令d.特權(quán)指令錯(cuò)e.運(yùn)行超時(shí)f.等待超時(shí)g.算術(shù)運(yùn)算錯(cuò)a.操作員或操作系統(tǒng)干預(yù)b.父進(jìn)程請(qǐng)求c.因父進(jìn)程終止(2)進(jìn)程的終止過(guò)程的進(jìn)程:⑤將被終止進(jìn)程(PCB)從所在隊(duì)列(或鏈表)中移出,等待其它程序來(lái)搜集信息。4.進(jìn)程的阻塞與喚醒(1)引起進(jìn)程阻塞和喚醒的事件在某些系統(tǒng)中,特別是在網(wǎng)絡(luò)環(huán)境下的OS,往往設(shè)置一些特定的系統(tǒng)進(jìn)程,每當(dāng)這種進(jìn)程(2)進(jìn)程阻塞過(guò)程block將進(jìn)程阻塞,阻塞過(guò)程如下:并將PCB插入阻塞隊(duì)列。塞進(jìn)程的處理機(jī)狀態(tài),按新進(jìn)程的PCB中的處理機(jī)狀態(tài)設(shè)置CPU的環(huán)境。(3)進(jìn)程喚醒過(guò)程語(yǔ)wakeup,將等待該事件的進(jìn)程喚醒。wakeup執(zhí)行的過(guò)程如下:①把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移出,將其PCB中的現(xiàn)行狀態(tài)由阻塞改為就②將該P(yáng)CB插入到就緒隊(duì)列中。5.進(jìn)程的掛起與激活(1)進(jìn)程的掛起當(dāng)系統(tǒng)中出現(xiàn)了引起進(jìn)程掛起的事件時(shí),OS將利用掛起原語(yǔ)suspena.檢查被掛起進(jìn)程的狀態(tài),若處于活動(dòng)就緒狀態(tài),便將其改為靜止就緒;對(duì)于活動(dòng)阻塞狀b.為了方便用戶或父進(jìn)程考查該進(jìn)程的運(yùn)行情況,而把該進(jìn)程的PCB復(fù)制到某指定的內(nèi)存c.若被掛起的進(jìn)程正在執(zhí)行,則轉(zhuǎn)向調(diào)度程序重新調(diào)度。(2)進(jìn)程的激活過(guò)程a.激活原語(yǔ)先將進(jìn)程從外存調(diào)入內(nèi)存,檢查該進(jìn)程的現(xiàn)行狀態(tài),若是靜止就緒,便將之改b.采用適當(dāng)?shù)恼{(diào)度策略,分配激活進(jìn)程的調(diào)度。②描述1.進(jìn)程同步的基本概念(1)進(jìn)程同步機(jī)制的主要任務(wù)進(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)兩種形式的制約關(guān)系①間接相互制約關(guān)系多個(gè)程序在并發(fā)執(zhí)行時(shí),由于共享系統(tǒng)資源,致使在這些并發(fā)執(zhí)行的程序之間形成相互制約的關(guān)系。②直接相互制約關(guān)系由于兩個(gè)或多個(gè)進(jìn)程為完成同一項(xiàng)任務(wù)而相互合作,在并發(fā)執(zhí)行的程序之間形成的相互制約關(guān)系,稱為直接相互制約關(guān)系。(3)臨界資源(CriticalResouce)諸進(jìn)程間應(yīng)采取互斥方式,實(shí)現(xiàn)對(duì)這臨界資源的共享。(4)臨界區(qū)(criticalsection)不論是硬件臨界資源還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對(duì)它進(jìn)行訪問(wèn)。將在每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼稱為臨界區(qū)(criticalsection)。顯然,若能保證諸進(jìn)程互斥地進(jìn)入自己的臨界區(qū),便可實(shí)現(xiàn)諸進(jìn)程對(duì)臨界資源的互斥訪問(wèn)。(5)同步機(jī)制應(yīng)遵循的規(guī)則①空閑讓進(jìn)當(dāng)無(wú)進(jìn)程處于臨界區(qū)時(shí),表明臨界資源處于空閑狀態(tài),應(yīng)允許一個(gè)請(qǐng)求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入自己的臨界區(qū),以有效地利用臨界資源。②忙則等待當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),表明臨界資源正在被訪問(wèn),因而其它試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待,以保證對(duì)臨界資源的互斥訪問(wèn)。③有限等待對(duì)要求訪問(wèn)臨界資源的進(jìn)程,應(yīng)保證在有限時(shí)間內(nèi)能進(jìn)入自己的臨界區(qū),以免陷入“死等”狀態(tài)。④讓權(quán)等待當(dāng)進(jìn)程不能進(jìn)入自己的臨界區(qū)時(shí),應(yīng)立即釋放處理機(jī),以免進(jìn)程陷入“忙等”狀態(tài)。2.硬件同步機(jī)制(1)關(guān)中斷①概述關(guān)中斷是實(shí)現(xiàn)互斥的最簡(jiǎn)單的方法之一。在進(jìn)入鎖測(cè)試之前關(guān)閉中斷,直到完成鎖測(cè)試并上鎖之后才能打開中斷。②缺點(diǎn)a.濫用關(guān)中斷權(quán)力可能導(dǎo)致嚴(yán)重后果;b.關(guān)中斷時(shí)間過(guò)長(zhǎng),會(huì)影響系統(tǒng)效率,限制了處理器交叉執(zhí)行程序的能力;c.關(guān)中斷方法不適用于多CPU系統(tǒng)。①定義這是一種借助一條硬件指令—“測(cè)試并建立”指令TS(Test-and-Set)以實(shí)現(xiàn)互斥的方法。TS指令的一般性描述如下:有兩種狀態(tài):當(dāng)lock=FALSE時(shí),表示該資源空閑;當(dāng)lock=TRUE時(shí),表示該資源正在被用TS指令管理臨界區(qū)時(shí),為每個(gè)臨界資源設(shè)置一個(gè)布爾變量lock,由于變量lock代表了該資源的狀態(tài),故可把它看成一把鎖。lock初值為FALSE,表示該臨界資源空閑。進(jìn)程在進(jìn)可以進(jìn)入,并將TRUE值賦予lock,這等效于關(guān)閉了臨界資源,使任何進(jìn)程都不能進(jìn)入臨界區(qū),否則必須循環(huán)測(cè)試直到TS(s)為TRUE。(3)利用Swap指令實(shí)現(xiàn)進(jìn)程互斥該指令稱為對(duì)換指令,在Intel80x86中又稱為XCHG指令,用于交換兩個(gè)字的內(nèi)容。其處3.信號(hào)量機(jī)制②操作方式(1)整型信號(hào)量最初由Dijkstra把整型信號(hào)量定義為一個(gè)用于表示資源數(shù)目的整型量s,它與一般整型量不來(lái)訪問(wèn)。很長(zhǎng)時(shí)間以來(lái),這兩個(gè)操作一直被分別稱為P、V操作。②描述wait(S)和signal(S)是兩個(gè)原子操作,因此,它們?cè)趫?zhí)行時(shí)是(2)記錄型信號(hào)量typedefstruct{structprocess_contrwait(S)和signal(S)操作可描述如下:(3)AND型信號(hào)量對(duì)若干個(gè)臨界資源的分配采取原子操作方式:要么把它所請(qǐng)求的資源全部分配到進(jìn)程,要么一個(gè)也不分配,這樣就可避免上述死鎖情況的發(fā)生。③定義在wait操作中增加了一個(gè)“AND”條件,故稱為AND同步,或稱為同時(shí)wait操作,即Swait(4)信號(hào)量集①基本概念對(duì)AND信號(hào)量機(jī)制加以擴(kuò)充,對(duì)進(jìn)程所申請(qǐng)的所有資源以及每類資源不同的資源需求量,在一次P、V原語(yǔ)操作中完成申請(qǐng)或釋放。進(jìn)程對(duì)信號(hào)量S;的測(cè)試值不再是1,而是該資源的分配下限值t;,即要求S≥t;,否則不予分配。一旦允許分配,進(jìn)程對(duì)該資源的需求值為d;,即表示資源占用量,進(jìn)行S=Si-d;操作,而不是簡(jiǎn)單的S=Si-1。由此形成一般化的“信號(hào)量集”機(jī)制。對(duì)應(yīng)的Swait和Ssignal格式為:②特殊情況此時(shí)在信號(hào)量集中只有一個(gè)信號(hào)量s,但允許它每次申請(qǐng)d個(gè)資源,當(dāng)現(xiàn)有資源數(shù)少于d時(shí),不予分配。此時(shí)的信號(hào)量集已蛻化為一般的記錄型信號(hào)量(S>1時(shí))或互斥信號(hào)量(S=1時(shí))。這是一種很特殊且很有用的信號(hào)量操作。當(dāng)S≥1時(shí),允許多個(gè)進(jìn)程進(jìn)入某特定區(qū);當(dāng)S變?yōu)?后,將阻止任何進(jìn)程進(jìn)入特定區(qū)。換言之,它相當(dāng)于一個(gè)可控開關(guān)。4.信號(hào)量的應(yīng)用(1)利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥為使多個(gè)進(jìn)程能互斥地訪問(wèn)某臨界資源,只需為該資源設(shè)置一互斥信號(hào)量mutex,并設(shè)其初始值為1,然后將各進(jìn)程訪問(wèn)該資源的臨界區(qū)CS置于wait(mutex)和signal(mutex)操①設(shè)mutex為互斥信號(hào)量,其初值為1,取值范圍為(-1,0,1)。當(dāng)mutex=1時(shí),表示兩個(gè)進(jìn)程皆未進(jìn)入需要互斥的臨界區(qū);當(dāng)mutex=0時(shí),表示有一個(gè)進(jìn)程進(jìn)入臨界區(qū)運(yùn)行,另外一個(gè)必須等待,掛入阻塞隊(duì)列;當(dāng)mutex=-1時(shí),表示有一個(gè)進(jìn)程正在臨界區(qū)運(yùn)行,另外(2)利用信號(hào)量實(shí)現(xiàn)前趨關(guān)系還可利用信號(hào)量來(lái)描述程序或語(yǔ)句之間的前趨關(guān)系。設(shè)有兩個(gè)并發(fā)執(zhí)行的中有語(yǔ)句S?;P?中有語(yǔ)句S?。我們希望在S?執(zhí)行后再執(zhí)行S?。為實(shí)現(xiàn)這種前趨關(guān)系,只需使進(jìn)程P1和P?共享一個(gè)公用信號(hào)量S,并賦予其初值為0,將signal(S)操作放在語(yǔ)句S?后面,而在S?語(yǔ)句前面插入wait(S)操作。5.管程機(jī)制(1)管程①定義一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行(在該數(shù)據(jù)結(jié)構(gòu)上)的一組操作,這組b.局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明;c.對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;d.對(duì)局部于管程的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句。圖2-14是一個(gè)管程的示意圖。圖2-14管程的示意圖③特征a.模塊化,即管程是一個(gè)基本程序單位,可以單獨(dú)編譯;b.抽象數(shù)據(jù)類型,指管程中不僅有數(shù)據(jù),而且有對(duì)數(shù)據(jù)的操作;a.雖然二者都定義了數(shù)據(jù)結(jié)構(gòu),但進(jìn)程定義的是私有數(shù)據(jù)結(jié)構(gòu)PCB,管程定義的是公共數(shù)b.二者都存在對(duì)各自數(shù)據(jù)結(jié)構(gòu)上的操作,但進(jìn)程是由順序程序執(zhí)行有關(guān)操作,而管程主要c.設(shè)置進(jìn)程的目的在于實(shí)現(xiàn)系統(tǒng)的并發(fā)性,而管程的設(shè)置則是解決共享資源的互斥使用問(wèn)d.進(jìn)程通過(guò)調(diào)用管程中的過(guò)程對(duì)共享數(shù)據(jù)結(jié)構(gòu)實(shí)行操作,該過(guò)程就如通常的子程序一樣被(2)條件變量②條件變量的說(shuō)明wait和signal,因此條件變量也是一種抽象數(shù)據(jù)類型,每個(gè)條件變量保存了一個(gè)鏈表,用于條件變量同時(shí)提供的兩個(gè)操作可表示為x.wait和x.signal,其正在調(diào)用管程的進(jìn)程因x條件需要被阻塞或掛起,則調(diào)用x.wait將自己插入到x條件的等待隊(duì)列上,并釋放管程,直到x條件變化。此時(shí)其它進(jìn)程可以使用該管程。正在調(diào)用管程的進(jìn)程發(fā)現(xiàn)x條件發(fā)生了變化,則調(diào)用x.signal,重新啟動(dòng)一個(gè)因x條件而1.生產(chǎn)者—消費(fèi)者問(wèn)題(1)利用記錄型信號(hào)量解決生產(chǎn)者—消費(fèi)者問(wèn)題假定在生產(chǎn)者和消費(fèi)者之間的公用緩沖池中具有n個(gè)緩沖區(qū),這時(shí)可利用互斥信號(hào)量mutex②描述(2)利用AND信號(hào)量解決生產(chǎn)者—消費(fèi)者問(wèn)題對(duì)于生產(chǎn)者—消費(fèi)者問(wèn)題,也可利用AND信號(hào)量來(lái)解決,即用Swait(empty,mutex)來(lái)代替wait(empty)和wait(mutex);用Ssignal(mutex,full)來(lái)代替signal(mutex)和signal(full);用Swait(full,mutex)利用AND信號(hào)量來(lái)解決生產(chǎn)者—消費(fèi)者問(wèn)題的算法中的生產(chǎn)者和消費(fèi)(3)利用管程解決生產(chǎn)者—消費(fèi)者問(wèn)題在利用管程方法來(lái)解決生產(chǎn)者消費(fèi)者問(wèn)題時(shí),首先便是為它們建立procducerconsumer,或簡(jiǎn)稱為PC。生產(chǎn)者利用該過(guò)程將自己生產(chǎn)的產(chǎn)品投放到緩沖池中,并用整型變量cou中已有的產(chǎn)品數(shù)目,當(dāng)count≥N時(shí),表消費(fèi)者利用該過(guò)程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)count≤2.哲學(xué)家進(jìn)餐問(wèn)題(1)利用記錄型信號(hào)量解決哲學(xué)家進(jìn)餐問(wèn)題所有信號(hào)量均被初始化為1,第i位哲學(xué)家的活動(dòng)可描述為:b.僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時(shí),才允許他拿起筷子進(jìn)餐。按此規(guī)定,將是1、2號(hào)哲學(xué)家競(jìng)爭(zhēng)1號(hào)筷子:3、4號(hào)哲學(xué)家競(jìng)爭(zhēng)3號(hào)筷子。即五位哲學(xué)家(2)利用AND信號(hào)量機(jī)制解決哲學(xué)家進(jìn)餐問(wèn)題在哲學(xué)家進(jìn)餐問(wèn)題中,要求每個(gè)哲學(xué)家先獲得兩個(gè)臨界資源(筷子)后方能進(jìn)餐,故用AND3.讀者寫者問(wèn)題(1)利用記錄型信號(hào)量解決讀者—寫者問(wèn)題再設(shè)置一個(gè)整型變量Readcount表示正在讀的進(jìn)程數(shù)目。讀者—寫者(2)利用信號(hào)量集機(jī)制解決讀者—寫者問(wèn)題對(duì)利用信號(hào)量集來(lái)解決讀者—寫者問(wèn)題的描述如下:進(jìn)程就都可以進(jìn)入讀操作。但只要一旦有writer進(jìn)程就都無(wú)法進(jìn)入讀操作。Swait(mx,1,1,L,RN,0)語(yǔ)句表示僅當(dāng)既無(wú)writer進(jìn)程在1.進(jìn)程通信的概念(1)進(jìn)程通信的定義(2)進(jìn)程通信的分類a.使用方便OS隱藏了實(shí)現(xiàn)進(jìn)程通信的具體細(xì)節(jié),向用戶提供了一組用于實(shí)現(xiàn)高級(jí)通信的命令(原語(yǔ)),b.高效地傳送大量數(shù)據(jù)用戶可直接利用高級(jí)通信命令(原語(yǔ))高效地傳送大量的數(shù)據(jù)。a.效率低生產(chǎn)者每次只能向緩沖池投放一個(gè)產(chǎn)品(消息b.通信對(duì)用戶不透明OS只為進(jìn)程之間的通信提供了共享存儲(chǔ)器。而關(guān)于2.高級(jí)進(jìn)程通信的類型(1)共享存儲(chǔ)器系統(tǒng)(Shared-MemorySystem)(2)管道(pipe)通信系統(tǒng)即當(dāng)一個(gè)進(jìn)程正在對(duì)pipe執(zhí)行讀/寫操作時(shí),其它(另一)進(jìn)程必須等待。指當(dāng)寫(輸入)進(jìn)程把一定數(shù)量的數(shù)據(jù)寫入pipe,便去睡眠等待,直到讀(輸出)進(jìn)程取走(3)消息傳遞系統(tǒng)(Messagepassingsystem)是指發(fā)送進(jìn)程利用OS所提供的發(fā)送原語(yǔ)。直接把消息發(fā)送給目標(biāo)進(jìn)程;是指發(fā)送和接收進(jìn)程,都通過(guò)共享中間實(shí)體(稱為郵箱)的方式進(jìn)行消息的發(fā)送和接收,完(4)客戶機(jī)—服務(wù)器系統(tǒng)(Client-Serversystem)①套接字(Socket)a.基于文件型b.基于網(wǎng)絡(luò)型在不同主機(jī)的網(wǎng)絡(luò)環(huán)境下,被分配了一對(duì)套接字,一個(gè)屬于接收進(jìn)程(或服務(wù)器端),一個(gè)屬于發(fā)送進(jìn)程(或客戶端)。遠(yuǎn)程過(guò)程(函數(shù))調(diào)用RPC(RemoteProcedureCan),是一個(gè)通信協(xié)議,用于通過(guò)網(wǎng)絡(luò)連a.本地過(guò)程調(diào)用者以一般方式調(diào)用遠(yuǎn)程過(guò)程在本地關(guān)聯(lián)的客戶存根,傳遞相應(yīng)的參數(shù),然b.客戶存根執(zhí)行,完成包括過(guò)程名和調(diào)用參數(shù)等信息的消息建立,將控制權(quán)轉(zhuǎn)移給本地客c.本地客戶進(jìn)程完成與服務(wù)器的消息傳遞,e.該服務(wù)器存根接到消息后,由阻塞狀態(tài)轉(zhuǎn)入執(zhí)行狀態(tài),拆開消息從中取出過(guò)程調(diào)用的參f.在服務(wù)器端的遠(yuǎn)程過(guò)程運(yùn)行完畢后,將結(jié)果返回給與之關(guān)聯(lián)的服務(wù)h.遠(yuǎn)程服務(wù)器進(jìn)程將消息發(fā)送回客戶端;i.本地客戶進(jìn)程接收到消息后,根據(jù)其中的過(guò)程名將消息存入關(guān)聯(lián)的客戶存根,再將控制j.客戶存根從消息中取出結(jié)果,返回給本地調(diào)用者進(jìn)程,并完成控制權(quán)的轉(zhuǎn)移。3.消息傳遞通信的實(shí)現(xiàn)方式(1)直接消息傳遞系統(tǒng)在直接消息傳遞系統(tǒng)中采用直接通信方式,即發(fā)送進(jìn)程利用0s所提供的發(fā)送命令(原語(yǔ)),①直接通信原語(yǔ)a.對(duì)稱尋址方式兩條通信命令(原語(yǔ)):b.非對(duì)稱尋址方式send(P,message);發(fā)送一個(gè)消息給進(jìn)程P;receive(id,message);接收來(lái)自任何進(jìn)程的消息,id變量可設(shè)置為進(jìn)行通信的發(fā)送方進(jìn)程id或名字。a.在單機(jī)系統(tǒng)環(huán)境中,可采用比較短的定長(zhǎng)消息格式,以減少對(duì)消息的處理和存儲(chǔ)開銷。b.對(duì)于需要發(fā)送較長(zhǎng)消息的用戶可采用變長(zhǎng)的消息格式,即進(jìn)程所發(fā)送消息的長(zhǎng)度是可變c.對(duì)于變長(zhǎng)消息,系統(tǒng)無(wú)論在處理方面還是存儲(chǔ)方面,都可能會(huì)付出更多的開銷,但其優(yōu)(或接收)或者阻塞。由此,我們可得到三種情況:a.發(fā)送進(jìn)程阻塞,接收進(jìn)程阻塞b.發(fā)送進(jìn)程不阻塞、接收進(jìn)程阻塞c.發(fā)送進(jìn)程和接收進(jìn)程均不阻塞a.建立鏈路的方式第二,發(fā)送進(jìn)程無(wú)須明確提出建立鏈路的請(qǐng)求,只須利用系統(tǒng)提供的發(fā)送命令(原語(yǔ)),系b.鏈路的分類第二,雙向通信鏈路,既允許由進(jìn)程A向進(jìn)程B發(fā)送消息,也允許進(jìn)程B同時(shí)向進(jìn)程A發(fā)(2)信箱通信a.信箱頭b.信箱體由若干個(gè)可以存放消息(或消息頭)的信箱格組成,信箱格的數(shù)目以及每格的大小是在創(chuàng)建在消息傳遞方式上,最簡(jiǎn)單的情況是單向傳遞。消息的傳遞也可以是雙向的。圖2-15示出圖2-15雙向信箱示意圖a.郵箱的創(chuàng)建和撤消私用或共享);對(duì)于共享郵箱,還應(yīng)給出共享者的名字。當(dāng)進(jìn)程不再需要讀郵箱時(shí),可用郵b.消息的發(fā)送和接收a.私用郵箱b.公用郵箱c.共享郵箱b.多對(duì)一關(guān)系允許提供服務(wù)的進(jìn)程與多個(gè)用戶進(jìn)程之間進(jìn)行交互,也稱為客戶/服務(wù)器交互(client/c.一對(duì)多關(guān)系允許一個(gè)發(fā)送進(jìn)程與多個(gè)接收進(jìn)程進(jìn)行交互,使發(fā)送進(jìn)程可用廣播方式向接收者(多個(gè))發(fā)d.多對(duì)多關(guān)系4.直接消息傳遞系統(tǒng)實(shí)例(1)消息緩沖隊(duì)列通信機(jī)制中的數(shù)據(jù)結(jié)構(gòu)在進(jìn)程的PCB中增加消息隊(duì)列隊(duì)首指針,用于對(duì)消息隊(duì)列進(jìn)行操作,以及用于實(shí)現(xiàn)同步的(2)發(fā)送原語(yǔ)發(fā)送進(jìn)程在利用發(fā)送原語(yǔ)發(fā)送消息之前,應(yīng)先在自己的內(nèi)存空間設(shè)置一發(fā)送區(qū)a,如圖2-16語(yǔ),把消息發(fā)送給目標(biāo)(接收)進(jìn)程。圖2-16消息緩沖通信②描述(3)接收原語(yǔ)接收進(jìn)程調(diào)用接收原語(yǔ)receive(b),從自己的消息緩沖隊(duì)列mq中摘下第一個(gè)消息緩沖區(qū)i,并將其中的數(shù)據(jù)復(fù)制到以b為首址的指定消息接收區(qū)內(nèi)。②描述七、線程(Threads)的基本概念1.線程的引入(1)進(jìn)程的兩個(gè)基本屬性括用于存放程序正文、數(shù)據(jù)的磁盤和內(nèi)存地址空間,以及它在運(yùn)行時(shí)所需要的I/O設(shè)備、個(gè)可獨(dú)立調(diào)度和分派的基本單位。每個(gè)進(jìn)程在系統(tǒng)中有唯一的PCB,系統(tǒng)可根據(jù)其PCB感知進(jìn)程的存在,也可以根據(jù)其PCB中的信息,對(duì)進(jìn)程進(jìn)行調(diào)度,還可將斷點(diǎn)信息保存在其PCB中。反之,再利用進(jìn)程PCB中的信息來(lái)恢復(fù)進(jìn)程運(yùn)行的現(xiàn)場(chǎng)。(2)程序并發(fā)執(zhí)行所需付出的時(shí)空開銷I/O設(shè)備,以及建立相應(yīng)的PCB;系統(tǒng)在撤消進(jìn)程時(shí),又必須先對(duì)其所占有的資源執(zhí)行回收操作,然后再撤消對(duì)進(jìn)程進(jìn)行上下文切換時(shí),需要保留當(dāng)前進(jìn)程的CPU環(huán)境,設(shè)置新選中進(jìn)程的CPU環(huán)境,(3)線程—作為調(diào)度和分派的基本單位2.線程與進(jìn)程的比較(1)調(diào)度的基本單位①在傳統(tǒng)的OS中,進(jìn)程是作為獨(dú)立調(diào)度②而在引入線程的OS中,已把線程作為調(diào)度和分派(2)并發(fā)性①在引入線程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線②不同進(jìn)程中的線程也能并發(fā)執(zhí)行,這使得OS具有更好的并發(fā)性,從而能更加有效地提高(3)擁有資源(4)獨(dú)立性(5)系統(tǒng)開銷(6)支持多處理機(jī)系統(tǒng)3.線程的狀態(tài)和線程控制塊(1)線程運(yùn)行的三個(gè)狀態(tài)②就緒狀態(tài),指線程已具備了各種執(zhí)行條件,只須再獲得CPU便可立即執(zhí)(2)線程控制塊TCB如同每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊一樣,系統(tǒng)也為每個(gè)線程配置了一個(gè)線程控制塊T⑦堆棧指針,在TCB中,也須設(shè)置兩個(gè)指向堆棧的指針:指向用戶自己堆棧的指針和指向(3)多線程OS中的進(jìn)程屬性①進(jìn)程是一個(gè)可擁有資源的基本單位在多線程OS中,進(jìn)程仍是作為系統(tǒng)資源分配的基本單位,任一進(jìn)程所擁有的資源都包括:用戶的地址空間、實(shí)現(xiàn)進(jìn)程(線程)間同步和通信的機(jī)制、已打開的文件和已申請(qǐng)到的I/程為這些線程提供資源及運(yùn)行環(huán)境,使它們能并發(fā)在多線程OS中,是把線程作為獨(dú)立運(yùn)行(或稱調(diào)度)的基本單位。此時(shí)的進(jìn)程已不再是一1線程的實(shí)現(xiàn)方式(1)內(nèi)核支持線程KST(KernelSupportedThreads)①優(yōu)點(diǎn)a.在多處理器系統(tǒng)中,內(nèi)核能夠同時(shí)調(diào)度同一進(jìn)b.如果進(jìn)程中的一個(gè)線程被阻塞了,內(nèi)核可以調(diào)度該進(jìn)程中的其它線程占有c.內(nèi)核支持線程具有很小的數(shù)據(jù)結(jié)構(gòu)和堆棧,線程的切換比d.內(nèi)核本身也可以采用多線程技術(shù),可以提高系統(tǒng)的執(zhí)行速度和效率。②缺點(diǎn)(2)用戶級(jí)線程ULT(UserLevelThreads)①優(yōu)點(diǎn)a.線程切換不需要轉(zhuǎn)換到內(nèi)核空間b.調(diào)度算法可以是進(jìn)程專用的在不干擾OS調(diào)度的情況下,不同的進(jìn)程可以根據(jù)自身需要選擇不同的調(diào)度算法,對(duì)自線程進(jìn)行管理和調(diào)度,而與OS的低級(jí)調(diào)度算法是無(wú)關(guān)的。c.用戶級(jí)線程的實(shí)現(xiàn)與OS平臺(tái)無(wú)關(guān)因?yàn)閷?duì)于線程管理的代碼是屬于用戶程序的一部分,所有的應(yīng)用程序都可以②缺點(diǎn)a.系統(tǒng)調(diào)用的阻塞問(wèn)題b.在單純的用戶級(jí)線程實(shí)現(xiàn)方式中,多線程應(yīng)用不能利用多處理機(jī)進(jìn)行多重處理的優(yōu)點(diǎn),內(nèi)核每次分配給一個(gè)進(jìn)程的僅有一個(gè)CPU,因此,進(jìn)程中僅有一個(gè)線程能執(zhí)行,在該線程放棄CPU之前,其它線程只能等待。(3)組合方式組合方式多線程機(jī)制能夠結(jié)合KST和ULT兩者的優(yōu)點(diǎn),并克服了其各自的不足。由于用戶即將用戶線程映射到一個(gè)內(nèi)核控制線程。如圖2-17(a)所示,這些用戶線程一般屬于一個(gè)b.優(yōu)點(diǎn)即將每一個(gè)用戶級(jí)線程映射到一個(gè)內(nèi)核支持線程。如圖2-17(b)所示,為每一個(gè)用戶線程b.優(yōu)點(diǎn)c.缺點(diǎn)a.定義即將許多用戶線程映射到同樣數(shù)量或更少數(shù)量的內(nèi)核線程上。如圖2-17(c)所示,內(nèi)核控b.優(yōu)點(diǎn)圖2-17多線程模型2.線程的實(shí)現(xiàn)(1)內(nèi)核支持線程的實(shí)現(xiàn)便為它分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA(PerTaskDataArea),其中包括若干個(gè)線程控制塊TCB空間,如圖2-18所示。在每一個(gè)TCB中可保存線程標(biāo)識(shí)符、優(yōu)先級(jí)、線程運(yùn)行的CPU狀圖2-18任務(wù)數(shù)據(jù)區(qū)空間(2)用戶級(jí)線程的實(shí)現(xiàn)①運(yùn)行時(shí)系統(tǒng)(RuntimeSystem)“運(yùn)行時(shí)系統(tǒng)”實(shí)質(zhì)上是用于管理和控制線程的函數(shù)(過(guò)程)的集合,其中包括用于創(chuàng)建和撤這種線程又稱為輕型進(jìn)程LWP(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論