版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)(本科)期末復(fù)習(xí)指導(dǎo)操作系統(tǒng)(本科)是中央廣播電視大學(xué)計算機科學(xué)與技術(shù)本科專業(yè)(??破瘘c)的一門統(tǒng)設(shè)必修課,課內(nèi)學(xué)時72,4學(xué)分,開設(shè)一學(xué)期。操作系統(tǒng)是計算機系統(tǒng)的基本組成部分,是整個計算機系統(tǒng)的基礎(chǔ)和核心。因此歷來是計算機專業(yè)的一門核心課程。通過本課程的學(xué)習(xí),使學(xué)生進一步理解操作系統(tǒng)的基本概念和重要功能,掌握常用操作系統(tǒng)(如Linux)的使用和一般管理方法,了解操作系統(tǒng)是如何組織和運作的,從而為學(xué)生以后的學(xué)習(xí)和工作打下基礎(chǔ)。操作系統(tǒng)是一門理論性和實踐性緊密結(jié)合的課程。在理論方面,課程具有概念多、較抽象、涉及面廣的特點。操作系統(tǒng)的上機實驗很重要,既可以加深對課本知識的理解,又可以學(xué)到很多實際工作的經(jīng)驗,有助于增強動手技能、分析解決實際問題的能力,提高專業(yè)素質(zhì)。一、復(fù)習(xí)重點和規(guī)定第1章操作系統(tǒng)概述考核學(xué)生對操作系統(tǒng)的定義、重要功能、重要類型、操作系統(tǒng)的特性以及分時概念等內(nèi)容的學(xué)習(xí)情況。【掌握】1.操作系統(tǒng)的概念操作系統(tǒng)是控制和管理計算機系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運營的系統(tǒng)軟件(或程序集合),是用戶與計算機之間的接口。記憶要點:操作系統(tǒng)是什么——是系統(tǒng)軟件;操作系統(tǒng)管什么——控制和管理計算機系統(tǒng)內(nèi)各種資源;操作系統(tǒng)有何用——擴充硬件功能,方便用戶使用。2.操作系統(tǒng)的重要功能操作系統(tǒng)的五大重要功能:存儲管理、進程和解決機管理、文獻管理、設(shè)備管理、用戶接口管理。【理解】操作系統(tǒng)的特性:并發(fā)、共享和異步性。理解模擬:并發(fā)——“大家都前進了”;共享——“一件東西大家用”;異步性——“你走我?!?“走走停停”。操作系統(tǒng)的重要類型操作系統(tǒng)的重要類型有:多道批解決系統(tǒng)、分時系統(tǒng)、實時系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、個人機操作系統(tǒng)、分布式系統(tǒng)和嵌入式操作系統(tǒng)。UNIX系統(tǒng)是著名的分時系統(tǒng)。分時概念:重要是指若干并發(fā)程序?qū)PU時間的共享?!玖私狻坎僮飨到y(tǒng)的形成;分時和實時操作系統(tǒng)的特點,見教材16頁;操作系統(tǒng)在計算機系統(tǒng)中的地位:是裸機之上的第一層軟件,是建立其他所有軟件的基礎(chǔ)。操作系統(tǒng)結(jié)構(gòu)設(shè)計:整體結(jié)構(gòu)、層次結(jié)構(gòu)、虛擬機結(jié)構(gòu)和客戶機-服務(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章進程管理考核學(xué)生對進程定義、進程的狀態(tài)及其轉(zhuǎn)換、進程的組成、競爭條件和臨界區(qū)、進程的同步與互斥、信號量和P、V操作及其一般應(yīng)用、死鎖的概念和產(chǎn)生死鎖的必要條件等內(nèi)容學(xué)習(xí)情況。【掌握】進程的定義:進程是程序在并發(fā)環(huán)境中的執(zhí)行過程。進程與程序的重要區(qū)別。進程最基本的屬性是動態(tài)性和并發(fā)性。進程的狀態(tài)及其轉(zhuǎn)換進程的3種基本狀態(tài)是:運營態(tài)、就緒態(tài)和阻塞態(tài)。掌握教材33頁的進程狀態(tài)及其轉(zhuǎn)換圖。進程的同步與互斥的概念??梢院啒憷斫鉃椋和绞菂f(xié)作,互斥是競爭。信號量和P、V操作及其一般應(yīng)用。運用信號量機制和P、V操作,解決并發(fā)進程一般的互斥和同步問題。解決此類問題的一般方式:根據(jù)問題給出的條件,擬定進程有幾個或幾類;擬定進程間的制約關(guān)系——是互斥,還是同步;各相關(guān)進程間通過什么信號量實現(xiàn)彼此的制約,標(biāo)明信號量的含義和初值;用P、V操作寫出相應(yīng)的代碼段;驗證代碼的對的性:設(shè)以不同的順序運營各進程,是否能保證問題的圓滿解決。切忌按固定順序執(zhí)行各進程。【理解】多道程序設(shè)計概念及其優(yōu)點。進程的一般組成,應(yīng)進一步理解進程控制塊的作用。每個進程有惟一的進程控制塊。Linux進程管理的基本命令:ps、kill、sleep。理解進程臨界資源和臨界區(qū)的概念,進程進入臨界區(qū)的調(diào)度原則。信號量概念,P、V操作執(zhí)行的動作。死鎖的概念;死鎖的4個必要條件:互斥條件、不可搶占條件、占有且申請條件、循環(huán)等待條件?!玖私狻縇inux進程結(jié)構(gòu),見教材41頁圖。進程間的3種高級通信:共享內(nèi)存、管道文獻和消息傳遞。第3章解決機調(diào)度考核學(xué)生對作業(yè)狀態(tài)、作業(yè)調(diào)度和進程調(diào)度的功能、性能評價標(biāo)準(zhǔn)、常用調(diào)度算法、Linux常用調(diào)度命令、中斷解決過程、shell命令執(zhí)行過程等內(nèi)容的學(xué)習(xí)情況?!菊莆铡孔鳂I(yè)調(diào)度和進程調(diào)度的功能作業(yè)調(diào)度的功能見教材73頁,進程調(diào)度的功能見教材74頁。在一般操作系統(tǒng)中,進程調(diào)度是必須具有的。常用調(diào)度算法掌握三種基本調(diào)度算法(先來先服務(wù)法、時間片輪轉(zhuǎn)法、優(yōu)先級法)的實現(xiàn)思想,并能進行評價指標(biāo)的計算。規(guī)定:能運用圖表形式列出各作業(yè)或進程的有關(guān)時間值,如到達時間、運營時間、開始時間、完畢時間等,運用評價公式計算出各指標(biāo)的值,如周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間、平均周轉(zhuǎn)時間、平均帶權(quán)周轉(zhuǎn)時間?!纠斫狻孔鳂I(yè)的四種狀態(tài):提交、后備、執(zhí)行和完畢。作業(yè)調(diào)度與進程調(diào)度的關(guān)系,見教材75頁。簡樸比方:作業(yè)調(diào)度是演員上場前的準(zhǔn)備,進程調(diào)度是讓演員上場表演。調(diào)度性能評價標(biāo)準(zhǔn)評價調(diào)度算法的指標(biāo):吞吐量、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間、平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間。Linux系統(tǒng)的進程調(diào)度方式、策略和常用調(diào)度命令:nohup,at(yī),batch,jobs,fg,bg。中斷解決過程:保存現(xiàn)場、分析因素、解決中斷和中斷返回。shell命令的一般執(zhí)行過程?!玖私狻空{(diào)度的三個級別:高級調(diào)度、中級調(diào)度和低檔調(diào)度,其中高級調(diào)度又稱作業(yè)調(diào)度,低檔調(diào)度又稱進程調(diào)度。調(diào)度策略的選擇,見教材77頁。中斷概念中斷是指CPU對系統(tǒng)發(fā)生的某個事件做出的一種反映,它使CPU暫停正在執(zhí)行的程序,保存現(xiàn)場后自動執(zhí)行相應(yīng)的解決程序,解決該事件后,如被中斷進程的優(yōu)先級最高,則返回斷點繼續(xù)執(zhí)行被“打斷”的程序。第4章存儲管理考核學(xué)生對重定位、分區(qū)法、分頁的概念、虛擬存儲概念、請求分頁存儲管理技術(shù)、常用頁面置換算法、Linux中的存儲管理技術(shù)以及抖動等內(nèi)容的學(xué)習(xí)情況?!菊莆铡空莆找韵赂拍?邏輯地址、物理地址、邏輯地址空間、物理地址空間、重定位、靜態(tài)重定位、動態(tài)重定位、碎片、虛擬存儲器。分區(qū)法分區(qū)法分為固定分區(qū)法和動態(tài)分區(qū)法兩種。要掌握其基本原理、數(shù)據(jù)結(jié)構(gòu)、地址轉(zhuǎn)換、內(nèi)存空間的分派與釋放、分派算法、優(yōu)點和缺陷。分頁技術(shù)掌握分頁存儲管理的基本方法,如地址表達、從邏輯地址到物理地址的轉(zhuǎn)換、數(shù)據(jù)結(jié)構(gòu)等。虛擬存儲器虛擬存儲器(VirtualMemory)是用戶能作為可編址內(nèi)存對待的虛擬存儲空間,它使用戶邏輯存儲器與物理存儲器分離,是操作系統(tǒng)給用戶提供的一個比真實內(nèi)存空間大得多的地址空間。虛擬存儲器的基本特性:虛擬擴充、部分裝入、離散分派、多次對換。此外,虛擬存儲器的容量不是無限大的,它重要受到地址的字長和外存容量的限制請求分頁技術(shù)請求分頁存儲管理技術(shù)是在單純分頁技術(shù)基礎(chǔ)上發(fā)展起來的,兩者主線區(qū)別在于請求分頁提供虛擬存儲器。實現(xiàn)請求分頁,系統(tǒng)必須提供一定容量的內(nèi)存和外存,以及支持分頁機制,還需要有頁表機制、缺頁中斷機構(gòu)以及地址轉(zhuǎn)換機構(gòu)。常用頁面置換算法能應(yīng)用先進先出法(FIFO)、最佳置換法(OPT)、最近最少使用置換法(LRU)的實現(xiàn)思想計算頁面淘汰序列、缺頁次數(shù)以及缺頁率。【理解】重定位把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存物理地址的過程稱作重定位。根據(jù)重定位的時機,分為靜態(tài)重定位和動態(tài)重定位。理解它們的概念、實現(xiàn)思想和優(yōu)缺陷。抖動。見教材128頁,理解抖動的含義,與頁面置換算法的關(guān)系。Linux中的存儲管理技術(shù)Linux系統(tǒng)采用了請求分頁存儲管理技術(shù)和對換技術(shù)。【了解】存儲器層次了解典型的存儲器層次結(jié)構(gòu):寄存器、高速緩存、內(nèi)存、磁盤、磁帶。用戶程序的地址空間用戶程序的重要解決階段:編輯、編譯、鏈接、裝入和運營。對換技術(shù)的實現(xiàn)思想。第5章文獻系統(tǒng)考核學(xué)生對文獻的分類、文獻系統(tǒng)的功能、文獻的邏輯組織和物理組織、文獻的目錄結(jié)構(gòu)、文獻存儲空間的管理、文獻的存取控制等內(nèi)容的學(xué)習(xí)情況?!菊莆铡课墨I系統(tǒng)的功能一般說來,文獻系統(tǒng)應(yīng)具有以下功能:文獻管理、目錄管理、文獻存儲空間的管理、文獻的共享和保護、提供方便的接口。文獻的邏輯組織和物理組織掌握文獻的邏輯組織和物理組織的概念,以及相應(yīng)的組織形式。文獻的目錄結(jié)構(gòu)文獻目錄的基本組織方式有單級目錄、二級目錄、樹形目錄和非循環(huán)圖目錄。文獻存儲空間的管理文獻存儲空間的管理是對外存空間中空閑盤塊的管理。對空閑盤塊的管理方式重要有:空閑盤塊表、空閑塊鏈接、位示圖和空閑塊成組鏈接等?!纠斫狻课墨I的分類按用途分為:系統(tǒng)文獻、庫文獻、用戶文獻;按文獻中的數(shù)據(jù)形式分為:源文獻、目的文獻、可執(zhí)行文獻;按存取權(quán)限分為:只讀文獻、讀寫文獻、可執(zhí)行文獻;按保存時間分為:臨時文獻、永久文獻;在UNIX/Linux和MS-DOS系統(tǒng)中,文獻分為普通文獻、目錄文獻和特殊文獻。而普通文獻又分為ASCII文獻和二進制文獻兩種。文獻的存取控制為了實現(xiàn)文獻系統(tǒng)的安全,文獻需要保護和保密。對文獻的存取控制可分別由存取類型來設(shè)定,如讀、寫、執(zhí)行等,也可以通過命名、口令、存取權(quán)限或者加密的方法實現(xiàn)對文獻的保護和保密。要理解UNIX/Linux系統(tǒng)對文獻存取權(quán)限的規(guī)定。Linux文獻系統(tǒng)的一般概念?!玖私狻课墨I的鏈接Linux具有為一個文獻起多個名字的功能,稱為鏈接。文獻鏈接是實現(xiàn)文獻共享的有效途徑,分為硬鏈接和符號鏈接。文獻的備份和恢復(fù)文獻信息也許因硬件或軟件的故障而遭到損壞,為此必須加強對文獻系統(tǒng)的可靠性管理,如文獻系統(tǒng)的備份和必要時的恢復(fù)。備份就是把硬盤上的文獻轉(zhuǎn)儲到其他外部介質(zhì)上做一個副本。備份策略有完全備份、增量備份和更新備份。按照備份時機分為定期備份和不定期備份。EXT2文獻系統(tǒng)EXT2是Linux使用的文獻系統(tǒng)。了解EXT2的物理布局。虛擬文獻系統(tǒng)Linux系統(tǒng)提供了虛擬文獻系統(tǒng)(VFS)。通過VFS將不同文獻系統(tǒng)的實現(xiàn)細(xì)節(jié)隱藏起來。Linux文獻系統(tǒng)可以根據(jù)需要隨時裝卸,從而實現(xiàn)文獻存儲空間的動態(tài)擴充。管道文獻Linux系統(tǒng)的管道文獻獨具特色。管道文獻按FIFO方式工作,它是同族進程間進行大量信息傳送的有力工具。第6章設(shè)備管理考核學(xué)生對設(shè)備管理功能、設(shè)備分派技術(shù)、緩沖技術(shù)、SPOOLing系統(tǒng)、設(shè)備驅(qū)動程序概念、磁盤調(diào)度和管理等內(nèi)容的學(xué)習(xí)情況?!菊莆铡吭O(shè)備管理的功能操作系統(tǒng)中設(shè)備管理的功能簡樸地說就是:監(jiān)視設(shè)備狀態(tài);進行設(shè)備分派;完畢I/O操作;緩沖管理與地址轉(zhuǎn)換。設(shè)備分派技術(shù)設(shè)備分派技術(shù)重要有:獨占分派、共享分派和虛擬分派。獨占分派合用于獨占設(shè)備,系統(tǒng)效率低;共享分派合用于高速、大容量直接存儲的共享設(shè)備,設(shè)備的運用率較高;虛擬分派技術(shù)運用共享設(shè)備去實現(xiàn)獨占設(shè)備的功能,從而使獨占設(shè)備“感覺上”成為可共享的、快速的I/O設(shè)備。設(shè)備驅(qū)動程序概念設(shè)備驅(qū)動程序是控制設(shè)備動作(如設(shè)備的打開、關(guān)閉、讀、寫等)的核心模塊,用來控制設(shè)備上數(shù)據(jù)的傳輸。磁盤調(diào)度算法常用的磁盤調(diào)度算法有:先來先服務(wù)法、最短尋道時間優(yōu)先法和電梯法。重點掌握前兩種磁盤調(diào)度算法。【理解】設(shè)備獨立性設(shè)備獨立性是設(shè)備管理要達成的目的之一,就是說,用戶程序應(yīng)與實際使用的物理設(shè)備無關(guān),由操作系統(tǒng)考慮因?qū)嶋H設(shè)備不同而需要使用不同的設(shè)備驅(qū)動程序等問題。SPOOLing系統(tǒng)實現(xiàn)虛擬分派最成功的技術(shù)是SPOOLing(外部設(shè)備聯(lián)機并行操作),也稱假脫機技術(shù)。SPOOLing系統(tǒng)用常駐內(nèi)存的進程去模擬一臺外圍機,用一臺主機就可完畢脫機技術(shù)中需用三臺計算機完畢的工作。系統(tǒng)一般分為存輸入、取輸入、存輸出、取輸出4個部分。理解SPOOLing系統(tǒng)的功能和實現(xiàn)思想。緩沖技術(shù)理解引入緩沖技術(shù)的重要目的和緩沖區(qū)的設(shè)立方式。Linux常用設(shè)備安裝和管理,如網(wǎng)卡的簡樸配置。【了解】設(shè)備分類和標(biāo)記了解設(shè)備的一般分類:存儲設(shè)備(塊設(shè)備),輸入/輸出設(shè)備(字符設(shè)備)。解決I/O請求的環(huán)節(jié)參照教材193頁的圖6-7,了解系統(tǒng)解決用戶I/O請求的環(huán)節(jié)。現(xiàn)代操作系統(tǒng)發(fā)展考核學(xué)生對現(xiàn)代操作系統(tǒng)發(fā)展、嵌入式和分布式操作系統(tǒng)的一般知識的學(xué)習(xí)情況。【了解】嵌入式操作系統(tǒng)的概念、功能和特性嵌入式操作系統(tǒng)是嵌入式系統(tǒng)中使用的操作系統(tǒng)。作為一種操作系統(tǒng),它具有一般操作系統(tǒng)的基本功能,但是,由于嵌入式操作系統(tǒng)的硬件平臺和應(yīng)用環(huán)境與一般操作系統(tǒng)不同,所以它有自身的特點,其的最大特點就是可定制性。分布式操作系統(tǒng)的概念、功能和特性。分布式操作系統(tǒng)是配置在分布式系統(tǒng)上的共用操作系統(tǒng)。分布式操作系統(tǒng)實行系統(tǒng)整體控制,對分布在各節(jié)點上的資源進行統(tǒng)一管理,并且支持對遠(yuǎn)程進程的通信協(xié)議。分布式操作系統(tǒng)規(guī)定實現(xiàn)用戶面前的虛擬單解決機系統(tǒng)到具體的分布式系統(tǒng)的映射。它有如下三個基本功能:進程管理;通信管理和資源管理。未來操作系統(tǒng)應(yīng)具有的新特性。更強的分布式解決能力,更高的安全性和可靠性,符合開放式模型,更方便的用戶界面。二、復(fù)習(xí)方法和建議1.復(fù)習(xí)方法(1)對計算機操作系統(tǒng)要從宏觀和微觀兩方面把握。宏觀方面:牢記操作系統(tǒng)的定義。理解操作系統(tǒng)在計算機系統(tǒng)中的地位,明確操作系統(tǒng)進行資源管理的五大功能,即:存儲管理、進程和解決機管理、文獻管理、設(shè)備管理和用戶接口管理。教材從第2章到第6章分別介紹了這些功能的具體內(nèi)涵。微觀方面:針對于進程、解決機、存儲器、文獻、設(shè)備管理,應(yīng)掌握操作系統(tǒng)是如何管理計算機的這些資源的,理解有關(guān)概念、原理、技術(shù)和方法。(2)重視課程實驗,培養(yǎng)動手能力。操作系統(tǒng)的上機實驗很重要,它不僅可以加深對課本知識的理解,并且可以學(xué)到很多實際工作的經(jīng)驗,這對于增強動手技能和分析解決實際問題的能力、提高專業(yè)素質(zhì)很有幫助。大家應(yīng)盡量做全、做好實驗。實驗前要進行預(yù)習(xí):準(zhǔn)備做什么,用到哪些知識,大體會出現(xiàn)什么結(jié)果,心中應(yīng)有數(shù)。實驗時應(yīng)注意出現(xiàn)的結(jié)果,并分析因素,特別是不正常的情況,對現(xiàn)象、解決辦法、因素都最佳記下來。解決一個問題,就增長一份才干。努力實現(xiàn)“學(xué)以致用”的目的。2.復(fù)習(xí)建議(1)在復(fù)習(xí)時圍繞操作系統(tǒng)是什么、干什么、如何干這一主線,分層次進行總結(jié)。抓住重點,掌握基本概念和基本方法,注意知識的前后連貫。操作系統(tǒng)中概念很多,要突出掌握重點概念,如:操作系統(tǒng)定義,進程、重定位、死鎖等概念。要結(jié)合主教材和本復(fù)習(xí)指導(dǎo)中給出的教學(xué)規(guī)定,一方面對每一章講的問題是什么要搞清楚。然后,總結(jié)一下:針對該問題引入什么概念,該概念用來解決什么基本問題,采用什么基本方法予以解決。假如能把各章知識連貫起來、并結(jié)合上機體會進行復(fù)習(xí),效果會更好。對于基本概念在理解其所指對象的基礎(chǔ)上,記住其定義的表述。如:進程,是針對多道程序執(zhí)行時出現(xiàn)的問題而引入的,記住其定義表述。然后,進程與程序有何區(qū)別?有什么基本特性呢?如何體現(xiàn)其動態(tài)性呢?進程在活動中彼此會發(fā)生什么關(guān)系呢?怎么解決呢?通過由表及里地分析,就便于掌握知識要點,盡量在理解的基礎(chǔ)上進行記憶。對于操作系統(tǒng)的基本概念應(yīng)掌握其實質(zhì)是什么,是針對什么事物的,記住其表述要點。對于基本功能應(yīng)掌握其是解決什么問題的,性能如何。對于基本方法和技術(shù)應(yīng)理解其如何解決問題。(2)結(jié)合生活中的例子,體會操作系統(tǒng)的管理方法。操作系統(tǒng)許多管理方法都可以在平常生活中找到例子,學(xué)習(xí)時可以聯(lián)想平常生活中熟悉的管理示例反復(fù)體會操作系統(tǒng)的管理方法,以加深對問題的理解。教材中已經(jīng)給出了一些示例,如程序和進程的關(guān)系,就像歌譜和唱歌;進程的同步關(guān)系就像跑接力賽;先來先服務(wù)算法如同排隊買票;等等。(3)注重平時練習(xí),加強自主學(xué)習(xí)能力。平時應(yīng)認(rèn)真、獨立地完畢課后習(xí)題和網(wǎng)上的自測題,對的地使用答案。在復(fù)習(xí)時應(yīng)把練習(xí)再復(fù)習(xí)一遍,掌握做題的規(guī)律和技巧,特別對重點規(guī)定的內(nèi)容和解題出現(xiàn)過錯誤的地方應(yīng)格外注意。根據(jù)教學(xué)大綱規(guī)定,考試難度不會超過規(guī)定范圍。對基本內(nèi)容應(yīng)牢固掌握,并能進行適本地靈活應(yīng)用。3.復(fù)習(xí)思考不知道大家是否想過,為什么要學(xué)習(xí)操作系統(tǒng)?(1)選擇操作系統(tǒng)。現(xiàn)代計算機系統(tǒng)中,往往配備多種操作系統(tǒng)以滿足不同的用途,通過學(xué)習(xí)可以了解不同類型操作系統(tǒng)的用途,有助于我們選擇合適的操作系統(tǒng)為用戶服務(wù)。(2)分析操作系統(tǒng)。了解操作系統(tǒng)的結(jié)構(gòu)和功能,可以較為準(zhǔn)確地發(fā)現(xiàn)和解決問題,至少能擬定問題位置,告知操作系統(tǒng)的生產(chǎn)商來解決。分析和研究操作系統(tǒng),不知道操作系統(tǒng)的基本原理是難以完畢的。(3)設(shè)計操作系統(tǒng)。針對現(xiàn)實工作任務(wù)的需要,能設(shè)計或擴充現(xiàn)有操作系統(tǒng),這是學(xué)習(xí)操作系統(tǒng)的最高層次,需要扎實的計算機科學(xué)和技術(shù)的基本理論和基礎(chǔ)知識,特別是操作系統(tǒng)的基本原理、技術(shù)和方法。(4)操作系統(tǒng)中實用的資源管理方法和技術(shù),可以應(yīng)用于其他的管理和控制領(lǐng)域。有人說“操作系統(tǒng)是計算機技術(shù)和管理技術(shù)的結(jié)合”,如何在現(xiàn)有計算機硬件條件下通過軟件達成目的并努力實現(xiàn)高效性,如何在空間和時間中權(quán)衡,機制與策略,等等,操作系統(tǒng)管理資源的思緒和方法體現(xiàn)了現(xiàn)實生活中的管理技術(shù)。4.復(fù)習(xí)資源(1)課程文字主教材:《操作系統(tǒng)(本科)》,孟慶昌主編,中央廣播電視大學(xué)出版社出版,2023年1月。課程配套使用的文字輔助教材為《操作系統(tǒng)(本科)實驗指南》,張茂林、孟慶昌主編,中央廣播電視大學(xué)出版社出版,2023年8月。本學(xué)期先掛在網(wǎng)上。(2)電大在線“操作系統(tǒng)”課程網(wǎng)頁“教學(xué)輔導(dǎo)”欄目的資源。(3)期末復(fù)習(xí)指導(dǎo)。(4)模擬練習(xí)題。1.1本章知識點本章的內(nèi)容描述了計算機操作系統(tǒng)的概貌,如什么是操作系統(tǒng),它的重要功能和重要類型,操作系統(tǒng)結(jié)構(gòu)設(shè)計。這一章在全書中起著提綱挈領(lǐng)的作用,后面的各個章節(jié)將分別對操作系統(tǒng)的各項功能做具體剖析。學(xué)好第一章對于我們從總體上把握操作系統(tǒng)有著指導(dǎo)作用。本章的重要知識點為:(1)操作系統(tǒng)的定義一個完整的計算機系統(tǒng)由硬件和軟件兩大部分組成。硬件是計算機物理裝置自身,是計算機軟件運營的基礎(chǔ);簡樸地說,軟件是計算機執(zhí)行的程序,軟件分為系統(tǒng)軟件、應(yīng)用軟件和支撐軟件三大類。操作系統(tǒng)的定義如下:操作系統(tǒng)是控制和管理計算機系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運營的系統(tǒng)軟件(或程序集合),是用戶與計算機之間的接口。(2)操作系統(tǒng)的重要功能操作系統(tǒng)作為計算機基本的系統(tǒng)軟件,具有五大功能,分別是:存儲管理、進程和解決機管理、文獻管理、設(shè)備管理和用戶接口管理。教材從第2章到第6章將分別介紹這些重要功能。(3)操作系統(tǒng)的重要類型操作系統(tǒng)在發(fā)展中形成了以下類型,它們是批解決操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)、嵌入式操作系統(tǒng)、個人機操作系統(tǒng)等。其中前三種屬于傳統(tǒng)的操作系統(tǒng)類型,后面的操作系統(tǒng)類型是隨著計算機網(wǎng)絡(luò)、分布式解決等新技術(shù)的應(yīng)用而產(chǎn)生的,屬于現(xiàn)代操作系統(tǒng)。(4)操作系統(tǒng)結(jié)構(gòu)設(shè)計一般說來,操作系統(tǒng)有如下四種結(jié)構(gòu):整體結(jié)構(gòu),層次結(jié)構(gòu),虛擬機結(jié)構(gòu)和客戶機-服務(wù)器結(jié)構(gòu)。它們在設(shè)計上各有優(yōu)缺陷。UNIX系統(tǒng)和Linux系統(tǒng)是當(dāng)代最著名的多用戶、多進程、多任務(wù)的分時操作系統(tǒng)。本章對它們的發(fā)展歷史、重要特點以及內(nèi)核的結(jié)構(gòu)都進行了介紹。1.2典型例題解析【例1】什么是操作系統(tǒng)?答案操作系統(tǒng)是控制和管理計算機系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運營的系統(tǒng)軟件(或程序集合),是用戶與計算機之間的接口。分析操作系統(tǒng)作為本課程最重要的概念,同學(xué)們一定要牢記??梢詮娜齻€方面理解這個概念,然后在理解的基礎(chǔ)上進行記憶。(1)操作系統(tǒng)是系統(tǒng)軟件。(2)對內(nèi),操作系統(tǒng)控制和管理各種資源,有效地組織多道程序運營。被計算機系統(tǒng)工作時所引用的一切客體都稱為資源。這里所說的客體也許是解決機、設(shè)備、內(nèi)存、外存等硬件,也也許是程序和數(shù)據(jù)等軟件。(3)對外,操作系統(tǒng)是用戶與計算機之間的接口。它為用戶提供服務(wù),方便用戶使用計算機。假如同學(xué)們理解了操作系統(tǒng)在計算機系統(tǒng)中的地位,那么對于學(xué)習(xí)這個概念有幫助?!纠?】在計算機系統(tǒng)中,操作系統(tǒng)是()。A.處在裸機之上的第一層軟件B.處在硬件之下的底層軟件C.處在應(yīng)用軟件之上的系統(tǒng)軟件D.處在系統(tǒng)軟件之上的用戶軟件答案A分析解答這道題重要是清楚操作系統(tǒng)在計算機系統(tǒng)中的地位。在計算機系統(tǒng)中,操作系統(tǒng)處在一個承上啟下的地位,它對內(nèi)管理計算機的各種軟硬件資源(文獻、作業(yè)、存儲器、設(shè)備、進程),對外向用戶提供良好界面的服務(wù),方便用戶使用計算機。操作系統(tǒng)屬于系統(tǒng)軟件,但卻又不同與其他的系統(tǒng)軟件。從下圖可以看出,操作系統(tǒng)緊貼硬件,是裸機之上的第一層軟件,是對硬件的擴充,其他系統(tǒng)軟件都建立在操作系統(tǒng)之上。而應(yīng)用軟件是建立在系統(tǒng)軟件之上的,更貼近用戶。操作系統(tǒng)是系統(tǒng)軟件,因此D是錯誤的。C說系統(tǒng)軟件在應(yīng)用軟件之上,這與圖中的情況相反,顯然不對。而硬件之下則沒有軟件存在,所以B主線就不對的。所以A才是對的答案。以上是用排除法來進行選擇,假如同學(xué)們已經(jīng)理解了操作系統(tǒng)的地位,就可以直接選擇A,這樣可以節(jié)省答題的時間?!纠?】現(xiàn)代操作系統(tǒng)的基本特性是()、資源共享和異步性。A.多道程序設(shè)計B.中斷解決C.實現(xiàn)分時與實時解決D.程序的并發(fā)執(zhí)行答案D分析操作系統(tǒng)也是一個程序,但是與其他程序相比,它有三個非常重要的特性:即多任務(wù)并行、多用戶資源共享和異步性,把握操作系統(tǒng)的這些特性對于深刻理解操作系統(tǒng)會有很大幫助。并發(fā)性是指兩個或多個任務(wù)在同一給定的時間間隔中進行。這是一個宏觀上的概念。以多道程序為例,這里的并發(fā)性不僅體現(xiàn)在用戶程序與用戶程序之間并發(fā)執(zhí)行,還體現(xiàn)在用戶程序與操作系統(tǒng)程序之間的并發(fā)執(zhí)行。因而從宏觀上看,這些程序是同時向前推動的。資源共享是指多個任務(wù)共享計算機系統(tǒng)中的資源,如解決機、內(nèi)存、外存、設(shè)備和數(shù)據(jù)等。這種共享是在操作系統(tǒng)的控制下實現(xiàn)的。對于一個給定的計算機系統(tǒng),它的資源配置情況是相對固定的,而系統(tǒng)中多道程序?qū)τ谫Y源的需求則是變化的,且通常是不可預(yù)知的;操作系統(tǒng)要掌握系統(tǒng)中當(dāng)前資源的使用情況,并據(jù)此決定各程序進入系統(tǒng)的順序以及使用資源的順序。異步性體現(xiàn)了多道程序環(huán)境下,程序執(zhí)行時“走走停?!钡男再|(zhì),更反映出操作執(zhí)行現(xiàn)場的不可預(yù)知性?!纠?】以下不屬于操作系統(tǒng)具有的重要功能的是()。A.內(nèi)存管理B.文檔編輯C.中斷解決D.CPU調(diào)度答案B分析教材中介紹操作系統(tǒng)的重要功能有存儲管理、進程和解決機管理、文獻管理、設(shè)備管理和用戶接口管理,一般被認(rèn)為是操作系統(tǒng)的五大功能。對于本題,A顯然是操作系統(tǒng)的功能之一,C中斷解決是操作系統(tǒng)實行并發(fā)的基礎(chǔ),對于操作系統(tǒng)非常重要,是實現(xiàn)多道程序設(shè)計的前提。它就像機器中的齒輪,驅(qū)動各部件的動作,因此,許多人稱操作系統(tǒng)是由“中斷驅(qū)動”的。C和D都屬于操作系統(tǒng)的進程和解決機管理功能。只有B不是操作系統(tǒng)需要具有的重要功能,它一般是由應(yīng)用軟件提供的,如應(yīng)用軟件WindowsOffice的組件Word就提供了文檔編輯功能?!纠?】操作系統(tǒng)是計算機系統(tǒng)的核心軟件。按功能特性的不同,可把操作系統(tǒng)分為([1])、([2])、([3])、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)基本類型。其中[1]的重要目的是提高系統(tǒng)的吞吐率和效率,而[2]是一旦有解決請求和規(guī)定解決的數(shù)據(jù)時,CPU就應(yīng)當(dāng)立即解決該數(shù)據(jù)并將結(jié)果及時送回。A.單用戶系統(tǒng)B.批解決系統(tǒng)C.分時系統(tǒng)D.微機操作系統(tǒng)E.實時系統(tǒng)答案[1]B[2]E[3]C分析解答此題需要理解三種傳統(tǒng)操作系統(tǒng)類型的不同特點。批解決操作系統(tǒng)的重要特性可歸納為兩點:“多道”和“成批”?!岸嗟馈笔侵竷?nèi)存中同時存在有多個正在解決的作業(yè),并且外存上還存放有大量的尚待解決的后備作業(yè)。“成批”是指作業(yè)成批地進入系統(tǒng),成批地解決,成批地離開系統(tǒng);作業(yè)與作業(yè)之間的過渡由操作系統(tǒng)控制,不需用戶的干預(yù)。批解決系統(tǒng)的重要優(yōu)點是系統(tǒng)吞吐量大,資源運用率高;缺陷是用戶作業(yè)的等待時間長,用戶與系統(tǒng)沒有交互能力。(吞吐量:在一段給定的時間內(nèi),計算機所能完畢的總工作量。)分時系統(tǒng)與實時系統(tǒng)的重要區(qū)別如下:(1)關(guān)于交互性。分時系統(tǒng)中各個終端用戶與系統(tǒng)之間具有較強的交互性,而實時系統(tǒng)一般是專為某一領(lǐng)域使用的,對此規(guī)定不強。(2)關(guān)于可靠性。與分時系統(tǒng)相比,實時系統(tǒng)更加注重其穩(wěn)定性和可靠性。例如,對于航天控制系統(tǒng)來說,實時控制系統(tǒng)的故障也許帶來的后果是無法估量的。(3)關(guān)于響應(yīng)時間。分時系統(tǒng)對響應(yīng)時間的規(guī)定是以終端用戶能接受的時間為依據(jù)的;而實時系統(tǒng)對響應(yīng)時間一般有嚴(yán)格的規(guī)定,即能對外部請求做出及時的響應(yīng)和解決?!纠?】把下面左右兩列詞用線連起來,形成最恰當(dāng)?shù)拇钆洹#?)Linux(A)層次結(jié)構(gòu)(2)UNIX(B)客戶機-服務(wù)器結(jié)構(gòu)(3)IBMVM/370(C)整體結(jié)構(gòu)(4)WindowsXP(D)虛擬機結(jié)構(gòu)答案(1)-(C),(2)-(A),(3)-(D),(4)-(B)。分析左側(cè)列出的是一些計算機操作系統(tǒng),右側(cè)列出的是操作系統(tǒng)的結(jié)構(gòu)。一般說來,操作系統(tǒng)有四種結(jié)構(gòu):整體結(jié)構(gòu),層次結(jié)構(gòu),虛擬機結(jié)構(gòu)和客戶機-服務(wù)器結(jié)構(gòu)。Linux是采用整體結(jié)構(gòu)的操作系統(tǒng),即所有的內(nèi)核系統(tǒng)功能都包含在一個大型的內(nèi)核軟件之中。UNIX系統(tǒng)的核心層采用的是層次結(jié)構(gòu)。Windows系列操作系統(tǒng)采用微內(nèi)核技術(shù),盡也許地使操作系統(tǒng)保持最小的核心,并由核心來負(fù)責(zé)解決客戶和服務(wù)器之間的通信。IBMVM/370系統(tǒng)是虛擬機結(jié)構(gòu)的一個典型實例。1.3練習(xí)題一、選擇題(選擇一個對的答案的代碼填入括號中)1.一個完整的計算機系統(tǒng)是由()組成的。A.硬件B.軟件C.硬件和軟件D.用戶程序2.在計算機系統(tǒng)中,控制和管理各種資源、有效地組織多道程序運營的系統(tǒng)軟件稱作()。A.文獻系統(tǒng)B.操作系統(tǒng)C.網(wǎng)絡(luò)管理系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)3.按照所起的作用和需要的運營環(huán)境,操作系統(tǒng)屬于()。A.用戶軟件B.應(yīng)用軟件C.支撐軟件D.系統(tǒng)軟件4.操作系統(tǒng)的基本職能是()。A.提供功能強大的網(wǎng)絡(luò)管理工具B.提供用戶界面,方便用戶使用C.提供方便的可視化編輯程序D.控制和管理系統(tǒng)內(nèi)各種資源,有效地組織多道程序的運營5.為用戶分派主存空間,保護主存中的程序和數(shù)據(jù)不被破壞,提高主存空間的運用率。這屬于()。A.解決器管理B.存儲管理C.文獻管理D.作業(yè)管理6.操作系統(tǒng)對緩沖區(qū)的管理屬于()的功能。A.解決機管理B.設(shè)備管理C.文獻管理D.存儲器管理7.操作系統(tǒng)內(nèi)核與用戶程序、應(yīng)用程序之間的接口是()。A.shell命令B.圖形界面C.系統(tǒng)調(diào)用D.C語言函數(shù)8.為了使系統(tǒng)中所有的用戶都能得到及時的響應(yīng),該操作系統(tǒng)應(yīng)當(dāng)是()。A.多道批解決系統(tǒng)B.分時系統(tǒng)C.實時系統(tǒng)D.網(wǎng)絡(luò)系統(tǒng)9.在實時系統(tǒng)中,一旦有解決請求和規(guī)定解決的數(shù)據(jù)時,CPU就應(yīng)當(dāng)立即解決該數(shù)據(jù)并將結(jié)果及時送回。下面屬于實時系統(tǒng)的是()。A.計算機激光照排系統(tǒng)B.辦公自動化系統(tǒng)C.計算機輔助設(shè)計系統(tǒng)D.航空訂票系統(tǒng)10.下面不屬于分時系統(tǒng)特性的是()。A.為多用戶設(shè)計B.需要中斷機構(gòu)及時鐘系統(tǒng)的支持C.方便用戶與計算機的交互D.可靠性比實時系統(tǒng)規(guī)定高11.以下著名的操作系統(tǒng)中,屬于多用戶、分時系統(tǒng)的是()。A.DOS系統(tǒng)B.WindowsNT系統(tǒng)C.UNIX系統(tǒng)D.OS/2系統(tǒng)二、判斷題(對的的劃√,錯誤的劃×。)1.操作系統(tǒng)是用戶與計算機之間的接口。()2.操作系統(tǒng)是系統(tǒng)軟件中的一種,在進行系統(tǒng)安裝時可以先安裝其它軟件,然后再裝操作系統(tǒng)。()3.操作系統(tǒng)是整個計算機系統(tǒng)的控制管理中心,它對其它軟件具有支配權(quán)利。因而,操作系統(tǒng)建立在其它軟件之上。()4.在UNIX/Linux系統(tǒng)上,系統(tǒng)調(diào)用以C函數(shù)的形式出現(xiàn)。()5.雖然分時系統(tǒng)也規(guī)定系統(tǒng)可靠,但實時系統(tǒng)對可靠性的規(guī)定更高。()6.UNIX操作系統(tǒng)是采用微內(nèi)核方法實現(xiàn)結(jié)構(gòu)設(shè)計的。()三、簡答題請同學(xué)們解答參考教材26頁的課后習(xí)題。參考答案:一、CBDDBBCBDDC二、1、4、5是對的的。2、(╳)安裝操作系統(tǒng)時必須先安裝操作系統(tǒng),然后再安裝其它軟件3、(╳)其它軟件建立在操作系統(tǒng)之上。6、(╳)UNIX操作系統(tǒng)采用的是層次結(jié)構(gòu)三、四見教材習(xí)題解答第2章進程管理輔導(dǎo)與自測2.1本章知識點進程是操作系統(tǒng)中最基本、最重要的概念之一,在計算機系統(tǒng)中,進程不僅是最基本的并發(fā)執(zhí)行的單位,并且也是分派資源的基本單位。引入進程這個概念,對于我們理解、描述和設(shè)計操作系統(tǒng)具有重要意義。本章的重要知識點為:(1)進程的概念進程是程序在并發(fā)環(huán)境中的執(zhí)行過程。進程最主線的屬性是動態(tài)性和并發(fā)性。要注意進程與程序的區(qū)別。進程的五個基本特性是:動態(tài)性、并發(fā)性、獨立性、制約性、結(jié)構(gòu)性。一個進程實體通常由程序、數(shù)據(jù)、棧和進程控制塊(PCB)這四部分組成。進程控制塊是進程組成中最關(guān)鍵的部分。每個進程有唯一的進程控制塊。操作系統(tǒng)根據(jù)PCB對進程實行控制和管理。進程的動態(tài)、并發(fā)等特性是運用PCB表現(xiàn)出來的。為了對所有進程進行有效地管理,常將各進程的PCB用適當(dāng)?shù)姆绞浇M織起來。一般說來,進程隊列有以下幾種方式:線性方式、鏈接方式和索引方式。進程有三個基本狀態(tài):運營態(tài)、就緒態(tài)和阻塞態(tài)。在一定的條件下,進程的狀態(tài)將發(fā)生轉(zhuǎn)換。下圖所示為進程的狀態(tài)及其轉(zhuǎn)換。運營態(tài)運營態(tài)分派到CPU時間片到等待某事件發(fā)生所等待的事件發(fā)生阻塞態(tài)就緒態(tài)圖進程狀態(tài)及其轉(zhuǎn)換(2)進程管理就如同人類的族系同樣,系統(tǒng)中眾多的進程也存在族系關(guān)系:由父進程創(chuàng)建子進程,子進程再創(chuàng)建子進程,從而構(gòu)成一棵樹形的進程族系圖。進程作為有“生命期”的動態(tài)過程,對它們的實行管理重要涉及:創(chuàng)建進程、撤消進程、掛起進程、恢復(fù)進程、改變進程優(yōu)先級、封鎖進程、喚醒進程、調(diào)度進程等。在Linux系統(tǒng)中,進程有5種狀態(tài)。進程分為系統(tǒng)進程和用戶進程。其中,系統(tǒng)進程只運營在內(nèi)核模式下;用戶進程既可以在用戶模式下運營,也可以通過系統(tǒng)調(diào)用等運營在內(nèi)核模式下。Linux的task_struct結(jié)構(gòu)相稱于其進程控制塊。Linux系統(tǒng)對進程的操作常用命令有:ps、kill、sleep等。常用的系統(tǒng)調(diào)用有:fork,exec,wait,exit,getpid,sleep,nice等。(3)進程通信進程通信是指進程間的信息互換。根據(jù)進程間互換信息量的多少,分為高級進程通信和低檔進程通信。進程的同步與互斥是指進程在推動時的互相制約關(guān)系,屬于低檔進程通信。一般來說同步反映了進程之間的協(xié)作關(guān)系,往往指有幾個進程共同完畢一個任務(wù)時在時間順序上的某種限制,進程互相之間各自的存在及作用,通過互換信息完畢通信。如接力比賽中一組隊員使用接力棒等。進程互斥體現(xiàn)了進程之間對資源的競爭關(guān)系,這時進程互相之間不一定清楚其它進程的情況,往往指多個任務(wù)多個進程間的通訊制約,因而使用更廣泛。如打籃球時雙方掙搶籃板球等。我們用信號量(Semaphore)及P,V操作來實現(xiàn)進程的同步和互斥。生產(chǎn)者-消費者問題是經(jīng)典的進程同步和互斥問題。(4)死鎖死鎖是指多個進程循環(huán)等待他方占有的資源而無限期地僵持下去的局面。計算機系統(tǒng)產(chǎn)生死鎖的主線因素就是資源有限且操作不妥。一種因素是競爭資源引起的死鎖,另一種因素是由于進程推動順序不合適引發(fā)的死鎖。產(chǎn)生死鎖的四個必要條件是:互斥條件,不可搶占條件,占有且申請條件,循環(huán)等待條件。假如在計算機系統(tǒng)中同時具有這四個必要條件時,那么會發(fā)生死鎖。一般地,解決死鎖的方法分為死鎖的防止、避免、檢測與恢復(fù)三種。2.2典型例題解析【例1】判斷題:并發(fā)是并行的不同表述,其原理相同。()答案×。分析并發(fā)是指多道程序的執(zhí)行在時間上是重疊的,一個程序的執(zhí)行尚未結(jié)束,另一個程序的執(zhí)行已經(jīng)開始。但對單CPU系統(tǒng)而言,每一時刻只有一個程序在CPU上運營(有也許此時其他的程序在進行輸入、輸出)。也就是說,占有CPU的只能有一個程序。因此,并發(fā)事實上是“在宏觀上并行執(zhí)行,在微觀上串行執(zhí)行”。而并行是真正意義上的并行執(zhí)行,因此兩者的含義是不同的?!纠病吭诓僮飨到y(tǒng)中引入“進程”概念的重要目的是()。A.改善用戶編程環(huán)境B.提高程序的運營速度C.描述程序動態(tài)執(zhí)行過程的性質(zhì)D.使程序與計算過程一一相應(yīng)答案C分析操作系統(tǒng)中多道程序的引入,使得它們在并發(fā)執(zhí)行時共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各道程序在執(zhí)行過程中就出現(xiàn)了互相制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停?!钡男聽顟B(tài)。這些都是在程序的動態(tài)過程中發(fā)生的。而程序自身是機器可以翻譯或執(zhí)行的一組動作或指令,它或者寫在紙面上,或者存放在磁盤等介質(zhì)上,是靜止的。很顯然,直接從程序的字面上無法看出它什么時候運營、什么時候停頓,也看不出它是否影響其它程序或者一定受其它程序的影響。因此,用程序這個靜態(tài)概念已不能如實反映程序并發(fā)執(zhí)行過程中的這些特性。為此,人們引入進程的概念來描述程序動態(tài)執(zhí)行過程的性質(zhì),這是引入“進程”概念的重要目的。【例3】下列進程狀態(tài)的轉(zhuǎn)換中,不對的的是()。A.就緒?阻塞B.運營?就緒C.就緒?運營D.阻塞?就緒答案A分析回答這道題要知道進程的3種基本狀態(tài),以及它們之間的轉(zhuǎn)換關(guān)系。通過下圖可以看到,凡是圖中有箭頭指向的轉(zhuǎn)換都是可行的,而沒有箭頭指向的則不也許。因此A是不對的的。運營態(tài)運營態(tài)分派到CPU時間片到等待某事件發(fā)生所等待的事件發(fā)生阻塞態(tài)就緒態(tài)圖進程狀態(tài)及其轉(zhuǎn)換假如有的同學(xué)記不住這張圖,那就從理解的角度進行思考。一方面要理解3種狀態(tài)的含義,然后再理解它們之間的轉(zhuǎn)換。例如:運營的進程能變成就緒嗎?可以,假如運營進程的時間片到了,就必修讓出CPU,轉(zhuǎn)換為就緒態(tài)。就緒的進程能變成阻塞嗎?不可以,就緒態(tài)的進程已經(jīng)具有了運營條件,只在等待CPU,怎么也許還退回到還不具有運營條件的阻塞態(tài)呢?因此,假如理解了,這張圖就可以自己畫出來,并不需要死記硬背。【例4】進程控制塊是描述進程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),一個進程()。A.可以有多個進程控制塊B.可以和其他進程共用一個進程控制塊C.可以沒有進程控制塊D.只能有唯一的進程控制塊答案D分析進程控制塊(PCB)是一個用于描述進程動態(tài)性質(zhì)的數(shù)據(jù)結(jié)構(gòu)。操作系統(tǒng)根據(jù)PCB對進程實行控制和管理。進程的動態(tài)、并發(fā)等特性也是通過PCB表現(xiàn)出來的。進程由程序、數(shù)據(jù)、棧和PCB構(gòu)成。構(gòu)成進程的有關(guān)程序和數(shù)據(jù)集合是進程得以存在的物質(zhì)基礎(chǔ),它們是進程的實體;PCB用于標(biāo)記和刻畫實體的存在和變化,是進程存在的唯一標(biāo)志。當(dāng)系統(tǒng)創(chuàng)建一個新進程時,就為它建立一個PCB;當(dāng)進程終止后,系統(tǒng)回收為其分派的PCB,該進程在系統(tǒng)中就不存在了?!纠?】在執(zhí)行V操作時,當(dāng)信號量的值(),應(yīng)釋放一個等待該信號量的進程。A.小于0B.大于0C.小于等于0D.大于等于0答案C分析P,V操作可以實現(xiàn)對臨界區(qū)的管理規(guī)定。它由P操作原語和V操作原語組成(原語是不可中斷的過程),對信號量進行操作,具體定義如下:P(S):①將信號量S的值減1,即S=S1;②假如S0,則該進程繼續(xù)執(zhí)行;否則該進程置為阻塞狀態(tài),排入阻塞隊列。V(S):①將信號量S的值加1,即S=S+1;②假如S>0,則該進程繼續(xù)執(zhí)行;否則釋放隊列中第一個等待信號量的進程。信號量的數(shù)據(jù)結(jié)構(gòu)為一個值和一個指針,指針指向等待該信號量的下一個進程。信號量的值與相應(yīng)資源的使用情況有關(guān)。當(dāng)它的值大于0時,表達當(dāng)前可用資源的數(shù)量;當(dāng)它的值小于0時,其絕對值表達等待使用該資源的進程個數(shù)。注意,信號量的值僅能由P,V操作來改變。一般來說,信號量S0時,S表達可用資源的數(shù)量。執(zhí)行一次P操作意味著請求分派一個單位資源,因此S的值減1;當(dāng)S<0時,表達已經(jīng)沒有可用資源,請求者必須等待別的進程釋放該類資源,它才干運營下去。而執(zhí)行一個V操作意味著釋放一個單位資源,因此S的值加1;若S0,表達有某些進程正在等待該資源,因此要喚醒一個等待狀態(tài)的進程,使之運營下去?!纠?】有9個生產(chǎn)者,6個消費者,共享容量為8的緩沖區(qū)。在這個生產(chǎn)者-消費者問題中,互斥使用緩沖區(qū)的信號量mutex的初值應(yīng)當(dāng)為()。A.1B.6C.8D.9答案A分析進程的互斥是指當(dāng)有若干個進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用,其它要使用該資源的進程必須等待,直到占用資源者釋放了該資源。進程的互斥體現(xiàn)了并發(fā)進程之間訪問共享資源時存在的競爭關(guān)系。在計算機系統(tǒng)中必須互斥使用的資源很多,如讀卡機、磁帶機、打印機等硬件資源和一些公共變量、表格、隊列、數(shù)據(jù)等軟件資源。運用信號量和P,V操作實現(xiàn)進程互斥的一般模型是:進程P1進程P2……進程Pn………………P(mutex);P(mutex);P(mutex);臨界區(qū);臨界區(qū);臨界區(qū);V(mutex);V(mutex);V(mutex);……其中信號量mutex用于互斥,初值為1。使用P,V操作實現(xiàn)進程互斥時應(yīng)當(dāng)注意的是:(1)每個程序中用戶實現(xiàn)互斥的P、V操作必須成對出現(xiàn),先做P操作,進臨界區(qū),后做V操作,出臨界區(qū)。若有多個分支,要認(rèn)真檢查其成對性。(2)互斥信號量的初值一般為1。此外,P、V操作應(yīng)分別緊靠臨界區(qū)的頭尾部,臨界區(qū)的代碼應(yīng)盡也許短,不能有死循環(huán)。在本題中,既然是問互斥信號量,其初值應(yīng)為1,選項中的6,8,9都是迷惑答題者的,假如對同步和互斥不能很好地理解,就很難選擇?!纠?】兩個進程合作完畢一個任務(wù),在并發(fā)執(zhí)行中,一個進程要等待其合作伙伴發(fā)來信息,或者建立某個條件后再向前執(zhí)行,這種關(guān)系是進程間的()關(guān)系。A.同步? B.互斥??C.競爭 D.合作答案A分析進程的同步是指并發(fā)進程之間存在一種制約關(guān)系,一個進程的執(zhí)行依賴另一個進程的消息,當(dāng)一個進程沒有得到另一個進程的消息時應(yīng)等待,直到消息到達才被喚醒。同步是進程間共同完畢一項任務(wù)時直接發(fā)生互相作用的關(guān)系。這樣的例子在平常生活中不勝枚舉,比如接力比賽中運動員的默契配合,工業(yè)生產(chǎn)中流水作業(yè)的每道工序的先后執(zhí)行,以及計算機系統(tǒng)中對一個緩沖區(qū)的讀和寫等等。當(dāng)并發(fā)進程存在協(xié)作的關(guān)系時,必須互通消息,完畢進程的同步。能實現(xiàn)進程同步的機制稱為同步機制,該機制能把其他進程需要的消息發(fā)送出去,也能測試自己需要的消息是否到達。P,V操作是典型的同步機制之一。用一個信號量與一個消息聯(lián)系起來,當(dāng)信號量的值為0時,表達盼望的消息尚未產(chǎn)生;當(dāng)信號量的值非0時,表達盼望的消息已經(jīng)存在。用P,V操作實現(xiàn)進程同步時,調(diào)用P操作測試消息是否到達,調(diào)用V操作發(fā)送消息。使用PV操作實現(xiàn)進程同步時應(yīng)當(dāng)注意的是:(1)分析進程間的制約關(guān)系,擬定信號量種類。在保持進程間有對的的同步關(guān)系情況下,哪個進程先執(zhí)行,哪些進程后執(zhí)行,彼此間通過什么資源(信號量)進行協(xié)調(diào),從而明確要設(shè)立哪些信號量。(2)信號量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。(3)同一信號量的P、V操作要成對出現(xiàn),但它們分別在不同的進程代碼中。本題中進程的同步體現(xiàn)的是合作關(guān)系,但答案不能選D,要使用操作系統(tǒng)的術(shù)語“同步”?!纠浮吭O(shè)有一臺計算機,有兩條I/O通道,分別接一臺卡片輸入機和一臺打印機??ㄆ瑱C把一疊卡片逐個輸入到緩沖區(qū)B1中,加工解決后再搬到緩沖區(qū)B2中,并在打印機上打印結(jié)果。問:①系統(tǒng)要設(shè)幾個進程來完畢這個任務(wù)?各自的工作是什么?②這些進程間有什么樣的互相制約關(guān)系?③用P、V操作寫出這些進程的同步算法。分析我們畫一個草圖來幫助我們理解這道題:卡片機卡片機緩沖區(qū)B1打印機緩沖區(qū)B2輸入解決輸出從圖中可以看出,從“卡片機”到“打印機”共需要3個操作,即輸入、解決、輸出。這3個動作就是完畢任務(wù)的3個進程。下面我們看看這些進程之間有什么樣的制約關(guān)系??梢钥闯?這3個進程之間是同步關(guān)系,合作完畢從輸入到輸出的工作任務(wù)。對其中任何一個進程,要解決好與其關(guān)聯(lián)的兩端設(shè)備的協(xié)調(diào)工作。以“輸入進程”為例,它與卡片機和緩沖區(qū)B1關(guān)聯(lián),將卡片機的卡片輸入到緩沖區(qū)B1,在不考慮卡片機的情況下,就要考慮緩沖區(qū)的情況,即是滿還是空,是空緩沖區(qū),輸入進程就可以輸入信息,假如緩沖區(qū)滿,則要等待“解決進程”將B1中的信息取走,使之為空,輸入進程才干繼續(xù)工作。依此類推,可以找出此外2個進程的制約關(guān)系。一般來說,解決進程同步需要2個信號量,“輸入進程”和“解決進程”同步,需要2個信號量,解決緩沖區(qū)B1的協(xié)調(diào)操作問題;而“解決進程”和“輸出進程”同步,還需要2個信號量,解決緩沖區(qū)B2的協(xié)調(diào)操作問題。因此,共需要4個信號量。本題中“解決進程”的算法有一些難度,由于它需要協(xié)調(diào)兩個緩沖區(qū)的工作,考慮的因素比較多,算法復(fù)雜些。答案①系統(tǒng)可設(shè)三個進程來完畢這個任務(wù):R進程負(fù)責(zé)從卡片輸入機上讀入卡片信息,輸入到緩沖區(qū)B1中;C進程負(fù)責(zé)從緩沖區(qū)B1中取出信息,進行加工解決,之后將結(jié)果送到緩沖區(qū)B2中;P進程負(fù)責(zé)從緩沖區(qū)B2中取出信息,并在打印機上印出。②R進程受C進程影響,B1放滿信息后R進程要等待——等C進程將其中信息所有取走,才干繼續(xù)讀入信息;C進程受R進程和P進程的約束:B1中信息放滿后C進程才可從中取出它們,且B2被取空后,C進程才可將加工結(jié)果送入其中;P進程受C進程的約束:B2中信息放滿后P進程才可從中取出它們,進行打印。③信號量含義及初值:B1full——緩沖區(qū)B1滿,初值為0;B1empty——緩沖區(qū)B1空,初值為0;B2full——緩沖區(qū)B2滿,初值為0;B2empty——緩沖區(qū)B2空,初值為0; 說明前面我們說過:信號量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。以本題為例,假如R進程的算法如下:則信號量B1empty初值應(yīng)為1。表達B1緩沖區(qū)初始為空閑狀態(tài)。假如C進程的算法如下:? 則信號量B2empty初值應(yīng)為1。表達B2緩沖區(qū)初始為空閑狀態(tài)。【例9】死鎖的四個必要條件中,無法破壞的是()。A.互斥條件B.不可搶占條件C.占有且申請條件D.循環(huán)等待條件答案A分析互斥條件、不可搶占條件、占有且申請條件和循環(huán)等待條件是死鎖發(fā)生時的4個必要條件,我們知道,只要破壞這4個必要條件中的任意一個條件,死鎖就不會發(fā)生。打破互斥條件,就是允許進程同時訪問某些資源。但是,有的資源是不允許被同時訪問的,如打印機等,這是由資源自身的屬性所決定的,因此這種方法并無實用價值。而其他三個條件是完全可以破壞的。2.3練習(xí)題一、選擇題(選擇一個對的答案的代碼填入括號中)順序程序和并發(fā)程序的執(zhí)行相比,()。A.基本相同B.有點不同C.并發(fā)程序執(zhí)行總體上執(zhí)行時間快D.順序程序執(zhí)行總體上執(zhí)行時間快在單一解決機上,將執(zhí)行時間有重疊的幾個程序稱為()。A.順序程序B.多道程序C.并發(fā)程序D.并行程序在單CPU的系統(tǒng)中,若干程序的并發(fā)執(zhí)行是由()實現(xiàn)的。A.用戶B.程序自身C.進程D.編譯程序進程與程序之間有密切聯(lián)系,但又是不同的概念。兩者的一個本質(zhì)區(qū)別是()。A.程序是靜態(tài)概念,進程是動態(tài)概念B.程序是動態(tài)概念,進程是靜態(tài)概念C.程序保存在文獻中,進程存放在內(nèi)存中D.程序順序執(zhí)行,進程并發(fā)執(zhí)行在操作系統(tǒng)中,進程的最基本的特性是()。A.動態(tài)性和并發(fā)性B.順序性和可再現(xiàn)性C.與程序的相應(yīng)性D.執(zhí)行過程的封閉性多個進程的實體能存在于同一內(nèi)存中,在一段時間內(nèi)都得到運營。這種性質(zhì)稱作進程的()。A.動態(tài)性B.并發(fā)性C.調(diào)度性D.異步性進程是程序的執(zhí)行過程,可以處在不同的狀態(tài)。這種性質(zhì)稱作進程的()。A.動態(tài)性B.并發(fā)性C.調(diào)度性D.異步性在下列特性中,不是進程的特性的是()。A.異步性B.調(diào)度性C.操作性D.動態(tài)性某進程由于需要從磁盤上讀入數(shù)據(jù)而處在阻塞狀態(tài)。當(dāng)系統(tǒng)完畢了所需的讀盤操作后,此時該進程的狀態(tài)將()。從就緒變?yōu)檫\營B.從運營變?yōu)榫途wC.從運營變?yōu)樽枞模畯淖枞優(yōu)榫途w一個進程被喚醒意味著()。A.該進程重新占有了CPUB.進程狀態(tài)變?yōu)榫途wC.它的優(yōu)先權(quán)變?yōu)樽畲螅?其PCB移至就緒隊列的隊首在單解決機系統(tǒng)中,處在運營狀態(tài)的進程()。A.只有一個B.可以有多個C.不能被掛起D.必須在執(zhí)行完后才干被撤下已經(jīng)獲得除()以外的所有運營所需資源的進程處在就緒狀態(tài)。A.存儲器B.打印機C.CPUD.磁盤空間進程從運營狀態(tài)變?yōu)樽枞麪顟B(tài)的因素是()。A.輸入或輸出事件發(fā)生B.時間片到C.輸入或輸出事件完畢D.某個進程被喚醒為了描述進程的動態(tài)變化過程,采用了一個與進程相聯(lián)系的(),根據(jù)它而感知進程的存在。A.進程狀態(tài)字B.進程優(yōu)先數(shù)C.進程控制塊D.進程起始地址進程在系統(tǒng)中存在的唯一標(biāo)志是()。A.所運營的程序B.所運營的程序和數(shù)據(jù)C.進程隊列D.進程控制塊進程的動態(tài)、并發(fā)等特性是運用()表現(xiàn)出來的。A.程序B.數(shù)據(jù)C.程序和數(shù)據(jù)D.進程控制塊進程間的基本關(guān)系為()。A.互相獨立與互相制約B.同步與互斥C.并行執(zhí)行與資源共享D.信息傳遞與信息緩沖在一段時間內(nèi),只允許一個進程訪問的資源稱為()。A.共享資源B.臨界區(qū)C.臨界資源D.共享區(qū)操作系統(tǒng)中有一組常稱為特殊系統(tǒng)調(diào)用的程序,其操作具有不可分割性,在操作系統(tǒng)中稱為()。A.初始化程序B.原語C.子程序D.控制模塊操作系統(tǒng)中運用信號量和P、V操作,()。A.只能實現(xiàn)進程的互斥B.只能實現(xiàn)進程的同步C.可實現(xiàn)進程的互斥和同步D.可完畢進程調(diào)度假如進程Pa對信號量S執(zhí)行P操作,則信號量S的值應(yīng)()。A.加1B.減1C.等于0D.小于0假如信號量S的值是0,此時進程A執(zhí)行P(S)操作,那么,進程A?xí)?)。A.繼續(xù)運營B.進入阻塞態(tài),讓出CPUC.進入就緒態(tài),讓出CPUD.繼續(xù)運營,并喚醒S隊列頭上的等待進程在操作系統(tǒng)中,對信號量S的P操作原語的定義中,使進程進入相應(yīng)阻塞隊列等待的條件是()。A.S>0B.S=0C.S<0D.S0信號量S的初值為8,在S上執(zhí)行了10次P操作,6次V操作后,S的值為()。A.10B.8C.6D.4若P、V操作的信號量S初值為2,當(dāng)前值為1,則表達有()個等待進程。A.0??B.l? C.2??D.3在進程通信中,使用信箱方式互換信息的是()。A.低檔進程通信B.高級進程通信C.共享內(nèi)存方式D.管道文獻方式系統(tǒng)出現(xiàn)死鎖的因素是()。A.計算機系統(tǒng)發(fā)生了重大故障B.有多個封鎖的進程同時存在C.若干進程因競爭資源而無休止地循環(huán)等待著,并且都不釋放已占有的資源D.資源數(shù)大大少于進程數(shù),或進程同時申請的資源數(shù)大大超過資源總數(shù)兩個進程爭奪同一個資源()。A.一定死鎖B.不一定死鎖C.不會死鎖D.以上說法都不對二、判斷題(對的的劃√,錯誤的劃×。)簡樸地說,進程是程序的執(zhí)行過程。因而,進程和程序是一一相應(yīng)的。()進程和程序是兩個截然不同的概念。()程序在運營時需要很多系統(tǒng)資源,如內(nèi)存、文獻、設(shè)備等,因此操作系統(tǒng)以程序為單位分派系統(tǒng)資源。()進程控制塊(PCB)是專為用戶進程設(shè)立的私有數(shù)據(jù)結(jié)構(gòu),每個進程僅有一個PCB。()進程執(zhí)行的相對速度不能由進程自己來控制。()進程之間的互斥,重要源于進程之間的資源競爭,從而實現(xiàn)多個相關(guān)進程在執(zhí)行順序上的協(xié)調(diào)。()信號量機制是一種有效的實現(xiàn)進程同步與互斥的工具。信號量只能由P、V操作來改變。()V操作是對信號量執(zhí)行加1操作,意味著釋放一個單位資源,假如加1后信號量的值小于等于零,則從等待隊列中喚醒一個進程,現(xiàn)進程變?yōu)樽枞麪顟B(tài),否則現(xiàn)進程繼續(xù)進行。()運用信號量的P,V操作,進程之間可以互換大量信息。()系統(tǒng)產(chǎn)生死鎖的主線因素是資源有限且操作不妥。因此,當(dāng)系統(tǒng)提供的資源少于并發(fā)進程的需求時,系統(tǒng)就產(chǎn)生死鎖。()三、簡答題四、應(yīng)用題請同學(xué)們解答參考教材68頁的課后習(xí)題。參考答案:一、CCCAABDCDBACACDDBCBCBBCDBBCB二、2,5,7是對的的。1.(×)。進程和程序不是一一相應(yīng)的。3.(×)。操作系統(tǒng)以進程為單位分派系統(tǒng)資源。4.(×)。進程控制塊(PCB)是為系統(tǒng)中各個進程設(shè)立的私有數(shù)據(jù)結(jié)構(gòu)。第3章解決機調(diào)度輔導(dǎo)與自測3.1本章知識點調(diào)度是操作系統(tǒng)的基本功能,幾乎所有的計算機資源在使用之前都要通過調(diào)度。CPU作為計算機最重要的資源,解決機調(diào)度的目的就是分派CPU。CPU是操作系統(tǒng)中最核心的調(diào)度,其調(diào)度策略決定了操作系統(tǒng)的類型,其調(diào)度算法優(yōu)劣直接影響整個系統(tǒng)的性能。所以,調(diào)度問題是操作系統(tǒng)設(shè)計的一個中心問題。本章的重要知識點為:(1)調(diào)度級別一般來說,作業(yè)從進入系統(tǒng)到最后完畢,也許要經(jīng)歷三級調(diào)度:高級調(diào)度、中級調(diào)度和低檔調(diào)度,這是按調(diào)度層次進行分類的。其中,高級調(diào)度又稱為作業(yè)調(diào)度,低檔調(diào)度又稱為進程調(diào)度。作業(yè)調(diào)度是在輸入的一批作業(yè)中選擇有權(quán)競爭CPU的作業(yè)。資源的分派策略(特別是內(nèi)存管理)對作業(yè)調(diào)度有很大影響。為了使內(nèi)存中同時存放的進程數(shù)目不至于太多,有時就需要把某些進程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級調(diào)度。進程調(diào)度是從就緒進程隊列中選擇一個進程,并把CPU分派給它。進程調(diào)度是這三級調(diào)度中是必不可少的。這三級調(diào)度中,要重點理解作業(yè)調(diào)度和進程調(diào)度形成的兩級調(diào)度模型,如下圖所示。通過理解這個圖,理解作業(yè)的4種狀態(tài):提交、后備、執(zhí)行和完畢,作業(yè)調(diào)度的功能,進程調(diào)度的功能,進程調(diào)度的時機,以及這兩級調(diào)度如何協(xié)調(diào)工作完畢了解決機調(diào)度。(2)常用調(diào)度算法針對不同的系統(tǒng)目的,會采用不同的調(diào)度策略。擬定調(diào)度策略是件復(fù)雜的工作,往往要兼顧多種因素的影響。CPU運用率、吞吐量、周轉(zhuǎn)時間、就緒等待時間和響應(yīng)時間等是通常評價系統(tǒng)性能時都要考慮的幾個指標(biāo)。教材中重要介紹了3種調(diào)度算法,分別是先來先服務(wù)法、時間片輪轉(zhuǎn)法和優(yōu)先級法。先來先服務(wù)法(FCFS)是最簡樸的調(diào)度算法,它的實現(xiàn)思想就是“排隊買票”的辦法。按作業(yè)(或進程)到來的先后順序進行調(diào)度,即先來的先得到執(zhí)行。時間片輪轉(zhuǎn)法(RR)的設(shè)計實現(xiàn)思想是系統(tǒng)把所有就緒進程按先入先出的原則排成一個隊列。每當(dāng)執(zhí)行進程調(diào)度時,進程調(diào)度程序總是選出就緒隊列的隊首進程,讓它在CPU上運營一個時間片的時間。當(dāng)進程用完分給它的時間片后,調(diào)度程序便停止該進程的運營,并把它放入就緒隊列的末尾;然后,把CPU分給就緒隊列的隊首進程。輪轉(zhuǎn)法合用于分時系統(tǒng)。其重要問題是時間片如何選擇:時間片太長了,就成為FCFS調(diào)度;時間片太短了,頻繁調(diào)度,開銷太大。優(yōu)先級調(diào)度算法的實現(xiàn)思想:是從就緒隊列中選出優(yōu)先級最高的進程,把CPU分給它使用。又分為非搶占式優(yōu)先級法和搶占式優(yōu)先級法。前者是:當(dāng)前占用CPU的進程一直運營下去,直到完畢任務(wù)或者因等待某事件而積極讓出CPU時,系統(tǒng)才讓另一個優(yōu)先級高的進程占用CPU。后者是:當(dāng)前進程在運營過程中,一旦有另一個優(yōu)先級更高的進程出現(xiàn)在就緒隊列中,進程調(diào)度程序就停止當(dāng)前進程的運營,強行將CPU分給那個進程。其它常用的調(diào)度算法尚有:短作業(yè)優(yōu)先法、最短剩余時間優(yōu)先法、多級隊列法、多級反饋隊列法。(3)中斷解決并發(fā)是現(xiàn)代計算機系統(tǒng)的重要特性,它允許多個進程同時在系統(tǒng)中活動。而實行并發(fā)的基礎(chǔ)是由硬件和軟件結(jié)合而成的中斷機制。中斷是現(xiàn)代計算機系統(tǒng)中的重要概念之一,它是指CPU對系統(tǒng)發(fā)生的某個事件做出的解決過程。按功能劃分,中斷一般分為I/O中斷、機器故障中斷、外部中斷、程序性中斷、訪管中斷。在中斷響應(yīng)和解決過程中,硬件對中斷請求做出響應(yīng):中止當(dāng)前程序的執(zhí)行,保存斷點信息,轉(zhuǎn)到相應(yīng)的解決程序。軟件對中斷進行相應(yīng)的解決:保存現(xiàn)場,分析因素,解決中斷,中斷返回。各中斷解決程序是操作系統(tǒng)的重要組成部分。對中斷的解決是在核心態(tài)下進行的。Linux系統(tǒng)提供應(yīng)用戶的最重要的系統(tǒng)程序是shell命令語言解釋程序。其基本功能是解釋并執(zhí)行用戶輸入的各種命令,實現(xiàn)用戶與Linux核心的接口。shell解釋程序的工作過程基本上是讀入命令行、分析命令行和構(gòu)成命令樹,創(chuàng)建子進程來執(zhí)行命令樹等環(huán)節(jié)。(4)Linux系統(tǒng)的進程調(diào)度Linux系統(tǒng)的進程調(diào)度機制重要涉及調(diào)度方式、調(diào)度策略、調(diào)度時機和調(diào)度算法。Linux系統(tǒng)對進程采用兩級調(diào)度:中級調(diào)度(對換進程,解決內(nèi)存分派)和低檔調(diào)度(解決CPU分派)。進程調(diào)度基本上采用搶占式優(yōu)先級算法。而針對不同類型的進程又采用相應(yīng)的調(diào)度策略。本章還介紹了Linux系統(tǒng)中常用的調(diào)度命令,如nohup、at(yī)、bat(yī)ch、jobs、fg、bg。3.2典型例題解析【例1】為了使系統(tǒng)中各部分資源得到均衡使用,就必須選擇對資源需求不同的作業(yè)進行合理搭配,這項工作是由()完畢的。A.作業(yè)調(diào)度B.中級調(diào)度C.進程調(diào)度D.內(nèi)存調(diào)度答案A分析一方面,要了解操作系統(tǒng)解決機調(diào)度的級別,即作業(yè)從進入系統(tǒng)到最后完畢,至少要經(jīng)歷兩級調(diào)度:高級調(diào)度和低檔調(diào)度。為了使內(nèi)存中同時存放的進程數(shù)目不至于太多,有時需要把某些進程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級調(diào)度。各個級別調(diào)度的含義,所解決的問題,即功能是什么。只有清楚地掌握了這些基本概念,才干做好選擇。本題說的是作業(yè)的合理搭配以達成系統(tǒng)資源的均衡運用,顯然是作業(yè)調(diào)度的工作。而中級調(diào)度解決的是內(nèi)存分派問題,進程調(diào)度解決的是哪一個就緒進程占有CPU的問題。因此答案選A?!纠?】作業(yè)調(diào)度程序從處在()狀態(tài)的隊列中選取適當(dāng)?shù)淖鳂I(yè)調(diào)入主存運營。A.執(zhí)行B.提交C.完畢D.后備答案D分析解答此題需要了解作業(yè)的狀態(tài)以及轉(zhuǎn)換。一個作業(yè)從進入系統(tǒng)到運營結(jié)束要經(jīng)歷四種狀態(tài):提交狀態(tài)、后備狀態(tài)、執(zhí)行狀態(tài)和完畢狀態(tài)。(1)提交狀態(tài):用戶的一個作業(yè)提交給系統(tǒng)時所處的狀態(tài),如用戶通過鍵盤向機器輸入作業(yè)。處在提交狀態(tài)的作業(yè),其信息正在進入系統(tǒng)。(2)后備狀態(tài):用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機)輸入進外存(磁盤)中存放,等待進入內(nèi)存時所處的狀態(tài)。此時,系統(tǒng)將為該作業(yè)建立一個作業(yè)控制塊JCB,并把作業(yè)插入到后備作業(yè)隊列中檔待調(diào)度運營。(3)執(zhí)行狀態(tài):作業(yè)調(diào)度程序按照一定的作業(yè)調(diào)度算法從后備作業(yè)隊列中選中一個作業(yè),為它分派必要的資源,建立一組相應(yīng)的進程后,這個作業(yè)就由后備狀態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)。需要指出的是,處在執(zhí)行狀態(tài)的作業(yè)在系統(tǒng)中并不一定真正占有解決機,作業(yè)能否真正在解決機上運營由進程調(diào)度來控制。(4)完畢狀態(tài):作業(yè)完畢了解決任務(wù),輸出結(jié)果形成報告,系統(tǒng)將作業(yè)控制塊JCB從當(dāng)前作業(yè)隊列中刪除,并回收分派給作業(yè)的所有資源,準(zhǔn)備退出系統(tǒng)時的作業(yè)狀態(tài)。四種作業(yè)狀態(tài)的轉(zhuǎn)換見下圖:進程調(diào)度進程調(diào)度作業(yè)調(diào)度作業(yè)調(diào)度提交后備完畢運營就緒阻塞參考上圖,有這樣一個判斷題:作業(yè)調(diào)度程序選中一個作業(yè)后,與該作業(yè)相關(guān)的進程即占有CPU運營。答案是錯誤的,由于執(zhí)行狀態(tài)的作業(yè)能否真正在CPU上運營由進程調(diào)度來控制,這時候的進程至少有三種基本狀態(tài),不能保證一定是占有CPU的運營狀態(tài)?!纠?】在批解決系統(tǒng)中,周轉(zhuǎn)時間是()。A.作業(yè)運營時間B.作業(yè)等待時間和運營時間之和C.作業(yè)的相對等待時間D.作業(yè)被調(diào)度進入主存到運營完畢的時間答案B分析作業(yè)的周轉(zhuǎn)時間=作業(yè)完畢時間-作業(yè)提交時間。周轉(zhuǎn)時間是用于作業(yè)等待進入內(nèi)存、進程在就緒隊列中檔待、進程在CPU上運營和完畢I/O操作所花費時間的總和。因此,周轉(zhuǎn)時間是作業(yè)等待時間和運營時間之和。答案D是不對的,由于作業(yè)提交后進入作業(yè)后備狀態(tài),此時作業(yè)是在外存,這個時間也要計入作業(yè)的周轉(zhuǎn)時間。【例4】在作業(yè)調(diào)度中,若采用優(yōu)先級調(diào)度算法,為了盡也許使CPU和外部設(shè)備并行工作,有如下三個作業(yè):J1以計算為主,J2以輸入輸出為主,J3計算和輸入輸出兼顧,則它們的優(yōu)先級從高到低的排列順序是()。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)先級。為了盡也許使CPU和外部設(shè)備并行工作,那么I/O繁忙的作業(yè)和CPU繁忙的作業(yè)都不能指定為最高的優(yōu)先級,由于這兩類作業(yè)都無法均衡地使用資源(CPU或者I/O設(shè)備)。對于這兩類作業(yè),應(yīng)指定I/O繁忙的作業(yè)優(yōu)先級高于CPU繁忙的作業(yè),這樣做可以提高CPU的運用率,增長系統(tǒng)的吞吐量。因此,這三類作業(yè)優(yōu)先級從高到低的排列順序是:I/O與CPU均衡的作業(yè)、I/O繁忙的作業(yè)、CPU繁忙的作業(yè)?!纠?】下表給出作業(yè)l,2,3的提交時間和運營時間。采用先來先服務(wù)調(diào)度算法和短作業(yè)優(yōu)先調(diào)度算法,試問作業(yè)調(diào)度順序和平均周轉(zhuǎn)時間各為多少?(時間單位:小時,以十進制進行計算。)作業(yè)號提交時間運營時間1230.00.41.08.04.01.0分析解此題關(guān)鍵是要清楚系統(tǒng)中各道作業(yè)隨時間的推動情況。我們用一個作業(yè)執(zhí)行時間圖來表達作業(yè)的執(zhí)行情況,幫助我們理解此題。采用先來先服務(wù)調(diào)度策略,其作業(yè)執(zhí)行時間圖如下:作業(yè)作業(yè)作業(yè)3作業(yè)2作業(yè)100.41.08.012.013.0時間作業(yè)提交時間各作業(yè)陸續(xù)完畢時間采用短作業(yè)優(yōu)先調(diào)度策略,其作業(yè)執(zhí)行時間圖如下:作業(yè)作業(yè)作業(yè)3作業(yè)2作業(yè)100.41.08.09.013.0時間作業(yè)提交時間各作業(yè)陸續(xù)完畢時間此外,作業(yè)i的周轉(zhuǎn)時間Ti=作業(yè)完畢時間-作業(yè)提交時間系統(tǒng)中n個作業(yè)的平均周轉(zhuǎn)時間,其中Ti為作業(yè)i的周轉(zhuǎn)時間。解:采用先來先服務(wù)調(diào)度策略,則調(diào)度順序為l、2、3。作業(yè)號 提交時間?運營時間?開始時間?完畢時間? 周轉(zhuǎn)時間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)時間T=(8+11.6+12)/3=10.53采用短作業(yè)優(yōu)先調(diào)度策略,則調(diào)度順序為l、3、2。作業(yè)號 提交時間 運營時間 ?開始時間 完畢時間 ?周轉(zhuǎn)時間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)時間T=(8+8+12.6)/3=9.53【例6】今有三個批解決作業(yè)。第一個作業(yè)10:00到達,需要執(zhí)行2小時;第二個作業(yè)在10:10到達,需要執(zhí)行1小時;第三個作業(yè)在10:25到達,需要執(zhí)行25分鐘。分別采用如下兩種作業(yè)調(diào)度算法:調(diào)度算法1:作業(yè)號到達時間開始執(zhí)行時間執(zhí)行結(jié)束時間12310:0010:1010:2510:0012:0013:0012:0013:0013:25調(diào)度算法2:作業(yè)號到達時間開始執(zhí)行時間執(zhí)行結(jié)束時間12310:0010:1010:2511:5010:5010:2513:5011:5010;50(1)計算各調(diào)度算法下的作業(yè)平均周轉(zhuǎn)時間。(2)調(diào)度算法1是什么作業(yè)調(diào)度算法?分析作業(yè)的周轉(zhuǎn)時間=作業(yè)完畢時間-作業(yè)提交時間。以調(diào)度算法1的作業(yè)2為例,其周轉(zhuǎn)時間=作業(yè)完畢時間13:00-作業(yè)提交時間10:10,得到結(jié)果為2小時50分鐘,轉(zhuǎn)換為小時為2.83小時。轉(zhuǎn)換的目的是為了方便計算平均周轉(zhuǎn)時間。解:(1)采用調(diào)度算法1時:作業(yè)1的周轉(zhuǎn)時間為2小時;作業(yè)2的周轉(zhuǎn)時間為2.83小時;作業(yè)3的周轉(zhuǎn)時間為3小時;平均周轉(zhuǎn)時間為:(2+2.83+3)/3=2.61小時。采用調(diào)度算法2時:作業(yè)1的周轉(zhuǎn)時間為3.83小時;作業(yè)2的周轉(zhuǎn)時間為1.67小時;作業(yè)3的周轉(zhuǎn)時間為0.42小時;平均周
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023三年級數(shù)學(xué)上冊 一 兩、三位數(shù)乘一位數(shù)第7、8課時 兩三位數(shù)乘一位數(shù)的連續(xù)進位乘說課稿 蘇教版
- 2024-2025學(xué)年新教材高中政治 第一單元 探索世界與把握規(guī)律 1.1 追求智慧的學(xué)問說課稿(1)部編版必修4
- 二零二五年度土地承包經(jīng)營權(quán)流轉(zhuǎn)金融服務(wù)合同
- 2023三年級數(shù)學(xué)上冊 四 兩位數(shù)除以一位數(shù)的除法第1課時 兩位數(shù)除以一位數(shù)的口算和估算說課稿 西師大版
- 2024年高考化學(xué) 實驗全突破 專題15 酸堿中和滴定及應(yīng)用說課稿
- 2024年一年級品生下冊《爸爸媽媽不在家》說課稿 遼師大版001
- 13《精衛(wèi)填海》(第二課時)說課稿-2024-2025學(xué)年四年級上冊語文統(tǒng)編版
- 2024年高中歷史 第14課 當(dāng)代中國的外交說課稿 部編版選擇性必修1
- 二零二五年房地產(chǎn)投資管理合同范本3篇
- 二零二五年度建筑施工現(xiàn)場文明施工管理合同補充條款3篇
- 河南2025年河南職業(yè)技術(shù)學(xué)院招聘30人筆試歷年參考題庫附帶答案詳解
- 2025年長沙穗城軌道交通有限公司招聘筆試參考題庫含答案解析
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025年山東華魯海運有限公司招聘筆試參考題庫含答案解析
- 成人氧氣吸入療法-中華護理學(xué)會團體標(biāo)準(zhǔn)
- 員工工資條模板
- 火力發(fā)電廠節(jié)能管理制度實施細(xì)則
- 2003年版勞動合同范本
- 華為攜手深圳國際會展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務(wù)技術(shù)方案
評論
0/150
提交評論