計算機基礎(第2版)課件第2章 操作系統(tǒng)_第1頁
計算機基礎(第2版)課件第2章 操作系統(tǒng)_第2頁
計算機基礎(第2版)課件第2章 操作系統(tǒng)_第3頁
計算機基礎(第2版)課件第2章 操作系統(tǒng)_第4頁
計算機基礎(第2版)課件第2章 操作系統(tǒng)_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第2章操作系統(tǒng)2操作系統(tǒng)2.1操作系統(tǒng)的概念2.2操作系統(tǒng)的類型2.3操作系統(tǒng)的功能2.4操作系統(tǒng)的實例2.1操作系統(tǒng)的概念

什么是操作系統(tǒng)為什么需要操作系統(tǒng)

操作系統(tǒng)的特征2.1.1什么是操作系統(tǒng)操作系統(tǒng)的英文表示是“OperatingSystem,OS”,是位于計算機硬件上的第一層軟件,是計算機硬件與應用程序之間的接口,也是用戶與計算機硬件之間的接口。從系統(tǒng)的角度來看操作系統(tǒng)又是計算機系統(tǒng)的資源管理器。計算機系統(tǒng)的硬、軟件資源都是在操作系統(tǒng)的管理、控制和調(diào)度下運行和使用的。所以,只有配置了操作系統(tǒng),計算機系統(tǒng)的資源利用率和工作效率才能提高。從功能來講,操作系統(tǒng)由兩部分程序組成,即資源管理程序和用戶服務,操作系統(tǒng)是管理,控制和調(diào)度計算機硬、軟件資源,合理地組織計算機的工作流程,又能為用戶提供多種服務的一種程序系統(tǒng)。2.1.2為什么需要操作系統(tǒng)從效果上看,操作系統(tǒng)既能提高計算機系統(tǒng)的工作效率,又能方便用戶使用計算機。因此,幾乎所有的計算機都配有操作系統(tǒng)。如果沒有操作系統(tǒng)、那么計算機就要退回第2章蛹作系統(tǒng)自初的原始狀態(tài)去,即一個用戶獨占一臺計算機,系統(tǒng)只能執(zhí)行一道程序,CPU與外設串行工作;在程序運行時需要用戶不停地干預,輸入輸出時需要用戶進行手工操作,等等。正是有了操作系統(tǒng),計算機的工作效率、自動化現(xiàn)度和方便性才有了大幅度的改善和提高,計算機硬件的作用才得以充分發(fā)揮。因此可以說,沒有操作系統(tǒng),就沒有計算機輝煌的今天。2.1.3操作系統(tǒng)的特征為了提高計算機系統(tǒng)的效率,增強系統(tǒng)的處理能力,最大限度地提高資源利用率,并方便用戶使用,現(xiàn)代操作系統(tǒng)廣泛采用了并行操作技術,使硬件和軟件并行工作。例如,I/O操作和計算同時進行,在內(nèi)存中同時存放多道程序等。因此,以多道程序為基礎的現(xiàn)代操作系統(tǒng)具有以下特征。(1)并發(fā)性并發(fā)是兩個或兩個以上的事件在同一時間間隔內(nèi)發(fā)生。對于程序而言,并發(fā)也就是多道程序在同一時間間隔內(nèi)同時執(zhí)行。對于單處理機系統(tǒng)而言,程序并發(fā)執(zhí)行實際上是多道程序在一個很小的時間段內(nèi)交替執(zhí)行。而宏觀上看,它們似乎是在同時進行,即并發(fā)執(zhí)行。實現(xiàn)并發(fā)性,使操作系統(tǒng)變得復雜。因為要考慮,如何從一個程序轉(zhuǎn)到另一個程序,如何保護一個程序不受另一個程序侵擾,以及如何實現(xiàn)相互制約等。2.1.3操作系統(tǒng)的特征(2)共享性共享性就是資源共享,即計算機系統(tǒng)中的硬、軟件資源供所有授權程序或用戶共同使用。實際上,由于系統(tǒng)中的資源有限,當多道程序并發(fā)執(zhí)行時,必然要共享系統(tǒng)中的硬、軟件資源。所以,程序并發(fā)執(zhí)行必然依賴于資源共享機制的支持。(3)虛擬性所謂虛擬,是采用某種方法把一個物理實體映射為一個或者多個邏輯實體。前者是客觀存在的,后者只是在感覺或效果上存在。例如,在多道程序系統(tǒng)中,雖然只有一個CPU,每次只能執(zhí)行一道程序;但是采用多道程序技術后,在一段時間內(nèi),宏觀上看,有多個程序在運行,似乎是多個CPU在運行各自的程序,也就是說,一個物理上的CPU虛擬為多個邏輯上的CPU,即虛擬處理機。類似的還有虛擬存儲器、虛擬外圍設備等。2.2

操作系統(tǒng)的類型

批處理操作系統(tǒng)

分時操作系統(tǒng)

實時操作系統(tǒng)網(wǎng)絡操作系統(tǒng)

分布式操作系統(tǒng)2.2

操作系統(tǒng)的類型基于不同視角,對操作系統(tǒng)可進行不同的分類。例如,分為單用戶操作系統(tǒng)和多用戶操作系統(tǒng)、單機操作系統(tǒng)和網(wǎng)絡操作系統(tǒng)、集中式操作系統(tǒng)和分布式操作系統(tǒng)、單任務操作系統(tǒng)和多任務操作系統(tǒng)、單處理機操作系統(tǒng)和多處理機操作系統(tǒng)、通用操作系統(tǒng)和專用操作系統(tǒng)、串行操作系統(tǒng)和并行操作系統(tǒng)等。但是,從基本的技術特征來看,操作系統(tǒng)一般分為批處理操作系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、網(wǎng)絡操作系統(tǒng)和分布式操作系統(tǒng)等類型。1.批處理操作系統(tǒng)批處理操作系統(tǒng)簡稱批處理系統(tǒng),其基本特征是“批量處理”。所謂批量處理,就是把外存儲器上的若干個作業(yè)作為一批,串行或者并行調(diào)度,分配內(nèi)存和處理機,然后輸出結(jié)果。在批處理過程中、用戶不能干預。批處理操作系統(tǒng)又分為單道批處理和多道批處理。單道批處理就是將一批作業(yè)依次調(diào)入內(nèi)存,串行處理,所以設備利用率低和工作效率不高。多道批處理是以并行方式處理作業(yè),一次調(diào)入多個作業(yè)、并行處理,所以設備利用率和工作效率都得到提高。2.2

操作系統(tǒng)的類型2.分時操作系統(tǒng)分時操作系統(tǒng)是把一個時向段分為若下個時問片(更小的時間段),使多個用戶僅用各自所分配到的時間片輪流地使用計算機。要實現(xiàn)這種分時功能,必須有相應的硬件支持。支持分時操作系統(tǒng)的計算機硬件系統(tǒng)稱為分時計算機系統(tǒng),它是一臺主機連接若干臺終端的計算機系統(tǒng)。所以,分時操作系統(tǒng)和分時計算機系統(tǒng)都可簡稱分時系統(tǒng)。分時系統(tǒng)在運行期間要不停地進行作業(yè)(或任務)的切換和調(diào)入調(diào)出。所謂作業(yè)切換,是指CPU上的作業(yè)以既定的時間片為期限進行輪換,一個作業(yè)一次只能用一個時間片在CPU上運行,一且時間片用完,立即撤下,而不管它是否運行完畢。然后換上下一個作業(yè)繼續(xù)運行。但從任務切換來看、分時系統(tǒng)與多道批處理系統(tǒng)有類似之處。調(diào)入調(diào)出也稱對換或者交換,它把將要運行的作業(yè)從外存(交換區(qū))調(diào)入內(nèi)存,而把換下的作業(yè)從內(nèi)存移出,存入外存(的交換區(qū))。分時系統(tǒng)所劃分的時間片通常是幾十毫秒,按時間片輪流為各個終端用戶服務,而用戶覺察不到中間的間歇,似乎自己在單獨使用計算機。另外,由于主機的運行速度很高,雖然每一輪分給每個終端只有幾十毫秒的時間,但系統(tǒng)也能保證對用戶請求的及時響應和人機交互。總之,分時系統(tǒng)的特點可概括如下。(1)同時性:不同的用戶可以同時在各自的終端上聯(lián)機使用同一臺計算機的CPU時間。(2)獨立性:每個終端用戶對主機系統(tǒng)都感覺好像是獨立占用計算機貿(mào)織。(3)及時性:用戶的請求能在足夠快的時間內(nèi)得到及時響應(4)交互性:用戶能夠通過終端設備與主機進行聯(lián)機,進行人機交互。分時操作系統(tǒng)起通用大、中型計算機上配置的主流操作系統(tǒng)。著名的UNIX批作系統(tǒng)就是一個典型的分時操作系統(tǒng)。2.2

操作系統(tǒng)的類型3.實時換作系統(tǒng)實時操作系統(tǒng)簡稱實時系統(tǒng)。實時就是“立即”“及時”,實時操作系統(tǒng)是對特定輸入,能在極短的時間內(nèi)發(fā)出響應,并完成對該輸入請求的處理。實時系統(tǒng)又可分為實時控制系統(tǒng)和實時處現(xiàn)系統(tǒng)兩種類型。實時控制系統(tǒng)用于自動控制,如工業(yè)過程控制和武器控制等。它要求計算機具有快速響應能力,響應時間一般為ms級,甚至在ws級。實時處理系統(tǒng)用于倍息處理,比如,銀行賬務管理、車徙或機票訂購系統(tǒng)等。它也要求快速響應,但與實時控制相比可以低一些。一般為s級。實時系統(tǒng)一般為專用系統(tǒng),雖然也可以具有像分時系統(tǒng)一樣的硬件配置,但其交互性較弱,通常配置在微機、小型機或工作站上。比如,RT-11,iRMX等,屬實時操作系統(tǒng)。2.2

操作系統(tǒng)的類型4.網(wǎng)絡操作系統(tǒng)網(wǎng)絡操作系統(tǒng)是配置在計算機網(wǎng)絡上的操作系統(tǒng)。除了通常單機操作系統(tǒng)所具有的資原管理和服務外,網(wǎng)絡操作系統(tǒng)還具有網(wǎng)絡通信、網(wǎng)絡管理和網(wǎng)絡服務等功能,網(wǎng)絡操作系統(tǒng)多數(shù)是在單機操作系統(tǒng)基礎上發(fā)展起來的,能實現(xiàn)網(wǎng)絡通信合資源共享,協(xié)調(diào)各主機上的任務的運行,并向用戶提供統(tǒng)一、高效、方便的網(wǎng)絡接口。比如,WindowsNT、Netware和UNIX就是典型的網(wǎng)絡操作系統(tǒng)。(1)網(wǎng)絡通信網(wǎng)絡通信是網(wǎng)絡操作系統(tǒng)最基本的功能,是在源主機和目標主機之間實現(xiàn)無差錯的數(shù)據(jù)傳輸。為此,需要建立通信鏈路,進行傳輸控制、差錯控制、流量控制和路由選擇。網(wǎng)絡通信需要一定的網(wǎng)絡協(xié)議來實現(xiàn)的,所以網(wǎng)絡操作系統(tǒng)必須支持某種網(wǎng)絡協(xié)議。比如,UNIX支持TCP/IP協(xié)議,Windows支持NETBIOS和TCP/IP協(xié)議,Netware則支持IPX/SPX和TCP/IP協(xié)議等。(2)網(wǎng)絡管理網(wǎng)絡管理包括網(wǎng)絡資源管理和安全管理。資源管理是指對網(wǎng)絡中共享資源(如硬盤,打印機和文件)實施有效的管理,協(xié)調(diào)用戶對共享資源的使用,安全管理是采用某種技術保證系統(tǒng)和數(shù)據(jù)的安全,比如,通過“存取控制”確保存取數(shù)據(jù)的“安全性,通過“容錯技術”保證系統(tǒng)出現(xiàn)故障時數(shù)據(jù)的安全性。此外,還要對網(wǎng)絡進行監(jiān)視,對使用情況進行統(tǒng)計等。2.2

操作系統(tǒng)的類型(3)網(wǎng)絡服務基本的網(wǎng)絡服務有電子郵件、文件傳輸和資源共享等。隨著網(wǎng)絡技術的發(fā)展,網(wǎng)絡操作系統(tǒng)還為川戶提供了應用序接口和互操作功能。應用程序接口極大方使了用戶網(wǎng)絡應用程序的開發(fā)。所謂互操作,是在客戶/服務器模式的LAN環(huán)境下,連接服務器上的多種客戶機和主機、不僅能與服務器通信,而且還能以透明的方式訪問服務器上的文件系統(tǒng);在互聯(lián)網(wǎng)絡環(huán)境下的互操作,是指不同網(wǎng)絡間的客戶機不僅能夠通信,而且還能以透明的方式訪問其他網(wǎng)絡中的文件服務器。目前,網(wǎng)絡操作系統(tǒng)有兩種工作模式:客戶/服務器(Client/Server)模式和對等(Peer-to-Peer)模式。而以前者為流行,例如,UNIX、WindowsNT、NovellNetWare、IBMOS/2等都是客戶/服務器模式的網(wǎng)絡操作系統(tǒng)。2.2

操作系統(tǒng)的類型5.分布式操作系統(tǒng)分布式操作系統(tǒng)是配置在分布式計算機系統(tǒng)上的操作系統(tǒng)。分布式計算機系統(tǒng)是由多臺計算機連接而成的系統(tǒng),從硬件連接來看、它與局域計算機網(wǎng)絡并無區(qū)別。但是分布式計算機系統(tǒng)具有以下特點:(1)各節(jié)點的自治性,即系統(tǒng)中各計算機之間無主從之分,既無控制整個系統(tǒng)的主機,也無受制于其他視的從機。(2)節(jié)點間的協(xié)同性,即系統(tǒng)中的各臺計算機分工合作,以并行方式完成同一任務。(3)資源共享的透明性,即用戶只需了解系統(tǒng)是否有所需的資源,而不必了解該資源位于哪個節(jié)點上。(4)系統(tǒng)的健壯性,由于分布式系統(tǒng)的處理和控制功能是分布的,所以任何節(jié)點上的故障都不會給系統(tǒng)造成太大的影響;再加上容錯技術,系統(tǒng)具有很好的健壯性。2.3操作系統(tǒng)的功能

進程管理存儲管理

文件管理

設備管理2.3.1進程管理從系統(tǒng)角度來看,進程是計算機系統(tǒng)中的一種實體,是進行資源分配和調(diào)度的基本單位,它由程序、數(shù)據(jù)和一個稱為進程控制塊(ProcessControlBlock,PCB)的數(shù)據(jù)結(jié)構(gòu)組成。其中,進程控制塊PCB一般包括如下信息。1.進程的概念進程(Process)是現(xiàn)代操作系統(tǒng)中最重要的概念之一。從用戶角度來看,進程就是程序的一次執(zhí)行(過程)、且該程序可以同其他程序并發(fā)執(zhí)行。2.3.1進程管理2.進程的組成(1)標識符:進程名、用一個字符串或數(shù)字表示。(2)地址:進程、程序和數(shù)據(jù)在內(nèi)存或外存中的物理位置。(3)狀態(tài):進程的當前狀態(tài),可以是就緒、運行、阻塞等。(4)優(yōu)先級:表示進程的優(yōu)先程度,以便為每個進程分配處理機及其他資源時使用。(5)資源清單:進程的資源需求和分配情況。(6)現(xiàn)場保護區(qū)地址:內(nèi)存中的一塊區(qū)域,用于進程退出CPU時保護現(xiàn)場之用。(7)鏈接指針:用于形成進程隊列,一般指排在該進程之后的下一進程的PCB地址。此外,還有一些其他信息,一般因系統(tǒng)面異。從進程的組成可以看出:①一個進程可以包含多個程序,反之,一個程序也可以同時屬于多個進程。②程序和數(shù)據(jù)雖然是組成進程的實體,但僅有程序和數(shù)據(jù)還不是進程,而只有給程序和數(shù)據(jù)添上一個PCB才能構(gòu)成進程。所以,PCB是進程的唯一標志,不同的PCB代表不同的進程。在系統(tǒng)中創(chuàng)建一個PCB,就等于創(chuàng)建了一個進程;撤銷一個PCB,就等于撤銷了一個進程。2.3.1進程管理3.進程的特征①進程是動態(tài)的,它由系統(tǒng)創(chuàng)建,并會發(fā)生狀態(tài)轉(zhuǎn)換,直至消亡。而程序是靜態(tài)的,它是指令的有序集合。②進程可并發(fā)執(zhí)行,即一個進程已開始工作但還沒有結(jié)束之前,另一個進程可以開始工作。程序只能一個個執(zhí)行并完成。③多個進程可包含有相同的程序,只要運行的數(shù)據(jù)集合不同;反之,一個進程也可包含多個進程,形成父子進程。2.3.1進程管理4.進程的狀態(tài)一個進程被創(chuàng)建后,一般并不是立即在處理機上執(zhí)行,也不是一直在處理機上執(zhí)行,而是一會兒執(zhí)行,一會兒停止,走走停停,直到運行結(jié)束。這就是說,進程在其整個生命周期中是在不停地變換著狀態(tài)。(1)就緒狀態(tài):就是做好了一切準備、等待上CPU運行。具休來講,就是進程已獲得除CPU以外所有必要的資源、只要再獲得處理機,就可立即運行。處于就緒狀態(tài)的進程通常排成一個或多個隊列等候執(zhí)行,這樣的隊列稱為就緒隊列。(2)運行狀態(tài):就是獲得處理機,其程序正在CPU上執(zhí)行。(3)阻塞狀態(tài):因某種原因(如I/O請求,或等待某一事件發(fā)生)暫時從CPU上退下,而不能持續(xù)運行,即進程的運行受到了阻塞。2.3.1進程管理5.進程控制進程控制包括進程的創(chuàng)建、撤銷和狀態(tài)轉(zhuǎn)換等。這些功能一般用進程控制原語實現(xiàn)。所謂原語,是指由若干條機器指令構(gòu)成的用以完成一定功能的程序段,且在執(zhí)行期間不能中斷除了這幾個基本進程控制原語外,在有些系統(tǒng)中還有一些其他進程控制原語,如掛起原語、激活原語等。6.進程調(diào)度進程由就緒狀態(tài)變?yōu)檫\行狀態(tài)是由進程調(diào)度程序?qū)崿F(xiàn)的,實現(xiàn)這一狀態(tài)轉(zhuǎn)換的過程稱為進程調(diào)度。進程調(diào)度的具體操作是按照某--原則(所謂調(diào)度算法)從就緒隊列中選擇一個進程,然后把處理機分配給它。引起進程調(diào)度的時機一般是正在運行的進程運行結(jié)束,或因時間片用完轉(zhuǎn)入就緒狀態(tài)、或因某一原因轉(zhuǎn)人阻塞狀態(tài)。另外。當一個高優(yōu)先級的進程進入就結(jié)隊列、請求立即分配處理機時,也會引起進程調(diào)度。當然,這又涉及進程調(diào)度的方式。進程調(diào)度的方式一般分為剝奪(搶占)式和非剝奪(非搶占)式兩種。2.3.1進程管理常用的進秘調(diào)度算法如下。(1)優(yōu)先級法就是給每一個進程設置--個級別,每次進程調(diào)度時調(diào)度程序總是從緒隊列中選取一個級別最高的進程,為其分配CPU。進程的優(yōu)先級一般用一個數(shù)字表示,常按某種原則(如進程的類型、大小、需占用CPU的時間以及緊急程度等)由系統(tǒng)自動設定,或者人工設定。優(yōu)先級法又可分為靜態(tài)優(yōu)先級法和動態(tài)優(yōu)先級法。前者優(yōu)先級始終不變,后者優(yōu)先級隨進程的運行在不斷地調(diào)整和變化。(2)時間片輪轉(zhuǎn)法該算法是按某一顧序?qū)M程進行循環(huán)調(diào)度。每個進程占用CPU的時向由其時間片決定,當用完自已的時間片后該進程退出,然后調(diào)度下一個進程。時間片輪轉(zhuǎn)法又分為固定時間片輪轉(zhuǎn)法和可變時間片輪轉(zhuǎn)法。前者時間片的大小固定,而后者的時間片可隨進程的運行而調(diào)整和變化。2.3.1進程管理7.進程互斥與同步進程互斥是指兩個并發(fā)進程因爭奪某一臨界資源面相互排斥。如兩個進程A和B,同時請求使用一臺打印機、而打印機是一-種臨界資源,它一次只能允許一個進程使用,于是出現(xiàn)相互排斥。進程同步是指兩個并發(fā)進程為共同完成一個任務面相互配合、協(xié)同工作。例如,進程A、B分別為計算進程和打印進程,兩者的合作關系是A算出結(jié)果,B才能打印。2.3.1進程管理8.進程通信進程通信就是進程間進行信息交流。其實,前面的信號量機制也可以看作是一種進程通信方式。因為信號量本身就是一種信息,進程正是通過對信號量的設定、修改和判定來實現(xiàn)互斥和同步的。但是由于信號量所攜帶的信息太簡單、太有限,所以利用信號量通信只能算作一種低級通信。為了在進程間傳遞大量信息,即進程通信,操作系統(tǒng)發(fā)展了多種通信方式。(1)利用共享數(shù)據(jù)結(jié)構(gòu)或共享內(nèi)存的通信方式在這種通信方式中,進行通信的每個進程公用某些數(shù)據(jù)結(jié)構(gòu),通過這些數(shù)據(jù)結(jié)構(gòu)進行信息交換;或者由操作系統(tǒng)在內(nèi)存中劃出一塊共享存儲區(qū),每個進程通過對共享存儲區(qū)的讀寫來實現(xiàn)通信。2.3.1進程管理(2)利用消息傳遞的通信方式在這種通信方式中,進程間的通信以消息(message)為單位、通過調(diào)用一組高級通信原語來進行。消息傳遞通信有可分為直接通信和間接通信兩種。(3)利用共享文件的通信方式這種通信方式其實就是所謂的管道(PIPE)通信。在這種通信方式中、通信進程使用一個已經(jīng)打開的共享文件來實現(xiàn)通信,該共享文件被形象地稱為“管道”、所以這種通信方式也稱為管道通信。在管道通信中,發(fā)送進程把數(shù)據(jù)寫到管道中,而接受進程則從管道中讀出數(shù)據(jù)。顯然,管道是一種臨界資源,所以通信時,兩個通信進程關于管道也需要互斥和同步。在上述的幾種通信機制中,基于共享數(shù)據(jù)結(jié)構(gòu)或共享內(nèi)存的通信速度最快。一-般的多任務操作系統(tǒng)都采用這種方式。管道通信方式由UNIX首創(chuàng),是建立在共享文件的基礎之上的,但效率要低一些。在UNIX(SystemV)中,提供了一個進程通信包,即IPC,實現(xiàn)了三種通信方式,即共享內(nèi)存方式、消息通信方式和管道通信方式。2.3.1進程管理9.死鎖(1)死鎖的由來死鎖是操作系統(tǒng)層面的一個錯誤,是進程死鎖的簡稱,最早在1965年由Dijikstra在研究銀行家算法時提出的,它是計算機操作系統(tǒng)乃至整個并發(fā)程序設計領域中最難處理的問題之一。事實上,計算機世界有很多事情需要多線程方式去解決,因為這樣才能最大限度利用資源,才能體現(xiàn)出計算的高效。但是,實際上計算機系統(tǒng)中有很多一次只能由一個進程使用的資源的情況,如打印機,同時只能有一個進程控制它。在多通道程序設計環(huán)境中,若干進程往往要共享這類資源,而且一個進程所需要的資源還很有可能不止一個。因此,就會出現(xiàn)若干進程競爭有限資源,又推進順序不當。從而構(gòu)成無限期循環(huán)等待的局面,我們稱這種狀態(tài)為死鎖。簡單一點描述,死鎮(zhèn)是指多個進程循環(huán)等待它方占有的資源而無限期地假持下去的局面。很顯然,如果沒有外力的作用,那么死鎮(zhèn)涉及的各個進程都將永遠處于封鎖狀態(tài)。系統(tǒng)發(fā)生死鎖現(xiàn)象不僅浪費大量的系統(tǒng)資源,甚至導致整個系統(tǒng)崩潰,帶來災難性后果。所以,對于死鎖問題在理論上和技術上都必須予以高度重視。2.3.1進程管理(2)死鎖的概念死鎖是指兩個或兩個以上的進程在執(zhí)行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無外力作用,它們都將無法推進下去。此時稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。簡而言之,死鎖是多個進程由于競爭資源而導致循環(huán)等待的情況。2.3.1進程管理(3)產(chǎn)生死鎖的四個必要條件1)互斥條件:指進程對所分配到的資源進行排他性使用,即在一段時間內(nèi)某資源只由一個進程占用。如果此時還有其他進程請求資源,則請求者只能等待,直至占有資源的進程用畢釋放。2)請求和保持條件:指進程已經(jīng)保持至少一個資源,但又提出了新的資源請求,而該資源已被其他進程占有、此時請求進程阻塞,但又對自己已獲得的其他資源保持不放。3)不剝奪條件:指進程已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時由自己釋放。4)循環(huán)等待條件:指在發(fā)生死鎖時,必然存在一個進程——資源的環(huán)形鏈,即進程集合|P0,P1,P2,.…,Pn|中的P正在等待一個P1占用的資源;P1正在等待P2占用的資源,……,Pn正在等待已被P0占用的資源。2.3.1進程管理(4)打破死鎖的四個必要條件前面介紹了死鎖發(fā)生時的四個必要條件,只要破壞這四個必要條件中的任意一個條件,死鎖就不會發(fā)生。這就為我們解決死鎖問題提供了可能。一般解決死鎖的方法分為死鎖的預防、避免、檢測與恢復三種(注意:死鎖的檢測與恢復是一個方法)。(5)死鎖的預防死鎖的預防是保證系統(tǒng)不進入死鎖狀態(tài)的一種策略。它的基本思想是要求進程申請資源時遵循某種協(xié)議,從而打破產(chǎn)生死鎖的四個必要條件中的一個或幾個,保證系統(tǒng)不會進入死鎖狀態(tài)。1)打破互斥條件,即允許進程同時訪問某些資源。但是,有的資源是不允許被同時訪問的.像打印機等,這是由資源本身的屬性所決定的。所以,這種辦法并無實用價值。2.3.1進程管理2)打破不可搶占條件,即允許進程強行從占有者那里奪取某些資源。就是說,當一個進程已占有了某些資源,它又申請新的資源,但不能立即被滿足時,它必須釋放所占有的全部資源以后再重新申請。它所釋放的資源可以分配給其他進程。這就相當于該進程占有的資源被隱蔽地強占了。這種預防死鎖的方法實現(xiàn)起來困難,會降低系統(tǒng)性能。3)打破占有且申請條件,可以實行資源預先分配策略,即進程在運行前一次性地向系統(tǒng)申請它所需要的全部資源。如果某個進程所需的全部資源得不到滿足,則不分配任何資源,此進程暫不運行。只有當系統(tǒng)能夠滿足當前進程的全部資源需求時,才一次性地將所申請的資源全部分配給該進程。由于運行的進程已占有了它所需的全部資源,所以不會發(fā)生占有資源又申請資源的現(xiàn)象,因此,不會發(fā)生死鎖。但是,這種策略也有如下缺點。①在許多情況下,一個進程在執(zhí)行之前不可能知道它所需要的全部資源。這是由于逛程在執(zhí)行時是動態(tài)的、不可預測的。②資源利用率低。無論所分資源何時用到,一個進程只有在占有所需的全部資源后才能執(zhí)行。即使有些資源最后才被該進程用到一次,但該進程在生存期間卻一直占有它們.造成長期占著不用的狀況。這顯然是一種極大的資源浪費。③降低了進程的并發(fā)性。因為資源有限,又加上存在浪費,能分配到所需全部資源的進程個數(shù)就必然少了。2.3.1進程管理4)打破循環(huán)等待條件,實行資源有序分配策略。采用這種策略,即把資源事先分類編號,按號分配,使進程在申請,占用資源時不會形成環(huán)路。所有進程對資源的請求必須嚴格按資源序號遞增的順序提出。進程占用了小號資源,才能申請大號資源、就不會產(chǎn)生環(huán)路,從而預防了死鎖。這種策略與前面的策略相比,資源的利用率和系統(tǒng)吞吐量都有很大提高,但是也存在以下缺點。①限制了進程對資源的請求,同時給系統(tǒng)中所有資源合理編號也是件困難事,并增加了系統(tǒng)開銷。②為了遵循按編號申請的次序,暫不使用的資源也需要提前申請,從而增加了進程對資源的占用時間。死鎖的檢測和解除經(jīng)常會配套使用,當檢測到死鎖時,需要利用各種辦法來解除系統(tǒng)的死鎖,常用的辦法有資源奪取法、進程撤銷法、系統(tǒng)重啟法、進程回退法。2.3.2存儲管理存儲管理是指對內(nèi)存(主存)的管理,主要包括內(nèi)存分配、地址變換、存儲擴充和存儲保護等。1.地址映射一個應用程序(源程序)經(jīng)編譯后,通常會形成若干個目標程序;這些目標程序再經(jīng)過鏈接而形成可裝人程序。這些程序的地址都是從“0”開始的,程序中的其他地址都是相對于起始地址計算的;由這些地址所形成的地址范圍稱為“地址空間”,其中的地址稱為“邏輯地址”或“相對地址”。此外,由內(nèi)存中的一系列單元所限定的地址范圍稱為“內(nèi)存空間”,其中的地址稱為“物理地址”。在多道程序環(huán)境下,地址空間中的邏輯地址和內(nèi)存空間中的物理地址是不可能一致的,因此,存儲器管理必須提供地址映射功能,將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對應的物理地址。該功能同樣應在硬件的支持下完成。2.3.2存儲管理2.內(nèi)存分配操作系統(tǒng)在實現(xiàn)內(nèi)存分配時,可采取以下兩種方式。①靜態(tài)分配方式。每個作業(yè)的內(nèi)存空間是在作業(yè)裝入時確定的;在作業(yè)裝入后的整個運行期間,不允許再申請新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中“移動”。②動態(tài)分配。每個作業(yè)所要求的基本內(nèi)存空間也是在裝入時確定的;但允許作業(yè)任運行過程中繼續(xù)申請新的附加空間,以適應程序和數(shù)據(jù)的動態(tài)增長,也允許作業(yè)在內(nèi)存中“移動”。為了實現(xiàn)內(nèi)存分配,在內(nèi)存分配的機制中應具有以下結(jié)構(gòu)和功能。*內(nèi)存分配數(shù)據(jù)結(jié)構(gòu)。該結(jié)構(gòu)用于記錄內(nèi)存空間的使用情況,作為內(nèi)存分配的依據(jù)。*內(nèi)存分配功能。系統(tǒng)按照一定的內(nèi)存分配算法為用戶程序分配內(nèi)存空間。2.3.2存儲管理3.內(nèi)存回收功能系統(tǒng)對于用戶不再需要的內(nèi)存,通過用戶的釋放請求,去完成系統(tǒng)的回收功能。4.內(nèi)存保護內(nèi)存保護的主要任務是確保每道用戶程序都在自己的內(nèi)存空間中運行,互不干擾。進一步說,絕不允許用戶程序訪問操作系統(tǒng)的程序和數(shù)據(jù);也不允許轉(zhuǎn)移到非共享的其他用戶程序中去執(zhí)行。2.3.2存儲管理5.內(nèi)存擴充由于物理內(nèi)存的容量有限(它是非常寶貴的硬件資源,不可能做得太大),因而難以滿足用戶的需要,勢必影響到系統(tǒng)的性能。在存儲器管理中的內(nèi)存擴充任務,并非是去增加物理內(nèi)存的容量,而是借助于虛擬存儲技術,從邏輯上去擴充內(nèi)存容量、使用戶所感覺到的內(nèi)存比物理內(nèi)存大得多;或者是讓更多的用戶程序能并發(fā)運行。這樣,即滿足了用戶的需要、改善了系統(tǒng)性能,又基本上不增加硬件投資。為了從邏輯上擴充內(nèi)存,系統(tǒng)必須具有內(nèi)存擴充機制,用于實現(xiàn)下述各功能。①請求調(diào)入功能。允許在僅裝入一部分用戶程序和數(shù)據(jù)的情況下,啟動該程序運行。在運行過程中當發(fā)現(xiàn)繼續(xù)運行時所需的程序和數(shù)據(jù)尚未裝人內(nèi)存時,可向操作系統(tǒng)發(fā)出請求、由操作系統(tǒng)將所需部分調(diào)入內(nèi)存、以便繼續(xù)運行。②置換功能。若內(nèi)存中已無足夠的空間米裝入需要調(diào)入的部分時,系統(tǒng)應能將內(nèi)存中的一部分暫時不用的程序和數(shù)據(jù)調(diào)至磁盤上,以便騰出內(nèi)存空間,然后再將所需部分調(diào)入內(nèi)存。2.3.3文件管理計算機系統(tǒng)中的軟件資源,如源程序、目標程序、數(shù)據(jù)、編譯程序等,都是以文件形式組織的。對這些文件的高效管理,并為用戶提供方便、安全地使用這些文件的手段,是操作系資的另一個重要任務。1.文件及文件系統(tǒng)(1)文件:指邏輯上具有完整意義的一紐相關信息的有序集合,它由文件體及文件控制塊(FCB)所組成。其中,文件體是文件信息的本體,文件控制塊則是文件的說明,包含有文件名、用戶名、文件類型、文件所在物理位置,文件建立日期等。(2)文件類型:按照不同觀點,可將文件分成多類,見教材P164。(3)文件系統(tǒng):操作系統(tǒng)中對文件進行組織、存取和管理的機構(gòu)(軟件集合),稱為文件管理系統(tǒng),簡稱文件系統(tǒng)。2.3.3文件管理2.文件系統(tǒng)的功能文件系統(tǒng)的主要功能是實現(xiàn)“按名存取”,具體包括如下。(1)實現(xiàn)從邏輯文件到物理文件的轉(zhuǎn)換。邏輯文件:按用戶使用要求構(gòu)造的文件。它是面向用戶的。物理文件:按存儲介質(zhì)(如磁盤、磁帶)的物理特性構(gòu)造的文件。它是面向設備的。為使用戶方便按名存取文件,文件系統(tǒng)為用戶“屏蔽”了復雜的輔存特性及文件在輔存上的具體操作,實現(xiàn)邏輯文件到物理文件的轉(zhuǎn)換。(2)有效地分配文件的存儲空間。(3)建立文件目錄,提供合適的存取方法。(4)實現(xiàn)文件的共享、保護和保密。2.3.3文件管理3.文件的組織文件系統(tǒng)提供了上述的兩種文件結(jié)構(gòu):邏輯結(jié)構(gòu),物理結(jié)構(gòu)。(1)文件的邏輯結(jié)構(gòu)(邏輯文件)流式文件:將文件信息作為一個整體來管理和使用的文件。如由系統(tǒng)程序、源程序.標準子程序等信息組成的文件。記錄式文件:由若干個相關記錄所組成的文件。文件系統(tǒng)以記錄為單位對文件進行管理,用戶則按文件名和學號以記錄為單位使用文件中的信息。2.3.3文件管理(2)文件的物理結(jié)構(gòu)(物理文件)文件的物理結(jié)構(gòu)可分為三類。①順序結(jié)構(gòu)定義:邏輯文件的記錄依次存放在外存的連續(xù)物理塊中,這種結(jié)構(gòu)稱為順序結(jié)構(gòu)。②鏈接結(jié)構(gòu)定義:邏輯文件的記錄依次存放在外存用指針鏈接的物理塊中,這種結(jié)構(gòu)稱為鏈接結(jié)構(gòu)。③索引結(jié)構(gòu)定義:邏輯文件的記錄依次存放在外存中由索引表指示的物理塊中,這種結(jié)構(gòu)稱為索引結(jié)構(gòu)。索引表與文件同時建立,并與文件-起存放在同-文件卷上,通常占用個或幾個物理塊。當索引表的表目不多時,可用一個物理塊存放;當文件很大時,就需要多個物理塊存放其索引表。存放索引表的物理塊,稱為索引表塊。一個文件可有多個素引表,索引表塊可以按串聯(lián)方式組織,也可以按多級索引方式組織。2.3.3文件管理(3)文件的存取方式文件的存取方式是指操作系統(tǒng)為用戶或進程提供的讀寫邏輯文件的方法。通常有兩種方式,即順序存取和直接存取(亦稱隨機存取)。順序存取是按照記錄或字符在文件中的排列順序依次存取。例如,在記錄式文件中,當前存取的記錄為Ri,則下一次存取的記錄自動確定為Ri+1。在無結(jié)構(gòu)的流式文件中,順序存取按照讀寫位移(offset)從當前位置開始讀寫,每讀寫完一段信息后,自動加上該段的長度,然后在根據(jù)該位移讀寫下面的信息。這就是說,順序讀取不允許跳過某些內(nèi)容而存取。這就意味著要讀取最后一個記錄時,必須從第一個記錄開始。2.3.3文件管理4.文件目錄如何從成千上萬的文件中,“按名存取”所需要的文件?這就需要建立文件目錄,如同通過本書的日錄來查找各章節(jié)的內(nèi)容及其所在頁號?,F(xiàn)代操作系統(tǒng)通常采用樹型結(jié)構(gòu)對文件進行組織。最基本的一級稱為卷,一盤磁帶、一張來盤片、一個硬盤分區(qū)或一張軟盤片都可稱為一卷。在卷上可以建立目錄樹,有的系統(tǒng)中稱為文件夾。最基本的一級稱為根目錄,它通常是在格式化時創(chuàng)建的。在根目錄中,操作系統(tǒng)會根據(jù)需要建立一-些系統(tǒng)使用的目錄,用戶也可以根據(jù)自己的想法在根目錄中建立自己使用的目錄樹結(jié)構(gòu)。在根目錄上建立的目錄稱為子目錄,子目錄中還可以再建立子日錄,從而形成多級結(jié)構(gòu)。在一個日錄中,文件不能重名,即一個文件名只能用于命名一個文件。而不同目錄中的文件可以重名。從根目錄開始直到文件名,所有目錄名排列起來稱為文件的路徑。操作系統(tǒng)對目錄樹的層次、路徑的長度和每個目錄中所能存儲的文件數(shù)潯都有一定的限制。2.3.3文件管理5.文件的共享、保護和保密(1)文件的共享:文件作為軟件資源可供多個用戶共同使用,稱為文件共享。實現(xiàn)文件共享的方法有連訪法(用指針鏈指向同一信息文件)采用基本文件自錄和符號文件目錄的多級目錄結(jié)構(gòu)。(2)文件保護:防止文件因硬件故障或共享文件時庭受破壞,稱為文件保護。實現(xiàn)文件保護的方法有建立存取控制權限表,定期轉(zhuǎn)儲,建立多個副本等。(3)文件的保密:防止他人竊取文作,稱為文作保密。實現(xiàn)文作保密的方法有設置口令,對文件進行加密等。2.3.4設備管理現(xiàn)代計算機系統(tǒng)中都配置有名種外部設備,其物理特性名異,使用時差別很大。操作系統(tǒng)中的設備管理程序不僅高效地實現(xiàn)對外設備的管理(如設備共享,并發(fā)操作等),而且為用戶方便使用設備提供了良好手段(如用戶按詡輯設備申請設備,且不必考慮設備的物理特性)。1.設備管理的任務和功能設備管理的主要任務是完成用戶提出的I/O請求,為用戶分配I/O設備,提高I/O設備的利用率,方便用戶使用I/O設備。設備管理應該具備以下功能。(1)設備分配。按照設備類型和相應的分配算法決定將I/O設備分配給哪個要求使用該設備的進程。如果在I/O設備與CPU之間還存在著設備控制器和通道,則還需分配相應的控制器和通道,以保證I/O設備與CPU之間有傳遞信息的通路。凡未分配到所需設備的進程應放入一個等待隊列。為了實現(xiàn)設備分配,系統(tǒng)中應設置些數(shù)據(jù)結(jié)構(gòu),用于記錄設備的狀態(tài)。2.3.4設備管理(2)設備處理。設備處理程序?qū)崿F(xiàn)CPU和設備控制器之間的通信,即當CPU向設備控制器發(fā)出I/O指令時,設備處理程序應啟動設備進行I/O操作,并能對設備發(fā)來的中斷請求做出及時的響應和處理。(3)緩沖管理。設置緩沖區(qū)的目的是緩和CPU與I/O設備速度不匹配的矛盾。緩沖管理程序負責完成緩沖區(qū)的分配和釋放及有關的管理工作。(4)設備獨立性。設備獨立性又稱設備無關性,是指應用程序獨立于物理設備。用戶在編制應用程序時,要盡量避免直接使用實際設備名。如果程序中使用了實際設備名,則當該設備沒有連接在系統(tǒng)中或者該設備發(fā)生故障時,用戶程序無法運行,若要運行此程序則需要修改程序。如果用戶程序不涉及實際設備而使用邏輯設備,那么它所要求的輸入/輸出便與物理設備無關。設備獨立性可以提高用戶程序的可適應性,使程序不局限與某個具體的物理設備。2.3.4設備管理2.設備控制器與I/O通道(1)設備控制器設備一般由機械和電子兩部分組成,設備的電子部分通常稱為設備控制器。設備控制器處于CPU與I/O設備之間,它接收從CPU發(fā)來的命令,并去控制I/O設備工作,使CPU從繁雜的設備控制事務中解脫出來。設備控制器是一個可編址設備,當它僅控制一個設備時,它有一個設備地址;當控制器連接多個設備時,則應具有多個設備地址,使每一個地址對應一個設備。設備控制器應具有以下功能:接收和識別來自CPU的各種命令,實現(xiàn)CPU與設備控制器、設備控制器與設備之間的數(shù)據(jù)交換,記錄設備的狀態(tài)供CPU查詢,識別它所控制的每個設備地址。為此,設備控制器中應設置控制寄存器存放接收的命令及參數(shù)、設置數(shù)據(jù)寄存器存放傳輸?shù)臄?shù)據(jù),設置狀態(tài)寄存器記錄設備狀態(tài)。(2)I/O通道在-般計算機系統(tǒng)中,通道指專門用于負責輸入/輸出工作的處理機。通道有自己的指令系統(tǒng),該指令系統(tǒng)比較簡單,一般只有數(shù)據(jù)傳送指令、設備控制指令等。通道所執(zhí)行的程序稱為通道程序。2.3.4設備管理3.中斷技術中斷是指計算機系統(tǒng)內(nèi)發(fā)生了某一急需處理的事件,使得CPU暫時中止當前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應的事件處理程序,待處理完畢后又返回到原來被中斷處繼續(xù)執(zhí)行。引起中斷發(fā)生的事件稱為中斷源。中斷源向CPU發(fā)出的請求中斷處理的信號稱為中斷請求。而CPU收到中斷請求后轉(zhuǎn)相應事件處理程序的過程稱為中斷響應。發(fā)生中斷時,剛執(zhí)行完的那條指令所在的單元號稱為斷點,斷點的邏輯后繼指令的單元號稱為恢復點。而現(xiàn)場是指中斷的那一時刻能保證程序繼續(xù)運行的有關信息。在某些情況下,盡管產(chǎn)生了中斷源和中斷請求,但CPU內(nèi)部的處理機狀態(tài)字PSW(是一組反映程序運行狀態(tài)的信息,又稱為程序狀態(tài)字)的中斷允許位已被清除,從而不允許CPU響應中斷,這種情況稱為禁止中斷,也稱為關中斷。CPU禁止中斷后、只有等到PSW的中斷允許位重新設置后才能接受中斷。當設置PSW的中斷允許位時,CPU可以接受中斷,這種情況稱為允許中斷,也稱為開中斷。開中斷和關中斷是為了保證某些程序執(zhí)行的原子性。2.3.4設備管理為了處理上的方便,計算機系統(tǒng)通常采用中斷向量來存放中斯處理程序的入口地址,以便中斷發(fā)生時硬件能根據(jù)中斷向量轉(zhuǎn)入相應的中斷處理程序執(zhí)行。在中斷向量中每一個中斷信號占用連續(xù)的兩個單元:一個單元用來存放中斷處理程序的人口地址;另一個單元用來保存在處理中斷時CPU應具有的狀態(tài)。除了禁止中斷外、還有一個比較常用的概念是中斷屏蔽。中斷屏磁是指系統(tǒng)用軟件方式有選擇地封鎖部分中斷而允許其余部分中斷仍能得到響應。不過,有些中斷請求是不能屏蔽甚至不能禁止的、也就是說,這些中斷具有最高優(yōu)先級,不管CPU是否關中斷,只要這些中斷請求一提出,CPU必須立即響應。2.3.4設備管理4.緩沖技術緩沖技術的實現(xiàn)思想是在CPU和外設之間設立緩沖,用以暫存CPU和外設之間交換的數(shù)據(jù),從而緩和CPU與外設速度不匹配所產(chǎn)生的矛盾。事實上,凡是數(shù)據(jù)到來速度和數(shù)據(jù)離去速度不同的地方都可以使用緩沖。緩沖的實現(xiàn)方法有兩種:一種實現(xiàn)方法是采用硬件緩沖器,但由于這種方法成本太高,除一些關鍵部位外,一般情況下不采用硬件緩沖器;另一種實現(xiàn)方法是在內(nèi)存劃出一塊存儲區(qū),專門用來臨時存放輸入/輸出數(shù)據(jù),這個區(qū)域稱為緩沖區(qū)。根據(jù)系統(tǒng)設置的緩沖區(qū)個數(shù)不同,可以將緩沖分為單緩沖、雙緩沖、環(huán)形緩沖和緩沖池。單緩沖是在設備和處理機之間設置一個緩沖區(qū)。設備和處理機交換數(shù)據(jù)時,先把被交換數(shù)據(jù)寫入緩沖區(qū)、然后,需要數(shù)據(jù)的設備或處理機從緩沖區(qū)取走數(shù)據(jù)。由于只設置了一個緩沖區(qū),因而設備與處理機對緩沖區(qū)的操作是串行的。2.3.4設備管理引入雙緩沖可以提高處理機與設備的并行操作程度。例如,在設備輸入時,輸入設備先將第一個緩沖區(qū)裝滿數(shù)據(jù),在輸人設備裝填第二個緩沖區(qū)的同時,處理機可以從第一個緩沖區(qū)中取出數(shù)據(jù)供用戶進程進行處理;當?shù)谝粋€緩沖區(qū)中的數(shù)據(jù)處理完后,若第二個緩沖區(qū)已填滿,則處理機又可以從第二個緩沖區(qū)中取出數(shù)據(jù)進行處理,而輸人設備又可以裝填第一個緩沖區(qū)。顯然,雙緩沖的使用提高了處理機和輸人設備并行操作的程度。只有當兩個緩沖區(qū)都為空,而且進程還要提取數(shù)據(jù)時,該進程被迫等待。環(huán)形緩沖(又稱循環(huán)緩沖)中包含多個大小相等的緩沖區(qū),每個緩沖區(qū)中有一個鏈接指針指向下一個緩沖區(qū),最后一個緩沖區(qū)指針指向第一個緩沖區(qū),這樣多個緩沖區(qū)構(gòu)成一個環(huán)形。環(huán)形級沖用于輸入/輸出時,還需要有兩個指針in和out。對于輸入而言,首先要從設備接收數(shù)據(jù)到緩沖區(qū),in指針指向可以輸入數(shù)據(jù)的第一個空緩沖區(qū);當運行進程需要數(shù)據(jù)時,從環(huán)形緩沖中取一個裝滿數(shù)據(jù)的緩沖區(qū),并從此緩沖區(qū)中提取數(shù)據(jù),out指針指向可以提取數(shù)據(jù)的第一個滿緩沖區(qū)。顯然,對輸入而言正好相反,進程將處理過的需要輸出的數(shù)據(jù)從到空緩沖區(qū)中,而當設備空閑時,從滿緩沖區(qū)中取出數(shù)據(jù)由設備輸出。2.3.4設備管理5.SPOOLing系統(tǒng)SPOOLing的意思外部設備同時聯(lián)機操作,又稱為假脫機輸入/輸出操作,是操作系統(tǒng)中采用的項將獨占設備改造成共享設備的技術。SPOOLing系統(tǒng)是對脫機輸入/輸出工作的模擬,它必須有高速大容量且可隨機存取的外存支持。SPOOLing系統(tǒng)主要包括以下三部分。(1)輸入井和輸出井這是在磁盤上開辟出來的兩個存儲區(qū)域。輸入井模擬脫機輸入時的磁盤,用于收容I/O設備輸人的數(shù)據(jù)。輸出井模擬脫機輸出時的磁盤、用于收容用戶程序的輸出數(shù)據(jù)。(2)輸入緩沖區(qū)和輸出緩沖區(qū)這是在內(nèi)存中開辟的兩個緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設備送來的數(shù),以后再傳送到輸入井。輸出緩沖區(qū)用于暫存從輸出井送來的數(shù)據(jù),以后再傳送到輸出設備。(3)輸入進程和輸出進程輸入進程模擬脫機輸入時的外圍控制機,將用戶要求的數(shù)據(jù)從輸入機通過輸人級沖區(qū)再送到輸入井。當CPU需要輸入數(shù)據(jù)時,直接將數(shù)據(jù)從輸入井讀入內(nèi)存。輸出進程模擬脫機輸出時的外控制機,把用戶要求輸出的數(shù)據(jù)先從內(nèi)存送到輸出井,帶輸出設備空閑時,再將輸出井中的數(shù)據(jù)輸出緩沖區(qū)送到輸出設備上。2.4

操作系統(tǒng)的實例UNIX操作系統(tǒng)

Linux操作系統(tǒng)

Windows操作系統(tǒng)

MacOS2.4.1UNIX操作系統(tǒng)UNIX最初是一個分時操作系統(tǒng)、由美國AT&T公司開發(fā),于1974年正式發(fā)表、最初只配置在PDP-7上。后來,因其良好的可移植性和系列優(yōu)異特性,很快推廣到各類大、中、小型計算機上,成為操作系統(tǒng)領域中的佼佼者,而且不斷地發(fā)展。如今,在進人Internet時代的情況下,UNIX仍然經(jīng)久不衰?,F(xiàn)在的UNIX不僅是工作站上的主流操作系統(tǒng),也是廣泛流行的多用戶多任務操作系統(tǒng)和網(wǎng)絡操作系統(tǒng)??梢哉J為,UNIX已經(jīng)成為最著名、影響最深遠的一個操作系統(tǒng)。2.4.1UNIX操作系統(tǒng)2.UNIX的特點(1)可移植性。UNIX是用C語言編寫的,所以具有良好的可移植性,易讀、易修改。(2)開放性。它遵循世界標準規(guī)范,特別是遵循開放系統(tǒng)互聯(lián)OSI國際標準,具有良好的開放性,可方便地實現(xiàn)互聯(lián)。因而廣泛地配置在從微型機到大、中型機的各種機器上;而且還能將配置UNIXOS的機器互聯(lián)成計算機網(wǎng)絡。

(3)只有良好的用戶界而,如可編程語言Shell和圖形用戶界面X-Window。(4)具有可裝卸的樹型日錄結(jié)構(gòu)的文件系統(tǒng),可將外設與文件統(tǒng)一處理,簡化了系統(tǒng)設計,方便了用戶使用;而且具有良好的安全性、保密性和可維護性(5)提供了多種通信機制,如管道、軟中斷、消息、共享存儲和信號燈等。(6)采用進程對換內(nèi)存管理機制和分頁存儲管理方式,實現(xiàn)了虛擬存儲器管理,提高了內(nèi)存的使用效率。(7)內(nèi)核與外殼的有機結(jié)合.提供了豐富的系統(tǒng)調(diào)用和核外實用程序。(B提供了豐富的網(wǎng)絡功能。各種版本的UNIX都支持TCP/IP協(xié)議,而且在UNIX中還包含有網(wǎng)絡文件系統(tǒng)NPS,客戶/服務器協(xié)議軟件LanManagerClientServer、IPX/SPX軟件等??蓪崿F(xiàn)UNIX系統(tǒng)之問、UNIX與Netware、WindowsNT,LANServer等網(wǎng)絡之向的互聯(lián)與互操作。2.4.2Linux操作系統(tǒng)1.Linux概述Linux是一個年輕而又發(fā)展迅速的操作系統(tǒng)。它的雛形是由一個名叫LinusTorvalds的猶蘭大學生首先開發(fā)的。從結(jié)構(gòu)特征來看,Linux屬于UNIX系列。事實上,它確實繼承了UNIX的許多優(yōu)點。因此,有人稱Linux是UNIX的一種克隆。然而Linux的開發(fā)道路與UNIX截然不同,與Windows更是大相徑庭,它所走的是“自由軟件”的道路。Linux的內(nèi)核是由LinusTorvaldks以及網(wǎng)絡上組織松散的“黑客”們從零開始編寫的。它的目標是保持與POSIX的兼容,它具備現(xiàn)代UNIX所具備的全部特征,包括真正的多任務、虛擬存儲器管理、共享庫、需求裝以及TCP/IP網(wǎng)絡支持等。Linux最初是基于386/486PC機開發(fā)的,但是現(xiàn)在也可以運行在DECAl-pha,SUNSparc、MC68000以及MIPS和PowerPC等計算機上。事實上,Linux已經(jīng)成為能與WindowsNT抗衡優(yōu)秀操作系統(tǒng)。2.4.2Linux操作系統(tǒng)2.Linux的特點(1)Linux的工作方式類似于UNIX,但它免費使用,源代碼開放。(2)Linux是符合標準規(guī)范的32位(在64位CPU上是64位)操作系統(tǒng)、它擁有現(xiàn)代操作系統(tǒng)所具有的功能,例如、真正的搶先式多任務處理,支持多用戶,提供內(nèi)存保護機制、支持虛擬內(nèi)存,支持對稱多處理SMP(SymmetricMultiprocessing),符合POSIX標準,提供聯(lián)網(wǎng)功能和網(wǎng)絡應用,具有圖形用戶接口和桌面環(huán)境(實際上桌面環(huán)境并不止·個),能保證速度和穩(wěn)定性的要求等。(3)Linux的開發(fā)是基于一組優(yōu)秀的概念,它從UNIX的各個流派中吸取成功的經(jīng)驗,繼承UNIX的優(yōu)點,屏棄它的缺點,使其成為UNIX系列中的佼佼者。(4)Linux基本上是單內(nèi)核,但它并不是一個純粹的單內(nèi)核,它將微內(nèi)核的許多優(yōu)點引入到自己的單內(nèi)核設計中。(S)Linux的虛擬文件系統(tǒng)(VirtualFileSysltem,VFS)作為實際文件系統(tǒng)與操作系統(tǒng)之間的接口、而將實際文件系統(tǒng)和操作系統(tǒng)隔離開來。在VFS的幫助下,支持除自身文件系統(tǒng)(如EXT2)以外的許多文件系統(tǒng)。各文件系統(tǒng)為VFS提供一致的接口,從而將不同文件系統(tǒng)的細節(jié)隱藏起來。對操作系統(tǒng)的其他部分以及運行在操作系統(tǒng)之上的程序而言,所有的文件系統(tǒng)都是一樣的。2.4.3Windows操作系統(tǒng)Windows操作系統(tǒng)是美國微軟開發(fā)的Windows系列視窗化操作系統(tǒng)。目前服務器操作系統(tǒng)中,最高版本為WindowsServer2019,個人用操作系統(tǒng)中最高版本為Windows10.因其個人版操作系統(tǒng)簡單易操作一直是個人用戶的最大賣家。1.Windows操作系統(tǒng)概述(1)WindowsMeWindowsMe(WindowsMillenniumEdition)是一個16位/32位混合的Windows系統(tǒng),由微軟公司在2000年9月14日發(fā)行。WindowsMe是最后一個基于DOS的混合16位/32位的Windows9X系列的Windows,其版本號為4.2。其名字有三個意思,一是紀念2000年,Me是英文中千禧年(Millennium)的意思;二是指自己,Me在英文中是“我”的意思;三是Me還有多媒體應用的意義(多媒體英文為multimedia)。2.4.3Windows操作系統(tǒng)(2)Windows2000Windows2000(微軟視窗操作系統(tǒng)2000,簡稱Win2K)是由微軟公司發(fā)行于1999年年底的WindowsNT系列的32位視窗操作系統(tǒng),起初稱為WindowsNT5.0。英文版于1999年12月19日上市,中文版于次年春上市。Windows2000是一個可中斷的、圖形化的、面向商業(yè)環(huán)境的操作系統(tǒng),為單一處理器或?qū)ΨQ多處理器的32位Intelx86電腦而設計。(3)WindowsXPWindowsXP是基于Windows2000代碼的產(chǎn)品,也是目前使用人數(shù)最多的操作系統(tǒng)。它擁有新的用戶圖形界面(叫作月神Luna),它包括了一些細微的修改,其中有些看起來是從Linux的桌面環(huán)境(desktopenvironment)如KDE中獲得的靈感:帶有用廣圖形的登錄界面就是一個例子。此外,WindowsXP引入了一個“選擇任務”的用戶界面,使用戶可以由工具條訪問任務細節(jié)。它還包括簡化的Windows2000的用戶安全特性,并整合了防火墻,試圖解決一直困擾微軟的安全問題。2.4.3Windows操作系統(tǒng)(4)WindowsVistaWindowsVista是微軟Windows操作系統(tǒng)的一個版本。微軟最初在2005年7月22日正式公布了這一名字、之前操作系統(tǒng)開發(fā)代號Longhom。WindowsVista的內(nèi)部版本是6.0(WindowsNT6.0),正式版的Build是6.0.6000。在2006年11月8日,WindowsVista開發(fā)完成并正式進入批量生產(chǎn)。此后的兩個月僅向MSDN用戶、電腦軟硬件制造商和企:業(yè)客戶提供。在2007年1月30日,WindowsVista正式對普通用戶出售,同時也可以從微軟的網(wǎng)站下載。WindowsVisla距離上一版本W(wǎng)inlowsXP已有超過五年的時間,這是Windows版本歷史上間隔時間最久的一次發(fā)布。(5)Windows7Windows7是由微軟公司(Microsolt)開發(fā)的操作系統(tǒng),核心版本號為WindowsNT6.1??晒┘彝ゼ吧虡I(yè)工作環(huán)境、筆記本電腦、平板電腦、多媒體中心等使用。2009年7月14日Windows7RTM(Build7600.16385)正式上線、2009年10月22日微軟于美國正式發(fā)布Windows7。Windows7同時也發(fā)布了服務器版本——WindowsServer2008R2。2011年2月23日凌晨,微軟面向大眾用戶正式發(fā)布了windows7升級補丁——Windlows7SP1(Build7601.17514.101119-1850),另外還包括WindowsServer2008R2SPI升級補丁。2.4.3Windows操作系統(tǒng)(6)Windows8Windows8是由微軟公司開發(fā)的,具有革命性變化的操作系統(tǒng)。該系統(tǒng)旨在讓人們的日常電腦操作更加簡單和快捷,為人們提供高效易行的工作環(huán)境。Windows8將支持來自Intel、AMD和ARM(版本為WindowsRT)的芯片架構(gòu)。微軟表示,這一決策意味著Windows系統(tǒng)開始向更多平臺邁進,包括平板電腦和PC。WindowsPhone8將采用和Windows8相同的內(nèi)核。2011年9月14日,Windows8開發(fā)者預覽版發(fā)布,宣布兼容移動終端,改軟將蘋果的IOS.谷歌的Android視為Windows8在移動領域的主要競爭對手。2012年2月,微軟發(fā)布“視窗8”消費者預覽版,可在平板電腦上使用。(7)Windows10Windows10是由美國微軟公司發(fā)布的新一代全平臺操作系統(tǒng),新系統(tǒng)將涵蓋傳統(tǒng)PC.平板電腦、二合一設備、手機等,支持廣泛的設備類型。新一代操作系統(tǒng)將倡導Onepronluctfamily,Oneplatform、Onestore的新思路,打造全平臺"統(tǒng)一”的操作系統(tǒng)。Windows10首次曝光,是在微軟Build2014開發(fā)者大會上進行演示的,當時外界普遍都認為大會演示的版本為Windows8的升級版。之后外界一直流傳,微軟將會在2014年9月發(fā)布新一代操作系統(tǒng)Windows9,直到2014年9月30日(美國時間),微軟在舊金山舉行小型發(fā)布會,發(fā)布新一代操作系統(tǒng)Windows10,而不是之前一直盛傳的Windows9。從2014年10月1日開始,微軟在其官方頁面,提供臺式電腦和便攜式電腦的技術預覽版下載。目前Windows10正式版已經(jīng)廣泛應用于各領域,成為當前主流操作系統(tǒng)。2.4.3Windows操作系統(tǒng)2.Windows的特點(1)直觀、高效的面向?qū)ο蟮膱D形用戶界而.易學易用Windows用戶界面和開發(fā)環(huán)境都是面向?qū)ο蟮?。用戶采用“選擇對象——操作對象”這種方式進行工作。比如,要打開一個文檔,我們首先用鼠標或鍵盤選擇該文檔,然后從右鍵菜單中選擇“打開”操作,打開該文檔。這種操作方式模擬了現(xiàn)實世界的行為,易于理解、學習和使用。(2)用戶界面統(tǒng)一Windows應用程序大多符合IBM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論