版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)方案一、復(fù)習(xí)重點(diǎn)和要求第1章操作系統(tǒng)概述考核學(xué)生對(duì)操作系統(tǒng)的定義、主要功能、主要類型、操作系統(tǒng)的特征以及分時(shí)概念等內(nèi)容的學(xué)習(xí)情況?!菊莆铡?.操作系統(tǒng)的概念操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件(或程序集合),是用戶與計(jì)算機(jī)之間的接口。記憶要點(diǎn):操作系統(tǒng)是什么——是系統(tǒng)軟件;操作系統(tǒng)管什么——控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種資源;操作系統(tǒng)有何用——擴(kuò)充硬件功能,方便用戶使用。2.操作系統(tǒng)的主要功能操作系統(tǒng)的五大主要功能:存儲(chǔ)管理、進(jìn)程和處理機(jī)管理、文件管理、設(shè)備管理、用戶接口管理?!纠斫狻坎僮飨到y(tǒng)的特征:并發(fā)、共享和異步性。理解模擬:并發(fā)——“大家都前進(jìn)了”;共享——“一件東西大家用”;異步性——“你走我停”,“走走停?!?。操作系統(tǒng)的主要類型操作系統(tǒng)的主要類型有:多道批處理系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、個(gè)人機(jī)操作系統(tǒng)、分布式系統(tǒng)和嵌入式操作系統(tǒng)。UNIX系統(tǒng)是著名的分時(shí)系統(tǒng)。分時(shí)概念:主要是指若干并發(fā)程序?qū)PU時(shí)間的共享?!玖私狻坎僮飨到y(tǒng)的形成;分時(shí)和實(shí)時(shí)操作系統(tǒng)的特點(diǎn);操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位:是裸機(jī)之上的第一層軟件,是建立其他所有軟件的基礎(chǔ)。操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì):整體結(jié)構(gòu)、層次結(jié)構(gòu)、虛擬機(jī)結(jié)構(gòu)和客戶機(jī)-服務(wù)器結(jié)構(gòu)。操作系統(tǒng)為用戶提供的三種用戶接口:圖形用戶接口、命令行接口和程序接口。系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核與用戶程序、應(yīng)用程序之間的接口。在UNIX/Linux系統(tǒng),系統(tǒng)調(diào)用以C函數(shù)的形式出現(xiàn)。第2章進(jìn)程管理考核學(xué)生對(duì)進(jìn)程定義、進(jìn)程的狀態(tài)及其轉(zhuǎn)換、進(jìn)程的組成、競(jìng)爭(zhēng)條件和臨界區(qū)、進(jìn)程的同步與互斥、信號(hào)量和P、V操作及其一般應(yīng)用、死鎖的概念和產(chǎn)生死鎖的必要條件等內(nèi)容學(xué)習(xí)情況。【掌握】進(jìn)程的定義:進(jìn)程是程序在并發(fā)環(huán)境中的執(zhí)行過(guò)程。進(jìn)程與程序的主要區(qū)別。進(jìn)程最基本的屬性是動(dòng)態(tài)性和并發(fā)性。進(jìn)程的狀態(tài)及其轉(zhuǎn)換進(jìn)程的3種基本狀態(tài)是:運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài)。掌握教材38頁(yè)的進(jìn)程狀態(tài)及其轉(zhuǎn)換圖。進(jìn)程的同步與互斥的概念??梢院?jiǎn)單理解為:同步是協(xié)作,互斥是競(jìng)爭(zhēng)。信號(hào)量和P、V操作及其一般應(yīng)用。運(yùn)用信號(hào)量機(jī)制和P、V操作,解決并發(fā)進(jìn)程一般的互斥和同步問(wèn)題。解決此類問(wèn)題的一般方式:根據(jù)問(wèn)題給出的條件,確定進(jìn)程有幾個(gè)或幾類;確定進(jìn)程間的制約關(guān)系——是互斥,還是同步;各相關(guān)進(jìn)程間通過(guò)什么信號(hào)量實(shí)現(xiàn)彼此的制約,標(biāo)明信號(hào)量的含義和初值;用P、V操作寫(xiě)出相應(yīng)的代碼段;驗(yàn)證代碼的正確性:設(shè)以不同的次序運(yùn)行各進(jìn)程,是否能保證問(wèn)題的圓滿解決。切忌按固定順序執(zhí)行各進(jìn)程?!纠斫狻慷嗟莱绦蛟O(shè)計(jì)概念及其優(yōu)點(diǎn)。進(jìn)程的一般組成,應(yīng)深入理解進(jìn)程控制塊的作用。每個(gè)進(jìn)程有惟一的進(jìn)程控制塊。Linux進(jìn)程管理的基本命令:ps、kill、sleep。理解進(jìn)程臨界資源和臨界區(qū)的概念,進(jìn)程進(jìn)入臨界區(qū)的調(diào)度原則。信號(hào)量概念,P、V操作執(zhí)行的動(dòng)作。死鎖的概念;死鎖的4個(gè)必要條件:互斥條件、不可搶占條件、占有且申請(qǐng)條件、循環(huán)等待條件?!玖私狻窟M(jìn)程間的3種高級(jí)通信:共享內(nèi)存、管道文件和消息傳遞。第3章處理機(jī)調(diào)度考核學(xué)生對(duì)作業(yè)狀態(tài)、作業(yè)調(diào)度和進(jìn)程調(diào)度的功能、性能評(píng)價(jià)標(biāo)準(zhǔn)、常用調(diào)度算法、Linux常用調(diào)度命令、中斷處理過(guò)程、shell命令執(zhí)行過(guò)程等內(nèi)容的學(xué)習(xí)情況?!菊莆铡孔鳂I(yè)調(diào)度和進(jìn)程調(diào)度的功能作業(yè)調(diào)度的功能見(jiàn)教材85頁(yè),進(jìn)程調(diào)度的功能見(jiàn)教材86頁(yè)。在一般操作系統(tǒng)中,進(jìn)程調(diào)度是必須具備的。常用調(diào)度算法掌握三種基本調(diào)度算法(先來(lái)先服務(wù)法、時(shí)間片輪轉(zhuǎn)法、優(yōu)先級(jí)法)的實(shí)現(xiàn)思想,并能進(jìn)行評(píng)價(jià)指標(biāo)的計(jì)算。要求:能利用圖表形式列出各作業(yè)或進(jìn)程的有關(guān)時(shí)間值,如到達(dá)時(shí)間、運(yùn)行時(shí)間、開(kāi)始時(shí)間、完成時(shí)間等,利用評(píng)價(jià)公式計(jì)算出各指標(biāo)的值,如周轉(zhuǎn)時(shí)間、平均周轉(zhuǎn)時(shí)間。【理解】作業(yè)的四種狀態(tài):提交、后備、執(zhí)行和完成。作業(yè)調(diào)度與進(jìn)程調(diào)度的關(guān)系。簡(jiǎn)單比喻:作業(yè)調(diào)度是演員上場(chǎng)前的準(zhǔn)備,進(jìn)程調(diào)度是讓演員上場(chǎng)表演。調(diào)度性能評(píng)價(jià)標(biāo)準(zhǔn)評(píng)價(jià)調(diào)度算法的指標(biāo):吞吐量、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間、平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。中斷處理過(guò)程:保存現(xiàn)場(chǎng)、分析原因、處理中斷和中斷返回。shell命令的一般執(zhí)行過(guò)程?!玖私狻空{(diào)度的三個(gè)級(jí)別:高級(jí)調(diào)度、中級(jí)調(diào)度和低級(jí)調(diào)度,其中高級(jí)調(diào)度又稱作業(yè)調(diào)度,低級(jí)調(diào)度又稱進(jìn)程調(diào)度。調(diào)度策略的選擇。中斷概念中斷是指CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件做出的一種反應(yīng),它使CPU暫停正在執(zhí)行的程序,保留現(xiàn)場(chǎng)后自動(dòng)執(zhí)行相應(yīng)的處理程序,處理該事件后,如被中斷進(jìn)程的優(yōu)先級(jí)最高,則返回?cái)帱c(diǎn)繼續(xù)執(zhí)行被“打斷”的程序。第4章存儲(chǔ)管理考核學(xué)生對(duì)重定位、分區(qū)法、分頁(yè)的概念、虛擬存儲(chǔ)概念、請(qǐng)求分頁(yè)存儲(chǔ)管理技術(shù)、常用頁(yè)面置換算法?!菊莆铡空莆找韵赂拍睿哼壿嫷刂?、物理地址、邏輯地址空間、物理地址空間、重定位、靜態(tài)重定位、動(dòng)態(tài)重定位、碎片、虛擬存儲(chǔ)器。分區(qū)法分區(qū)法分為固定分區(qū)法和動(dòng)態(tài)分區(qū)法兩種。要掌握其基本原理、數(shù)據(jù)結(jié)構(gòu)、地址轉(zhuǎn)換、內(nèi)存空間的分配與釋放、分配算法、優(yōu)點(diǎn)和缺點(diǎn)。分頁(yè)技術(shù)掌握分頁(yè)存儲(chǔ)管理的基本方法,如地址表示、從邏輯地址到物理地址的轉(zhuǎn)換、數(shù)據(jù)結(jié)構(gòu)等。虛擬存儲(chǔ)器虛擬存儲(chǔ)器(VirtualMemory)是用戶能作為可編址內(nèi)存對(duì)待的虛擬存儲(chǔ)空間,它使用戶邏輯存儲(chǔ)器與物理存儲(chǔ)器分離,是操作系統(tǒng)給用戶提供的一個(gè)比真實(shí)內(nèi)存空間大得多的地址空間。虛擬存儲(chǔ)器的基本特征:虛擬擴(kuò)充、部分裝入、離散分配、多次對(duì)換。此外,虛擬存儲(chǔ)器的容量不是無(wú)限大的,它主要受到地址的字長(zhǎng)和外存容量的限制請(qǐng)求分頁(yè)技術(shù)請(qǐng)求分頁(yè)存儲(chǔ)管理技術(shù)是在單純分頁(yè)技術(shù)基礎(chǔ)上發(fā)展起來(lái)的,二者根本區(qū)別在于請(qǐng)求分頁(yè)提供虛擬存儲(chǔ)器。實(shí)現(xiàn)請(qǐng)求分頁(yè),系統(tǒng)必須提供一定容量的內(nèi)存和外存,以及支持分頁(yè)機(jī)制,還需要有頁(yè)表機(jī)制、缺頁(yè)中斷機(jī)構(gòu)以及地址轉(zhuǎn)換機(jī)構(gòu)。常用頁(yè)面置換算法能應(yīng)用先進(jìn)先出法(FIFO)、最佳置換法(OPT)、最近最少使用置換法(LRU)的實(shí)現(xiàn)思想計(jì)算頁(yè)面淘汰序列、缺頁(yè)次數(shù)以及缺頁(yè)率?!纠斫狻恐囟ㄎ话堰壿嫷刂忿D(zhuǎn)變?yōu)閮?nèi)存物理地址的過(guò)程稱作重定位。根據(jù)重定位的時(shí)機(jī),分為靜態(tài)重定位和動(dòng)態(tài)重定位。理解它們的概念、實(shí)現(xiàn)思想和優(yōu)缺點(diǎn)。?!玖私狻看鎯?chǔ)器層次了解典型的存儲(chǔ)器層次結(jié)構(gòu):寄存器、高速緩存、內(nèi)存、磁盤(pán)、磁帶。用戶程序的地址空間用戶程序的主要處理階段:編輯、編譯、鏈接、裝入和運(yùn)行。對(duì)換技術(shù)的實(shí)現(xiàn)思想。第5章文件系統(tǒng)考核學(xué)生對(duì)文件的分類、文件系統(tǒng)的功能、文件的邏輯組織和物理組織、文件的目錄結(jié)構(gòu)、文件存儲(chǔ)空間的管理、文件的存取控制等內(nèi)容的學(xué)習(xí)情況?!菊莆铡课募到y(tǒng)的功能一般說(shuō)來(lái),文件系統(tǒng)應(yīng)具備以下功能:文件管理、目錄管理、文件存儲(chǔ)空間的管理、文件的共享和保護(hù)、提供方便的接口。文件的邏輯組織和物理組織掌握文件的邏輯組織和物理組織的概念,以及相應(yīng)的組織形式。文件的目錄結(jié)構(gòu)文件目錄的基本組織方式有單級(jí)目錄、二級(jí)目錄、樹(shù)形目錄。文件存儲(chǔ)空間的管理文件存儲(chǔ)空間的管理是對(duì)外存空間中空閑盤(pán)塊的管理。對(duì)空閑盤(pán)塊的管理方式主要有:空閑盤(pán)塊表、空閑塊鏈接、位示圖和空閑塊成組鏈接等。【理解】文件的分類按用途分為:系統(tǒng)文件、庫(kù)文件、用戶文件;按文件中的數(shù)據(jù)形式分為:源文件、目標(biāo)文件、可執(zhí)行文件;按存取權(quán)限分為:只讀文件、讀寫(xiě)文件、可執(zhí)行文件;按保存時(shí)間分為:臨時(shí)文件、永久文件;在UNIX/Linux和MS-DOS系統(tǒng)中,文件分為普通文件、目錄文件和特殊文件。而普通文件又分為ASCII文件和二進(jìn)制文件兩種。文件的存取控制為了實(shí)現(xiàn)文件系統(tǒng)的安全,文件需要保護(hù)和保密。對(duì)文件的存取控制可分別由存取類型來(lái)設(shè)定,如讀、寫(xiě)、執(zhí)行等,也可以通過(guò)命名、口令、存取權(quán)限或者加密的方法實(shí)現(xiàn)對(duì)文件的保護(hù)和保密【了解】文件的鏈接Linux具有為一個(gè)文件起多個(gè)名字的功能,稱為鏈接。文件鏈接是實(shí)現(xiàn)文件共享的有效途徑,分為硬鏈接和符號(hào)鏈接。第6章設(shè)備管理考核學(xué)生對(duì)設(shè)備管理功能、設(shè)備分配技術(shù)、緩沖技術(shù)、SPOOLing系統(tǒng)、設(shè)備驅(qū)動(dòng)程序概念、磁盤(pán)調(diào)度和管理等內(nèi)容的學(xué)習(xí)情況。【掌握】設(shè)備管理的功能操作系統(tǒng)中設(shè)備管理的功能簡(jiǎn)單地說(shuō)就是:監(jiān)視設(shè)備狀態(tài);進(jìn)行設(shè)備分配;完成I/O操作;緩沖管理與地址轉(zhuǎn)換。設(shè)備分配技術(shù)設(shè)備分配技術(shù)主要有:獨(dú)占分配、共享分配和虛擬分配。獨(dú)占分配適用于獨(dú)占設(shè)備,系統(tǒng)效率低;共享分配適用于高速、大容量直接存儲(chǔ)的共享設(shè)備,設(shè)備的利用率較高;虛擬分配技術(shù)利用共享設(shè)備去實(shí)現(xiàn)獨(dú)占設(shè)備的功能,從而使獨(dú)占設(shè)備“感覺(jué)上”成為可共享的、快速的I/O設(shè)備。設(shè)備驅(qū)動(dòng)程序概念設(shè)備驅(qū)動(dòng)程序是控制設(shè)備動(dòng)作(如設(shè)備的打開(kāi)、關(guān)閉、讀、寫(xiě)等)的核心模塊,用來(lái)控制設(shè)備上數(shù)據(jù)的傳輸。磁盤(pán)調(diào)度算法常用的磁盤(pán)調(diào)度算法有:先來(lái)先服務(wù)法、最短尋道時(shí)間優(yōu)先法和電梯法。重點(diǎn)掌握前兩種磁盤(pán)調(diào)度算法?!纠斫狻吭O(shè)備獨(dú)立性設(shè)備獨(dú)立性是設(shè)備管理要達(dá)到的目標(biāo)之一,就是說(shuō),用戶程序應(yīng)與實(shí)際使用的物理設(shè)備無(wú)關(guān),由操作系統(tǒng)考慮因?qū)嶋H設(shè)備不同而需要使用不同的設(shè)備驅(qū)動(dòng)程序等問(wèn)題。SPOOLing系統(tǒng)實(shí)現(xiàn)虛擬分配最成功的技術(shù)是SPOOLing(外部設(shè)備聯(lián)機(jī)并行操作),也稱假脫機(jī)技術(shù)。SPOOLing系統(tǒng)用常駐內(nèi)存的進(jìn)程去模擬一臺(tái)外圍機(jī),用一臺(tái)主機(jī)就可完成脫機(jī)技術(shù)中需用三臺(tái)計(jì)算機(jī)完成的工作。理解SPOOLing系統(tǒng)的功能和實(shí)現(xiàn)思想。緩沖技術(shù)理解引入緩沖技術(shù)的主要目的和緩沖區(qū)的設(shè)置方式?!玖私狻吭O(shè)備分類和標(biāo)識(shí)了解設(shè)備的一般分類:存儲(chǔ)設(shè)備(塊設(shè)備),輸入/輸出設(shè)備(字符設(shè)備)。處理I/O請(qǐng)求的步驟現(xiàn)代操作系統(tǒng)發(fā)展考核學(xué)生對(duì)現(xiàn)代操作系統(tǒng)發(fā)展、嵌入式和分布式操作系統(tǒng)的一般知識(shí)的學(xué)習(xí)情況?!玖私狻壳度胧讲僮飨到y(tǒng)的概念、功能和特性嵌入式操作系統(tǒng)是嵌入式系統(tǒng)中使用的操作系統(tǒng)。作為一種操作系統(tǒng),它具有一般操作系統(tǒng)的基本功能,但是,由于嵌入式操作系統(tǒng)的硬件平臺(tái)和應(yīng)用環(huán)境與一般操作系統(tǒng)不同,所以它有自身的特點(diǎn),其的最大特點(diǎn)就是可定制性。分布式操作系統(tǒng)的概念、功能和特性。分布式操作系統(tǒng)是配置在分布式系統(tǒng)上的共用操作系統(tǒng)。分布式操作系統(tǒng)實(shí)施系統(tǒng)整體控制,對(duì)分布在各節(jié)點(diǎn)上的資源進(jìn)行統(tǒng)一管理,并且支持對(duì)遠(yuǎn)程進(jìn)程的通信協(xié)議。分布式操作系統(tǒng)要求實(shí)現(xiàn)用戶面前的虛擬單處理機(jī)系統(tǒng)到具體的分布式系統(tǒng)的映射。它有如下三個(gè)基本功能:進(jìn)程管理;通信管理和資源管理。未來(lái)操作系統(tǒng)應(yīng)具有的新特征。更強(qiáng)的分布式處理能力,更高的安全性和可靠性,符合開(kāi)放式模型,更方便的用戶界面。二、復(fù)習(xí)方法和建議1.復(fù)習(xí)方法(1)對(duì)計(jì)算機(jī)操作系統(tǒng)要從宏觀和微觀兩方面把握。宏觀方面:牢記操作系統(tǒng)的定義。理解操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位,明確操作系統(tǒng)進(jìn)行資源管理的五大功能,即:存儲(chǔ)管理、進(jìn)程和處理機(jī)管理、文件管理、設(shè)備管理和用戶接口管理。教材從第2章到第6章分別介紹了這些功能的具體內(nèi)涵。微觀方面:針對(duì)于進(jìn)程、處理機(jī)、存儲(chǔ)器、文件、設(shè)備管理,應(yīng)掌握操作系統(tǒng)是如何管理計(jì)算機(jī)的這些資源的,理解有關(guān)概念、原理、技術(shù)和方法。(2)重視課程實(shí)驗(yàn),培養(yǎng)動(dòng)手能力。操作系統(tǒng)的上機(jī)實(shí)驗(yàn)很重要,它不僅可以加深對(duì)課本知識(shí)的理解,而且可以學(xué)到很多實(shí)際工作的經(jīng)驗(yàn),這對(duì)于增強(qiáng)動(dòng)手技能和分析解決實(shí)際問(wèn)題的能力、提高專業(yè)素質(zhì)很有幫助。2.復(fù)習(xí)建議(1)在復(fù)習(xí)時(shí)圍繞操作系統(tǒng)是什么、干什么、如何干這一主線,分層次進(jìn)行總結(jié)。抓住重點(diǎn),掌握基本概念和基本方法,注意知識(shí)的前后連貫。操作系統(tǒng)中概念很多,要突出掌握重點(diǎn)概念,如:操作系統(tǒng)定義,進(jìn)程、重定位、死鎖等概念。要結(jié)合主教材和本復(fù)習(xí)指導(dǎo)中給出的教學(xué)要求,首先對(duì)每一章講的問(wèn)題是什么要搞清楚。然后,總結(jié)一下:針對(duì)該問(wèn)題引入什么概念,該概念用來(lái)解決什么基本問(wèn)題,采用什么基本方法予以解決。如果能把各章知識(shí)連貫起來(lái)、并結(jié)合上機(jī)體會(huì)進(jìn)行復(fù)習(xí),效果會(huì)更好。對(duì)于基本概念在理解其所指對(duì)象的基礎(chǔ)上,記住其定義的表述。如:進(jìn)程,是針對(duì)多道程序執(zhí)行時(shí)出現(xiàn)的問(wèn)題而引入的,記住其定義表述。然后,進(jìn)程與程序有何區(qū)別?有什么基本特征呢?如何體現(xiàn)其動(dòng)態(tài)性呢?進(jìn)程在活動(dòng)中彼此會(huì)發(fā)生什么關(guān)系呢?怎么解決呢?通過(guò)由表及里地分析,就便于掌握知識(shí)要點(diǎn),盡量在理解的基礎(chǔ)上進(jìn)行記憶。對(duì)于操作系統(tǒng)的基本概念應(yīng)掌握其實(shí)質(zhì)是什么,是針對(duì)什么事物的,記住其表述要點(diǎn)。對(duì)于基本功能應(yīng)掌握其是解決什么問(wèn)題的,性能如何。對(duì)于基本方法和技術(shù)應(yīng)理解其如何解決問(wèn)題。(2)結(jié)合生活中的例子,體會(huì)操作系統(tǒng)的管理方法。操作系統(tǒng)許多管理方法都可以在日常生活中找到例子,學(xué)習(xí)時(shí)可以聯(lián)想日常生活中熟悉的管理示例反復(fù)體會(huì)操作系統(tǒng)的管理方法,以加深對(duì)問(wèn)題的理解。如程序和進(jìn)程的關(guān)系,就像歌譜和唱歌;進(jìn)程的同步關(guān)系就像跑接力賽;先來(lái)先服務(wù)算法如同排隊(duì)買(mǎi)票;等等。(3)注重平時(shí)練習(xí),加強(qiáng)自主學(xué)習(xí)能力。平時(shí)應(yīng)認(rèn)真、獨(dú)立地完成課后習(xí)題和網(wǎng)上的自測(cè)題,正確地使用答案。在復(fù)習(xí)時(shí)應(yīng)把練習(xí)再?gòu)?fù)習(xí)一遍,掌握做題的規(guī)律和技巧,特別對(duì)重點(diǎn)要求的內(nèi)容和解題出現(xiàn)過(guò)錯(cuò)誤的地方應(yīng)格外注意。根據(jù)教學(xué)大綱要求,考試難度不會(huì)超出規(guī)定范圍。對(duì)基本內(nèi)容應(yīng)牢固掌握,并能進(jìn)行適當(dāng)?shù)仂`活應(yīng)用。3.復(fù)習(xí)思考為什么要學(xué)習(xí)操作系統(tǒng)?(1)選擇操作系統(tǒng)。現(xiàn)代計(jì)算機(jī)系統(tǒng)中,往往配備多種操作系統(tǒng)以滿足不同的用途,通過(guò)學(xué)習(xí)可以了解不同類型操作系統(tǒng)的用途,有助于我們選擇合適的操作系統(tǒng)為用戶服務(wù)。(2)分析操作系統(tǒng)。了解操作系統(tǒng)的結(jié)構(gòu)和功能,可以較為準(zhǔn)確地發(fā)現(xiàn)和解決問(wèn)題,至少能確定問(wèn)題位置,通知操作系統(tǒng)的生產(chǎn)商來(lái)處理。分析和研究操作系統(tǒng),不知道操作系統(tǒng)的基本原理是難以完成的。(3)設(shè)計(jì)操作系統(tǒng)。針對(duì)現(xiàn)實(shí)工作任務(wù)的需要,能設(shè)計(jì)或擴(kuò)充現(xiàn)有操作系統(tǒng),這是學(xué)習(xí)操作系統(tǒng)的最高層次,需要扎實(shí)的計(jì)算機(jī)科學(xué)和技術(shù)的基本理論和基礎(chǔ)知識(shí),特別是操作系統(tǒng)的基本原理、技術(shù)和方法。(4)操作系統(tǒng)中實(shí)用的資源管理方法和技術(shù),可以應(yīng)用于其他的管理和控制領(lǐng)域。有人說(shuō)“操作系統(tǒng)是計(jì)算機(jī)技術(shù)和管理技術(shù)的結(jié)合”,如何在現(xiàn)有計(jì)算機(jī)硬件條件下通過(guò)軟件達(dá)到目標(biāo)并努力實(shí)現(xiàn)高效性,如何在空間和時(shí)間中權(quán)衡,機(jī)制與策略,等等,操作系統(tǒng)管理資源的思路和方法體現(xiàn)了現(xiàn)實(shí)生活中的管理技術(shù)。1.1本章知識(shí)點(diǎn)本章的內(nèi)容描述了計(jì)算機(jī)操作系統(tǒng)的概貌,如什么是操作系統(tǒng),它的主要功能和主要類型,操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。這一章在全書(shū)中起著提綱挈領(lǐng)的作用,后面的各個(gè)章節(jié)將分別對(duì)操作系統(tǒng)的各項(xiàng)功能做詳細(xì)剖析。學(xué)好第一章對(duì)于我們從總體上把握操作系統(tǒng)有著指導(dǎo)作用。本章的主要知識(shí)點(diǎn)為:(1)操作系統(tǒng)的定義一個(gè)完整的計(jì)算機(jī)系統(tǒng)由硬件和軟件兩大部分組成。硬件是計(jì)算機(jī)物理裝置本身,是計(jì)算機(jī)軟件運(yùn)行的基礎(chǔ);簡(jiǎn)單地說(shuō),軟件是計(jì)算機(jī)執(zhí)行的程序,軟件分為系統(tǒng)軟件、應(yīng)用軟件和支撐軟件三大類。操作系統(tǒng)的定義如下:操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件(或程序集合),是用戶與計(jì)算機(jī)之間的接口。(2)操作系統(tǒng)的主要功能操作系統(tǒng)作為計(jì)算機(jī)基本的系統(tǒng)軟件,具有五大功能,分別是:存儲(chǔ)管理、進(jìn)程和處理機(jī)管理、文件管理、設(shè)備管理和用戶接口管理。教材從第2章到第6章將分別介紹這些主要功能。(3)操作系統(tǒng)的主要類型操作系統(tǒng)在發(fā)展中形成了以下類型,它們是批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)、嵌入式操作系統(tǒng)、個(gè)人機(jī)操作系統(tǒng)等。其中前三種屬于傳統(tǒng)的操作系統(tǒng)類型,后面的操作系統(tǒng)類型是隨著計(jì)算機(jī)網(wǎng)絡(luò)、分布式處理等新技術(shù)的應(yīng)用而產(chǎn)生的,屬于現(xiàn)代操作系統(tǒng)。(4)操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)一般說(shuō)來(lái),操作系統(tǒng)有如下四種結(jié)構(gòu):整體結(jié)構(gòu),層次結(jié)構(gòu),虛擬機(jī)結(jié)構(gòu)和客戶機(jī)-服務(wù)器結(jié)構(gòu)。它們?cè)谠O(shè)計(jì)上各有優(yōu)缺點(diǎn)。UNIX系統(tǒng)和Linux系統(tǒng)是當(dāng)代最著名的多用戶、多進(jìn)程、多任務(wù)的分時(shí)操作系統(tǒng)。本章對(duì)它們的發(fā)展歷史、主要特點(diǎn)以及內(nèi)核的結(jié)構(gòu)都進(jìn)行了介紹。1.2典型例題解析【例1】什么是操作系統(tǒng)?答案操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件(或程序集合),是用戶與計(jì)算機(jī)之間的接口。分析操作系統(tǒng)作為本課程最重要的概念,同學(xué)們一定要牢記??梢詮娜齻€(gè)方面理解這個(gè)概念,然后在理解的基礎(chǔ)上進(jìn)行記憶。(1)操作系統(tǒng)是系統(tǒng)軟件。(2)對(duì)內(nèi),操作系統(tǒng)控制和管理各種資源,有效地組織多道程序運(yùn)行。被計(jì)算機(jī)系統(tǒng)工作時(shí)所引用的一切客體都稱為資源。這里所說(shuō)的客體可能是處理機(jī)、設(shè)備、內(nèi)存、外存等硬件,也可能是程序和數(shù)據(jù)等軟件。(3)對(duì)外,操作系統(tǒng)是用戶與計(jì)算機(jī)之間的接口。它為用戶提供服務(wù),方便用戶使用計(jì)算機(jī)。如果同學(xué)們理解了操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位,那么對(duì)于學(xué)習(xí)這個(gè)概念有幫助?!纠?】在計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)是()。A.處于裸機(jī)之上的第一層軟件B.處于硬件之下的底層軟件C.處于應(yīng)用軟件之上的系統(tǒng)軟件D.處于系統(tǒng)軟件之上的用戶軟件答案A分析解答這道題主要是清楚操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位。在計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)處于一個(gè)承上啟下的地位,它對(duì)內(nèi)管理計(jì)算機(jī)的各種軟硬件資源(文件、作業(yè)、存儲(chǔ)器、設(shè)備、進(jìn)程),對(duì)外向用戶提供良好界面的服務(wù),方便用戶使用計(jì)算機(jī)。操作系統(tǒng)屬于系統(tǒng)軟件,但卻又不同與其他的系統(tǒng)軟件。從下圖可以看出,操作系統(tǒng)緊貼硬件,是裸機(jī)之上的第一層軟件,是對(duì)硬件的擴(kuò)充,其他系統(tǒng)軟件都建立在操作系統(tǒng)之上。而應(yīng)用軟件是建立在系統(tǒng)軟件之上的,更貼近用戶。操作系統(tǒng)是系統(tǒng)軟件,因此D是錯(cuò)誤的。C說(shuō)系統(tǒng)軟件在應(yīng)用軟件之上,這與圖中的情況相反,顯然不對(duì)。而硬件之下則沒(méi)有軟件存在,所以B根本就不正確。所以A才是正確答案。以上是用排除法來(lái)進(jìn)行選擇,如果同學(xué)們已經(jīng)理解了操作系統(tǒng)的地位,就可以直接選擇A,這樣可以節(jié)省答題的時(shí)間?!纠?】現(xiàn)代操作系統(tǒng)的基本特征是()、資源共享和異步性。A.多道程序設(shè)計(jì)B.中斷處理C.實(shí)現(xiàn)分時(shí)與實(shí)時(shí)處理D.程序的并發(fā)執(zhí)行答案D分析操作系統(tǒng)也是一個(gè)程序,不過(guò)與其他程序相比,它有三個(gè)非常重要的特性:即多任務(wù)并行、多用戶資源共享和異步性,把握操作系統(tǒng)的這些特性對(duì)于深刻理解操作系統(tǒng)會(huì)有很大幫助。并發(fā)性是指兩個(gè)或多個(gè)任務(wù)在同一給定的時(shí)間間隔中進(jìn)行。這是一個(gè)宏觀上的概念。以多道程序?yàn)槔?,這里的并發(fā)性不僅體現(xiàn)在用戶程序與用戶程序之間并發(fā)執(zhí)行,還體現(xiàn)在用戶程序與操作系統(tǒng)程序之間的并發(fā)執(zhí)行。因而從宏觀上看,這些程序是同時(shí)向前推進(jìn)的。資源共享是指多個(gè)任務(wù)共享計(jì)算機(jī)系統(tǒng)中的資源,如處理機(jī)、內(nèi)存、外存、設(shè)備和數(shù)據(jù)等。這種共享是在操作系統(tǒng)的控制下實(shí)現(xiàn)的。對(duì)于一個(gè)給定的計(jì)算機(jī)系統(tǒng),它的資源配置情況是相對(duì)固定的,而系統(tǒng)中多道程序?qū)τ谫Y源的需求則是變化的,且通常是不可預(yù)知的;操作系統(tǒng)要掌握系統(tǒng)中當(dāng)前資源的使用情況,并據(jù)此決定各程序進(jìn)入系統(tǒng)的次序以及使用資源的次序。異步性體現(xiàn)了多道程序環(huán)境下,程序執(zhí)行時(shí)“走走停?!钡男再|(zhì),更反應(yīng)出操作執(zhí)行現(xiàn)場(chǎng)的不可預(yù)知性?!纠?】以下不屬于操作系統(tǒng)具備的主要功能的是()。A.內(nèi)存管理B.文檔編輯C.中斷處理D.CPU調(diào)度答案B分析教材中介紹操作系統(tǒng)的主要功能有存儲(chǔ)管理、進(jìn)程和處理機(jī)管理、文件管理、設(shè)備管理和用戶接口管理,一般被認(rèn)為是操作系統(tǒng)的五大功能。對(duì)于本題,A顯然是操作系統(tǒng)的功能之一,C中斷處理是操作系統(tǒng)實(shí)施并發(fā)的基礎(chǔ),對(duì)于操作系統(tǒng)非常重要,是實(shí)現(xiàn)多道程序設(shè)計(jì)的前提。它就像機(jī)器中的齒輪,驅(qū)動(dòng)各部件的動(dòng)作,因此,許多人稱操作系統(tǒng)是由“中斷驅(qū)動(dòng)”的。C和D都屬于操作系統(tǒng)的進(jìn)程和處理機(jī)管理功能。只有B不是操作系統(tǒng)需要具備的主要功能,它一般是由應(yīng)用軟件提供的,如應(yīng)用軟件WindowsOffice的組件Word就提供了文檔編輯功能。【例5】操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心軟件。按功能特征的不同,可把操作系統(tǒng)分為([1])、([2])、([3])、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)基本類型。其中[1]的主要目標(biāo)是提高系統(tǒng)的吞吐率和效率,而[2]是一旦有處理請(qǐng)求和要求處理的數(shù)據(jù)時(shí),CPU就應(yīng)該立即處理該數(shù)據(jù)并將結(jié)果及時(shí)送回。A.單用戶系統(tǒng)B.批處理系統(tǒng)C.分時(shí)系統(tǒng)D.微機(jī)操作系統(tǒng)E.實(shí)時(shí)系統(tǒng)答案[1]B[2]E[3]C分析解答此題需要理解三種傳統(tǒng)操作系統(tǒng)類型的不同特點(diǎn)。批處理操作系統(tǒng)的主要特征可歸納為兩點(diǎn):“多道”和“成批”?!岸嗟馈笔侵竷?nèi)存中同時(shí)存在有多個(gè)正在處理的作業(yè),并且外存上還存放有大量的尚待處理的后備作業(yè)?!俺膳笔侵缸鳂I(yè)成批地進(jìn)入系統(tǒng),成批地處理,成批地離開(kāi)系統(tǒng);作業(yè)與作業(yè)之間的過(guò)渡由操作系統(tǒng)控制,不需用戶的干預(yù)。批處理系統(tǒng)的主要優(yōu)點(diǎn)是系統(tǒng)吞吐量大,資源利用率高;缺點(diǎn)是用戶作業(yè)的等待時(shí)間長(zhǎng),用戶與系統(tǒng)沒(méi)有交互能力。(吞吐量:在一段給定的時(shí)間內(nèi),計(jì)算機(jī)所能完成的總工作量。)分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)的主要區(qū)別如下:(1)關(guān)于交互性。分時(shí)系統(tǒng)中各個(gè)終端用戶與系統(tǒng)之間具有較強(qiáng)的交互性,而實(shí)時(shí)系統(tǒng)一般是專為某一領(lǐng)域使用的,對(duì)此要求不強(qiáng)。(2)關(guān)于可靠性。與分時(shí)系統(tǒng)相比,實(shí)時(shí)系統(tǒng)更加注重其穩(wěn)定性和可靠性。例如,對(duì)于航天控制系統(tǒng)來(lái)說(shuō),實(shí)時(shí)控制系統(tǒng)的故障可能帶來(lái)的后果是無(wú)法估量的。(3)關(guān)于響應(yīng)時(shí)間。分時(shí)系統(tǒng)對(duì)響應(yīng)時(shí)間的要求是以終端用戶能接受的時(shí)間為依據(jù)的;而實(shí)時(shí)系統(tǒng)對(duì)響應(yīng)時(shí)間一般有嚴(yán)格的要求,即能對(duì)外部請(qǐng)求做出及時(shí)的響應(yīng)和處理?!纠?】把下面左右兩列詞用線連起來(lái),形成最恰當(dāng)?shù)拇钆?。?)Linux(A)層次結(jié)構(gòu)(2)UNIX(B)客戶機(jī)-服務(wù)器結(jié)構(gòu)(3)IBMVM/370(C)整體結(jié)構(gòu)(4)WindowsXP(D)虛擬機(jī)結(jié)構(gòu)答案(1)-(C),(2)-(A),(3)-(D),(4)-(B)。分析左側(cè)列出的是一些計(jì)算機(jī)操作系統(tǒng),右側(cè)列出的是操作系統(tǒng)的結(jié)構(gòu)。一般說(shuō)來(lái),操作系統(tǒng)有四種結(jié)構(gòu):整體結(jié)構(gòu),層次結(jié)構(gòu),虛擬機(jī)結(jié)構(gòu)和客戶機(jī)-服務(wù)器結(jié)構(gòu)。Linux是采用整體結(jié)構(gòu)的操作系統(tǒng),即所有的內(nèi)核系統(tǒng)功能都包含在一個(gè)大型的內(nèi)核軟件之中。UNIX系統(tǒng)的核心層采用的是層次結(jié)構(gòu)。Windows系列操作系統(tǒng)采用微內(nèi)核技術(shù),盡可能地使操作系統(tǒng)保持最小的核心,并由核心來(lái)負(fù)責(zé)處理客戶和服務(wù)器之間的通信。IBMVM/370系統(tǒng)是虛擬機(jī)結(jié)構(gòu)的一個(gè)典型實(shí)例。1.3練習(xí)題一、選擇題(選擇一個(gè)正確答案的代碼填入括號(hào)中)1.一個(gè)完整的計(jì)算機(jī)系統(tǒng)是由()組成的。A.硬件B.軟件C.硬件和軟件D.用戶程序2.在計(jì)算機(jī)系統(tǒng)中,控制和管理各種資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件稱作()。A.文件系統(tǒng)B.操作系統(tǒng)C.網(wǎng)絡(luò)管理系統(tǒng)D.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)3.按照所起的作用和需要的運(yùn)行環(huán)境,操作系統(tǒng)屬于()。A.用戶軟件B.應(yīng)用軟件C.支撐軟件D.系統(tǒng)軟件4.操作系統(tǒng)的基本職能是()。A.提供功能強(qiáng)大的網(wǎng)絡(luò)管理工具B.提供用戶界面,方便用戶使用C.提供方便的可視化編輯程序D.控制和管理系統(tǒng)內(nèi)各種資源,有效地組織多道程序的運(yùn)行5.為用戶分配主存空間,保護(hù)主存中的程序和數(shù)據(jù)不被破壞,提高主存空間的利用率。這屬于()。A.處理器管理B.存儲(chǔ)管理C.文件管理D.作業(yè)管理6.操作系統(tǒng)對(duì)緩沖區(qū)的管理屬于()的功能。A.處理機(jī)管理B.設(shè)備管理C.文件管理D.存儲(chǔ)器管理7.操作系統(tǒng)內(nèi)核與用戶程序、應(yīng)用程序之間的接口是()。A.shell命令B.圖形界面C.系統(tǒng)調(diào)用D.C語(yǔ)言函數(shù)8.為了使系統(tǒng)中所有的用戶都能得到及時(shí)的響應(yīng),該操作系統(tǒng)應(yīng)該是()。A.多道批處理系統(tǒng)B.分時(shí)系統(tǒng)C.實(shí)時(shí)系統(tǒng)D.網(wǎng)絡(luò)系統(tǒng)9.在實(shí)時(shí)系統(tǒng)中,一旦有處理請(qǐng)求和要求處理的數(shù)據(jù)時(shí),CPU就應(yīng)該立即處理該數(shù)據(jù)并將結(jié)果及時(shí)送回。下面屬于實(shí)時(shí)系統(tǒng)的是()。A.計(jì)算機(jī)激光照排系統(tǒng)B.辦公自動(dòng)化系統(tǒng)C.計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)D.航空訂票系統(tǒng)10.下面不屬于分時(shí)系統(tǒng)特征的是()。A.為多用戶設(shè)計(jì)B.需要中斷機(jī)構(gòu)及時(shí)鐘系統(tǒng)的支持C.方便用戶與計(jì)算機(jī)的交互D.可靠性比實(shí)時(shí)系統(tǒng)要求高11.以下著名的操作系統(tǒng)中,屬于多用戶、分時(shí)系統(tǒng)的是()。A.DOS系統(tǒng)B.WindowsNT系統(tǒng)C.UNIX系統(tǒng)D.OS/2系統(tǒng)二、判斷題(正確的劃√,錯(cuò)誤的劃×。)1.操作系統(tǒng)是用戶與計(jì)算機(jī)之間的接口。()2.操作系統(tǒng)是系統(tǒng)軟件中的一種,在進(jìn)行系統(tǒng)安裝時(shí)可以先安裝其它軟件,然后再裝操作系統(tǒng)。()3.操作系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)的控制管理中心,它對(duì)其它軟件具有支配權(quán)利。因而,操作系統(tǒng)建立在其它軟件之上。()4.在UNIX/Linux系統(tǒng)上,系統(tǒng)調(diào)用以C函數(shù)的形式出現(xiàn)。()5.雖然分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但實(shí)時(shí)系統(tǒng)對(duì)可靠性的要求更高。()6.UNIX操作系統(tǒng)是采用微內(nèi)核方法實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)的。()參考答案:一、CBDDBBCBDDC二、1、4、5是正確的。2、(╳)安裝操作系統(tǒng)時(shí)必須先安裝操作系統(tǒng),然后再安裝其它軟件3、(╳)其它軟件建立在操作系統(tǒng)之上。6、(╳)UNIX操作系統(tǒng)采用的是層次結(jié)構(gòu)第2章進(jìn)程管理輔導(dǎo)與自測(cè)2.1本章知識(shí)點(diǎn)進(jìn)程是操作系統(tǒng)中最基本、最重要的概念之一,在計(jì)算機(jī)系統(tǒng)中,進(jìn)程不僅是最基本的并發(fā)執(zhí)行的單位,而且也是分配資源的基本單位。引入進(jìn)程這個(gè)概念,對(duì)于我們理解、描述和設(shè)計(jì)操作系統(tǒng)具有重要意義。本章的主要知識(shí)點(diǎn)為:(1)進(jìn)程的概念進(jìn)程是程序在并發(fā)環(huán)境中的執(zhí)行過(guò)程。進(jìn)程最根本的屬性是動(dòng)態(tài)性和并發(fā)性。要注意進(jìn)程與程序的區(qū)別。進(jìn)程的五個(gè)基本特征是:動(dòng)態(tài)性、并發(fā)性、獨(dú)立性、制約性、結(jié)構(gòu)性。一個(gè)進(jìn)程實(shí)體通常由程序、數(shù)據(jù)、棧和進(jìn)程控制塊(PCB)這四部分組成。進(jìn)程控制塊是進(jìn)程組成中最關(guān)鍵的部分。每個(gè)進(jìn)程有唯一的進(jìn)程控制塊。操作系統(tǒng)根據(jù)PCB對(duì)進(jìn)程實(shí)施控制和管理。進(jìn)程的動(dòng)態(tài)、并發(fā)等特征是利用PCB表現(xiàn)出來(lái)的。為了對(duì)所有進(jìn)程進(jìn)行有效地管理,常將各進(jìn)程的PCB用適當(dāng)?shù)姆绞浇M織起來(lái)。一般說(shuō)來(lái),進(jìn)程隊(duì)列有以下幾種方式:線性方式、鏈接方式和索引方式。進(jìn)程有三個(gè)基本狀態(tài):運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài)。在一定的條件下,進(jìn)程的狀態(tài)將發(fā)生轉(zhuǎn)換。下圖所示為進(jìn)程的狀態(tài)及其轉(zhuǎn)換。運(yùn)行態(tài)運(yùn)行態(tài)分配到CPU時(shí)間片到等待某事件發(fā)生所等待的事件發(fā)生阻塞態(tài)就緒態(tài)圖進(jìn)程狀態(tài)及其轉(zhuǎn)換(2)進(jìn)程管理就如同人類的族系一樣,系統(tǒng)中眾多的進(jìn)程也存在族系關(guān)系:由父進(jìn)程創(chuàng)建子進(jìn)程,子進(jìn)程再創(chuàng)建子進(jìn)程,從而構(gòu)成一棵樹(shù)形的進(jìn)程族系圖。進(jìn)程作為有“生命期”的動(dòng)態(tài)過(guò)程,對(duì)它們的實(shí)施管理主要包括:創(chuàng)建進(jìn)程、撤消進(jìn)程、掛起進(jìn)程、恢復(fù)進(jìn)程、改變進(jìn)程優(yōu)先級(jí)、封鎖進(jìn)程、喚醒進(jìn)程、調(diào)度進(jìn)程等。在Linux系統(tǒng)中,進(jìn)程有5種狀態(tài)。進(jìn)程分為系統(tǒng)進(jìn)程和用戶進(jìn)程。其中,系統(tǒng)進(jìn)程只運(yùn)行在內(nèi)核模式下;用戶進(jìn)程既可以在用戶模式下運(yùn)行,也可以通過(guò)系統(tǒng)調(diào)用等運(yùn)行在內(nèi)核模式下。Linux的task_struct結(jié)構(gòu)相當(dāng)于其進(jìn)程控制塊。Linux系統(tǒng)對(duì)進(jìn)程的操作常用命令有:ps、kill、sleep等。常用的系統(tǒng)調(diào)用有:fork,exec,wait,exit,getpid,sleep,nice等。(3)進(jìn)程通信進(jìn)程通信是指進(jìn)程間的信息交換。根據(jù)進(jìn)程間交換信息量的多少,分為高級(jí)進(jìn)程通信和低級(jí)進(jìn)程通信。進(jìn)程的同步與互斥是指進(jìn)程在推進(jìn)時(shí)的相互制約關(guān)系,屬于低級(jí)進(jìn)程通信。一般來(lái)說(shuō)同步反映了進(jìn)程之間的協(xié)作關(guān)系,往往指有幾個(gè)進(jìn)程共同完成一個(gè)任務(wù)時(shí)在時(shí)間次序上的某種限制,進(jìn)程相互之間各自的存在及作用,通過(guò)交換信息完成通信。如接力比賽中一組隊(duì)員使用接力棒等。進(jìn)程互斥體現(xiàn)了進(jìn)程之間對(duì)資源的競(jìng)爭(zhēng)關(guān)系,這時(shí)進(jìn)程相互之間不一定清楚其它進(jìn)程的情況,往往指多個(gè)任務(wù)多個(gè)進(jìn)程間的通訊制約,因而使用更廣泛。如打籃球時(shí)雙方掙搶籃板球等。我們用信號(hào)量(Semaphore)及P,V操作來(lái)實(shí)現(xiàn)進(jìn)程的同步和互斥。生產(chǎn)者-消費(fèi)者問(wèn)題是經(jīng)典的進(jìn)程同步和互斥問(wèn)題。(4)死鎖死鎖是指多個(gè)進(jìn)程循環(huán)等待他方占有的資源而無(wú)限期地僵持下去的局面。計(jì)算機(jī)系統(tǒng)產(chǎn)生死鎖的根本原因就是資源有限且操作不當(dāng)。一種原因是競(jìng)爭(zhēng)資源引起的死鎖,另一種原因是由于進(jìn)程推進(jìn)順序不合適引發(fā)的死鎖。產(chǎn)生死鎖的四個(gè)必要條件是:互斥條件,不可搶占條件,占有且申請(qǐng)條件,循環(huán)等待條件。如果在計(jì)算機(jī)系統(tǒng)中同時(shí)具備這四個(gè)必要條件時(shí),那么會(huì)發(fā)生死鎖。一般地,解決死鎖的方法分為死鎖的預(yù)防、避免、檢測(cè)與恢復(fù)三種。2.2典型例題解析【例1】判斷題:并發(fā)是并行的不同表述,其原理相同。()答案×。分析并發(fā)是指多道程序的執(zhí)行在時(shí)間上是重疊的,一個(gè)程序的執(zhí)行尚未結(jié)束,另一個(gè)程序的執(zhí)行已經(jīng)開(kāi)始。但對(duì)單CPU系統(tǒng)而言,每一時(shí)刻只有一個(gè)程序在CPU上運(yùn)行(有可能此時(shí)其他的程序在進(jìn)行輸入、輸出)。也就是說(shuō),占有CPU的只能有一個(gè)程序。因此,并發(fā)實(shí)際上是“在宏觀上并行執(zhí)行,在微觀上串行執(zhí)行”。而并行是真正意義上的并行執(zhí)行,因此兩者的含義是不同的?!纠?】在操作系統(tǒng)中引入“進(jìn)程”概念的主要目的是()。A.改善用戶編程環(huán)境B.提高程序的運(yùn)行速度C.描述程序動(dòng)態(tài)執(zhí)行過(guò)程的性質(zhì)D.使程序與計(jì)算過(guò)程一一對(duì)應(yīng)答案C分析操作系統(tǒng)中多道程序的引入,使得它們?cè)诓l(fā)執(zhí)行時(shí)共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各道程序在執(zhí)行過(guò)程中就出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停停”的新?tīng)顟B(tài)。這些都是在程序的動(dòng)態(tài)過(guò)程中發(fā)生的。而程序本身是機(jī)器能夠翻譯或執(zhí)行的一組動(dòng)作或指令,它或者寫(xiě)在紙面上,或者存放在磁盤(pán)等介質(zhì)上,是靜止的。很顯然,直接從程序的字面上無(wú)法看出它什么時(shí)候運(yùn)行、什么時(shí)候停頓,也看不出它是否影響其它程序或者一定受其它程序的影響。因此,用程序這個(gè)靜態(tài)概念已不能如實(shí)反映程序并發(fā)執(zhí)行過(guò)程中的這些特征。為此,人們引入進(jìn)程的概念來(lái)描述程序動(dòng)態(tài)執(zhí)行過(guò)程的性質(zhì),這是引入“進(jìn)程”概念的主要目的?!纠?】下列進(jìn)程狀態(tài)的轉(zhuǎn)換中,不正確的是()。A.就緒?阻塞B.運(yùn)行?就緒C.就緒?運(yùn)行D.阻塞?就緒答案A分析回答這道題要知道進(jìn)程的3種基本狀態(tài),以及它們之間的轉(zhuǎn)換關(guān)系。通過(guò)下圖可以看到,凡是圖中有箭頭指向的轉(zhuǎn)換都是可行的,而沒(méi)有箭頭指向的則不可能。因此A是不正確的。運(yùn)行態(tài)運(yùn)行態(tài)分配到CPU時(shí)間片到等待某事件發(fā)生所等待的事件發(fā)生阻塞態(tài)就緒態(tài)圖進(jìn)程狀態(tài)及其轉(zhuǎn)換如果有的同學(xué)記不住這張圖,那就從理解的角度進(jìn)行思考。首先要理解3種狀態(tài)的含義,然后再理解它們之間的轉(zhuǎn)換。例如:運(yùn)行的進(jìn)程能變成就緒嗎?可以,如果運(yùn)行進(jìn)程的時(shí)間片到了,就必修讓出CPU,轉(zhuǎn)換為就緒態(tài)。就緒的進(jìn)程能變成阻塞嗎?不可以,就緒態(tài)的進(jìn)程已經(jīng)具備了運(yùn)行條件,只在等待CPU,怎么可能還退回到還不具備運(yùn)行條件的阻塞態(tài)呢?因此,如果理解了,這張圖就可以自己畫(huà)出來(lái),并不需要死記硬背。【例4】進(jìn)程控制塊是描述進(jìn)程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),一個(gè)進(jìn)程()。A.可以有多個(gè)進(jìn)程控制塊B.可以和其他進(jìn)程共用一個(gè)進(jìn)程控制塊C.可以沒(méi)有進(jìn)程控制塊D.只能有唯一的進(jìn)程控制塊答案D分析進(jìn)程控制塊(PCB)是一個(gè)用于描述進(jìn)程動(dòng)態(tài)性質(zhì)的數(shù)據(jù)結(jié)構(gòu)。操作系統(tǒng)根據(jù)PCB對(duì)進(jìn)程實(shí)施控制和管理。進(jìn)程的動(dòng)態(tài)、并發(fā)等特征也是通過(guò)PCB表現(xiàn)出來(lái)的。進(jìn)程由程序、數(shù)據(jù)、棧和PCB構(gòu)成。構(gòu)成進(jìn)程的有關(guān)程序和數(shù)據(jù)集合是進(jìn)程得以存在的物質(zhì)基礎(chǔ),它們是進(jìn)程的實(shí)體;PCB用于標(biāo)識(shí)和刻畫(huà)實(shí)體的存在和變化,是進(jìn)程存在的唯一標(biāo)志。當(dāng)系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程時(shí),就為它建立一個(gè)PCB;當(dāng)進(jìn)程終止后,系統(tǒng)回收為其分配的PCB,該進(jìn)程在系統(tǒng)中就不存在了?!纠?】在執(zhí)行V操作時(shí),當(dāng)信號(hào)量的值(),應(yīng)釋放一個(gè)等待該信號(hào)量的進(jìn)程。A.小于0B.大于0C.小于等于0D.大于等于0答案C分析P,V操作能夠?qū)崿F(xiàn)對(duì)臨界區(qū)的管理要求。它由P操作原語(yǔ)和V操作原語(yǔ)組成(原語(yǔ)是不可中斷的過(guò)程),對(duì)信號(hào)量進(jìn)行操作,具體定義如下:P(S):①將信號(hào)量S的值減1,即S=S1;②如果S0,則該進(jìn)程繼續(xù)執(zhí)行;否則該進(jìn)程置為阻塞狀態(tài),排入阻塞隊(duì)列。V(S):①將信號(hào)量S的值加1,即S=S+1;②如果S>0,則該進(jìn)程繼續(xù)執(zhí)行;否則釋放隊(duì)列中第一個(gè)等待信號(hào)量的進(jìn)程。信號(hào)量的數(shù)據(jù)結(jié)構(gòu)為一個(gè)值和一個(gè)指針,指針指向等待該信號(hào)量的下一個(gè)進(jìn)程。信號(hào)量的值與相應(yīng)資源的使用情況有關(guān)。當(dāng)它的值大于0時(shí),表示當(dāng)前可用資源的數(shù)量;當(dāng)它的值小于0時(shí),其絕對(duì)值表示等待使用該資源的進(jìn)程個(gè)數(shù)。注意,信號(hào)量的值僅能由P,V操作來(lái)改變。一般來(lái)說(shuō),信號(hào)量S0時(shí),S表示可用資源的數(shù)量。執(zhí)行一次P操作意味著請(qǐng)求分配一個(gè)單位資源,因此S的值減1;當(dāng)S<0時(shí),表示已經(jīng)沒(méi)有可用資源,請(qǐng)求者必須等待別的進(jìn)程釋放該類資源,它才能運(yùn)行下去。而執(zhí)行一個(gè)V操作意味著釋放一個(gè)單位資源,因此S的值加1;若S0,表示有某些進(jìn)程正在等待該資源,因此要喚醒一個(gè)等待狀態(tài)的進(jìn)程,使之運(yùn)行下去。【例6】有9個(gè)生產(chǎn)者,6個(gè)消費(fèi)者,共享容量為8的緩沖區(qū)。在這個(gè)生產(chǎn)者-消費(fèi)者問(wèn)題中,互斥使用緩沖區(qū)的信號(hào)量mutex的初值應(yīng)該為()。A.1B.6C.8D.9答案A分析進(jìn)程的互斥是指當(dāng)有若干個(gè)進(jìn)程都要使用某一共享資源時(shí),任何時(shí)刻最多只允許一個(gè)進(jìn)程去使用,其它要使用該資源的進(jìn)程必須等待,直到占用資源者釋放了該資源。進(jìn)程的互斥體現(xiàn)了并發(fā)進(jìn)程之間訪問(wèn)共享資源時(shí)存在的競(jìng)爭(zhēng)關(guān)系。在計(jì)算機(jī)系統(tǒng)中必須互斥使用的資源很多,如讀卡機(jī)、磁帶機(jī)、打印機(jī)等硬件資源和一些公共變量、表格、隊(duì)列、數(shù)據(jù)等軟件資源。利用信號(hào)量和P,V操作實(shí)現(xiàn)進(jìn)程互斥的一般模型是:進(jìn)程P1進(jìn)程P2……進(jìn)程Pn………………P(mutex);P(mutex);P(mutex);臨界區(qū);臨界區(qū);臨界區(qū);V(mutex);V(mutex);V(mutex);……其中信號(hào)量mutex用于互斥,初值為1。使用P,V操作實(shí)現(xiàn)進(jìn)程互斥時(shí)應(yīng)該注意的是:(1)每個(gè)程序中用戶實(shí)現(xiàn)互斥的P、V操作必須成對(duì)出現(xiàn),先做P操作,進(jìn)臨界區(qū),后做V操作,出臨界區(qū)。若有多個(gè)分支,要認(rèn)真檢查其成對(duì)性。(2)互斥信號(hào)量的初值一般為1。此外,P、V操作應(yīng)分別緊靠臨界區(qū)的頭尾部,臨界區(qū)的代碼應(yīng)盡可能短,不能有死循環(huán)。在本題中,既然是問(wèn)互斥信號(hào)量,其初值應(yīng)為1,選項(xiàng)中的6,8,9都是迷惑答題者的,如果對(duì)同步和互斥不能很好地理解,就很難選擇?!纠?】?jī)蓚€(gè)進(jìn)程合作完成一個(gè)任務(wù),在并發(fā)執(zhí)行中,一個(gè)進(jìn)程要等待其合作伙伴發(fā)來(lái)信息,或者建立某個(gè)條件后再向前執(zhí)行,這種關(guān)系是進(jìn)程間的()關(guān)系。A.同步 B.互斥 C.競(jìng)爭(zhēng) D.合作答案A分析進(jìn)程的同步是指并發(fā)進(jìn)程之間存在一種制約關(guān)系,一個(gè)進(jìn)程的執(zhí)行依賴另一個(gè)進(jìn)程的消息,當(dāng)一個(gè)進(jìn)程沒(méi)有得到另一個(gè)進(jìn)程的消息時(shí)應(yīng)等待,直到消息到達(dá)才被喚醒。同步是進(jìn)程間共同完成一項(xiàng)任務(wù)時(shí)直接發(fā)生相互作用的關(guān)系。這樣的例子在日常生活中不勝枚舉,比如接力比賽中運(yùn)動(dòng)員的默契配合,工業(yè)生產(chǎn)中流水作業(yè)的每道工序的先后執(zhí)行,以及計(jì)算機(jī)系統(tǒng)中對(duì)一個(gè)緩沖區(qū)的讀和寫(xiě)等等。當(dāng)并發(fā)進(jìn)程存在協(xié)作的關(guān)系時(shí),必須互通消息,完成進(jìn)程的同步。能實(shí)現(xiàn)進(jìn)程同步的機(jī)制稱為同步機(jī)制,該機(jī)制能把其他進(jìn)程需要的消息發(fā)送出去,也能測(cè)試自己需要的消息是否到達(dá)。P,V操作是典型的同步機(jī)制之一。用一個(gè)信號(hào)量與一個(gè)消息聯(lián)系起來(lái),當(dāng)信號(hào)量的值為0時(shí),表示期望的消息尚未產(chǎn)生;當(dāng)信號(hào)量的值非0時(shí),表示期望的消息已經(jīng)存在。用P,V操作實(shí)現(xiàn)進(jìn)程同步時(shí),調(diào)用P操作測(cè)試消息是否到達(dá),調(diào)用V操作發(fā)送消息。使用PV操作實(shí)現(xiàn)進(jìn)程同步時(shí)應(yīng)該注意的是:(1)分析進(jìn)程間的制約關(guān)系,確定信號(hào)量種類。在保持進(jìn)程間有正確的同步關(guān)系情況下,哪個(gè)進(jìn)程先執(zhí)行,哪些進(jìn)程后執(zhí)行,彼此間通過(guò)什么資源(信號(hào)量)進(jìn)行協(xié)調(diào),從而明確要設(shè)置哪些信號(hào)量。(2)信號(hào)量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。(3)同一信號(hào)量的P、V操作要成對(duì)出現(xiàn),但它們分別在不同的進(jìn)程代碼中。本題中進(jìn)程的同步體現(xiàn)的是合作關(guān)系,但答案不能選D,要使用操作系統(tǒng)的術(shù)語(yǔ)“同步”?!纠?】設(shè)有一臺(tái)計(jì)算機(jī),有兩條I/O通道,分別接一臺(tái)卡片輸入機(jī)和一臺(tái)打印機(jī)??ㄆ瑱C(jī)把一疊卡片逐一輸入到緩沖區(qū)B1中,加工處理后再搬到緩沖區(qū)B2中,并在打印機(jī)上打印結(jié)果。問(wèn):①系統(tǒng)要設(shè)幾個(gè)進(jìn)程來(lái)完成這個(gè)任務(wù)?各自的工作是什么?②這些進(jìn)程間有什么樣的相互制約關(guān)系?③用P、V操作寫(xiě)出這些進(jìn)程的同步算法。分析我們畫(huà)一個(gè)草圖來(lái)幫助我們理解這道題:卡片機(jī)卡片機(jī)緩沖區(qū)B1打印機(jī)緩沖區(qū)B2輸入處理輸出從圖中可以看出,從“卡片機(jī)”到“打印機(jī)”共需要3個(gè)操作,即輸入、處理、輸出。這3個(gè)動(dòng)作就是完成任務(wù)的3個(gè)進(jìn)程。下面我們看看這些進(jìn)程之間有什么樣的制約關(guān)系。可以看出,這3個(gè)進(jìn)程之間是同步關(guān)系,合作完成從輸入到輸出的工作任務(wù)。對(duì)其中任何一個(gè)進(jìn)程,要處理好與其關(guān)聯(lián)的兩端設(shè)備的協(xié)調(diào)工作。以“輸入進(jìn)程”為例,它與卡片機(jī)和緩沖區(qū)B1關(guān)聯(lián),將卡片機(jī)的卡片輸入到緩沖區(qū)B1,在不考慮卡片機(jī)的情況下,就要考慮緩沖區(qū)的情況,即是滿還是空,是空緩沖區(qū),輸入進(jìn)程就可以輸入信息,如果緩沖區(qū)滿,則要等待“處理進(jìn)程”將B1中的信息取走,使之為空,輸入進(jìn)程才能繼續(xù)工作。依此類推,可以找出另外2個(gè)進(jìn)程的制約關(guān)系。一般來(lái)說(shuō),處理進(jìn)程同步需要2個(gè)信號(hào)量,“輸入進(jìn)程”和“處理進(jìn)程”同步,需要2個(gè)信號(hào)量,解決緩沖區(qū)B1的協(xié)調(diào)操作問(wèn)題;而“處理進(jìn)程”和“輸出進(jìn)程”同步,還需要2個(gè)信號(hào)量,解決緩沖區(qū)B2的協(xié)調(diào)操作問(wèn)題。因此,共需要4個(gè)信號(hào)量。本題中“處理進(jìn)程”的算法有一些難度,因?yàn)樗枰獏f(xié)調(diào)兩個(gè)緩沖區(qū)的工作,考慮的因素比較多,算法復(fù)雜些。答案①系統(tǒng)可設(shè)三個(gè)進(jìn)程來(lái)完成這個(gè)任務(wù):R進(jìn)程負(fù)責(zé)從卡片輸入機(jī)上讀入卡片信息,輸入到緩沖區(qū)B1中;C進(jìn)程負(fù)責(zé)從緩沖區(qū)B1中取出信息,進(jìn)行加工處理,之后將結(jié)果送到緩沖區(qū)B2中;P進(jìn)程負(fù)責(zé)從緩沖區(qū)B2中取出信息,并在打印機(jī)上印出。②R進(jìn)程受C進(jìn)程影響,B1放滿信息后R進(jìn)程要等待——等C進(jìn)程將其中信息全部取走,才能繼續(xù)讀入信息;C進(jìn)程受R進(jìn)程和P進(jìn)程的約束:B1中信息放滿后C進(jìn)程才可從中取出它們,且B2被取空后,C進(jìn)程才可將加工結(jié)果送入其中;P進(jìn)程受C進(jìn)程的約束:B2中信息放滿后P進(jìn)程才可從中取出它們,進(jìn)行打印。③信號(hào)量含義及初值:B1full——緩沖區(qū)B1滿,初值為0;B1empty——緩沖區(qū)B1空,初值為1;B2full——緩沖區(qū)B2滿,初值為0;B2empty——緩沖區(qū)B2空,初值為1; 說(shuō)明前面我們說(shuō)過(guò):信號(hào)量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。以本題為例,如果R進(jìn)程的算法如下:則信號(hào)量B1empty初值應(yīng)為1。表示B1緩沖區(qū)初始為空閑狀態(tài)。如果C進(jìn)程的算法如下: 則信號(hào)量B2empty初值應(yīng)為1。表示B2緩沖區(qū)初始為空閑狀態(tài)?!纠?】死鎖的四個(gè)必要條件中,無(wú)法破壞的是()。A.互斥條件B.不可搶占條件C.占有且申請(qǐng)條件D.循環(huán)等待條件答案A分析互斥條件、不可搶占條件、占有且申請(qǐng)條件和循環(huán)等待條件是死鎖發(fā)生時(shí)的4個(gè)必要條件,我們知道,只要破壞這4個(gè)必要條件中的任意一個(gè)條件,死鎖就不會(huì)發(fā)生。打破互斥條件,就是允許進(jìn)程同時(shí)訪問(wèn)某些資源。但是,有的資源是不允許被同時(shí)訪問(wèn)的,如打印機(jī)等,這是由資源本身的屬性所決定的,因此這種方法并無(wú)實(shí)用價(jià)值。而其他三個(gè)條件是完全可以破壞的。2.3練習(xí)題一、選擇題(選擇一個(gè)正確答案的代碼填入括號(hào)中)順序程序和并發(fā)程序的執(zhí)行相比,()。A.基本相同B.有點(diǎn)不同C.并發(fā)程序執(zhí)行總體上執(zhí)行時(shí)間快D.順序程序執(zhí)行總體上執(zhí)行時(shí)間快在單一處理機(jī)上,將執(zhí)行時(shí)間有重疊的幾個(gè)程序稱為()。A.順序程序B.多道程序C.并發(fā)程序D.并行程序在單CPU的系統(tǒng)中,若干程序的并發(fā)執(zhí)行是由()實(shí)現(xiàn)的。A.用戶B.程序自身C.進(jìn)程D.編譯程序進(jìn)程與程序之間有密切聯(lián)系,但又是不同的概念。二者的一個(gè)本質(zhì)區(qū)別是()。A.程序是靜態(tài)概念,進(jìn)程是動(dòng)態(tài)概念B.程序是動(dòng)態(tài)概念,進(jìn)程是靜態(tài)概念C.程序保存在文件中,進(jìn)程存放在內(nèi)存中D.程序順序執(zhí)行,進(jìn)程并發(fā)執(zhí)行在操作系統(tǒng)中,進(jìn)程的最基本的特征是()。A.動(dòng)態(tài)性和并發(fā)性B.順序性和可再現(xiàn)性C.與程序的對(duì)應(yīng)性D.執(zhí)行過(guò)程的封閉性多個(gè)進(jìn)程的實(shí)體能存在于同一內(nèi)存中,在一段時(shí)間內(nèi)都得到運(yùn)行。這種性質(zhì)稱作進(jìn)程的()。A.動(dòng)態(tài)性B.并發(fā)性C.調(diào)度性D.異步性進(jìn)程是程序的執(zhí)行過(guò)程,可以處于不同的狀態(tài)。這種性質(zhì)稱作進(jìn)程的()。A.動(dòng)態(tài)性B.并發(fā)性C.調(diào)度性D.異步性在下列特性中,不是進(jìn)程的特性的是()。A.異步性B.調(diào)度性C.操作性D.動(dòng)態(tài)性某進(jìn)程由于需要從磁盤(pán)上讀入數(shù)據(jù)而處于阻塞狀態(tài)。當(dāng)系統(tǒng)完成了所需的讀盤(pán)操作后,此時(shí)該進(jìn)程的狀態(tài)將()。從就緒變?yōu)檫\(yùn)行B.從運(yùn)行變?yōu)榫途wC.從運(yùn)行變?yōu)樽枞鸇.從阻塞變?yōu)榫途w一個(gè)進(jìn)程被喚醒意味著()。A.該進(jìn)程重新占有了CPUB.進(jìn)程狀態(tài)變?yōu)榫途wC.它的優(yōu)先權(quán)變?yōu)樽畲驞.其PCB移至就緒隊(duì)列的隊(duì)首在單處理機(jī)系統(tǒng)中,處于運(yùn)行狀態(tài)的進(jìn)程()。A.只有一個(gè)B.可以有多個(gè)C.不能被掛起D.必須在執(zhí)行完后才能被撤下已經(jīng)獲得除()以外的所有運(yùn)行所需資源的進(jìn)程處于就緒狀態(tài)。A.存儲(chǔ)器B.打印機(jī)C.CPUD.磁盤(pán)空間進(jìn)程從運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的原因是()。A.輸入或輸出事件發(fā)生B.時(shí)間片到C.輸入或輸出事件完成D.某個(gè)進(jìn)程被喚醒為了描述進(jìn)程的動(dòng)態(tài)變化過(guò)程,采用了一個(gè)與進(jìn)程相聯(lián)系的(),根據(jù)它而感知進(jìn)程的存在。A.進(jìn)程狀態(tài)字B.進(jìn)程優(yōu)先數(shù)C.進(jìn)程控制塊D.進(jìn)程起始地址進(jìn)程在系統(tǒng)中存在的唯一標(biāo)志是()。A.所運(yùn)行的程序B.所運(yùn)行的程序和數(shù)據(jù)C.進(jìn)程隊(duì)列D.進(jìn)程控制塊進(jìn)程的動(dòng)態(tài)、并發(fā)等特征是利用()表現(xiàn)出來(lái)的。A.程序B.?dāng)?shù)據(jù)C.程序和數(shù)據(jù)D.進(jìn)程控制塊進(jìn)程間的基本關(guān)系為()。A.相互獨(dú)立與相互制約B.同步與互斥C.并行執(zhí)行與資源共享D.信息傳遞與信息緩沖在一段時(shí)間內(nèi),只允許一個(gè)進(jìn)程訪問(wèn)的資源稱為()。A.共享資源B.臨界區(qū)C.臨界資源D.共享區(qū)操作系統(tǒng)中有一組常稱為特殊系統(tǒng)調(diào)用的程序,其操作具有不可分割性,在操作系統(tǒng)中稱為()。A.初始化程序B.原語(yǔ)C.子程序D.控制模塊操作系統(tǒng)中利用信號(hào)量和P、V操作,()。A.只能實(shí)現(xiàn)進(jìn)程的互斥B.只能實(shí)現(xiàn)進(jìn)程的同步C.可實(shí)現(xiàn)進(jìn)程的互斥和同步D.可完成進(jìn)程調(diào)度如果進(jìn)程Pa對(duì)信號(hào)量S執(zhí)行P操作,則信號(hào)量S的值應(yīng)()。A.加1B.減1C.等于0D.小于如果信號(hào)量S的值是0,此時(shí)進(jìn)程A執(zhí)行P(S)操作,那么,進(jìn)程A會(huì)()。A.繼續(xù)運(yùn)行B.進(jìn)入阻塞態(tài),讓出CPUC.進(jìn)入就緒態(tài),讓出CPUD.繼續(xù)運(yùn)行,并喚醒S隊(duì)列頭上的等待進(jìn)程在操作系統(tǒng)中,對(duì)信號(hào)量S的P操作原語(yǔ)的定義中,使進(jìn)程進(jìn)入相應(yīng)阻塞隊(duì)列等待的條件是()。A.S>0B.S=0C.S<0D.S信號(hào)量S的初值為8,在S上執(zhí)行了10次P操作,6次V操作后,S的值為()。A.10B.8C.6D.4若P、V操作的信號(hào)量S初值為2,當(dāng)前值為1,則表示有()個(gè)等待進(jìn)程。A.0 B.l C.2 D.3在進(jìn)程通信中,使用信箱方式交換信息的是()。A.低級(jí)進(jìn)程通信B.高級(jí)進(jìn)程通信C.共享內(nèi)存方式D.管道文件方式系統(tǒng)出現(xiàn)死鎖的原因是()。A.計(jì)算機(jī)系統(tǒng)發(fā)生了重大故障B.有多個(gè)封鎖的進(jìn)程同時(shí)存在C.若干進(jìn)程因競(jìng)爭(zhēng)資源而無(wú)休止地循環(huán)等待著,而且都不釋放已占有的資源D.資源數(shù)大大少于進(jìn)程數(shù),或進(jìn)程同時(shí)申請(qǐng)的資源數(shù)大大超過(guò)資源總數(shù)兩個(gè)進(jìn)程爭(zhēng)奪同一個(gè)資源()。A.一定死鎖B.不一定死鎖C.不會(huì)死鎖D.以上說(shuō)法都不對(duì)二、判斷題(正確的劃√,錯(cuò)誤的劃×。)簡(jiǎn)單地說(shuō),進(jìn)程是程序的執(zhí)行過(guò)程。因而,進(jìn)程和程序是一一對(duì)應(yīng)的。()進(jìn)程和程序是兩個(gè)截然不同的概念。()程序在運(yùn)行時(shí)需要很多系統(tǒng)資源,如內(nèi)存、文件、設(shè)備等,因此操作系統(tǒng)以程序?yàn)閱挝环峙湎到y(tǒng)資源。()進(jìn)程控制塊(PCB)是專為用戶進(jìn)程設(shè)置的私有數(shù)據(jù)結(jié)構(gòu),每個(gè)進(jìn)程僅有一個(gè)PCB。()進(jìn)程執(zhí)行的相對(duì)速度不能由進(jìn)程自己來(lái)控制。()進(jìn)程之間的互斥,主要源于進(jìn)程之間的資源競(jìng)爭(zhēng),從而實(shí)現(xiàn)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上的協(xié)調(diào)。()信號(hào)量機(jī)制是一種有效的實(shí)現(xiàn)進(jìn)程同步與互斥的工具。信號(hào)量只能由P、V操作來(lái)改變。()V操作是對(duì)信號(hào)量執(zhí)行加1操作,意味著釋放一個(gè)單位資源,如果加1后信號(hào)量的值小于等于零,則從等待隊(duì)列中喚醒一個(gè)進(jìn)程,現(xiàn)進(jìn)程變?yōu)樽枞麪顟B(tài),否則現(xiàn)進(jìn)程繼續(xù)進(jìn)行。()利用信號(hào)量的P,V操作,進(jìn)程之間可以交換大量信息。()系統(tǒng)產(chǎn)生死鎖的根本原因是資源有限且操作不當(dāng)。因此,當(dāng)系統(tǒng)提供的資源少于并發(fā)進(jìn)程的需求時(shí),系統(tǒng)就產(chǎn)生死鎖。()。參考答案:一、CCCAABDCDBACACDDBCBCBBCDBBCB二、2,5,7是正確的。1.(×)。進(jìn)程和程序不是一一對(duì)應(yīng)的。3.(×)。操作系統(tǒng)以進(jìn)程為單位分配系統(tǒng)資源。4.(×)。進(jìn)程控制塊(PCB)是為系統(tǒng)中各個(gè)進(jìn)程設(shè)置的私有數(shù)據(jù)結(jié)構(gòu)。第3章處理機(jī)調(diào)度輔導(dǎo)與自測(cè)3.1本章知識(shí)點(diǎn)調(diào)度是操作系統(tǒng)的基本功能,幾乎所有的計(jì)算機(jī)資源在使用之前都要經(jīng)過(guò)調(diào)度。CPU作為計(jì)算機(jī)最主要的資源,處理機(jī)調(diào)度的目的就是分配CPU。CPU是操作系統(tǒng)中最核心的調(diào)度,其調(diào)度策略決定了操作系統(tǒng)的類型,其調(diào)度算法優(yōu)劣直接影響整個(gè)系統(tǒng)的性能。所以,調(diào)度問(wèn)題是操作系統(tǒng)設(shè)計(jì)的一個(gè)中心問(wèn)題。本章的主要知識(shí)點(diǎn)為:(1)調(diào)度級(jí)別一般來(lái)說(shuō),作業(yè)從進(jìn)入系統(tǒng)到最后完成,可能要經(jīng)歷三級(jí)調(diào)度:高級(jí)調(diào)度、中級(jí)調(diào)度和低級(jí)調(diào)度,這是按調(diào)度層次進(jìn)行分類的。其中,高級(jí)調(diào)度又稱為作業(yè)調(diào)度,低級(jí)調(diào)度又稱為進(jìn)程調(diào)度。作業(yè)調(diào)度是在輸入的一批作業(yè)中選擇有權(quán)競(jìng)爭(zhēng)CPU的作業(yè)。資源的分配策略(特別是內(nèi)存管理)對(duì)作業(yè)調(diào)度有很大影響。為了使內(nèi)存中同時(shí)存放的進(jìn)程數(shù)目不至于太多,有時(shí)就需要把某些進(jìn)程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級(jí)調(diào)度。進(jìn)程調(diào)度是從就緒進(jìn)程隊(duì)列中選擇一個(gè)進(jìn)程,并把CPU分配給它。進(jìn)程調(diào)度是這三級(jí)調(diào)度中是必不可少的。這三級(jí)調(diào)度中,要重點(diǎn)理解作業(yè)調(diào)度和進(jìn)程調(diào)度形成的兩級(jí)調(diào)度模型,如下圖所示。通過(guò)理解這個(gè)圖,理解作業(yè)的4種狀態(tài):提交、后備、執(zhí)行和完成,作業(yè)調(diào)度的功能,進(jìn)程調(diào)度的功能,進(jìn)程調(diào)度的時(shí)機(jī),以及這兩級(jí)調(diào)度如何協(xié)調(diào)工作完成了處理機(jī)調(diào)度。(2)常用調(diào)度算法針對(duì)不同的系統(tǒng)目標(biāo),會(huì)采取不同的調(diào)度策略。確定調(diào)度策略是件復(fù)雜的工作,往往要兼顧多種因素的影響。CPU利用率、吞吐量、周轉(zhuǎn)時(shí)間、就緒等待時(shí)間和響應(yīng)時(shí)間等是通常評(píng)價(jià)系統(tǒng)性能時(shí)都要考慮的幾個(gè)指標(biāo)。教材中主要介紹了3種調(diào)度算法,分別是先來(lái)先服務(wù)法、時(shí)間片輪轉(zhuǎn)法和優(yōu)先級(jí)法。先來(lái)先服務(wù)法(FCFS)是最簡(jiǎn)單的調(diào)度算法,它的實(shí)現(xiàn)思想就是“排隊(duì)買(mǎi)票”的辦法。按作業(yè)(或進(jìn)程)到來(lái)的先后次序進(jìn)行調(diào)度,即先來(lái)的先得到執(zhí)行。時(shí)間片輪轉(zhuǎn)法(RR)的設(shè)計(jì)實(shí)現(xiàn)思想是系統(tǒng)把所有就緒進(jìn)程按先入先出的原則排成一個(gè)隊(duì)列。每當(dāng)執(zhí)行進(jìn)程調(diào)度時(shí),進(jìn)程調(diào)度程序總是選出就緒隊(duì)列的隊(duì)首進(jìn)程,讓它在CPU上運(yùn)行一個(gè)時(shí)間片的時(shí)間。當(dāng)進(jìn)程用完分給它的時(shí)間片后,調(diào)度程序便停止該進(jìn)程的運(yùn)行,并把它放入就緒隊(duì)列的末尾;然后,把CPU分給就緒隊(duì)列的隊(duì)首進(jìn)程。輪轉(zhuǎn)法適用于分時(shí)系統(tǒng)。其主要問(wèn)題是時(shí)間片如何選擇:時(shí)間片太長(zhǎng)了,就成為FCFS調(diào)度;時(shí)間片太短了,頻繁調(diào)度,開(kāi)銷太大。優(yōu)先級(jí)調(diào)度算法的實(shí)現(xiàn)思想:是從就緒隊(duì)列中選出優(yōu)先級(jí)最高的進(jìn)程,把CPU分給它使用。又分為非搶占式優(yōu)先級(jí)法和搶占式優(yōu)先級(jí)法。前者是:當(dāng)前占用CPU的進(jìn)程一直運(yùn)行下去,直到完成任務(wù)或者因等待某事件而主動(dòng)讓出CPU時(shí),系統(tǒng)才讓另一個(gè)優(yōu)先級(jí)高的進(jìn)程占用CPU。后者是:當(dāng)前進(jìn)程在運(yùn)行過(guò)程中,一旦有另一個(gè)優(yōu)先級(jí)更高的進(jìn)程出現(xiàn)在就緒隊(duì)列中,進(jìn)程調(diào)度程序就停止當(dāng)前進(jìn)程的運(yùn)行,強(qiáng)行將CPU分給那個(gè)進(jìn)程。其它常用的調(diào)度算法還有:短作業(yè)優(yōu)先法、最短剩余時(shí)間優(yōu)先法、多級(jí)隊(duì)列法、多級(jí)反饋隊(duì)列法。(3)中斷處理并發(fā)是現(xiàn)代計(jì)算機(jī)系統(tǒng)的重要特性,它允許多個(gè)進(jìn)程同時(shí)在系統(tǒng)中活動(dòng)。而實(shí)施并發(fā)的基礎(chǔ)是由硬件和軟件結(jié)合而成的中斷機(jī)制。中斷是現(xiàn)代計(jì)算機(jī)系統(tǒng)中的重要概念之一,它是指CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件做出的處理過(guò)程。按功能劃分,中斷一般分為I/O中斷、機(jī)器故障中斷、外部中斷、程序性中斷、訪管中斷。在中斷響應(yīng)和處理過(guò)程中,硬件對(duì)中斷請(qǐng)求做出響應(yīng):中止當(dāng)前程序的執(zhí)行,保存斷點(diǎn)信息,轉(zhuǎn)到相應(yīng)的處理程序。軟件對(duì)中斷進(jìn)行相應(yīng)的處理:保存現(xiàn)場(chǎng),分析原因,處理中斷,中斷返回。各中斷處理程序是操作系統(tǒng)的重要組成部分。對(duì)中斷的處理是在核心態(tài)下進(jìn)行的。Linux系統(tǒng)提供給用戶的最重要的系統(tǒng)程序是shell命令語(yǔ)言解釋程序。其基本功能是解釋并執(zhí)行用戶輸入的各種命令,實(shí)現(xiàn)用戶與Linux核心的接口。shell解釋程序的工作過(guò)程基本上是讀入命令行、分析命令行和構(gòu)成命令樹(shù),創(chuàng)建子進(jìn)程來(lái)執(zhí)行命令樹(shù)等步驟。3.2典型例題解析【例1】為了使系統(tǒng)中各部分資源得到均衡使用,就必須選擇對(duì)資源需求不同的作業(yè)進(jìn)行合理搭配,這項(xiàng)工作是由()完成的。A.作業(yè)調(diào)度B.中級(jí)調(diào)度C.進(jìn)程調(diào)度D.內(nèi)存調(diào)度答案A分析首先,要了解操作系統(tǒng)處理機(jī)調(diào)度的級(jí)別,即作業(yè)從進(jìn)入系統(tǒng)到最后完成,至少要經(jīng)歷兩級(jí)調(diào)度:高級(jí)調(diào)度和低級(jí)調(diào)度。為了使內(nèi)存中同時(shí)存放的進(jìn)程數(shù)目不至于太多,有時(shí)需要把某些進(jìn)程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級(jí)調(diào)度。各個(gè)級(jí)別調(diào)度的含義,所解決的問(wèn)題,即功能是什么。只有清晰地掌握了這些基本概念,才能做好選擇。本題說(shuō)的是作業(yè)的合理搭配以達(dá)到系統(tǒng)資源的均衡利用,顯然是作業(yè)調(diào)度的工作。而中級(jí)調(diào)度解決的是內(nèi)存分配問(wèn)題,進(jìn)程調(diào)度解決的是哪一個(gè)就緒進(jìn)程占有CPU的問(wèn)題。因此答案選A。【例2】作業(yè)調(diào)度程序從處于()狀態(tài)的隊(duì)列中選取適當(dāng)?shù)淖鳂I(yè)調(diào)入主存運(yùn)行。A.執(zhí)行B.提交C.完成D.后備答案D分析解答此題需要了解作業(yè)的狀態(tài)以及轉(zhuǎn)換。一個(gè)作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束要經(jīng)歷四種狀態(tài):提交狀態(tài)、后備狀態(tài)、執(zhí)行狀態(tài)和完成狀態(tài)。(1)提交狀態(tài):用戶的一個(gè)作業(yè)提交給系統(tǒng)時(shí)所處的狀態(tài),如用戶通過(guò)鍵盤(pán)向機(jī)器輸入作業(yè)。處于提交狀態(tài)的作業(yè),其信息正在進(jìn)入系統(tǒng)。(2)后備狀態(tài):用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機(jī))輸入進(jìn)外存(磁盤(pán))中存放,等待進(jìn)入內(nèi)存時(shí)所處的狀態(tài)。此時(shí),系統(tǒng)將為該作業(yè)建立一個(gè)作業(yè)控制塊JCB,并把作業(yè)插入到后備作業(yè)隊(duì)列中等待調(diào)度運(yùn)行。(3)執(zhí)行狀態(tài):作業(yè)調(diào)度程序按照一定的作業(yè)調(diào)度算法從后備作業(yè)隊(duì)列中選中一個(gè)作業(yè),為它分配必要的資源,建立一組相應(yīng)的進(jìn)程后,這個(gè)作業(yè)就由后備狀態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)。需要指出的是,處于執(zhí)行狀態(tài)的作業(yè)在系統(tǒng)中并不一定真正占有處理機(jī),作業(yè)能否真正在處理機(jī)上運(yùn)行由進(jìn)程調(diào)度來(lái)控制。(4)完成狀態(tài):作業(yè)完成了處理任務(wù),輸出結(jié)果形成報(bào)告,系統(tǒng)將作業(yè)控制塊JCB從當(dāng)前作業(yè)隊(duì)列中刪除,并回收分配給作業(yè)的全部資源,準(zhǔn)備退出系統(tǒng)時(shí)的作業(yè)狀態(tài)。四種作業(yè)狀態(tài)的轉(zhuǎn)換見(jiàn)下圖:進(jìn)程調(diào)度作業(yè)調(diào)度作業(yè)調(diào)度提交后備完成運(yùn)行就緒阻塞參考上圖,有這樣一個(gè)判斷題:作業(yè)調(diào)度程序選中一個(gè)作業(yè)后,與該作業(yè)相關(guān)的進(jìn)程即占有CPU運(yùn)行。答案是錯(cuò)誤的,因?yàn)閳?zhí)行狀態(tài)的作業(yè)能否真正在CPU上運(yùn)行由進(jìn)程調(diào)度來(lái)控制,這時(shí)候的進(jìn)程至少有三種基本狀態(tài),不能保證一定是占有CPU的運(yùn)行狀態(tài)。【例3】在批處理系統(tǒng)中,周轉(zhuǎn)時(shí)間是()。A.作業(yè)運(yùn)行時(shí)間B.作業(yè)等待時(shí)間和運(yùn)行時(shí)間之和C.作業(yè)的相對(duì)等待時(shí)間D.作業(yè)被調(diào)度進(jìn)入主存到運(yùn)行完畢的時(shí)間答案B分析作業(yè)的周轉(zhuǎn)時(shí)間=作業(yè)完成時(shí)間-作業(yè)提交時(shí)間。周轉(zhuǎn)時(shí)間是用于作業(yè)等待進(jìn)入內(nèi)存、進(jìn)程在就緒隊(duì)列中等待、進(jìn)程在CPU上運(yùn)行和完成I/O操作所花費(fèi)時(shí)間的總和。因此,周轉(zhuǎn)時(shí)間是作業(yè)等待時(shí)間和運(yùn)行時(shí)間之和。答案D是不對(duì)的,因?yàn)樽鳂I(yè)提交后進(jìn)入作業(yè)后備狀態(tài),此時(shí)作業(yè)是在外存,這個(gè)時(shí)間也要計(jì)入作業(yè)的周轉(zhuǎn)時(shí)間?!纠?】在作業(yè)調(diào)度中,若采用優(yōu)先級(jí)調(diào)度算法,為了盡可能使CPU和外部設(shè)備并行工作,有如下三個(gè)作業(yè):J1以計(jì)算為主,J2以輸入輸出為主,J3計(jì)算和輸入輸出兼顧,則它們的優(yōu)先級(jí)從高到低的排列順序是()。A.J1,J2,J3B.J2,J3,J1C.J3,J2,J1D.J2,J1,J3答案C分析本試題將作業(yè)分為:I/O繁忙的作業(yè)、CPU繁忙的作業(yè)、I/O與CPU均衡的作業(yè)三種類型,由系統(tǒng)或操作員根據(jù)作業(yè)類型指定優(yōu)先級(jí)。為了盡可能使CPU和外部設(shè)備并行工作,那么I/O繁忙的作業(yè)和CPU繁忙的作業(yè)都不能指定為最高的優(yōu)先級(jí),因?yàn)檫@兩類作業(yè)都無(wú)法均衡地使用資源(CPU或者I/O設(shè)備)。對(duì)于這兩類作業(yè),應(yīng)指定I/O繁忙的作業(yè)優(yōu)先級(jí)高于CPU繁忙的作業(yè),這樣做可以提高CPU的利用率,增加系統(tǒng)的吞吐量。因此,這三類作業(yè)優(yōu)先級(jí)從高到低的排列順序是:I/O與CPU均衡的作業(yè)、I/O繁忙的作業(yè)、CPU繁忙的作業(yè)?!纠?】下表給出作業(yè)l,2,3的提交時(shí)間和運(yùn)行時(shí)間。采用先來(lái)先服務(wù)調(diào)度算法和短作業(yè)優(yōu)先調(diào)度算法,試問(wèn)作業(yè)調(diào)度次序和平均周轉(zhuǎn)時(shí)間各為多少?(時(shí)間單位:小時(shí),以十進(jìn)制進(jìn)行計(jì)算。)作業(yè)號(hào)提交時(shí)間運(yùn)行時(shí)間1230.00.41.08.04.01.0分析解此題關(guān)鍵是要清楚系統(tǒng)中各道作業(yè)隨時(shí)間的推進(jìn)情況。我們用一個(gè)作業(yè)執(zhí)行時(shí)間圖來(lái)表示作業(yè)的執(zhí)行情況,幫助我們理解此題。采用先來(lái)先服務(wù)調(diào)度策略,其作業(yè)執(zhí)行時(shí)間圖如下:作業(yè)作業(yè)3作業(yè)2作業(yè)100.41.08.012.013.0時(shí)間作業(yè)提交時(shí)間各作業(yè)陸續(xù)完成時(shí)間采用短作業(yè)優(yōu)先調(diào)度策略,其作業(yè)執(zhí)行時(shí)間圖如下:作業(yè)作業(yè)3作業(yè)2作業(yè)100.41.08.09.013.0時(shí)間作業(yè)提交時(shí)間各作業(yè)陸續(xù)完成時(shí)間另外,作業(yè)i的周轉(zhuǎn)時(shí)間Ti=作業(yè)完成時(shí)間-作業(yè)提交時(shí)間系統(tǒng)中n個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)間,其中Ti為作業(yè)i的周轉(zhuǎn)時(shí)間。解:采用先來(lái)先服務(wù)調(diào)度策略,則調(diào)度次序?yàn)閘、2、3。作業(yè)號(hào) 提交時(shí)間 運(yùn)行時(shí)間 開(kāi)始時(shí)間 完成時(shí)間 周轉(zhuǎn)時(shí)間1 0.0 8.0 0.0 8.0 8.02 0.4 4.0 8.0 12.0 11.63 1.0 1.0 12.0 13.0 12.0平均周轉(zhuǎn)時(shí)間T=(8+11.6+12)/3=10.53采用短作業(yè)優(yōu)先調(diào)度策略,則調(diào)度次序?yàn)閘、3、2。作業(yè)號(hào) 提交時(shí)間 運(yùn)行時(shí)間 開(kāi)始時(shí)間 完成時(shí)間 周轉(zhuǎn)時(shí)間1 0.0 8.0 0.0 8.0 8.03 1.0 1.0 8.0 9.0 8.02 0.4 4.0 9.0 13.0 12.6平均周轉(zhuǎn)時(shí)間T=(8+8+12.6)/3=9.53【例6】今有三個(gè)批處理作業(yè)。第一個(gè)作業(yè)10:00到達(dá),需要執(zhí)行2小時(shí);第二個(gè)作業(yè)在10:10到達(dá),需要執(zhí)行1小時(shí);第三個(gè)作業(yè)在10:25到達(dá),需要執(zhí)行25分鐘。分別采取如下兩種作業(yè)調(diào)度算法:調(diào)度算法1:作業(yè)號(hào)到達(dá)時(shí)間開(kāi)始執(zhí)行時(shí)間執(zhí)行結(jié)束時(shí)間12310:0010:1010:2510:0012:0013:0012:0013:0013:25調(diào)度算法2:作業(yè)號(hào)到達(dá)時(shí)間開(kāi)始執(zhí)行時(shí)間執(zhí)行結(jié)束時(shí)間12310:0010:1010:2511:5010:5010:2513:5011:5010;50(1)計(jì)算各調(diào)度算法下的作業(yè)平均周轉(zhuǎn)時(shí)間。(2)調(diào)度算法1是什么作業(yè)調(diào)度算法?分析作業(yè)的周轉(zhuǎn)時(shí)間=作業(yè)完成時(shí)間-作業(yè)提交時(shí)間。以調(diào)度算法1的作業(yè)2為例,其周轉(zhuǎn)時(shí)間=作業(yè)完成時(shí)間13:00-作業(yè)提交時(shí)間10:10,得到結(jié)果為2小時(shí)50分鐘,轉(zhuǎn)換為小時(shí)為2.83小時(shí)。轉(zhuǎn)換的目的是為了方便計(jì)算平均周轉(zhuǎn)時(shí)間。解:(1)采用調(diào)度算法1時(shí):作業(yè)1的周轉(zhuǎn)時(shí)間為2小時(shí);作業(yè)2的周轉(zhuǎn)時(shí)間為2.83小時(shí);作業(yè)3的周轉(zhuǎn)時(shí)間為3小時(shí);平均周轉(zhuǎn)時(shí)間為:(2+2.83+3)/3=2.61小時(shí)。采用調(diào)度算法2時(shí):作業(yè)1的周轉(zhuǎn)時(shí)間為3.83小時(shí);作業(yè)2的周轉(zhuǎn)時(shí)間為1.67小時(shí);作業(yè)3的周轉(zhuǎn)時(shí)間為0.42小時(shí);平均周轉(zhuǎn)時(shí)間為:(3.83+l.67+0.42)/3=l.97小時(shí)。(2)調(diào)度算法1是按照作業(yè)到達(dá)的先后次序執(zhí)行的,所以它是先來(lái)先服務(wù)調(diào)度算法。【例7】一個(gè)進(jìn)程在執(zhí)行過(guò)程中可以被中斷事件打斷,當(dāng)相應(yīng)的中斷處理完成后,就一定恢復(fù)該進(jìn)程被中斷時(shí)的現(xiàn)場(chǎng),使它繼續(xù)執(zhí)行。()答案(×)分析中斷是指CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件做出的一種反應(yīng),它使CPU暫停正在執(zhí)行的程序,保留現(xiàn)場(chǎng)后自動(dòng)執(zhí)行相應(yīng)的處理程序,處理該事件后,如被中斷進(jìn)程的優(yōu)先級(jí)最高,則返回?cái)帱c(diǎn)繼續(xù)執(zhí)行被“打斷”的程序。本題開(kāi)頭的敘述是正確的,即“一個(gè)進(jìn)程在執(zhí)行過(guò)程中可以被中斷事件打斷”,但是后面說(shuō)“一定恢復(fù)該進(jìn)程被中斷時(shí)的現(xiàn)場(chǎng)”,以及“繼續(xù)執(zhí)行”就不正確了,因此,系統(tǒng)中進(jìn)程的并發(fā)執(zhí)行情況非常復(fù)雜,中斷后的進(jìn)程能否繼續(xù)執(zhí)行,要看那時(shí)的具體情況,可能會(huì)繼續(xù)執(zhí)行,也可能處于就緒隊(duì)列中無(wú)法立即繼續(xù)執(zhí)行?!纠?】在UNIX/Linux系統(tǒng)中,執(zhí)行到trap指令時(shí),CPU的狀態(tài)就從核心態(tài)變?yōu)橛脩魬B(tài)。()答案(×)分析為了對(duì)操作系統(tǒng)程序(特別是其內(nèi)核部分)進(jìn)行保護(hù),防止受到用戶程序的損壞,系統(tǒng)提供了不同的處理機(jī)執(zhí)行狀態(tài),通常分為核心態(tài)和用戶態(tài)兩種。當(dāng)操作系統(tǒng)程序執(zhí)行時(shí),處理機(jī)處于核心態(tài),它有較高的特權(quán),可以執(zhí)行一切指令(包括一般用戶程序中不能使用的特權(quán)指令)。用戶程序在用戶態(tài)下執(zhí)行。它的權(quán)限較低,只能執(zhí)行指令集中的非特權(quán)指令。用戶程序要想得到操作系統(tǒng)的服務(wù),必須使用系統(tǒng)調(diào)用。在UNIX/Linux系統(tǒng)中,系統(tǒng)調(diào)用像C語(yǔ)言的普通函數(shù)調(diào)用那樣出現(xiàn)在程序中。但是,一般的函數(shù)調(diào)用序列并不能把進(jìn)程的運(yùn)行模式從用戶態(tài)變?yōu)楹诵膽B(tài),而系統(tǒng)調(diào)用卻可以做到這一點(diǎn),即從用戶空間轉(zhuǎn)入系統(tǒng)空間。trap指令是實(shí)現(xiàn)系統(tǒng)調(diào)用的匯編代碼,trap指令有這樣一種性質(zhì):當(dāng)CPU執(zhí)行到trap指令時(shí),CPU的狀態(tài)就從用戶態(tài)變?yōu)楹诵膽B(tài)。本題正好說(shuō)反了,因此是錯(cuò)誤的。【例9】UNIX/Linux系統(tǒng)中的shell是負(fù)責(zé)()的模塊。A.解釋并執(zhí)行來(lái)自終端的命令B.解釋并執(zhí)行來(lái)自終端的內(nèi)部命令C.解釋并執(zhí)行來(lái)自終端的外部命令D.進(jìn)行系統(tǒng)調(diào)用答案A分析shell命令語(yǔ)言解釋程序是UNIX/Linux系統(tǒng)提供給用戶的最重要的系統(tǒng)程序。它不屬于內(nèi)核部分,而是在核心之外以用戶態(tài)方式運(yùn)行。其基本功能是解釋并執(zhí)行用戶輸入的各種命令,實(shí)現(xiàn)用戶與Linux核心的接口。shell命令分為內(nèi)部命令和外部命令兩種,內(nèi)部命令是最簡(jiǎn)單最常用的命令,在shell啟動(dòng)時(shí)進(jìn)入內(nèi)存,Linux外部命令是一個(gè)獨(dú)立的可執(zhí)行程序。3.3練習(xí)題一、選擇題(選擇一個(gè)正確答案的代碼填入括號(hào)中)作業(yè)生存期共經(jīng)歷4個(gè)狀態(tài),它們是提交、后備、()和完成。A.等待B.就緒C.開(kāi)始D.執(zhí)行作業(yè)調(diào)度是()。A.從輸入井中選取作業(yè)進(jìn)入主存B.從讀卡機(jī)選取作業(yè)進(jìn)入輸入井C.從主存中選取作業(yè)進(jìn)程占有CPUD.從等待設(shè)備的隊(duì)列中選取一個(gè)作業(yè)進(jìn)程在操作系統(tǒng)中,JCB是指()。A.文件控制塊B.進(jìn)程控制塊C.作業(yè)控制塊D.程序控制塊作業(yè)調(diào)度選擇一個(gè)作業(yè)裝入主存后,該作業(yè)能否占用處理器必須由()來(lái)決定。A.設(shè)備管理B.作業(yè)控制C.進(jìn)程調(diào)度D.驅(qū)動(dòng)調(diào)度進(jìn)程調(diào)度根據(jù)一定的調(diào)度算法,從()隊(duì)列中挑選出合適的進(jìn)程。A.阻塞B.就
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省學(xué)軍中學(xué)2025屆高一物理第一學(xué)期期中統(tǒng)考試題含解析
- 上海市復(fù)興中學(xué)2025屆物理高三第一學(xué)期期中預(yù)測(cè)試題含解析
- 2025屆甘肅省白銀市平川區(qū)中恒學(xué)校高一物理第一學(xué)期期中檢測(cè)模擬試題含解析
- 西南名校聯(lián)盟2025屆物理高一上期中達(dá)標(biāo)檢測(cè)模擬試題含解析
- 湖北省隨州一中2025屆物理高一上期中質(zhì)量檢測(cè)試題含解析
- 2025屆廣東省佛山市第四中學(xué)物理高三第一學(xué)期期中統(tǒng)考模擬試題含解析
- 2025屆河南省開(kāi)封市、商丘市九校物理高一上期末質(zhì)量檢測(cè)試題含解析
- 2025屆甘肅省蘭州市聯(lián)片辦學(xué)物理高二上期中質(zhì)量檢測(cè)試題含解析
- 2025屆云南省曲靖市宜良縣第八中學(xué)物理高三上期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 福建省永安市一中2025屆物理高二上期末達(dá)標(biāo)測(cè)試試題含解析
- 學(xué)好普通話很重要
- 中糧集團(tuán)競(jìng)爭(zhēng)力分析
- 大數(shù)據(jù)治理平臺(tái)解決方案
- 軟件平臺(tái)安全體系建設(shè)方案
- MBR污水處理設(shè)備說(shuō)明書(shū)
- 星星之火可以燎原(1)
- 精益道場(chǎng)建設(shè)方案與步驟課件
- 廉潔文化進(jìn)校園班級(jí)主題班會(huì)
- 中國(guó)戲劇概述.(課堂PPT)
- 盤(pán)扣式外腳手架施工方案
- 古詩(shī)句接龍100首
評(píng)論
0/150
提交評(píng)論