操作系統(tǒng)小結(jié)_第1頁
操作系統(tǒng)小結(jié)_第2頁
操作系統(tǒng)小結(jié)_第3頁
操作系統(tǒng)小結(jié)_第4頁
操作系統(tǒng)小結(jié)_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章計算機系統(tǒng)由硬件和軟件兩大部分組成。操作系統(tǒng)是計算機系統(tǒng)中的一種系統(tǒng)軟件'它管理計算機系統(tǒng)的資源、控制程序的執(zhí)行、改善人機界面和為其他軟件提供支持。操作系統(tǒng)管理計算機系統(tǒng)的硬件資源和軟件資源,保證計算機系統(tǒng)的優(yōu)異性能,為程序的開發(fā)和執(zhí)行提供良好的環(huán)境。它的設(shè)計目標是使用戶方便地使用計算機系統(tǒng)和使得計算機系統(tǒng)能高效地工作。操作系統(tǒng)的形成和發(fā)展與計算機硬件和其他軟件的發(fā)展密切相關(guān)。隨著計算機軟件技術(shù)的發(fā)展和計算機應用的日益廣泛,操作系統(tǒng)的功能也日趨完善。根據(jù)計算機系統(tǒng)的功能和應用操作系統(tǒng)的基本類型可分成以下幾類:批處理操作系統(tǒng)、分時操作系統(tǒng)和實時操作系統(tǒng)。以

2、后又逐步發(fā)展了網(wǎng)絡操作系統(tǒng)、分布式操作系統(tǒng)、多機操作系統(tǒng)和嵌入式操作系統(tǒng)等。批處理操作系統(tǒng)按照用戶預先規(guī)定好的步驟控制作業(yè)的執(zhí)行,實現(xiàn)計算機操作的自動化。批處理多道系統(tǒng)還可以充分利用計算機系統(tǒng)資源,縮短作業(yè)執(zhí)行時間,提高系統(tǒng)的吞吐率。分時操作系統(tǒng)支持多個終端用戶同時以交互方式使用計算機系統(tǒng),為用戶在測試、修改和控制程序執(zhí)行方面提供了靈活性。實時操作系統(tǒng)是實現(xiàn)實時控制的系統(tǒng),它由外部信號觸發(fā)而工作,應在規(guī)定的時間內(nèi)完成處理,并給出反饋信號。實時系統(tǒng)對可靠性和安全性的要求極高,不強求系統(tǒng)資源的利用率。個人計算機系統(tǒng)都是使用微型計算機。比起大型機來,微型機既小又便宜。但是,個人計算機系統(tǒng)的資源和功能

3、相對有限。為了滿足較大規(guī)模的應用,可把若干臺個人計算機系統(tǒng)構(gòu)成計算機網(wǎng)絡。根據(jù)計算機網(wǎng)絡的結(jié)構(gòu)、通信方式和資源管理方法,分別配置網(wǎng)絡操作系統(tǒng)或分布式操作系統(tǒng)。多機操作系統(tǒng)是為多處理器系統(tǒng)配置的操作系統(tǒng)。嵌入式操作系統(tǒng)配置在嵌入式計算機系統(tǒng)之中。它的主要特點是微型化和實時性。操作系統(tǒng)的資源管理功能可以分成處理器管理、存儲管理、文件管理和設(shè)備管理。第二章計算機系統(tǒng)由硬件和軟件兩大部分組成。硬件是軟件執(zhí)行的基礎(chǔ)。軟件可以分為系統(tǒng)軟件、支撐軟件和應用軟件。操作系統(tǒng)是一種系統(tǒng)軟件,是任何計算機系統(tǒng)必不可少的軟件。計算機系統(tǒng)被啟動后,操作系統(tǒng)總是等待某個中斷事件的發(fā)生。每當發(fā)生一個中斷事件就會觸發(fā)操作系統(tǒng)

4、工作。操作系統(tǒng)的一次工作結(jié)束后,又主動讓出處理器,讓其他程宇執(zhí)行。硬件具有中央處理器與外圍設(shè)備并行工作的能力。各個外圍設(shè)備也可同時工作。利用硬件的這種并行工作能力,操作系統(tǒng)允許多個程序同時執(zhí)行,在同一時刻各程序可分別使用不同的資源。計算機系統(tǒng)采用多級存儲體系。它們是寄存器、主存儲器、高速緩沖存儲器和輔助存儲器。中央處理器不能直接存取輔助存儲器中的信息。大多數(shù)計算機系統(tǒng)把輔助存儲器作為主存儲器的擴展,用來保存大量的程序和數(shù)據(jù)。對任何一個要執(zhí)行的程序必須先將它的程序和數(shù)據(jù)裝入主存儲器。那么中央處理器是如何存取信息的呢?若信息已經(jīng)在寄存器或主存儲器中,則中央處理器可直接訪問寄存器或主存儲器,進行信息

5、的存取。若信息在輔助存儲器中,則讀取信息的過程是:首先啟動指定的外圍設(shè)備,讀出輔助存儲器中的信息,把它傳送到主存儲器中;然后,中央處理器從主存儲囂中讀出信息進行處理,或把信息傳送到寄存器中。類似地,若要把信息存入輔助存儲器,則也應啟動外圍設(shè)備來完成把主存儲區(qū)中信息傳送到輔助存儲器中的任務。如果要把寄存器中的信息保存到輔助存儲器中,則先要把它從寄存器傳搜哦那個到主存儲器。為了減少對主存儲器的訪問時間,加快程序的執(zhí)行速度,在計算機系統(tǒng)中往往配置一個高速緩沖存儲器,用來存放當前經(jīng)常要使用的信息。為了保證計算機系統(tǒng)能正確工作,硬件采用了若干保護措施,操作系統(tǒng)進行配合來提高系統(tǒng)的安全性。例如,硬件對中央

6、處理器設(shè)置兩種工作狀態(tài):管態(tài)和目態(tài)。規(guī)定目態(tài)時拒絕執(zhí)行特權(quán)指令,因而操作系統(tǒng)應把用戶程序限定在目態(tài)執(zhí)行。又如,硬件設(shè)置了基址寄存器和限長寄存器。操作系統(tǒng)則把當前程序執(zhí)行時訪問的主存起始地址和長度存入這兩個寄存器中,便可限定程序的活動空間,以避免相互干擾而造成錯誤。由于操作系統(tǒng)十分龐大,所以清晰的結(jié)構(gòu)有利于開發(fā)和調(diào)試。層次結(jié)構(gòu)是一種重要的設(shè)計技術(shù)。它不僅使正確性容易得到保證,而且也能提高可維護性和可一致性。UNIX把用戶的程序設(shè)計環(huán)境也作為系統(tǒng)的組成部分。它把系統(tǒng)分成外殼層和內(nèi)核層兩大部分。UNIX為程序設(shè)置了兩種運行環(huán)境:用戶態(tài)和核心態(tài)。把外殼層的程序稱為用戶程序,規(guī)定它在用戶態(tài)運行。把內(nèi)核層

7、的程序稱為系統(tǒng)程序,讓它在核心態(tài)運行。用戶程序執(zhí)行時可請求系統(tǒng)程序提供服務。操作系統(tǒng)面向用戶提供兩類使用接口:操作控制命令和系統(tǒng)功能調(diào)用。UNIX提供的操作控制命令被稱為shell命令。若干條shell命令可組成一個shell命令。編制帶參數(shù)的shell文件可提高通用性。用戶程序中使用房管指令來請求系統(tǒng)功能調(diào)用為其服務。UNIX中的房管指令是“trap指令”。由trap處理子程序根據(jù)trap指令查找“系統(tǒng)調(diào)用程序入口表”,確定當前應提供服務的系統(tǒng)調(diào)用程序。第三章 讓多個計算問題同時進入一個計算機系統(tǒng)的主存儲器并行執(zhí)行的程序設(shè)計方法稱為多道程序設(shè)計。采用多道程序設(shè)計的計算機系統(tǒng)必須做好存儲保護、

8、程序浮動及資源的分配與調(diào)度工作。 多道程序設(shè)計系統(tǒng)利用并發(fā)揮了處理器與外圍設(shè)備以及各外圍設(shè)備之間的并行工作能力從而極大地提高了處理器與其他各種資源的利用率,也增加了單位時間內(nèi)的算題能力。但是,多道程序設(shè)計可能會延長某些程序的執(zhí)行時間。尤其注意:并行道數(shù)與系統(tǒng)效率不是成正比的。 一個程序在某個數(shù)據(jù)集上的一次執(zhí)行被稱為一個進程。每個進程都包含程序、數(shù)據(jù)集和進程控制塊三個組成部分。不同的進程可以有相同的程序,但都有各自獨立的數(shù)據(jù)集和進程控制塊。一個被創(chuàng)建的進程在它消亡之前,在任何時刻總是處于三種基本狀態(tài)之一:等待態(tài)、就緒態(tài)和運行態(tài)。若干個進程可以并發(fā)執(zhí)行,由于中斷事件的發(fā)生使進程狀態(tài)會發(fā)生變化,于是

9、進程總是“走走停停”o在單處理器的計算機系統(tǒng)中,每次最多只有一個進程可以占用處理器,其余的進程或在等待隊列中,或在就緒隊列中。 處理器的分配需經(jīng)過兩級調(diào)度。首先是作業(yè)調(diào)度,它使進程具有競爭處理器的機會。然后是進程調(diào)度,它來決定把處理器分配給哪個進程運行。中斷是激活操作系統(tǒng)的手段。硬件識別到中斷源后,由中斷裝置通過交換PSW讓操作系統(tǒng)的中斷處理程序占用處理器工作。中斷處理程序經(jīng)適當處理后根據(jù)進程狀態(tài)的變化進行隊列調(diào)整,然后轉(zhuǎn)向進程調(diào)度程序執(zhí)行。進程調(diào)度按預定的調(diào)度策略從就緒隊列中選擇一個可運行的進程,把處理器交給被選中的進程使用。其工作流程如圖3-20所示。 UNIX為每個終端用戶創(chuàng)建一個she

10、ll進程。命令的執(zhí)行由shell進程創(chuàng)建的子進程去完成。子進程又可再創(chuàng)建進程,形戍一棵進程樹。 UNIX的進程由進程控制塊、正文段和數(shù)據(jù)段三部分組成,其中進程控制塊又分成基本進程控制塊和擴充進程控制塊。 UNIX的進程在執(zhí)行中由于各種原因使其狀態(tài)不斷發(fā)生變化,且當主存空間不夠時可把 一些進程換出到磁盤的對換區(qū)中,需要時又可把它們換入主存。 UNIX的進程調(diào)度采用動態(tài)優(yōu)先數(shù)算法,優(yōu)先數(shù)越小的進程其優(yōu)先權(quán)越高。進程調(diào)度總是讓優(yōu)先數(shù)小的進程先占用處理器,占有處理器的進程每次可運行一個規(guī)定的時間片。第四章 處理器只能直接訪問寄存器和主存儲器,因而任何程序只有被裝入主存儲器之后才能執(zhí)行為了使用戶編制的程

11、序能存放在主存儲器的任意區(qū)域執(zhí)行,用戶使用相對地址編制程序,構(gòu)成一個邏輯地址空間,即用戶在邏輯上使用主存儲器。當任一用戶作業(yè)要裝入主存儲器時,存儲管理必須為該用戶作業(yè)分配一個物理的主存空間。通過把相對地址轉(zhuǎn)換成絕對地址實現(xiàn)從邏輯地址空間到物理地址空間的映射。把相對地址轉(zhuǎn)換成絕對地址的工作稱為重定或重定位有兩種方式:靜態(tài)重定位和動態(tài)重定位。采用靜態(tài)重定位不需要硬件的地址轉(zhuǎn)換機構(gòu),但也不允許程序在主存儲器中浮動。采用動態(tài)重定位必須借助硬件的地址轉(zhuǎn)換機構(gòu)程序執(zhí)行過程中該程序可以在主存儲器中被移動。存儲管理必須合理分配主存儲器空間,這樣既方便用戶又能提高主存空間利用率。主存空間的分配與采用的管理方式有

12、關(guān)。用單用戶連續(xù)方式、固定分區(qū)方式或可變分區(qū)方式管理時不僅用戶的邏輯地址空間是連續(xù)的,而且分配的主存空間也是連續(xù)的。在可變分區(qū)方式下采用移動技術(shù)可以把主存儲器中的“碎片匯集成一個大空閑區(qū)。用頁式方式管理時用的邏輯地址空間也是連續(xù)的,而分配主存空間時是按頁分配,為每一頁分配一個主存塊,這些主存塊可以是不相鄰的。操作系統(tǒng)采用建立“頁表”的辦法指出頁與塊之間的對應關(guān)系在邏輯空間連續(xù)而物理空間不連續(xù)的情況下,硬件的地址轉(zhuǎn)換機構(gòu)通過查找頁表能正確地進行地址轉(zhuǎn)換。為避免主存儲器中各作業(yè)相互干擾,必須進行存儲保護,限制各作業(yè)只能訪問屬于它自二的那些區(qū)域,對于共享區(qū)限制各作業(yè)只能讀或執(zhí)行,但不準寫。實現(xiàn)存儲保

13、護必須由軟件和硬件相互配合。實現(xiàn)虛擬存儲器后,從系統(tǒng)角度看,提高了主存空間利用率,從用戶角度看,用戶可以在超過主存實際容量的存儲空間(邏輯地址空間或稱虛存空間)中編制程序,大大方便了用戶。虛存的實現(xiàn)是借助大容量輔助存儲器(如磁盤)存放虛存中的實際信息,操作系統(tǒng)利用程序執(zhí)行時在時間上和空間上的局部性特點,把當前需要用的程序段和數(shù)據(jù)裝入主存儲器。且利用表格(如頁表)為用戶構(gòu)造一個虛擬空間(對不在主存的信息,指出存放在輔助存儲器中的位置)o硬件根據(jù)操作系統(tǒng)建立的表格進行地址轉(zhuǎn)換,當發(fā)現(xiàn)所要訪問的信息不在主存儲器中時,發(fā)出需要調(diào)度的中斷信號(如缺頁中斷)o操作系統(tǒng)處理這個中斷事件時,選擇一種好的調(diào)度算

14、法對主存儲器和輔助存儲器中的信息進行高效調(diào)度,盡可能避免“抖動”。 對單用戶連續(xù)方式、固定分區(qū)方式和可變分區(qū)方式都不能實現(xiàn)虛擬存儲器。因單用戶連續(xù)方式和固定分區(qū)方式都沒有硬件的地址轉(zhuǎn)換機構(gòu)支撐,可變分區(qū)方式為作業(yè)分配的主存區(qū)域是連續(xù)的,且硬件的地址轉(zhuǎn)換機構(gòu)把不在限定范圍的絕對地址作地址錯誤處理。對頁式存儲結(jié)構(gòu)則可采用虛擬存儲管理技術(shù)為用戶提供虛擬存儲器。 UNIX系統(tǒng)對主存采用頁式虛擬存儲管理技術(shù),頁面調(diào)度使用二次機會替換算法,盡量減少輸入/輸出的傳送次數(shù)以提高系統(tǒng)的效率。 第五章用戶是從使用的角度來組織文件的。用戶組織的文件稱為邏輯文件。邏輯文件有兩種類型:流式和記錄式。流式文件是依次的一串

15、信息集合。記錄式文件是由若干個邏輯記錄組成的。文件系統(tǒng)是從存儲介質(zhì)的特性、用戶的使用要求、怎樣有效地存儲和檢索的角度來組織文件的。由系統(tǒng)確定的文件結(jié)構(gòu)稱為存儲結(jié)構(gòu)。存儲結(jié)構(gòu)的文件稱為物理文件。物理文件的類型有順序文件、鏈接文件、索引文件等。 文件系統(tǒng)必須實現(xiàn)把邏輯文件轉(zhuǎn)換成物理文件的功能。為了能把邏輯文件映射成物理文件必須考慮文件存儲空間的分配。當用戶需要文件信息時,文件系統(tǒng)又要把物理文件轉(zhuǎn)換成邏輯文件。為此必須考慮一種有效的目錄結(jié)構(gòu)。在多道程序設(shè)計系統(tǒng)中,為解決重名問題可采用二級或多級目錄結(jié)構(gòu),以保證從物理文件到邏輯文件的正確轉(zhuǎn)換:用戶使用文件時可采用順序存取或隨機存取的方式。系統(tǒng)在組織物理

16、文件時,根據(jù)存儲介質(zhì)的特性和用戶選擇的存取方式來決定存儲結(jié)構(gòu)。對順序存取的文件在磁盤上可組織成順序文件、鏈接文件或索引文件,但文件若存放在磁帶上,則只能組織成順序文件。對隨機存儲的文件只能在磁盤上組織成索引文件。 文件系統(tǒng)實現(xiàn)按名存取使用戶不必考慮存儲空間的使用情況,也不必去了解存儲設(shè)備的物理特性,更不用顧及如何去完成文件的讀寫。這一切都由系統(tǒng)去做。但為了正確實現(xiàn)文件的存儲和檢索,保證用戶文件的安全,用戶必須使用文件系統(tǒng)提供的文件操作和規(guī)定的調(diào)用次序來請求使用文件?;镜奈募僮饔写蜷_文件、建立文件、關(guān)閉文件、讀寫文件刪除文件等。文件的成組和分解操作不僅可提高文件存儲空間的利用率,而且能減少啟

17、動存儲設(shè)備的次數(shù),是有利于提高系統(tǒng)效率的。但記錄成組和分解操作必須使用主存儲器中的緩沖區(qū),增加了系統(tǒng)的開銷。在UNIX中,用戶把文件組織成流式文件,而系統(tǒng)把它組織成索引文件放到磁盤上。引表是多級索引的結(jié)構(gòu),既可快速檢索短小文件,又能適應大型文件。 UNIX采用樹形目錄結(jié)構(gòu),把目錄項中的管理和控制信息集中在索引節(jié)點中。每個文件一個索引節(jié)點和索引節(jié)點號。每個目錄項把文件的外部標識(文件名)和內(nèi)部標識(索引點號)聯(lián)系起來,使系統(tǒng)能快速檢索文件。 UNIX巧妙地設(shè)計了進程打開文件表、系統(tǒng)打開文件表、活動索引節(jié)點表,使用戶能方地使用文件和共享文件。 UNIX既允許多個進程同時打開一個文件,也允許一個進程

18、同時打開多個文件(最多個)還允許一個進程以不同的方式同時多次打開同一個文件。 UNIX對文件存儲空間采用成組鏈接方式管理,提高了系統(tǒng)的效率。第六章 文件管理實現(xiàn)按名存取,要把用戶文件保存到存儲介質(zhì)上,或從存儲介質(zhì)上取文件信息傳送給用戶時,必須把存儲介質(zhì)裝到相應的設(shè)備上且啟動設(shè)備工作后才能完成信息傳送。所以文件管理要實現(xiàn)按名存取必須要有設(shè)備管理協(xié)助。設(shè)備管理負擔了設(shè)備的分配與啟動任務。在多道程序設(shè)計系統(tǒng)中,有時幾道作業(yè)對外圍設(shè)備的需求量會超過系統(tǒng)實際的擁有量,因此必須對設(shè)備進行合理分配,盡可能提高設(shè)備利用率(提醒注意:文件管理實現(xiàn)對存儲介質(zhì)存儲空間的分配,而設(shè)備管理實現(xiàn)外圍設(shè)備的分配)。從使用的

19、角度,可把外圍設(shè)備分成占使用的設(shè)備和可共享的設(shè)備。對獨占使用的設(shè)備一般只能采用靜態(tài)分配策略,根據(jù)用戶指定的設(shè)備類和臺數(shù)在作業(yè)開始執(zhí)行之前就把設(shè)備分配給作業(yè),供它使用,直到作業(yè)執(zhí)行結(jié)束才收回設(shè)備。這種分配策略使設(shè)備的利用率很低。為了提高獨占設(shè)備的利用率,可采用斯普林操作技術(shù)為用戶提供虛擬設(shè)備。對可共享設(shè)備,若干訪問者可交替使用它,但每一時多。只允許一個訪問者啟動它。因此,當有若干等待訪問者時,必須按一定的策略決定當前可使用設(shè)備者。對磁盤來說,這種選擇工作被稱為驅(qū)動調(diào)度,采用的調(diào)度策略被稱為驅(qū)動調(diào)度算法,驅(qū)動調(diào)度分為移臂調(diào)度和旋轉(zhuǎn)調(diào)度兩部分。一次移臂調(diào)度定位后,可能要進行多次旋轉(zhuǎn)調(diào)度。實現(xiàn)虛擬設(shè)備

20、必須要有硬件與軟件的配合。首先要有硬件的中斷裝置和通道技術(shù)作支撐'使中央處理器與各種外圍設(shè)備之間可以并行工作。然后操作系統(tǒng)采用多道程序設(shè)計技術(shù),合理分配處理器,實現(xiàn)聯(lián)機的外圍設(shè)備同時操作。實現(xiàn)虛擬設(shè)備時,操作系統(tǒng)必須設(shè)計好預輸入程序、井管理程序和緩輸出程序。實現(xiàn)虛擬設(shè)備不僅提高了獨占設(shè)備的利用率,創(chuàng)造了多道并行工作的環(huán)境,而且加快了作業(yè)的執(zhí)行速度。但是可能延長作業(yè)的周轉(zhuǎn)時間。 主存儲器與外圍設(shè)備之間的信息傳送操作稱為輸入輸出操作。完成輸入,輸出操作的過程是:按系統(tǒng)規(guī)定的通命令格式,根據(jù)輸入輸出的要求組織通道程序,并把通道程序首地址存人通道地址字(CAW)中;利用硬件提供的“啟動1/0&

21、quot;指令啟動通道工作,啟動成功后由通道執(zhí)行通道程序,按通道命令的要求完成一次輸入,輸出操作,并把通道程序的執(zhí)行情況記錄在通道狀態(tài)字:(CSW)中;通道完成一次輸入輸出操作后形成I./O中斷,由操作系統(tǒng)作出相應處理。 在執(zhí)行輸入輸出操作時采用緩沖技術(shù)可以緩解處理器與外圍設(shè)備之間速度不匹配的矛盾'UNIX息的傳送速度。常用的緩沖技術(shù)有單緩沖技術(shù)、雙緩沖技術(shù)和緩沖池技術(shù)。 UNIx把設(shè)備分成塊設(shè)備和字符設(shè)備兩大類,且把設(shè)備作為一種特別文件。每個設(shè)備都有一個文件名,并對設(shè)備就像文件那樣進行操作。 UNlX中的輸入輸出操作是通過緩沖區(qū)來傳送信息的。在采用的磁盤緩沖技術(shù)中,利用緩沖區(qū)保存已從

22、磁盤上讀出的信息或欲寫入磁盤的信息。這樣,當再次需要使用這些信息時就不必啟動磁盤而可真接從緩沖區(qū)中得到,減少了輸入,輸出操作所花費的時間第七章 在順序執(zhí)行指令的處理器上,進程的執(zhí)行是按程序中規(guī)定的操作順序進行的,即進程具有順序性。但是在計算機系統(tǒng)中,尤其在采用多道程序設(shè)計的系統(tǒng)中,往往會有若干個進程請求執(zhí)行。若在一個進程的執(zhí)行沒有結(jié)束之前就允許其他進程開始執(zhí)行,則說這些進程是可同時執(zhí)行的??赏瑫r執(zhí)行的進程交替地占用處理器。如果系統(tǒng)中存在一組可同時執(zhí)行的進程則說該組進程具有并發(fā)性,我們把這些進程稱為并發(fā)進程。 并發(fā)進程相互間可以是無關(guān)的,也可以是有交互的。有交互的并發(fā)進程間一定共享某些資源:由于

23、并發(fā)進程執(zhí)行的相對速度受自身或外界的因素影響,也受進程調(diào)度策略的限制,因此,并發(fā)進程在訪問共享資源時可能會出現(xiàn)與時間有關(guān)的錯誤。 并發(fā)進程在訪問共享資源時可以有兩種關(guān)系:一種是競爭關(guān)系,另一種是協(xié)作關(guān)系。當并發(fā)進程存在競爭關(guān)系時,必須互斥地使用共享資源;當并發(fā)進程存在協(xié)作關(guān)系時,必須互通消息。我們把這兩種關(guān)系分別稱為進程的互斥和進程的同步。進程間正確的互斥和同步能避免出現(xiàn)與時間有關(guān)的錯誤。 把并發(fā)進程中與共享變量有關(guān)的程序段稱為臨界區(qū)。與某共享變量有關(guān)的每個進程都有各自的的臨界區(qū)。如果若干個進程的臨界區(qū)都涉及同一個變量,則把這些臨界區(qū)稱為相關(guān)臨界區(qū)。這進程互斥時,每次只允許一個進程進入自己的臨

24、界區(qū)。當有一個進程在它的臨界區(qū)執(zhí)行時,就不允許其他任何進程進入各自的臨界區(qū),直到該進程退出臨界區(qū)為止。進程的同步是指:進程)用共享資源時必須互通消息,即只有接到了指P的消息后進程才能去使用共享資源,如果進程沒有接到指定消息,即使此時無進程在使用共享資源進程仍然不能去使用共享資源,直到消息到達為止。實際上,進程互斥是進程同步的特例故經(jīng)常把進程互斥和進程同步的機制統(tǒng)稱為同步機制PV操作是由兩個不被中斷的過程P操作原語和V操作原語組成, PV操作是對號量實施操作,若把信號量與共享資源聯(lián)系起來,則用PV操作可實現(xiàn)進程的互斥和同步從本章的例子分析中,可總結(jié)信號量S的物理含義: S>O時,S表示可使

25、用的資源數(shù),或表示可使用資源的進程數(shù)。 S=O時,表示無資源可供使用,或表示不允許進程再進入臨界區(qū)。 s<O時, | S |表示等待使用資源的進程個數(shù),或表示等待進入臨界區(qū)的進程個數(shù)。 當S>O時,調(diào)用P(S)的進程不會等待;調(diào)用V(S)后使得可用的資源數(shù)加1,或得可用資源的進程數(shù)加I 當sO時,調(diào)用P(S)的進程必須等待;調(diào)用V(s)后將釋放一個等待使用資源者或釋放一個等待進入臨界區(qū)者。 采用PV操作作為同步機制時'應注意如下幾點: (1)正確區(qū)分互斥與同步 如果并發(fā)進程僅僅是競爭共享資源'對共享資源的使用是各自獨立的,相互之間不存在某種必然的聯(lián)系,那么對共享資源

26、的管理應采用“進程的互斥”方式。如果并發(fā)進程對資源的使用必須按某種邏輯順序來進行,它們相互之間有依賴有聯(lián)系,那么對共享資源的各自的臨界區(qū),直到該進程退出臨界區(qū)為止。進程的同步是指:進程)用共享資源時必須互通消息,即只有接到了指P的消息后進程才能去使用共享資源,如果進程沒有接到指定消息,即使此時無進程在使用共享資源進程仍然不能去使用共享資源,直到消息到達為止。實際上,進程互斥是進程同步的特例故經(jīng)常把進程互斥和進程同步的機制統(tǒng)稱為同步機制PV操作是由兩個不被中斷的過程P操作原語和V操作原語組成, PV操作是對號量實施操作,若把信號量與共享資源聯(lián)系起來,則用PV操作可實現(xiàn)進程的互斥和同步從本章的例子

27、分析中,可總結(jié)信號量S的物理含義: S>O時,S表示可使用的資源數(shù),或表示可使用資源的進程數(shù)。 S=O時,表示無資源可供使用,或表示不允許進程再進入臨界區(qū)。 s<O時, | S |表示等待使用資源的進程個數(shù),或表示等待進入臨界區(qū)的進程個數(shù)。 當S>O時,調(diào)用P(S)的進程不會等待;調(diào)用V(S)后使得可用的資源數(shù)加1,或j得可用資源的進程數(shù)加I 當sO時,調(diào)用P(S)的進程必須等待;調(diào)用V(s)后將釋放一個等待使用資源者或釋放一個等待進入臨界區(qū)者。 采用PV操作作為同步機制時'應注意如下幾點: (1)正確區(qū)分互斥與同步 如果并發(fā)進程僅僅是競爭共享資源'對共享資源

28、的使用是各自獨立的,相互之間不存某種必然的聯(lián)系,那么對共享資源的管理應采用“進程的互斥”方式。如果并發(fā)進程對共資源的使用必須按某種邏輯順序來進行,它們相互之間有依賴有聯(lián)系,那么對共享資源的 (1)正確區(qū)分互斥與同步 女口果并發(fā)進程僅僅是競爭共享資源,對共享資源的使用是各自獨立的,相互之間不存在某種必然的聯(lián)系,那么對共享資源的管理應采用“進程的互斥”方式。如果并發(fā)進程對共享資源的使用必須按某種邏輯順序來進行,它們相互之間有依賴有聯(lián)系,那么對共享資源的管理應采用¨進程的同步”方式。 (2)正確定義信號量 用PV操作管理共享資源時應確切地定義信號量,如果是互斥使用的共享資源,則用一個信號量

29、與共享資源聯(lián)系起來,信號量的初值一般為1;如果對共享資源的使用是按“進程的同步”方式進行的,則應先分析并發(fā)進程間有多少個不同的消息,每一個消息要用一個信號量來表示,信號量的初值應隨問題的要求、信號量的含義等情況來決定 (3)正確使用PV操作 一般PV操作都是在與共享變量有關(guān)的程序段前后調(diào)用。對必須互斥使用的資源,通常是對同一信號量調(diào)用P操作和V操作,用P操作競爭資源使用權(quán),用V操作歸還資源使用權(quán)。對必須同步的并發(fā)進程使用共享資源時,要在不同的信號量上調(diào)用P操作和V操作。用P操作測試自己所需的消息是否到達,用V操作把其他進程需要的消息發(fā)送出去。在解決互斥與同步混合問題時應注意P操作的次序,在互斥信號量上的P操作應放在同步信號量的P操作之后,以免引起錯誤,而對V操作的次序不作特別強調(diào),因為它僅涉及釋放等待者的先后順序,并不會引起錯誤。 PV操作是一種管理共享資

溫馨提示

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

評論

0/150

提交評論