




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
操作系統的開發與設
計方案一、復習重點和要求第1章操作系統概述考核學生對操作系統的定義、主要功能、主要類型、操作系統的特征以及分時概念等內容的學習情況。【掌握】.操作系統的概念操作系統是控制和管理計算機系統內各種硬件和軟件資源、有效地組織多道程序運行的系統軟件(或程序集合),是用戶與計算機之間的接口。記憶要點:操作系統是什么一一是系統軟件;操作系統管什么一一控制和管理計算機系統內各種資源;操作系統有何用一一擴充硬件功能,方便用戶使用。.操作系統的主要功能操作系統的五大主要功能:存儲管理、進程和處理機管理、文件管理、設備管理、用戶接口管理。【理解】.操作系統的特征:并發、共享和異步性。理解模擬:并發一一“大家都前進了”;共享一一“一件東西大家用”;異步性一一“你走我停”,“走走停停”。.操作系統的主要類型操作系統的主要類型有:多道批處理系統、分時系統、實時系統、網絡操作系統、個人機操作系統、分布式系統和嵌入式操作系統。UNIX系統是著名的分時系統。.分時概念:主要是指若干并發程序對CPU時間的共享。【了解】.操作系統的形成;.分時和實時操作系統的特點;.操作系統在計算機系統中的地位:是裸機之上的第一層軟件,是建立其他所有軟件的基礎。.操作系統結構設計:整體結構、層次結構、虛擬機結構和客戶機-服務器結構。.操作系統為用戶提供的三種用戶接口:圖形用戶接口、命令行接口和程序接口。系統調用是操作系統內核與用戶程序、應用程序之間的接口。在UNIX/Linux系統,系統調用以C函數的形式出現。第2章進程管理考核學生對進程定義、進程的狀態及其轉換、進程的組成、競爭條件和臨界區、進程的同步與互斥、信號量和P、V操作及其一般應用、死鎖的概念和產生死鎖的必要條件等內容學習情況。【掌握】.進程的定義:進程是程序在并發環境中的執行過程。進程與程序的主要區別。進程最基本的屬性是動態性和并發性。.進程的狀態及其轉換進程的3種基本狀態是:運行態、就緒態和阻塞態。掌握教材38頁的進程狀態及其轉換圖。.進程的同步與互斥的概念。可以簡單理解為:同步是協作,互斥是競爭。.信號量和P、V操作及其一般應用。運用信號量機制和P、V操作,解決并發進程一般的互斥和同步問題。解決此類問題的一般方式:①根據問題給出的條件,確定進程有幾個或幾類;②確定進程間的制約關系一一是互斥,還是同步;③各相關進程間通過什么信號量實現彼此的制約,標明信號量的含義和初值;④用P、V操作寫出相應的代碼段;⑤驗證代碼的正確性:設以不同的次序運行各進程,是否能保證問題的圓滿解決。切忌按固定順序執行各進程。【理解】.多道程序設計概念及其優點。.進程的一般組成,應深入理解進程控制塊的作用。每個進程有惟一的進程控制塊。.Linux進程管理的基本命令:ps、kill、sleep。.理解進程臨界資源和臨界區的概念,進程進入臨界區的調度原則。信號量概念,P、V操作執行的動作。.死鎖的概念;死鎖的4個必要條件:互斥條件、不可搶占條件、占有且申請條件、循環等待條件。【了解】1.進程間的3種高級通信:共享內存、管道文件和消息傳遞。第3章處理機調度考核學生對作業狀態、作業調度和進程調度的功能、性能評價標準、常用調度算法、Linux常用調度命令、中斷處理過程、shell命令執行過程等內容的學習情況。【掌握】.作業調度和進程調度的功能作業調度的功能見教材85頁,進程調度的功能見教材86頁。在一般操作系統中,進程調度是必須具備的。.常用調度算法掌握三種基本調度算法(先來先服務法、時間片輪轉法、優先級法)的實現思想,并能進行評價指標的計算。要求:能利用圖表形式列出各作業或進程的有關時間值,如到達時間、運行時間、開始時間、完成時間等,利用評價公式計算出各指標的值,如周轉時間、平均周轉時間。【理解】.作業的四種狀態:提交、后備、執行和完成。.作業調度與進程調度的關系。簡單比喻:作業調度是演員上場前的準備,進程調度是讓演員上場表演。.調度性能評價標準評價調度算法的指標:吞吐量、周轉時間、帶權周轉時間、平均周轉時間和平均帶權周轉時間。.中斷處理過程:保存現場、分析原因、處理中斷和中斷返回。.shell命令的一般執行過程。【了解】.調度的三個級別:高級調度、中級調度和低級調度,其中高級調度又稱作業調度,低級調度又稱進程調度。.調度策略的選擇。.中斷概念中斷是指CPU對系統發生的某個事件做出的一種反應,它使CPU暫停正在執行的程序,保留現場后自動執行相應的處理程序,處理該事件后,如被中斷進程的優先級最高,則返回斷點繼續執行被“打斷”的程序。第4章存儲管理考核學生對重定位、分區法、分頁的概念、虛擬存儲概念、請求分頁存儲管理技術、常用頁面置換算法。【掌握】.掌握以下概念:邏輯地址、物理地址、邏輯地址空間、物理地址空間、重定位、靜態重定位、動態重定位、碎片、虛擬存儲器。.分區法分區法分為固定分區法和動態分區法兩種。要掌握其基本原理、數據結構、地址轉換、內存空間的分配與釋放、分配算法、優點和缺點。.分頁技術掌握分頁存儲管理的基本方法,如地址表示、從邏輯地址到物理地址的轉換、數據結構等。.虛擬存儲器虛擬存儲器(VirtualMemory)是用戶能作為可編址內存對待的虛擬存儲空間,它使用戶邏輯存儲器與物理存儲器分離,是操作系統給用戶提供的一個比真實內存空間大得多的地址空間。虛擬存儲器的基本特征:虛擬擴充、部分裝入、離散分配、多次對換。此外,虛擬存儲器的容量不是無限大的,它主要受到地址的字長和外存容量的限制.請求分頁技術請求分頁存儲管理技術是在單純分頁技術基礎上發展起來的,二者根本區別在于請求分頁提供虛擬存儲器。實現請求分頁,系統必須提供一定容量的內存和外存,以及支持分頁機制,還需要有頁表機制、缺頁中斷機構以及地址轉換機構。.常用頁面置換算法能應用先進先出法(FIFO)、最佳置換法(OPT)、最近最少使用置換法(LRU)的實現思想計算頁面淘汰序列、缺頁次數以及缺頁率。【理解】.重定位把邏輯地址轉變為內存物理地址的過程稱作重定位。根據重定位的時機,分為靜態重定位和動態重定位。理解它們的概念、實現思想和優缺點。。【了解】.存儲器層次了解典型的存儲器層次結構:寄存器、高速緩存、內存、磁盤、磁帶。.用戶程序的地址空間用戶程序的主要處理階段:編輯、編譯、鏈接、裝入和運行。.對換技術的實現思想。第5章文件系統考核學生對文件的分類、文件系統的功能、文件的邏輯組織和物理組織、文件的目錄結構、文件存儲空間的管理、文件的存取控制等內容的學習情況。【掌握】.文件系統的功能一般說來,文件系統應具備以下功能:文件管理、目錄管理、文件存儲空間的管理、文件的共享和保護、提供方便的接口。.文件的邏輯組織和物理組織掌握文件的邏輯組織和物理組織的概念,以及相應的組織形式。.文件的目錄結構文件目錄的基本組織方式有單級目錄、二級目錄、樹形目錄。.文件存儲空間的管理文件存儲空間的管理是對外存空間中空閑盤塊的管理。對空閑盤塊的管理方式主要有:空閑盤塊表、空閑塊鏈接、位示圖和空閑塊成組鏈接等。【理解】文件的分類按用途分為:系統文件、庫文件、用戶文件;按文件中的數據形式分為:源文件、目標文件、可執行文件;按存取權限分為:只讀文件、讀寫文件、可執行文件;按保存時間分為:臨時文件、永久文件;在UNIX/Linux和MS-DOS系統中,文件分為普通文件、目錄文件和特殊文件。而普通文件又分為ASCII文件和二進制文件兩種。文件的存取控制為了實現文件系統的安全,文件需要保護和保密。對文件的存取控制可分別由存取類型來設定,如讀、寫、執行等,也可以通過命名、口令、存取權限或者加密的方法實現對文件的保護和保密【了解】.文件的鏈接Linux具有為一個文件起多個名字的功能,稱為鏈接。文件鏈接是實現文件共享的有效途徑,分為硬鏈接和符號鏈接。第6章設備管理考核學生對設備管理功能、設備分配技術、緩沖技術、SPOOLing系統、設備驅動程序概念、磁盤調度和管理等內容的學習情況。【掌握】.設備管理的功能操作系統中設備管理的功能簡單地說就是:監視設備狀態;進行設備分配;完成I/O操作;緩沖管理與地址轉換。.設備分配技術設備分配技術主要有:獨占分配、共享分配和虛擬分配。獨占分配適用于獨占設備,系統效率低;共享分配適用于高速、大容量直接存儲的共享設備,設備的利用率較高;虛擬分配技術利用共享設備去實現獨占設備的功能,從而使獨占設備“感覺上”成為可共享的、快速的I/O設備。.設備驅動程序概念設備驅動程序是控制設備動作(如設備的打開、關閉、讀、寫等)的核心模塊,用來控制設備上數據的傳輸。.磁盤調度算法常用的磁盤調度算法有:先來先服務法、最短尋道時間優先法和電梯法。重點掌握前兩種磁盤調度算法。【理解】設備獨立性設備獨立性是設備管理要達到的目標之一,就是說,用戶程序應與實際使用的物理設備無關,由操作系統考慮因實際設備不同而需要使用不同的設備驅動程序等問題。SPOOLing系統實現虛擬分配最成功的技術是SPOOLing(外部設備聯機并行操作),也稱假脫機技術。SPOOLing系統用常駐內存的進程去模擬一臺外圍機,用一臺主機就可完成脫機技術中需用三臺計算機完成的工作。理解SPOOLing系統的功能和實現思想。緩沖技術理解引入緩沖技術的主要目的和緩沖區的設置方式。【了解】.設備分類和標識了解設備的一般分類:存儲設備(塊設備),輸入/輸出設備(字符設備)。.處理I/O請求的步驟第7章現代操作系統發展考核學生對現代操作系統發展、嵌入式和分布式操作系統的一般知識的學習情況。【了解】.嵌入式操作系統的概念、功能和特性嵌入式操作系統是嵌入式系統中使用的操作系統。作為一種操作系統,它具有一般操作系統的基本功能,但是,由于嵌入式操作系統的硬件平臺和應用環境與一般操作系統不同,所以它有自身的特點,其的最大特點就是可定制性。.分布式操作系統的概念、功能和特性。分布式操作系統是配置在分布式系統上的共用操作系統。分布式操作系統實施系統整體控制,對分布在各節點上的資源進行統一管理,并且支持對遠程進程的通信協議。分布式操作系統要求實現用戶面前的虛擬單處理機系統到具體的分布式系統的映射。它有如下三個基本功能:進程管理;通信管理和資源管理。.未來操作系統應具有的新特征。更強的分布式處理能力,更高的安全性和可靠性,符合開放式模型,更方便的用戶界面。二、復習方法和建議.復習方法(1)對計算機操作系統要從宏觀和微觀兩方面把握。宏觀方面:牢記操作系統的定義。理解操作系統在計算機系統中的地位,明確操作系統進行資源管理的五大功能,即:存儲管理、進程和處理機管理、文件管理、設備管理和用戶接口管理。教材從第2章到第6章分別介紹了這些功能的具體內涵。微觀方面:針對于進程、處理機、存儲器、文件、設備管理,應掌握操作系統是如何管理計算機的這些資源的,理解有關概念、原理、技術和方法。(2)重視課程實驗,培養動手能力。操作系統的上機實驗很重要,它不僅可以加深對課本知識的理解,而且可以學到很多實際工作的經驗,這對于增強動手技能和分析解決實際問題的能力、提高專業素質很有幫助。.復習建議(1)在復習時圍繞操作系統是什么、干什么、如何干這一主線,分層次進行總結。抓住重點,掌握基本概念和基本方法,注意知識的前后連貫。操作系統中概念很多,要突出掌握重點概念,如:操作系統定義,進程、重定位、死鎖等概念。要結合主教材和本復習指導中給出的教學要求,首先對每一章講的問題是什么要搞清楚。然后,總結一下:針對該問題引入什么概念,該概念用來解決什么基本問題,采用什么基本方法予以解決。如果能把各章知識連貫起來、并結合上機體會進行復習,效果會更好。對于基本概念在理解其所指對象的基礎上,記住其定義的表述。如:進程,是針對多道程序執行時出現的問題而引入的,記住其定義表述。然后,進程與程序有何區別?有什么基本特征呢?如何體現其動態性呢?進程在活動中彼此會發生什么關系呢?怎么解決呢?通過由表及里地分析,就便于掌握知識要點,盡量在理解的基礎上進行記憶。對于操作系統的基本概念應掌握其實質是什么,是針對什么事物的,記住其表述要點。對于基本功能應掌握其是解決什么問題的,性能如何。對于基本方法和技術應理解其如何解決問題。(2)結合生活中的例子,體會操作系統的管理方法。操作系統許多管理方法都可以在日常生活中找到例子,學習時可以聯想日常生活中熟悉的管理示例反復體會操作系統的管理方法,以加深對問題的理解。如程序和進程的關系,就像歌譜和唱歌;進程的同步關系就像跑接力賽;先來先服務算法如同排隊買票;等等。(3)注重平時練習,加強自主學習能力。平時應認真、獨立地完成課后習題和網上的自測題,正確地使用答案。在復習時應把練習再復習一遍,掌握做題的規律和技巧,特別對重點要求的內容和解題出現過錯誤的地方應格外注意。根據教學大綱要求,考試難度不會超出規定范圍。對基本內容應牢固掌握,并能進行適當地靈活應用。.復習思考為什么要學習操作系統?(1)選擇操作系統。現代計算機系統中,往往配備多種操作系統以滿足不同的用途,通過學習可以了解不同類型操作系統的用途,有助于我們選擇合適的操作系統為用戶服務。(2)分析操作系統。了解操作系統的結構和功能,可以較為準確地發現和解決問題,至少能確定問題位置,通知操作系統的生產商來處理。分析和研究操作系統,不知道操作系統的基本原理是難以完成的。(3)設計操作系統。針對現實工作任務的需要,能設計或擴充現有操作系統,這是學習操作系統的最高層次,需要扎實的計算機科學和技術的基本理論和基礎知識,特別是操作系統的基本原理、技術和方法。(4)操作系統中實用的資源管理方法和技術,可以應用于其他的管理和控制領域。有人說“操作系統是計算機技術和管理技術的結合”,如何在現有計算機硬件條件下通過軟件達到目標并努力實現高效性,如何在空間和時間中權衡,機制與策略,等等,操作系統管理資源的思路和方法體現了現實生活中的管理技術。1.1本章知識點本章的內容描述了計算機操作系統的概貌,如什么是操作系統,它的主要功能和主要類型,操作系統結構設計。這一章在全書中起著提綱挈領的作用,后面的各個章節將分別對操作系統的各項功能做詳細剖析。學好第一章對于我們從總體上把握操作系統有著指導作用。本章的主要知識點為:(1)操作系統的定義一個完整的計算機系統由硬件和軟件兩大部分組成。硬件是計算機物理裝置本身,是計算機軟件運行的基礎;簡單地說,軟件是計算機執行的程序,軟件分為系統軟件、應用軟件和支撐軟件三大類。操作系統的定義如下:操作系統是控制和管理計算機系統內各種硬件和軟件資源、有效地組織多道程序運行的系統軟件(或程序集合),是用戶與計算機之間的接口。(2)操作系統的主要功能操作系統作為計算機基本的系統軟件,具有五大功能,分別是:存儲管理、進程和處理機管理、文件管理、設備管理和用戶接口管理。教材從第2章到第6章將分別介紹這些主要功能。(3)操作系統的主要類型操作系統在發展中形成了以下類型,它們是批處理操作系統、分時操作系統、實時操作系統、網絡操作系統、分布式操作系統、嵌入式操作系統、個人機操作系統等。其中前三種屬于傳統的操作系統類型,后面的操作系統類型是隨著計算機網絡、分布式處理等新技術的應用而產生的,屬于現代操作系統。(4)操作系統結構設計一般說來,操作系統有如下四種結構:整體結構,層次結構,虛擬機結構和客戶機-服務器結構。它們在設計上各有優缺點。UNIX系統和Linux系統是當代最著名的多用戶、多進程、多任務的分時操作系統。本章對它們的發展歷史、主要特點以及內核的結構都進行了介紹。1.2典型例題解析【例1】什么是操作系統?答案操作系統是控制和管理計算機系統內各種硬件和軟件資源、有效地組織多道程序運行的系統軟件(或程序集合),是用戶與計算機之間的接口。分析操作系統作為本課程最重要的概念,同學們一定要牢記。可以從三個方面理解這個概念,然后在理解的基礎上進行記憶。(1)操作系統是系統軟件。(2)對內,操作系統控制和管理各種資源,有效地組織多道程序運行。被計算機系統工作時所引用的一切客體都稱為資源。這里所說的客體可能是處理機、設備、內存、外存等硬件,也可能是程序和數據等軟件。(3)對外,操作系統是用戶與計算機之間的接口。它為用戶提供服務,方便用戶使用計算機。如果同學們理解了操作系統在計算機系統中的地位,那么對于學習這個概念有幫助。【例2】在計算機系統中,操作系統是( )。A.處于裸機之上的第一層軟件 B.處于硬件之下的底層軟件C.處于應用軟件之上的系統軟件 D.處于系統軟件之上的用戶軟件答案A分析解答這道題主要是清楚操作系統在計算機系統中的地位。在計算機系統中,操作系統處于一個承上啟下的地位,它對內管理計算機的各種軟硬件資源(文件、作業、存儲器、設備、進程),對外向用戶提供良好界面的服務,方便用戶使用計算機。操作系統屬于系統軟件,但卻又不同與其他的系統軟件。從下圖可以看出,操作系統緊貼硬件,是裸機之上的第一層軟件,是對硬件的擴充,其他系統軟件都建立在操作系統之上。而應用軟件是建立在系統軟件之上的,更貼近用戶。制試匚外制試匚外姆「斗,理rJU崢獨到法.幫*松*工具.期而制&LJV--,--管用居恩聚用1匕機“票聚酰'用藥樂搓.電肆口口聚效.MD/*ft不口嚅我的二…會冷斛好鞅界.堀地語料#,注造如腳栗:罵其性理財(.陽而軟存>刪浦骷―
在牌原擰操作系統是系統軟件,因此D是錯誤的。C說系統軟件在應用軟件之上,這與圖中的情況相反,顯然不對。而硬件之下則沒有軟件存在,所以B根本就不正確。所以A才是正確答案。以上是用排除法來進行選擇,如果同學們已經理解了操作系統的地位,就可以直接選擇A,這樣可以節省答題的時間。【例3】現代操作系統的基本特征是( )、資源共享和異步性。
A.多道程序設計A.多道程序設計B.中斷處理C.實現分時與實時處理D.程序的并發執行答案D分析操作系統也是一個程序,不過與其他程序相比,它有三個非常重要的特性:即多任務并行、多用戶資源共享和異步性,把握操作系統的這些特性對于深刻理解操作系統會有很大幫助。并發性是指兩個或多個任務在同一給定的時間間隔中進行。這是一個宏觀上的概念。以多道程序為例,這里的并發性不僅體現在用戶程序與用戶程序之間并發執行,還體現在用戶程序與操作系統程序之間的并發執行。因而從宏觀上看,這些程序是同時向前推進的。資源共享是指多個任務共享計算機系統中的資源,如處理機、內存、外存、設備和數據等。這種共享是在操作系統的控制下實現的。對于一個給定的計算機系統,它的資源配置情況是相對固定的,而系統中多道程序對于資源的需求則是變化的,且通常是不可預知的;操作系統要掌握系統中當前資源的使用情況,并據此決定各程序進入系統的次序以及使用資源的次序。異步性體現了多道程序環境下,程序執行時“走走停停”的性質,更反應出操作執行現場的不可預知性。【例4】以下不屬于操作系統具備的主要功能的是( )。A.內存管理 B.文檔編輯C.中斷處理 D.CPU調度答案B分析教材中介紹操作系統的主要功能有存儲管理、進程和處理機管理、文件管理、設備管理和用戶接口管理,一般被認為是操作系統的五大功能。對于本題,A顯然是操作系統的功能之一,C中斷處理是操作系統實施并發的基礎,對于操作系統非常重要,是實現多道程序設計的前提。它就像機器中的齒輪,驅動各部件的動作,因此,許多人稱操作系統是由“中斷驅動”的。C和D都屬于操作系統的進程和處理機管理功能。只有B不是操作系統需要具備的主要功能,它一般是由應用軟件提供的,如應用軟件WindowsOffice的組件Word就提供了文檔編輯功能。【例5】操作系統是計算機系統的核心軟件。按功能特征的不同,可把操作系統分為([1])、
([2])、([3])、網絡操作系統和分布式操作系統基本類型。其中[1]的主要目標是提高系統的吞吐率和效率,而[2]是一旦有處理請求和要求處理的數據時,CPU就應該立即處理該數據并將結果及時送回。A.單用戶系統B.批處理系統C.分時系統D.微機操作系統 E.實時系統答案[1]B [2]E [3]C分析解答此題需要理解三種傳統操作系統類型的不同特點。批處理操作系統的主要特征可歸納為兩點:“多道”和“成批”。“多道”是指內存中同時存在有多個正在處理的作業,并且外存上還存放有大量的尚待處理的后備作業。“成批”是指作業成批地進入系統,成批地處理,成批地離開系統;作業與作業之間的過渡由操作系統控制,不需用戶的干預。批處理系統的主要優點是系統吞吐量大,資源利用率高;缺點是用戶作業的等待時間長,用戶與系統沒有交互能力。(吞吐量:在一段給定的時間內,計算機所能完成的總工作量。)分時系統與實時系統的主要區別如下:(1)關于交互性。分時系統中各個終端用戶與系統之間具有較強的交互性,而實時系統一般是專為某一領域使用的,對此要求不強。(2)關于可靠性。與分時系統相比,實時系統更加注重其穩定性和可靠性。例如,對于航天控制系統來說,實時控制系統的故障可能帶來的后果是無法估量的。(3)關于響應時間。分時系統對響應時間的要求是以終端用戶能接受的時間為依據的;而實時系統對響應時間一般有嚴格的要求,即能對外部請求做出及時的響應和處理。【例6】把下面左右兩列詞用線連起來,形成最恰當的搭配。Linux (A)層次結構UNIXIBMVM/370WindowsXPUNIXIBMVM/370WindowsXP(C)整體結構(D)虛擬機結構答案(1)—(C),—(A),—(D),答案(1)—(C),—(A),—(D),—(B)o分析左側列出的是一些計算機操作系統,右側列出的是操作系統的結構。一般說來,操作系統有四種結構:整體結構,層次結構,虛擬機結構和客戶機-服務器結構。Linux是采用整體結構的操作系統,即所有的內核系統功能都包含在一個大型的內核軟件之中。UNIX系統的核心層采用的是層次結構。Windows系列操作系統采用微內核技術,盡可能地使操作系統保持最小的核心,并由核心來負責處理客戶和服務器之間的通信。IBMVM/370系統是虛擬機結構的一個典型實例。1.3練習題一、選擇題(選擇一個正確答案的代碼填入括號中)一個完整的計算機系統是由( )組成的。A.硬件 B.軟件C.硬件和軟件 D.用戶程序.在計算機系統中,控制和管理各種資源、有效地組織多道程序運行的系統軟件稱作( )。A.文件系統 B.操作系統C.網絡管理系統 D.數據庫管理系統.按照所起的作用和需要的運行環境,操作系統屬于( )。A.用戶軟件 B.應用軟件C.支撐軟件 D.系統軟件.操作系統的基本職能是()。A.提供功能強大的網絡管理工具.提供用戶界面,方便用戶使用C.提供方便的可視化編輯程序D.控制和管理系統內各種資源,有效地組織多道程序的運行.為用戶分配主存空間,保護主存中的程序和數據不被破壞,提高主存空間的利用率。這屬于( )。A.處理器管理 B.存儲管理C.文件管理 D.作業管理.操作系統對緩沖區的管理屬于( )的功能。A.處理機管理 B.設備管理C.文件管理 D.存儲器管理TOC\o"1-5"\h\z.操作系統內核與用戶程序、應用程序之間的接口是( )。A. shell命令 B.圖形界面C.系統調用 D. C語言函數.為了使系統中所有的用戶都能得到及時的響應,該操作系統應該是( )。A.多道批處理系統 B.分時系統C.實時系統 D.網絡系統.在實時系統中,一旦有處理請求和要求處理的數據時,CPU就應該立即處理該數據并將結果及時送回。下面屬于實時系統的是( )。A.計算機激光照排系統 B.辦公自動化系統C.計算機輔助設計系統 D.航空訂票系統.下面不屬于分時系統特征的是( )。A.為多用戶設計 B.需要中斷機構及時鐘系統的支持口方便用戶與計算機的交互 D.可靠性比實時系統要求高.以下著名的操作系統中,屬于多用戶、分時系統的是( )。A.DOS系統 B.WindowsNT系統C.UNIX系統 D.OS/2系統二、判斷題(正確的劃J,錯誤的劃X。).操作系統是用戶與計算機之間的接口。( ).操作系統是系統軟件中的一種,在進行系統安裝時可以先安裝其它軟件,然后再裝操作系統。( ).操作系統是整個計算機系統的控制管理中心,它對其它軟件具有支配權利。因而,操作系統建立在其它軟件之上。( ).在UNIX/Linux系統上,系統調用以C函數的形式出現。( ).雖然分時系統也要求系統可靠,但實時系統對可靠性的要求更高。( ).UNIX操作系統是采用微內核方法實現結構設計的。( )參考答案:一、CBDDBBCBDDC二、1、4、5是正確的。2、(X)安裝操作系統時必須先安裝操作系統,然后再安裝其它軟件3、(X)其它軟件建立在操作系統之上。6、(X)UNIX操作系統采用的是層次結構第2章進程管理輔導與自測本章知識點進程是操作系統中最基本、最重要的概念之一,在計算機系統中,進程不僅是最基本的并發執行的單位,而且也是分配資源的基本單位。引入進程這個概念,對于我們理解、描述和設計操作系統具有重要意義。本章的主要知識點為:(1)進程的概念進程是程序在并發環境中的執行過程。進程最根本的屬性是動態性和并發性。要注意進程與程序的區別。進程的五個基本特征是:動態性、并發性、獨立性、制約性、結構性。一個進程實體通常由程序、數據、棧和進程控制塊(PCB)這四部分組成。進程控制塊是進程組成中最關鍵的部分。每個進程有唯一的進程控制塊。操作系統根據PCB對進程實施控制和管理。進程的動態、并發等特征是利用PCB表現出來的。為了對所有進程進行有效地管理,常將各進程的PCB用適當的方式組織起來。一般說來,進程隊列有以下幾種方式:線性方式、鏈接方式和索引方式。進程有三個基本狀態:運行態、就緒態和阻塞態。在一定的條件下,進程的狀態將發生轉換。下圖所示為進程的狀態及其轉換。圖進程狀態及其轉換(2)進程管理就如同人類的族系一樣,系統中眾多的進程也存在族系關系:由父進程創建子進程,子進程再創建子進程,從而構成一棵樹形的進程族系圖。進程作為有“生命期”的動態過程,對它們的實施管理主要包括:創建進程、撤消進程、掛起進程、恢復進程、改變進程優先級、封鎖進程、喚醒進程、調度進程等。在Linux系統中,進程有5種狀態。進程分為系統進程和用戶進程。其中,系統進程只運行在內核模式下;用戶進程既可以在用戶模式下運行,也可以通過系統調用等運行在內核模式下。Linux的task_struct結構相當于其進程控制塊。Linux系統對進程的操作常用命令有:ps、kill、sleep等。常用的系統調用有:fork,exec,wait,exit,getpid,sleep,nice等。(3)進程通信進程通信是指進程間的信息交換。根據進程間交換信息量的多少,分為高級進程通信和低級進程通信。進程的同步與互斥是指進程在推進時的相互制約關系,屬于低級進程通信。一般來說同步反映了進程之間的協作關系,往往指有幾個進程共同完成一個任務時在時間次序上的某種限制,進程相互之間各自的存在及作用,通過交換信息完成通信。如接力比賽中一組隊員使用接力棒等。進程互斥體現了進程之間對資源的競爭關系,這時進程相互之間不一定清楚其它進程的情況,往往指多個任務多個進程間的通訊制約,因而使用更廣泛。如打籃球時雙方掙搶籃板球等。我們用信號量(Semaphore)及P,V操作來實現進程的同步和互斥。生產者-消費者問題是經典的進程同步和互斥問題。(4)死鎖死鎖是指多個進程循環等待他方占有的資源而無限期地僵持下去的局面。計算機系統產生死鎖的根本原因就是資源有限且操作不當。一種原因是競爭資源引起的死鎖,另一種原因是由于進程推進順序不合適引發的死鎖。產生死鎖的四個必要條件是:互斥條件,不可搶占條件,占有且申請條件,循環等待條件。如果在計算機系統中同時具備這四個必要條件時,那么會發生死鎖。一般地,解決死鎖的方法分為死鎖的預防、避免、檢測與恢復三種。典型例題解析【例1】判斷題:并發是并行的不同表述,其原理相同。( )答案X。分析并發是指多道程序的執行在時間上是重疊的,一個程序的執行尚未結束,另一個程序的執行已經開始。但對單CPU系統而言,每一時刻只有一個程序在CPU上運行(有可能此時其他的程序在進行輸入、輸出)。也就是說,占有CPU的只能有一個程序。因此,并發實際上是“在宏觀上并行執行,在微觀上串行執行”。而并行是真正意義上的并行執行,因此兩者的含義是不同的。【例2】在操作系統中引入“進程”概念的主要目的是( )。A.改善用戶編程環境 B.提高程序的運行速度C.描述程序動態執行過程的性質 D.使程序與計算過程一一對應答案C分析操作系統中多道程序的引入,使得它們在并發執行時共享系統資源,共同決定這些資源的狀態,因此系統中各道程序在執行過程中就出現了相互制約的新關系,程序的執行出現“走走停停”的新狀態。這些都是在程序的動態過程中發生的。而程序本身是機器能夠翻譯或執行的一組動作或指令,它或者寫在紙面上,或者存放在磁盤等介質上,是靜止的。很顯然,直接從程序的字面上無法看出它什么時候運行、什么時候停頓,也看不出它是否影響其它程序或者一定受其它程序的影響。因此,用程序這個靜態概念已不能如實反映程序并發執行過程中的這些特征。為此,人們引入進程的概念來描述程序動態執行過程的性質,這是引入“進程”概念的主要目的。【例3】下列進程狀態的轉換中,不正確的是( )。A.就緒?阻塞 B.運行?就緒C.就緒?運行 D.阻塞?就緒答案A分析回答這道題要知道進程的3種基本狀態,以及它們之間的轉換關系。通過下圖可以看到,凡是圖中有箭頭指向的轉換都是可行的,而沒有箭頭指向的則不可能。因此A是不正確的。圖進程狀態及其轉換如果有的同學記不住這張圖,那就從理解的角度進行思考。首先要理解3種狀態的含義,然后再理解它們之間的轉換。例如:運行的進程能變成就緒嗎?可以,如果運行進程的時間片到了,就必修讓出CPU,轉換為就緒態。就緒的進程能變成阻塞嗎?不可以,就緒態的進程已經具備了運行條件,只在等待CPU,怎么可能還退回到還不具備運行條件的阻塞態呢?因此,如果理解了,這張圖就可以自己畫出來,并不需要死記硬背。【例4】進程控制塊是描述進程狀態和特性的數據結構,一個進程( )。A.可以有多個進程控制塊 B.可以和其他進程共用一個進程控制塊C.可以沒有進程控制塊 D.只能有唯一的進程控制塊答案D分析進程控制塊(PCB)是一個用于描述進程動態性質的數據結構。操作系統根據PCB對進程實施控制和管理。進程的動態、并發等特征也是通過PCB表現出來的。進程由程序、數據、棧和PCB構成。構成進程的有關程序和數據集合是進程得以存在的物質基礎,它們是進程的實體;PCB用于標識和刻畫實體的存在和變化,是進程存在的唯一標志。當系統創建一個新進程時,就為它建立一個PCB;當進程終止后,系統回收為其分配的PCB,該進程在系統中就不存在了。【例5】在執行V操作時,當信號量的值( ),應釋放一個等待該信號量的進程。A.小于0B.大于0C.小于等于0D.大于等于0答案C分析P,V操作能夠實現對臨界區的管理要求。它由P操作原語和V操作原語組成(原語是不可中斷的過程),對信號量進行操作,具體定義如下:P(S):①將信號量S的值減1,即S=S-1;②如果S20,則該進程繼續執行;否則該進程置為阻塞狀態,排入阻塞隊列。V(S):①將信號量S的值加1,即S=S+1;②如果S>0,則該進程繼續執行;否則釋放隊列中第一個等待信號量的進程。信號量的數據結構為一個值和一個指針,指針指向等待該信號量的下一個進程。信號量的值與相應資源的使用情況有關。當它的值大于0時,表示當前可用資源的數量;當它的值小于0時,其絕對值表示等待使用該資源的進程個數。注意,信號量的值僅能由P,V操作來改變。一般來說,信號量S20時,S表示可用資源的數量。執行一次P操作意味著請求分配一個單位資源,因此S的值減1;當S<0時,表示已經沒有可用資源,請求者必須等待別的進程釋放該類資源,它才能運行下去。而執行一個V操作意味著釋放一個單位資源,因此S的值加1;若SV0,表示有某些進程正在等待該資源,因此要喚醒一個等待狀態的進程,使之運行下去。【例6】有9個生產者,6個消費者,共享容量為8的緩沖區。在這個生產者-消費者問題中,互斥使用緩沖區的信號量mutex的初值應該為( )。A.1 B.6 C.8 D.9答案A分析進程的互斥是指當有若干個進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用,其它要使用該資源的進程必須等待,直到占用資源者釋放了該資源。進程的互斥體現了并發進程之間訪問共享資源時存在的競爭關系。在計算機系統中必須互斥使用的資源很多,如讀卡機、磁帶機、打印機等硬件資源和一些公共變量、表格、隊列、數據等軟件資源。利用信號量和P,V操作實現進程互斥的一般模型是:進程P 進程P 進程Pn
P(mutex);臨界區;V(mutex);P(mutex);臨界區;V(mutex);P(mutex);臨界區;
V(mutex);P(mutex);
臨界區;
V(mutex);其中信號量mutex用于互斥,初值為1。使用P,V操作實現進程互斥時應該注意的是:(1)每個程序中用戶實現互斥的P、V操作必須成對出現,先做P操作,進臨界區,后做V操作,出臨界區。若有多個分支,要認真檢查其成對性。(2)互斥信號量的初值一般為1。此外,P、V操作應分別緊靠臨界區的頭尾部,臨界區的代碼應盡可能短,不能有死循環。在本題中,既然是問互斥信號量,其初值應為1,選項中的6,8,9都是迷惑答題者的,如果對同步和互斥不能很好地理解,就很難選擇。【例7】兩個進程合作完成一個任務,在并發執行中,一個進程要等待其合作伙伴發來信息,或者建立某個條件后再向前執行,這種關系是進程間的()關系。A.同步 B.互斥 C.競爭D.合作答案A分析進程的同步是指并發進程之間存在一種制約關系,一個進程的執行依賴另一個進程的消息,當一個進程沒有得到另一個進程的消息時應等待,直到消息到達才被喚醒。同步是進程間共同完成一項任務時直接發生相互作用的關系。這樣的例子在日常生活中不勝枚舉,比如接力比賽中運動員的默契配合,工業生產中流水作業的每道工序的先后執行,以及計算機系統中對一個緩沖區的讀和寫等等。當并發進程存在協作的關系時,必須互通消息,完成進程的同步。能實現進程同步的機制稱為同步機制,該機制能把其他進程需要的消息發送出去,也能測試自己需要的消息是否到達。P,V操作是典型的同步機制之一。用一個信號量與一個消息聯系起來,當信號量的值為0時,表示期望的消息尚未產生;當信號量的值非0時,表示期望的消息已經存在。用P,V操作實現進程同步時,調用P操作測試消息是否到達,調用V操作發送消息。使用PV操作實現進程同步時應該注意的是:(1)分析進程間的制約關系,確定信號量種類。在保持進程間有正確的同步關系情況下,哪個進程先執行,哪些進程后執行,彼此間通過什么資源(信號量)進行協調,從而明確要設置哪些信號量。(2)信號量的初值與相應資源的數量有關,也與P、V操作在程序代碼中出現的位置有關。(3)同一信號量的P、V操作要成對出現,但它們分別在不同的進程代碼中。本題中進程的同步體現的是合作關系,但答案不能選D,要使用操作系統的術語“同步”。【例8】設有一臺計算機,有兩條1/0通道,分別接一臺卡片輸入機和一臺打印機。卡片機把一疊卡片逐一輸入到緩沖區B1中,加工處理后再搬到緩沖區B2中,并在打印機上打印結果。問:①系統要設幾個進程來完成這個任務?各自的工作是什么?②這些進程間有什么樣的相互制約關系?③用P、V操作寫出這些進程的同步算法。分析我們畫一個草圖來幫助我們理解這道題:輸 處 輸從圖中可以看出,從“卡片機”到“打印機”共需要3個操作,即輸入、處理、輸出。這3個動作就是完成任務的3個進程。下面我們看看這些進程之間有什么樣的制約關系。可以看出,這3個進程之間是同步關系,合作完成從輸入到輸出的工作任務。對其中任何一個進程,要處理好與其關聯的兩端設備的協調工作。以“輸入進程,,為例,它與卡片機和緩沖區B1關聯,將卡片機的卡片輸入到緩沖區B1,在不考慮卡片機的情況下,就要考慮緩沖區的情況,即是滿還是空,是空緩沖區,輸入進程就可以輸入信息,如果緩沖區滿,則要等待“處理進程”將B1中的信息取走,使之為空,輸入進程才能繼續工作。依此類推,可以找出另外2個進程的制約關系。一般來說,處理進程同步需要2個信號量,“輸入進程”和“處理進程”同步,需要2個信號量,解決緩沖區B1的協調操作問題;而“處理進程”和“輸出進程”同步,還需要2個信號量,解決緩沖區B2的協調操作問題。因此,共需要4個信號量。本題中“處理進程”的算法有一些難度,因為它需要協調兩個緩沖區的工作,考慮的因素比較多,算法復雜些。答案①系統可設三個進程來完成這個任務:R進程負責從卡片輸入機上讀入卡片信息,輸入到緩沖區B1中;C進程負責從緩沖區B1中取出信息,進行加工處理,之后將結果送到緩沖區B2中;P進程負責從緩沖區B2中取出信息,并在打印機上印出。②R進程受C進程影響,B1放滿信息后R進程要等待一一等C進程將其中信息全部取走,才能繼續讀入信息;C進程受R進程和P進程的約束:B1中信息放滿后C進程才可從中取出它們,且B2被取空后,C進程才可將加工結果送入其中;P進程受C進程的約束:B2中信息放滿后P進程才可從中取出它們,進行打印。③信號量含義及初值:B1full——緩沖區B1滿,初值為0;B1empty——緩沖區B1空,初值為1;B2full——緩沖區B2滿,初值為0;B2empty——緩沖區B2空,初值為1;說明前面我們說過:信號量的初值與相應資源的數量有關,也與P、V操作在程序代碼中出現的位置有關。以本題為例,如果R進程的算法如下:嗨程糜lemp噴輸入信息寫入緩沖區B1則信號量B1empty初值應為1。表示B1緩沖區初始為空閑狀態。如果C進程的算法如下:C進程則皿從B1中取出信息
:如empty/
加工信息
騏2smpty)
結臬送入B2好2血。則信號量B2empty初值應為1。表示B2緩沖區初始為空閑狀態。【例9】死鎖的四個必要條件中,無法破壞的是( )。A.互斥條件 B.不可搶占條件C.占有且申請條件 D.循環等待條件答案A分析互斥條件、不可搶占條件、占有且申請條件和循環等待條件是死鎖發生時的4個必要條件,我們知道,只要破壞這4個必要條件中的任意一個條件,死鎖就不會發生。打破互斥條件,就是允許進程同時訪問某些資源。但是,有的資源是不允許被同時訪問的,如打印機等,這是由資源本身的屬性所決定的,因此這種方法并無實用價值。而其他三個條件是完全可以破壞的。2.3練習題一、選擇題(選擇一個正確答案的代碼填入括號中).順序程序和并發程序的執行相比,( )。A.基本相同 B.有點不同
C.并發程序執行總體上執行時間快D.順序程序執行總體上執行時間快.在單一處理機上,將執行時間有重疊的幾個程序稱為( )。B.多道程序D.B.多道程序D.并行程序C.并發程序.在單CPU的系統中,若干程序的并發執行是由( )實現的。A.用戶C.A.用戶C.進程D.編譯程序.進程與程序之間有密切聯系,但又是不同的概念。二者的一個本質區別是( )。A.程序是靜態概念,進程是動態概念B.程序是動態概念,進程是靜態概念C.程序保存在文件中,進程存放在內存中D.程序順序執行,進程并發執行TOC\o"1-5"\h\z.在操作系統中,進程的最基本的特征是( )。A.動態性和并發性 B.順序性和可再現性C.與程序的對應性 D.執行過程的封閉性.多個進程的實體能存在于同一內存中,在一段時間內都得到運行。這種性質稱作進程的( )。A.動態性 B.并發性C.調度性 D.異步性.進程是程序的執行過程,可以處于不同的狀態。這種性質稱作進程的( )。A.動態性 B.并發性C.調度性 D.異步性.在下列特性中,不是進程的特性的是( )。A.異步性 B.調度性C.操作性 D.動態性.某進程由于需要從磁盤上讀入數據而處于阻塞狀態。當系統完成了所需的讀盤操作后,此時該進程的狀態將( )。A.從就緒變為運行 B.從運行變為就緒C.從運行變為阻塞 D.從阻塞變為就緒.一個進程被喚醒意味著()。A.該進程重新占有了CPU B.進程狀態變為就緒C.它的優先權變為最大 D.其PCB移至就緒隊列的隊首.在單處理機系統中,處于運行狀態的進程( )。A.只有一個 B.可以有多個C.不能被掛起 D.必須在執行完后才能被撤下.已經獲得除( )以外的所有運行所需資源的進程處于就緒狀態。A.存儲器 8.打印機 C.CPU D.磁盤空間.進程從運行狀態變為阻塞狀態的原因是( )。人.輸入或輸出事件發生 B.時間片到口輸入或輸出事件完成 D.某個進程被喚醒.為了描述進程的動態變化過程,采用了一個與進程相聯系的( ),根據它而感知進程的存在。
B.進程優先數D.B.進程優先數D.進程起始地址)。B.所運行的程序和數據D.進程控制塊)表現出來的。B.數據D.進程控制塊B.同步與互斥0.信息傳遞與信息緩沖C.進程控制塊.進程在系統中存在的唯一標志是(A.所運行的程序C.進程隊列.進程的動態、并發等特征是利用(A.程序C.程序和數據.進程間的基本關系為( )。A.相互獨立與相互制約C.并行執行與資源共享.在一段時間內,只允許一個進程訪問的資源稱為( )。8.臨界區0.8.臨界區0.共享區.操作系統中有一組常稱為特殊系統調用的程序,其操作具有不可分割性,在操作系統中稱為()。A.初始化程序 B.原語C.子程序 D.控制模塊( )。B.只能實現進程的同步D.可完成進程調度則信號量S( )。B.只能實現進程的同步D.可完成進程調度則信號量S的值應( )。C.等于0D.小于0A.只能實現進程的互斥C.可實現進程的互斥和同步.如果進程Pa對信號量S執行P操作,A.加1 B.減1.如果信號量S的值是0,此時進程A執行P(S)操作,那么,進程人會()。A.繼續運行8.進入阻塞態,讓出CPU口進入就緒態,讓出CPUD.繼續運行,并喚醒S隊列頭上的等待進程.在操作系統中,對信號量S的P操作原語的定義中,使進程進入相應阻塞隊列等待的條件是()。TOC\o"1-5"\h\zA.S>0 B.S=0 C.S<0 D.SM.信號量S的初值為8,在S上執行了10次P操作,6次V操作后,S的值為( )。A.10 B.8 C.6 D.4.若P、V操作的信號量S初值為2,當前值為—1,則表示有( )個等待進程。A.0 B.l C.2 D.3.在進程通信中,使用信箱方式交換信息的是()。A.低級進程通信 B.高級進程通信口共享內存方式 D.管道文件方式.系統出現死鎖的原因是( )。A.計算機系統發生了重大故障B.有多個封鎖的進程同時存在C.若干進程因競爭資源而無休止地循環等待著,而且都不釋放已占有的資源D.資源數大大少于進程數,或進程同時申請的資源數大大超過資源總數TOC\o"1-5"\h\z28.兩個進程爭奪同一個資源( )。A.一定死鎖 B.不一定死鎖C.不會死鎖 D.以上說法都不對二、判斷題(正確的劃J,錯誤的劃X。).簡單地說,進程是程序的執行過程。因而,進程和程序是一一對應的。( ).進程和程序是兩個截然不同的概念。( ).程序在運行時需要很多系統資源,如內存、文件、設備等,因此操作系統以程序為單位分配系統資源。( ).進程控制塊(PCB)是專為用戶進程設置的私有數據結構,每個進程僅有一個PCB。( ).進程執行的相對速度不能由進程自己來控制。( ).進程之間的互斥,主要源于進程之間的資源競爭,從而實現多個相關進程在執行次序上的協調。( ).信號量機制是一種有效的實現進程同步與互斥的工具。信號量只能由P、V操作來改變。( ).V操作是對信號量執行加1操作,意味著釋放一個單位資源,如果加1后信號量的值小于等于零,則從等待隊列中喚醒一個進程,現進程變為阻塞狀態,否則現進程繼續進行。( ).利用信號量的P,V操作,進程之間可以交換大量信息。( ).系統產生死鎖的根本原因是資源有限且操作不當。因此,當系統提供的資源少于并發進程的需求時,系統就產生死鎖。( )。參考答案:一、CCCAABDCDBACACDDBCBCBBCDBBCB二、2,5,7是正確的。1.(X)。進程和程序不是一一對應的。(X)。操作系統以進程為單位分配系統資源。(X)。進程控制塊(PCB)是為系統中各個進程設置的私有數據結構。第3章處理機調度輔導與自測3.1本章知識點調度是操作系統的基本功能,幾乎所有的計算機資源在使用之前都要經過調度。CPU作為計算機最主要的資源,處理機調度的目的就是分配CPU。CPU是操作系統中最核心的調度,其調度策略決定了操作系統的類型,其調度算法優劣直接影響整個系統的性能。所以,調度問題是操作系統設計的一個中心問題。本章的主要知識點為:(1)調度級別一般來說,作業從進入系統到最后完成,可能要經歷三級調度:高級調度、中級調度和低級調度,這是按調度層次進行分類的。其中,高級調度又稱為作業調度,低級調度又稱為進程調度。作業調度是在輸入的一批作業中選擇有權競爭CPU的作業。資源的分配策略(特別是內存管理)對作業調度有很大影響。為了使內存中同時存放的進程數目不至于太多,有時就需要把某些進程從內存中移到外存上,以減少多道程序的數目,為此設立了中級調度。進程調度是從就緒進程隊列中選擇一個進程,并把CPU分配給它。進程調度是這三級調度中是必不可少的。這三級調度中,要重點理解作業調度和進程調度形成的兩級調度模型,如下圖所示。通過理解這個圖,理解作業的4種狀態:提交、后備、執行和完成,作業調度的功能,進程調度的功能,進程調度的時機,以及這兩級調度如何協調工作完成了處理機調度。(2)常用調度算法針對不同的系統目標,會采取不同的調度策略。確定調度策略是件復雜的工作,往往要兼顧多種因素的影響。CPU利用率、吞吐量、周轉時間、就緒等待時間和響應時間等是通常評價系統性能時都要考慮的幾個指標。教材中主要介紹了3種調度算法,分別是先來先服務法、時間片輪轉法和優先級法。先來先服務法(FCFS)是最簡單的調度算法,它的實現思想就是“排隊買票”的辦法。按作業(或進程)到來的先后次序進行調度,即先來的先得到執行。時間片輪轉法(RR)的設計實現思想是系統把所有就緒進程按先入先出的原則排成一個隊列。每當執行進程調度時,進程調度程序總是選出就緒隊列的隊首進程,讓它在CPU上運行一個時間片的時間。當進程用完分給它的時間片后,調度程序便停止該進程的運行,并把它放入就緒隊列的末尾;然后,把CPU分給就緒隊列的隊首進程。輪轉法適用于分時系統。其主要問題是時間片如何選擇:時間片太長了,就成為FCFS調度;時間片太短了,頻繁調度,開銷太大。優先級調度算法的實現思想:是從就緒隊列中選出優先級最高的進程,把CPU分給它使用。又分為非搶占式優先級法和搶占式優先級法。前者是:當前占用CPU的進程一直運行下去,直到完成任務或者因等待某事件而主動讓出CPU時,系統才讓另一個優先級高的進程占用CPU。后者是:當前進程在運行過程中,一旦有另一個優先級更高的進程出現在就緒隊列中,進程調度程序就停止當前進程的運行,強行將CPU分給那個進程。其它常用的調度算法還有:短作業優先法、最短剩余時間優先法、多級隊列法、多級反饋隊列法。(3)中斷處理并發是現代計算機系統的重要特性,它允許多個進程同時在系統中活動。而實施并發的基礎是由硬件和軟件結合而成的中斷機制。中斷是現代計算機系統中的重要概念之一,它是指CPU對系統發生的某個事件做出的處理過程。按功能劃分,中斷一般分為I/O中斷、機器故障中斷、外部中斷、程序性中斷、訪管中斷。在中斷響應和處理過程中,硬件對中斷請求做出響應:中止當前程序的執行,保存斷點信息,轉到相應的處理程序。軟件對中斷進行相應的處理:保存現場,分析原因,處理中斷,中斷返回。各中斷處理程序是操作系統的重要組成部分。對中斷的處理是在核心態下進行的。Linux系統提供給用戶的最重要的系統程序是shell命令語言解釋程序。其基本功能是解釋并執行用戶輸入的各種命令,實現用戶與1也口乂核心的接口。shell解釋程序的工作過程基本上是讀入命令行、分析命令行和構成命令樹,創建子進程來執行命令樹等步驟。3.2典型例題解析【例1】為了使系統中各部分資源得到均衡使用,就必須選擇對資源需求不同的作業進行合理搭配,這項工作是由( )完成的。A.作業調度B.中級調度C.進程調度 D.內存調度答案A分析首先,要了解操作系統處理機調度的級別,即作業從進入系統到最后完成,至少要經歷兩級調度:高級調度和低級調度。為了使內存中同時存放的進程數目不至于太多,有時需要把某些進程從內存中移到外存上,以減少多道程序的數目,為此設立了中級調度。各個級別調度的含義,所解決的問題,即功能是什么。只有清晰地掌握了這些基本概念,才能做好選擇。本題說的是作業的合理搭配以達到系統資源的均衡利用,顯然是作業調度的工作。而中級調度解決的是內存分配問題,進程調度解決的是哪一個就緒進程占有CPU的問題。因此答案選A。【例2】作業調度程序從處于( )狀態的隊列中選取適當的作業調入主存運行。A.執行B.提交C.完成D.后備答案D分析解答此題需要了解作業的狀態以及轉換。一個作業從進入系統到運行結束要經歷四種狀態:提交狀態、后備狀態、執行狀態和完成狀態。(1)提交狀態:用戶的一個作業提交給系統時所處的狀態,如用戶通過鍵盤向機器輸入作業。處于提交狀態的作業,其信息正在進入系統。(2)后備狀態:用戶作業經輸入設備(如讀卡機)輸入進外存(磁盤)中存放,等待進入內存時所處的狀態。此時,系統將為該作業建立一個作業控制塊JCB,并把作業插入到后備作業隊列中等待調度運行。(3)執行狀態:作業調度程序按照一定的作業調度算法從后備作業隊列中選中一個作業,為它分配必要的資源,建立一組相應的進程后,這個作業就由后備狀態轉變為執行狀態。需要指出的是,處于執行狀態的作業在系統中并不一定真正占有處理機,作業能否真正在處理機上運行由進程調度來控制。(4)完成狀態:作業完成了處理任務,輸出結果形成報告,系統將作業控制塊JCB從當前作業隊列中刪除,并回收分配給作業的全部資源,準備退出系統時的作業狀態。四種作業狀態的轉換見下圖:參考上圖,有這樣一個判斷題:作業調度程序選中一個作業后,與該作業相關的進程即占有CPU運行。答案是錯誤的,因為執行狀態的作業能否真正在CPU上運行由進程調度來控制,這時候的進程至少有三種基本狀態,不能保證一定是占有CPU的運行狀態。【例3】在批處理系統中,周轉時間是( )。A.作業運行時間 B.作業等待時間和運行時間之和C.作業的相對等待時間 D.作業被調度進入主存到運行完畢的時間答案B分析作業的周轉時間=作業完成時間一作業提交時間。周轉時間是用于作業等待進入內存、進程在就緒隊列中等待、進程在CPU上運行和完成I/O操作所花費時間的總和。因此,周轉時間是作業等待時間和運行時間之和。答案D是不對的,因為作業提交后進入作業后備狀態,此時作業是在外存,這個時間也要計入作業的周轉時間。【例4】在作業調度中,若采用優先級調度算法,為了盡可能使CPU和外部設備并行工作,有如下三個作業:J1以計算為主,J2以輸入輸出為主,J3計算和輸入輸出兼顧,則它們的優先級從高到低的排列順序是()。A.J1,J2,J3 B.J2,J3,J1C.J3,J2,J1 D.J2,J1,J3答案C分析本試題將作業分為:I/O繁忙的作業、CPU繁忙的作業、I/O與CPU均衡的作業三種類型,由系統或操作員根據作業類型指定優先級。為了盡可能使CPU和外部設備并行工作,那么I/O繁忙的作業和CPU繁忙的作業都不能指定為最高的優先級,因為這兩類作業都無法均衡地使用資源(CPU或者I/O設備)。對于這兩類作業,應指定I/O繁忙的作業優先級高于CPU繁忙的作業,這樣做可以提高CPU的利用率,增加系統的吞吐量。因此,這三類作業優先級從高到低的排列順序是:I/O與CPU均衡的作業、I/O繁忙的作業、CPU繁忙的作業。【例5】下表給出作業1,2,3的提交時間和運行時間。采用先來先服務調度算法和短作業優先調度算法,試問作業調度次序和平均周轉時間各為多少?(時間單位:小時,以十進制進行計算。)作業號提交時間運行時間10.08.020.44.031.01.0分析解此題關鍵是要清楚系統中各道作業隨時間的推進情況。我們用一個作業執行時間圖來表示作業的執行情況,幫助我們理解此題。采用先來先服務調度策略,其作業執行時間圖如下:作業■作業3 !作業2中;作業1」!00.41.0 8.0 12.013.0 時間作業提交時間 各作業陸續完成時間采用短作業優先調度策略,其作業執行時間圖如下:作業作業3作業2.作業1J00.41.0 8.09.0 13.0 時間作業提交時間 各作業陸續完成時間另外,作業i的周轉時間%=作業完成時間一作業提交時間系統中n個作業的平均周轉時間T=(?T)x1,其中Ti為作業i的周轉時ini=1間。解:采用先來先服務調度策略,則調度次序為1、2、3。作業號提交時間運行時間開始時間完成時間周轉時間1 0.08.00.0 8.08.02 0.44.08.0 12.011.63 1.01.012.013.012.0平均周轉時間T=(8+11.6+12)/3=10.53采用短作業優先調度策略,則調度次序為1、3、2。作業號提交時間運行時間開始時間完成時間 周轉時間1 0.08.00.08.08.03 1.01.08.09.08.02 0.44.09.013.012.6平均周轉時間T=(8+8+12.6)/3=9.53【例6】今有三個批處理作業。第一個作業10:00到達,需要執行2小時;第二個作業在10:10到達,需要執行1小時;第三個作業在10:25到達,需要執行25分鐘。分別采取如下兩種作業調度算法:調度算法1:作業號到達時間開始執行時間執行結束時間110:0010:0012:00210:1012:0013:00310:2513:0013:25調度算法2:作業號到達時間開始執行時間執行結束時間110:0011:5013:50210:1010:5011:50310:2510:2510;50(1)計算各調度算法下的作業平均周轉時間。(2)調度算法1是什么作業調度算法?分析作業的周轉時間=作業完成時間一作業提交時間。以調度算法1的作業2為例,其周轉時間二作業完成時間13:00一作業提交時間10:10,得到結果為2小時50分鐘,轉換為小時為2.83小時。轉換的目的是為了方便計算平均周轉時間。解:(1)采用調度算法1時:作業1的周轉時間為2小時;作業2的周轉時間為2.83小時;作業3的周轉時間為3小時;平均周轉時間為:(2+2.83+3)/3=2.61小時。采用調度算法2時:作業1的周轉時間為3.83小時;作業2的周轉時間為1.67小時;作業3的周轉時間為0.42小時;平均周轉時間為:(3.83+1.67+0.42)/3=1.97小時。(2)調度算法1是按照作業到達的先后次序執行的,所以它是先來先服務調度算法。【例7】一個進程在執行過程中可以被中斷事件打斷,當相應的中斷處理完成后,就一定恢復該進程被中斷時的現場,使它繼續執行。( )答案(X)分析中斷是指CPU對系統發生的某個事件做出的一種反應,它使CPU暫停正在執行的程序,保留現場后自動執行相應的處理程序,處理該事件后,如被中斷進程的優先級最高,則返回斷點繼續執行被“打斷”的程序。本題開頭的敘述是正確的,即“一個進程在執行過程中可以被中斷事件打斷”,但是后面說“一定恢復該進程被中斷時的現場”,以及“繼續執行”就不正確了,因此,系統中進程的并發執行情況非常復雜,中斷后的進程能否繼續執行,要看那時的具體情況,可能會繼續執行,也可能處于就緒隊列中無法立即繼續執行。【例8】在UNIX/Linux系統中,執行到trap指令時,CPU的狀態就從核心態變為用戶態。( )答案(X)分析為了對操作系統程序(特別是其內核部分)進行保護,防止受到用戶程序的損壞,系統提供了不同的處理機執行狀態,通常分為核心態和用戶態兩種。當操作系統程序執行時,處理機處于核心態,它有較高的特權,可以執行一切指令(包括一般用戶程序中不能使用的特權指令)。用戶程序在用戶態下執行。它的權限較低,只能執行指令集中的非特權指令。用戶程序要想得到操作系統的服務,必須使用系統調用。在UNIX/Linux系統中,系統調用像C語言的普通函數調用那樣出現在程序中。但是,一般的函數調用序列并不能把進程的運行模式從用戶態變為核心態,而系統調用卻可以做到這一點,即從用戶空間轉入系統空間。trap指令是實現系統調用的匯編代碼,trap指令有這樣一種性質:當CPU執行到trap指令時,CPU的狀態就從用戶態變為核心態。本題正好說反了,因此是錯誤的。【例9】UNIX/Linux系統中的shell是負責()的模塊。A.解釋并執行來自終端的命令 B.解釋并執行來自終端的內部命令C.解釋并執行來自終端的外部命令 D.進行系統調用答案A分析shell命令語言解釋程序是UNIX/Linux系統提供給用戶的最重要的系統程序。它不屬于內核部分,而是在核心之外以用戶態方式運行。其基本功能是解釋并執行用戶輸入的各種命令,實現用戶與Linux核心的接口。shell命令分為內部命令和外部命令兩種,內部命令是最簡單最常用的命令,在shell啟動時進入內存,Linux外部命令是一個獨立的可執行程序。3.3練習題一、選擇題(選擇一個正確答案的代碼填入括號中).作業生存期共經歷4個狀態,它們是提交、后備、()和完成。A.等待 B.就緒 C.開始 D.執行.作業調度是( )。A.從輸入井中選取作業進入主存B.從讀卡機選取作業進入輸入井C.從主存中選取作業進程占有CPUD.從等待設備的隊列中選取一個作業進程.在操作系統中,JCB是指( )。A.文件控制塊 B.進程控制塊C.作業控制塊 D.程序控制塊.作業調度選擇一個作業裝入主存后,該作業能否占用處理器必須由( )來決定。A.設備管理 B.作業控制C.進程調度 D.驅動調度.進程調度根據一定的調度算法,從( )隊列中挑選出合適的進程。A.阻塞 B.就緒 C.運行 D.等待.在操作系統中,作業處于( )時,已處于進程的管理之下。A.后備狀態 B.阻塞狀態C.執行狀態D.C.執行狀態.作業調度的關鍵在于( )。A.選擇恰當的進程管理程序 B.選擇恰當的作業調度算法C.用戶作業準備充分 D.有一個較好的操作環境.從系統的角度出發,希望批處理控制方式下進入輸入井的作業( )盡可能小。A.等待裝入主存時間 B.周轉時間C.執行時間 D.平均周轉時間.設某作業進入輸入井的時間為S,開始運行的時間為R,得到計算結果的時間為E,則該作業的周轉時間1為( )。A.T二E—S B.T=E—(S+R)C.T=(S+R)+E D.T=E—R10.現有3個作業同時到達,每個作業的計算時間都是1小時,它們在一臺CPU上按單道方式運行,則平均周轉時間為( )。A.1小時 B.2小時C.3小時 D.6小時.按照作業到達的先后次序調度作業,排隊等待時間最長的作業被優先調度,這是指( )調度算法。A.先來先服務法 B.短作業優先法C.時間片輪轉法 D.優先級法.為了使計算機在運行過程中能及時處理內部和外部發生的各種突發性事件,現代操作系統采用了( )機制。A.查詢 B.中斷 C.調度 D.進程.在操作系統中,引起中斷的事件稱為()。A.中斷源 B.中斷請求C.斷點 D.系統調用.當硬件中斷裝置發現有事件發生,就會中斷正在占用CPU的程序執行,讓操作系統的()占用CPU。A.系統調用程序 B.中斷處理程序C.作業管理程序 D.文件管理程序TOC\o"1-5"\h\z.下列中斷類型中,屬于自愿性中斷事件的是( )。A.硬件故障中斷 B.程序中斷C.訪管中斷 D.外部中斷.下列中斷中,可能要人工介入的中斷是( )。A.程序中斷 B.時鐘中斷口輸入輸出中斷 D.硬件故障中斷.系統調用的目的是( )。A.請求系統服務 8.終止系統服務口申請系統資源 D.釋放系統資源.用戶要在程序一級獲得系統幫助,必須通過()。A.進程調度 B.作業調度C.鍵盤命令 D.系統調用.系統調用是由操作系統提供的內部調用,它( )。A.直接通過鍵盤交互方式使用 B.只能通過用戶程序間接使C.是命令接口中的命令 D.與系統的命令一樣TOC\o"1-5"\h\z.CPU狀態分為核心態和用戶態,從用戶態轉換到核心態的途徑是( )。A.運行進程修改程序狀態字 B.中斷屏蔽C.系統調用 D.進程調度程序二、判斷題(正確的劃J,錯誤的劃X。).處理機調度可分為三級:高級、中級和低級。在所有的系統中,都必須具備這三級調度。( ).作業調度選中一個作業后,與該作業相關的進程即占有CPU運行。( ).吞吐量是指單位時間內CPU完成作業的數量。( ).確定作業調度算法時應主要系統資源的均衡使用,使I/O繁忙作業和CPU繁忙作業搭配運行。( ).平均周轉時間和周轉時間與選用的調度算法有關。( ).通常,為了提高效率,賦予需要大量計算的作業較高優先級,賦予需要大量輸入/輸出的作業較低的優先級。( ).優先級作業調度算法是指為系統中的每一個作業確定一個優先級,進行作業調度時總是優先選擇優先級高的作業進入主存運行。( ).計算機對中斷的處理是在用戶態下進行的。( ).中斷處理一般分為中斷響應和中斷處理兩個步驟,前者由軟件實施,后者由硬件實施。( ).系統調用的調用過程是通過用戶程序,運行在用戶態,而被調用的過程是運行在核心態下。( )參考答案:一、DACCBCBDABABABCDADBC二、3,4,5,7,10是正確的。(X)。處理機的三級調度中只有進程調度是必不可少的。(X)。作業調度選中的作業能否占有CPU由進程調度決定,不一定即可執行。6.(X)。正好說反了,應賦予需要大量計算的作業較低優先級,賦予需要大量輸入/輸出的作業較高的優先級。(X)。計算機對中斷的處理是在核心態下進行的。(X)。中斷響應由硬件實施,中斷處理由軟件實施。第4章存儲管理輔導與自測本章知識點存儲器是計算機系統中的關鍵資源,對內存如何處理在很大程度上將影響整個系統的性能。存儲管理即對內存的管理,存儲管理目前仍是人們研究操作系統的中心問題之一,以至操作系統的命名也往往取決于存儲管理的策略。本章的主要知識點為:(1)本章的重要概念本章涉及到的概念比較多,主要有:內存、外存、邏輯地址/相對地址、物理地址/絕對地址、邏輯地址空間/地址空間、內存空間/物理空間/絕對空間、重定位、靜態重定位、動態重定位、對換技術、碎片、緊縮、虛擬存儲器、頁面抖動。存儲器作為計算機系統中最主要的組成部分,按照速度、容量和成本劃分一個層次結構,分別是寄存器、高速緩存、內存、磁盤和磁帶。用戶程序必須裝入到內存才能運行。進程的地址空間不同于內存的物理空間。經過重定位可以把邏輯地址轉變為內存的物理地址。重定位分為靜態和動態兩種方式,現在的計算機系統中都采用動態重定位方法。對換技術可以利用外存來解決內存不足的問題。現在Linux系統中還采用這種技術。(2)分區管理技術分區分配是為支持多道程序運行而設計的一種最簡單的存儲管理方式,可分為固定分區法和動態分區法。固定分區就是內存中分區的個數固定不變,各個分區的大小也固定不變,但不同分區的大小可以不同。每個分區只可裝入一個進程。動態分區是在進程要進入內存時才建立的,使其大小恰好適應進程的大小。動態分區法常用的分配策略有兩種:最先適應算法(First-fit)和最佳適應算法(Best-fit),前者空閑表按位置排列,后者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年市場營銷專業大學生實習試卷及答案
- 2025年生物技術專業入學考試試題及答案
- 2025年人力資源管理師職業能力測試試卷及答案
- 2025年社會學與人類學專業考試試卷及答案
- 2025年旅游管理專業考試試題及答案一覽
- 2025年計算機科學與技術學士生畢業考試試卷及答案
- 2025年金融科技與創新考試試題及答案
- 2025年分子生物學應用技術考試試題及答案
- 2025年公共衛生與預防醫學職業資格考試試卷及答案
- 篷布遮陽篷在商業空間的創意設計與文化價值考核試卷
- 2025年中國鐵路濟南局集團招聘筆試沖刺題(帶答案解析)
- 2025年河北省萬唯中考定心卷地理(二)
- 2025年高考全國二卷英語高考真題含解析
- 上海市靜安區2023-2024學年八年級下學期期末數學試題(無答案)
- 四年級下冊綜合實踐活動教案-我的時間我做主 全國通用
- 預拌混凝土及原材料檢測理論考試題庫(含答案)
- 3~6歲兒童早期運動游戲干預課程設計研究-基于SKIP的研究證據
- 《植物生理學》課件第三章+植物的光合作用
- 游泳館網架翻新施工組織方案設計
- 3.1 定格青春——向藝術家學創作 課件-2021-2022學年高中美術人美版(2019)選修繪畫
- 中醫經絡減肥課件
評論
0/150
提交評論