《軟件技術(shù)基礎(chǔ)》第4章 操作系統(tǒng)_第1頁
《軟件技術(shù)基礎(chǔ)》第4章 操作系統(tǒng)_第2頁
《軟件技術(shù)基礎(chǔ)》第4章 操作系統(tǒng)_第3頁
《軟件技術(shù)基礎(chǔ)》第4章 操作系統(tǒng)_第4頁
《軟件技術(shù)基礎(chǔ)》第4章 操作系統(tǒng)_第5頁
已閱讀5頁,還剩90頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章操作系統(tǒng)軟件技術(shù)基礎(chǔ)》課件制作人:錢玉文第

4章操作系統(tǒng)

(有*號的標(biāo)題表示最基本的內(nèi)容)

4.1操作系統(tǒng)的概念

4.1.1

操作系統(tǒng)的功能與任務(wù)

4.1.2

操作系統(tǒng)的發(fā)展過程

4.1.3

操作系統(tǒng)的分類4.2多道程序設(shè)計

*

4.2.1

進(jìn)程與程序的區(qū)別

4.2.2

進(jìn)程

4.2.3

進(jìn)程之間的通信*4.3存儲空間的組織

4.3.1

內(nèi)存儲器的管理技術(shù)

4.3.2外存儲器中文件的組織結(jié)構(gòu)(略)制作人:1007教研室1.操作系統(tǒng)概述(1)概念、職能、分類和發(fā)展(2)相關(guān)技術(shù)(多道處理、通道技術(shù)、中斷技術(shù))(3)常見操作系統(tǒng)簡介2.內(nèi)存管理(1)文件的概念及分類(2)文件系統(tǒng)的功能和特點(3)文件系統(tǒng)的組織和存儲結(jié)構(gòu)(4)DOS、WINDOWS、UNIX的文件系統(tǒng)簡介本節(jié)內(nèi)容提示制作人:1007教研室4.1

操作系統(tǒng)基本概念

4.1.1操作系統(tǒng)的功能與任務(wù)計算機系統(tǒng)=計算機硬件+計算機軟件計算機硬件是構(gòu)成計算機系統(tǒng)的物理部件和設(shè)備的總稱。硬件的核心是主機;主機的核心是CPU。計算機軟件是構(gòu)成計算機系統(tǒng)的軟件及文檔資料的總稱。軟件的核心是系統(tǒng)軟件;系統(tǒng)軟件的核心是操作系統(tǒng),也即操作系統(tǒng)是系統(tǒng)軟件的核心。制作人:1007教研室一、操作系統(tǒng)的概念1.定義:操作系統(tǒng)是控制和管理計算機硬件和軟件資源、合理組織計算機工作流程、方便用戶使用計算機并提高計算機響應(yīng)速度而設(shè)計的一套程序的集合。資源角度:是計算機資源管理系統(tǒng),負(fù)責(zé)計算機系統(tǒng)的全部資` 源的分配、控制、調(diào)度和回收。用戶角度:操作系統(tǒng)是計算機與用戶之間的接口。進(jìn)程角度:是動態(tài)、合理地組織計算機工作流程的軟件。2.評價(地位和作用): 操作系統(tǒng)是直接與硬件相鄰的第一層軟件,是其他軟件運行的基礎(chǔ),是系統(tǒng)軟件中最基本、最核心的部分。制作人:1007教研室二、操作系統(tǒng)的兩大基本職能面向計算機:

管理和操控全部計算機資源;提高系統(tǒng)效率。面向用戶:

提供人機界面;提供便捷的操作環(huán)境。制作人:1007教研室三、操作系統(tǒng)的五大功能

操作系統(tǒng)功能文件管理進(jìn)程管理存儲器管理作業(yè)管理設(shè)備管理制作人:1007教研室4.1.2操作系統(tǒng)的發(fā)展OS是伴隨計算機技術(shù)的發(fā)展而發(fā)展的。其發(fā)展大致經(jīng)歷了四個階段。(1)早期階段,從20世紀(jì)40年代末到50年代中期—無操作系統(tǒng) 幾乎無外部設(shè)備,軟件只用機器語言,無操作系統(tǒng)。手工操作、系統(tǒng)資源利用率低。(2)第2階段,20世紀(jì)50年代中期——第1代操作系統(tǒng)

把“零散的單一程序處理”變?yōu)椤凹械某膳绦蛱幚怼钡奶幚矸绞?。“批處理”操作系統(tǒng)(監(jiān)管程序)由此而產(chǎn)生。(如醫(yī)院透視)程序員和操作員分工。(3)第3階段——第2代操作系統(tǒng)

通道技術(shù)、緩沖技術(shù)、中斷技術(shù)等。由此產(chǎn)生了第二代操作系統(tǒng)。(4)第4階段——第3代操作系統(tǒng)

多道處理技術(shù)的引入,CPU利用率提高。如UNIX、WINDOWS等。制作人:1007教研室多道處理

一個CPU同時處理多個程序;同時將多個程序裝入內(nèi)存、并同時運行的機制;大大提高了CPU的利用率;通道技術(shù)

將I/O處理從CPU的控制下獨立出來的一套處理機制,也稱為“I/O處理機”;CPU不再直接控制I/O設(shè)備,而是通過通道去控制,從而實現(xiàn)了CPU和I/O設(shè)備之間的并行工作,緩解了CPU和I/O速度不匹配的矛盾;中斷技術(shù)

在程序運行中,出現(xiàn)了某種緊急事件,必須暫時中止現(xiàn)行程序,轉(zhuǎn)去處理此事件,然后再恢復(fù)中斷程序的運行技術(shù)。幾種相關(guān)技術(shù)制作人:1007教研室

4.1.3操作系統(tǒng)的分類(1)按處理器特點分:分時OS

采用分配時間片的方法,一個CPU可為多個用戶服務(wù)。實時OS

在較短時間內(nèi)即響應(yīng)用戶要求并完成處理的OS。(2)按適用面分:

專用OS

為特定應(yīng)用目的或特定機器環(huán)境而配備的OS。

通用OS

為通用計算機系統(tǒng)配備的OS。(3)按用戶數(shù)量分:單用戶OS

只能服務(wù)于單個用戶的OS;如MS-DOS。

多用戶OS

能為多個用戶服務(wù)的OS;如UNIX、WINDOWS。一、分類制作人:1007教研室(4)按任務(wù)處理方式分:?交互式OS

能為用戶提供交互式操作支持的OS。?批處理式OS

以批處理方式處理用戶作業(yè)的OS。(5)按硬件環(huán)境和控制方式分:?集中式OS

指駐留在一臺計算機上或管理一臺計 算機的OS。?分布式OS

用于管理分布式計算機的OS。制作人:1007教研室二、常用、主流OS簡介MS-DOSUNIXWINDOWS制作人:1007教研室1.MS-DOSMS-DOS16位機、基于字符(命令行)方式的OSMS-DOS操作系統(tǒng)的特點:1)系統(tǒng)簡單,層次性強2)I/O重定位3)管道操作:把一個命令或程序的輸出送到另一個命令或程序中去并依次形成一個連續(xù)的處理過程。4)樹形文件目錄系統(tǒng)最早的版本DOS1.0,在1981年8月發(fā)布;它由4000行匯編代碼組成,運行于8K內(nèi)存中,使用Intel8086微處理器。以后,隨著Intel不斷推出功能越來越強大的CPU以及PC領(lǐng)域各種新技術(shù)的發(fā)展,Microsoft不斷推出新的DOS版本,直到7.0。但DOS并不能充分發(fā)揮一些新的CPU的強大功能。制作人:1007教研室2.UNIX

UNIX:交互式的分時操作系統(tǒng),中、小型機的工業(yè)標(biāo)準(zhǔn)化的OS。

1969年美國AT&T公司的BELL實驗室在PDP-7小型機上開發(fā)出UNIX(匯編語言版本);

1973年推出UNIX第5版(C語言版本);因此,而獲美國計算機界最高獎—ACM圖靈獎;

1992年,據(jù)美國Infocorp公司調(diào)查,裝UNIX的機器占全世界計算機市場的36%;

在美國,90%的大學(xué)使用UNIX,這些大學(xué)的計算機系均開設(shè)UNIX操作系統(tǒng)的課程;

UNIX已成為通用的、交互式的、多用戶、多任務(wù)應(yīng)用領(lǐng)域中小型機的主流操作系統(tǒng)之一。制作人:1007教研室UNIX操作系統(tǒng)特點⑴多用戶、多任務(wù)。⑵功能強、但規(guī)模小(整個系統(tǒng)一萬行代碼)。⑶靈活性(系統(tǒng)的90%用C編寫,便于維護(hù)、具有可擴充性、可移植性)。⑷所有文件是沒有內(nèi)部結(jié)構(gòu)的字符行序列,外部設(shè)備、目錄和普通文件同樣處理、對待。⑸樹狀文件結(jié)構(gòu)。⑹模塊性好,適應(yīng)性強。⑺為用戶提供了功能完備、使用方便的命令程序語言Shell,且系統(tǒng)具有完備的網(wǎng)絡(luò)功能。⑻可移植性好。⑼系統(tǒng)安全(滿足C2級安全標(biāo)準(zhǔn))。制作人:1007教研室3.WINDOWS

WINDOWS32位以上高檔微機的、單用戶、多任務(wù)、基于圖形界面的主流OS

1983年11月,MICROSOFT公司推出WINDOWS1.0操作環(huán)境;

1992年,幾經(jīng)改版,推出WINDOWS3.1;

1993年推出WINDOWSNT,網(wǎng)絡(luò)版操作系統(tǒng);

1995年推出WINDOWS’95。

1998年推出WINDOWS’98。

2000年推出WINDOWS’2000。制作人:1007教研室WINDOWS的特點1.一致性的用戶界面(圖形界面、窗口、菜單、控件操作方式)。2.多任務(wù)操作。3.功能強大的、先進(jìn)的內(nèi)存管理。4.支持動態(tài)數(shù)據(jù)交換(DDE)和動態(tài)連接庫(DLL)。5.設(shè)備無關(guān)性。對外部設(shè)備的管理都是通過設(shè)備驅(qū)動程序來實現(xiàn)的。更換設(shè)備只需安裝相應(yīng)的設(shè)備驅(qū)動程序即可。支持鼠標(biāo)操作。6.支持網(wǎng)絡(luò)功能和多媒體技術(shù)(內(nèi)置TCP/IP協(xié)議、Windows網(wǎng)絡(luò)登錄等功能,使各種資源可在網(wǎng)上共享)。7.支持GBK大字符集(2萬多漢字字符)及多種字庫。8.系統(tǒng)龐大、開銷大,啟動、關(guān)機慢。

制作人:1007教研室總結(jié):

三種操作系統(tǒng)的比較

操作系統(tǒng)多生產(chǎn)硬件要求

多用戶

多任務(wù)市場用戶

編程界面

網(wǎng)絡(luò)

安全性

廠商

支持支持

界面功能MS-DOSMSPC機及否否PC機字符靜態(tài)差一般

IBM兼容機界面類庫WindowsMSPC機及是是PC機字符界靜態(tài)類庫兼容機面及圖多種API強較強形界面VXD編程接口UNIXIMB各種機器是是小型機字符界靜態(tài)類庫

HP工作站面及圖多種API很強很強

Sun等服務(wù)器形界面共同點:程序執(zhí)行、資源分配、I/O操作、文件系統(tǒng)管理、出錯檢測、中斷處理、統(tǒng)計、保護(hù)等。制作人:1007教研室4.2進(jìn)程進(jìn)程管理(1)程序的有關(guān)概念(單道、多道、批處理)(2)進(jìn)程及有關(guān)概念(進(jìn)程、特征、性質(zhì)、狀態(tài)、線程)(3)進(jìn)程的管理(進(jìn)程的組成、進(jìn)程控制塊的組織形式)(4)進(jìn)程調(diào)度的任務(wù)及功能制作人:1007教研室4.2.1進(jìn)程與程序的區(qū)別程序單道程序、多道程序、順序程序、并發(fā)程序順序程序與并發(fā)程序的特征進(jìn)程進(jìn)程的特征、性質(zhì)、狀態(tài)及轉(zhuǎn)換制作人:1007教研室一、程序的有關(guān)概念程序(Program)

是為解決某個問題用計算機語言或命令設(shè)計、編寫的一系列指令的有序集合。程序的順序執(zhí)行

一個程序通常分為若干個具有一定獨立性的程序段,這些程序段是按邏輯步驟編排的,只有當(dāng)當(dāng)前程序段執(zhí)行完成后,才將控制權(quán)轉(zhuǎn)交到下一個程序段并執(zhí)行下一個程序段。制作人:1007教研室二、單道程序處理及特性一次只處理一個程序。該程序獨享系統(tǒng)資源。單個程序的特性:

1、順序性

操作按程序規(guī)定的順序執(zhí)行。2、封閉性

程序在執(zhí)行過程中獨享系統(tǒng)資 源,不受外界因素的干擾和影響。3、可再現(xiàn)性

只要初始條件相同,無論以何種 方式、速度、重復(fù)執(zhí)行多少次, 結(jié)果是相同的。制作人:1007教研室三、多道程序處理及特性同時將多個程序裝入內(nèi)存,并同時處理它們,整個系統(tǒng)資源為多個程序共享。由于多道程序具有并發(fā)的特點,在任一時刻,系統(tǒng)內(nèi)部(內(nèi)存)同時運行著多個程序;受系統(tǒng)資源的制約,每個程序處理過程的行為是不確定的(系統(tǒng)內(nèi)部狀態(tài)因此而不同)。例如,第Ii個程序的Ci

,這次是在時刻Ti開始的,那么,下一次運行同樣的程序組時,第Ii個程序的Ci

就不一定是在Ti時刻開始。集體活動,過程和結(jié)果不受個體完全控制。制作人:1007教研室

程序并發(fā)執(zhí)行舉例設(shè)有三個程序,它們的執(zhí)行步驟和順序相同,都是Ii(輸入)、Ci(計算)、Pi(輸出)。

當(dāng)?shù)?個程序的輸入操作I1執(zhí)行完、執(zhí)行C1時,輸入機空閑,這時候可以執(zhí)行第2個程序的輸入操作I2;在時間上,操作C1和I2是重疊的。當(dāng)C1執(zhí)行完、執(zhí)行P1時,處理機空閑,若這時I2已完成,就可以執(zhí)行C2,與此同時,輸入機又空閑,可以執(zhí)行第3個程序的I3。這樣一來,在時間上,P1、C2和I3是重疊操作的。制作人:1007教研室

程序并發(fā)執(zhí)行舉例示意圖程序1:I1C1P1程序2:I2C2P2程序3:I3C3P3

從示意圖中可以看出,C1和I2、P1、C2和I3、P2和C3在時間上都是重疊操作的。Tt1t3t2制作人:1007教研室四、單道和多道程序處理的區(qū)別在單道程序處理環(huán)境下,各邏輯步驟之間的關(guān)系是確定的、不受外界影響而改變的。在多道程序處理環(huán)境下,并發(fā)處理機制中必然存在著直接或間接的相互依賴和相互制約的關(guān)系,從而使被處理的多道程序失去了程序固有的特性:封閉性、可再現(xiàn)性。制作人:1007教研室總結(jié):程序并發(fā)處理特征1.程序與計算不再一一對應(yīng)在并發(fā)執(zhí)行時,一個共享程序可為多個用戶作業(yè)調(diào)度,而使程序處于多個執(zhí)行中,從而形成了多個“計算”。因此,程序和計算間一一對應(yīng)的關(guān)系不復(fù)存在。2.程序并發(fā)執(zhí)行時的相互制約例如,Ii,Ci和Pi分別共享同一個輸入機、處理機和打印機,因此,一旦C2占用處理機,在它未完成之前,C3就無法啟動。由此可見,程序并發(fā)執(zhí)行時是相互制約的,將導(dǎo)致并發(fā)程序具有“執(zhí)行——暫?!獔?zhí)行”這樣的活動規(guī)律。3.失去了程序的封閉性若A和B為兩個程序,共享數(shù)據(jù)段,由于程序A和程序B都是以各自獨立的速度運行,則因速度不同而結(jié)果不同。所以并發(fā)執(zhí)行程序失去了順序程序的封閉性。4.如何表示并發(fā)程序的特性?制作人:1007教研室4.2.2進(jìn)程進(jìn)程(Process)就是程序的一次執(zhí)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨立單位?!斑M(jìn)程”這個概念是1966年美國麻省理工學(xué)院的J.H.Sallexer提出的。進(jìn)程管理也被稱為處理機管理。處理機是計算機系統(tǒng)中的重要資源,所以它管理的好壞在很大程度上直接影響系統(tǒng)的效率。處理機管理又分兩個部分:作業(yè)管理和進(jìn)程管理。進(jìn)程管理是由程序管理進(jìn)化而來,是和程序管理密不可分的。作業(yè)

用戶在一次計算過程中,或者一次事務(wù)處理過程中,要求計算機系統(tǒng)所做工作的總稱。制作人:1007教研室一、進(jìn)程的不同定義

由于并發(fā)活動的復(fù)雜性,不同學(xué)者研究和討論的側(cè)重點不同,對進(jìn)程的定義也不盡相同。下面列出幾種不同的定義:進(jìn)程是可以和別的計算并發(fā)執(zhí)行的計算;進(jìn)程是程序的一次執(zhí)行,亦即進(jìn)程是在給定內(nèi)存區(qū)域中的一組指令序列的執(zhí)行過程;所謂進(jìn)程,就是一個程序在給定活動空間和初始環(huán)境下,在一個處理機上的執(zhí)行過程;進(jìn)程是程序在一個數(shù)據(jù)集合上運行的過程,是系統(tǒng)資源分配和調(diào)度的一個獨立單位。

所謂進(jìn)程,是指一個具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動。

制作人:1007教研室二、進(jìn)程的特征進(jìn)程具有兩個重要特征:(a)動態(tài)性:表現(xiàn)在它由“創(chuàng)建”而產(chǎn)生,由“調(diào)度”而執(zhí)行,因得不到資源而“暫?!眻?zhí)行,最后由“撤消”而消亡。進(jìn)程有自己的生命周期。(b)并發(fā)性:在系統(tǒng)中可以同時存在幾個進(jìn)程。在單CPU系統(tǒng)中,任何時刻只有一個進(jìn)程占用CPU,其它進(jìn)程處于等待狀態(tài)。進(jìn)程有著走走停停的活動規(guī)律。引入進(jìn)程的目的是為了程序的并發(fā)執(zhí)行,以提高資源的利用率。進(jìn)程與程序的區(qū)別:

進(jìn)程描述程序的動態(tài)行為,程序是指令和數(shù)據(jù)的靜態(tài)集合。進(jìn)程是程序的運行活動,當(dāng)程序沒運行時,有程序存在,而無進(jìn)程存在。一個程序可以有多個進(jìn)程,一個進(jìn)程也可以對應(yīng)多個程序(調(diào)用、順序執(zhí)行)制作人:1007教研室三、進(jìn)程的性質(zhì)動態(tài)性

描述程序在執(zhí)行過程中的全部活動;并發(fā)性

OS同時接受和處理多個進(jìn)程;異步性

不同進(jìn)程在邏輯上相互獨立,有各自的運行“軌跡”;制約性

由于計算機資源是有限的,不同進(jìn)程共享CPU和I/O通道及設(shè)備,因此相互制約。制作人:1007教研室四、進(jìn)程的狀態(tài)進(jìn)程在其存在的過程中,它們的狀態(tài)是不斷發(fā)生變化的。一般來說,進(jìn)程有三種基本狀態(tài):就緒狀態(tài)、運行狀態(tài)、等待狀態(tài)。就緒狀態(tài)

已經(jīng)獲得投入運行所必需的一切資源,一旦分配到CPU,就可以立即執(zhí)行。這是一種邏輯上可運行狀態(tài)(“萬事具備,只欠東風(fēng)”)。運行狀態(tài)

進(jìn)程獲得了CPU及其它一切所需資源,正在CPU上運行著。(春風(fēng)得意之時)等待狀態(tài)

由于資源得不到滿足,進(jìn)程運行受阻,處于暫停狀態(tài),等待資源分配后,再投入運行。(青黃不接,門庭冷落)制作人:1007教研室進(jìn)程狀態(tài)轉(zhuǎn)換示意圖進(jìn)程在整個生存周期中,由進(jìn)程調(diào)度程序控制,在這三種狀態(tài)之間進(jìn)行轉(zhuǎn)換。運行狀態(tài)等待狀態(tài)

就緒狀態(tài)

資源得不到滿足等待資源CPU時間用完獲得資源

進(jìn)程調(diào)度程序

來自作業(yè)調(diào)度

交作業(yè)管理

進(jìn)程調(diào)度制作人:1007教研室五、進(jìn)程的管理進(jìn)程管理的核心是:進(jìn)程的控制和調(diào)度。進(jìn)程自投入運行時起,即交由進(jìn)程調(diào)度程序管理。制作人:1007教研室1.進(jìn)程控制進(jìn)程控制的職責(zé)是對系統(tǒng)中全部進(jìn)程實行有效的管理;它應(yīng)該具有創(chuàng)建新進(jìn)程、撤消已結(jié)束進(jìn)程的能力。制作人:1007教研室(1)進(jìn)程的組成進(jìn)程是程序在一個數(shù)據(jù)集合上的運行過程,它由三部分組成:程序:它主要用于描述進(jìn)程所要完成的功能。數(shù)據(jù)集合:它包括程序執(zhí)行時所需要的數(shù)據(jù)和工作區(qū)。進(jìn)程控制塊(ProcessControlBlock,PCB):它記錄進(jìn)程控制信息,是進(jìn)程動態(tài)特性的反映。制作人:1007教研室(2)進(jìn)程控制塊——PCB進(jìn)程控制塊PCB是進(jìn)程的唯一標(biāo)識。當(dāng)創(chuàng)建一個新進(jìn)程時,系統(tǒng)就建立一個PCB;它記錄和描述該進(jìn)程的運行變化過程及參數(shù)變化。實際上,系統(tǒng)是通過PCB對進(jìn)程進(jìn)行實際控制和管理的。

PCB中包括:

進(jìn)程標(biāo)識符

進(jìn)程的唯一代號

進(jìn)程運行狀態(tài)

記錄進(jìn)程當(dāng)前狀態(tài)

中斷現(xiàn)場保護(hù)區(qū)

記錄中斷現(xiàn)場信息,以備恢復(fù)用

進(jìn)程使用資源表

記錄進(jìn)程使用的資源信息

進(jìn)程優(yōu)先級

標(biāo)明該進(jìn)程要求CPU的迫切程度

進(jìn)程家族信息

記錄該進(jìn)程家族史信息。制作人:1007教研室(3)進(jìn)程控制塊PCB的組織形式

通過進(jìn)程控制塊對進(jìn)程進(jìn)行管理

進(jìn)程控制塊PCB是定長記錄(類似于DOS中的文件目錄表FDT和UNIX中的i索引結(jié)點表),采用兩種組織方式。

PCB組織形式線性表結(jié)構(gòu)鏈表結(jié)構(gòu)制作人:1007教研室PCB線性表結(jié)構(gòu)

PCB1PCB2PCB3PCB4???PCBiPCBi+1PCBi+2

就緒表

等待表

就緒表起始地址等待表起始地址制作人:1007教研室PCB鏈表結(jié)構(gòu)三個隊列(三個線性表)

運行隊列

就緒隊列

等待隊列PCBr隊頭指針PCBsPCBs+1PCBs+2PCBtPCBt+1PCBt+2制作人:1007教研室2.進(jìn)程調(diào)度(1)進(jìn)程調(diào)度任務(wù)(確定誰、何時使用CPU)

按一定的算法,動態(tài)地將處理機分配給就緒 隊列中的某個進(jìn)程,使之執(zhí)行。(2)進(jìn)程調(diào)度功能記錄系統(tǒng)中所有進(jìn)程的狀態(tài)、優(yōu)先數(shù)和所用資源的情況。(記錄進(jìn)程信息)當(dāng)CPU空閑時,按一定的算法將CPU分配給某一進(jìn)程、并確定CPU時間片的長度。(確定運行進(jìn)程)動態(tài)地調(diào)度進(jìn)程、修改進(jìn)程的狀態(tài)、以及修改相應(yīng)的排隊隊列。(修改進(jìn)程狀態(tài))制作人:1007教研室(1)進(jìn)程調(diào)度方式剝奪方式

當(dāng)“重要”或“系統(tǒng)”的進(jìn)程出現(xiàn)時,便暫停正在執(zhí)行的進(jìn)程,立即將CPU分配給“重要”或“系統(tǒng)”的進(jìn)程。非剝奪方式

讓正在執(zhí)行的進(jìn)程繼續(xù)執(zhí)行,直到該進(jìn)程完成或發(fā)生其它事件,而改變?yōu)槠渌鼱顟B(tài)后,才移交CPU控制權(quán)。制作人:1007教研室(2)進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法的考慮因素有:

1、盡量提高資源利用率,減少CPU空閑時間;

2、對一般作業(yè)采用較合理的平均響應(yīng)時間;

3、應(yīng)避免有的作業(yè)長期得不到響應(yīng)的情況。常用的算法:(1)先來先服務(wù)調(diào)度算法(2)短作業(yè)優(yōu)先調(diào)度算法(3)最高響應(yīng)比優(yōu)先調(diào)度算法(4)基于優(yōu)先級的調(diào)度算法

制作人:1007教研室靜態(tài)與動態(tài)優(yōu)先數(shù)法靜態(tài)優(yōu)先數(shù)法

進(jìn)程優(yōu)先數(shù)是在系統(tǒng)創(chuàng)建進(jìn)程時確定的,一經(jīng)確定,在進(jìn)程運行期間就不再改變。動態(tài)優(yōu)先數(shù)法

進(jìn)程優(yōu)先數(shù)在進(jìn)程運行中,隨進(jìn)程特性的變化不斷修改進(jìn)程的優(yōu)先數(shù),實現(xiàn)更精確的調(diào)度。制作人:1007教研室3.死鎖問題

操作系統(tǒng)的主要目標(biāo)之一就是充分利用系統(tǒng)資源。為此,它允許多個進(jìn)程并發(fā)執(zhí)行,并且共享系統(tǒng)的軟硬件資源。由于各進(jìn)程互相獨立地動態(tài)獲得、不斷申請和釋放系統(tǒng)中的軟硬件資源,這就有可能使系統(tǒng)出現(xiàn)這樣一種狀態(tài):其中若干個進(jìn)程均因互相“無知地”等待對方所占有的資源而無限地等待。這種狀態(tài)稱為死鎖。制作人:1007教研室死鎖舉例進(jìn)程A進(jìn)程B申請讀卡機申請打印機

申請打印機申請讀卡機

釋放讀卡機釋放打印機

釋放打印機釋放讀卡機

兩個進(jìn)程的執(zhí)行過程制作人:1007教研室(1)死鎖的必要條件

資源的獨占使用

資源的非搶占分配

資源的部分分配

對資源的循環(huán)等待

制作人:1007教研室(2)死鎖的解決方法死鎖預(yù)防

實行資源的靜態(tài)分配

死鎖避免

資源順序分配法銀行家算法制作人:1007教研室

4.2.3進(jìn)程的通信

一、進(jìn)程的互斥與同步1.進(jìn)程的互斥

互斥關(guān)系是進(jìn)程之間的一種制約關(guān)系,是協(xié)調(diào)進(jìn)程之間關(guān)系的一種特殊規(guī)則,即“多個操作決不能在同一時刻執(zhí)行”。臨界資源

一次只允許一個進(jìn)程使用的資源稱為臨界資源

臨界區(qū)

訪問臨界資源的程序段稱為臨界區(qū)

制作人:1007教研室進(jìn)程互斥舉例設(shè)有兩個進(jìn)程A和B,進(jìn)程A負(fù)責(zé)為用戶作業(yè)分配打印機,進(jìn)程B負(fù)責(zé)釋放打印機,它們共用一張打印機分配表。檢查進(jìn)程B是否在讀寫打印機分配表檢查進(jìn)程A是否在讀寫打印機分配表若為否,則封鎖打印機分配表若為否,則封鎖打印機分配表分配打印機釋放打印機(讀寫打印機分配表)(讀寫打印機分配表)撤銷對打印機分配表的封鎖撤銷對打印機分配表的封鎖(a)進(jìn)程A(b)進(jìn)程B進(jìn)程A,B之間的關(guān)系制作人:1007教研室2.進(jìn)程的同步進(jìn)程之間為了合作完成一個任務(wù),而需要互相等待和互相交換信息的相互制約關(guān)系稱為同步。制作人:1007教研室進(jìn)程同步舉例

↓計算↓↓送計算結(jié)果到緩沖區(qū)等待進(jìn)程C完成信號↓↓向進(jìn)程P發(fā)寫入緩沖區(qū)的完成信號打印輸出緩沖區(qū)中的計算結(jié)果↓↓下一次計算向進(jìn)程C發(fā)輸出完成信號↓↓等待進(jìn)程P的輸出完成信號

(a)進(jìn)程C(b)進(jìn)程P兩個并發(fā)進(jìn)程的同步關(guān)系制作人:1007教研室3.P/V操作P/V操作屬于低級通信原語,它是用一個信號量來實現(xiàn)進(jìn)程之間的通信。信號量是一個只能由P操作和V操作改變其值的整型變量。制作人:1007教研室(1)P/V操作定義設(shè)S是一個信號量,對信號量的P操作記為P(S),對信號量的V操作記為V(S)。

P操作P(S)的定義如下:

(1)S=S-1。(2)若S≥0,則當(dāng)前進(jìn)程繼續(xù)運行;否則置當(dāng)前進(jìn)程為等待狀態(tài),并將它加入到S的等待隊列中。

V操作V(S)的定義如下:

(1)S=S+1。(2)若s>0,則當(dāng)前進(jìn)程繼續(xù)運行;否則將S等待隊列中的排頭進(jìn)程轉(zhuǎn)為就緒狀態(tài),且當(dāng)前進(jìn)程繼續(xù)運行。必須指出,P(S)與V(S)操作都是不可分割的原子操作,即在一個進(jìn)程執(zhí)行P/V操作期間,其他進(jìn)程不能改變信號量S的值。

制作人:1007教研室(2)P/V操作實現(xiàn)互斥模型↓↓

P(S)

P(S)↓↓分配打印機釋放打印機(讀寫打印機分配表)(讀寫打印機分配表)↓↓

V(S)

V(S)

↓↓

(a)進(jìn)程A(b)進(jìn)程B互斥模型制作人:1007教研室(3)P/V操作實現(xiàn)同步模型信號量S1=0表示緩沖區(qū)空,S1=1表示緩沖區(qū)滿;信號量S2=0表示緩沖區(qū)滿,S2=1表示緩沖區(qū)空,初始狀態(tài)為S1=0和S2=1

↓↓P(S2)

P(S1)把計算結(jié)果寫到緩沖區(qū)將緩沖區(qū)內(nèi)容打印輸出

V(S1)

V(S2)↓

(a)計算進(jìn)程C(b)打印進(jìn)程P

同步模型制作人:1007教研室

4.3.1內(nèi)存儲器管理

一.基本概念(1)定義:存儲器(Memory)能接收數(shù)據(jù)、保存數(shù)據(jù)、并能根據(jù)命令提供這些數(shù)據(jù)的裝置。(2)存儲器的分類:內(nèi)存儲器(簡稱內(nèi)存、主存、物理存儲器):處理機能直接訪問的存儲器,用來存放系統(tǒng)和用戶的程序和數(shù)據(jù)。其特點是:存取速度快,存儲方式是以新?lián)Q舊,斷電信息丟失。制作人:1007教研室外存儲器(簡稱外存、輔助存儲器):處理機不能直接訪問的存儲器。用來存放用戶的各種信息,存取速度相對內(nèi)存而言要慢得多,但它可用來長期保存用戶信息。如我們的磁盤。

提示:存儲器管理主要指內(nèi)存的管理。所以,以后無特別說明,存儲器管理指的是內(nèi)存的管理(3)內(nèi)存的物理組織物理地址:

把內(nèi)存分成若干個大小相等的存儲單元,每個單元給一個編號,這個編號稱為內(nèi)存地址(物理地址、絕對地址、實地址),存儲單元占8位,稱作字節(jié)(byte)。制作人:1007教研室我們說的256M內(nèi)存指的是字節(jié)物理地址空間:物理地址的集合稱為物理地址空間(主存地址空間、絕對地址空間),它是一個一維的線性空間。制作人:1007教研室二.存儲器管理的功能1.存儲空間的地址轉(zhuǎn)換:

將邏輯地址轉(zhuǎn)換為物理地址2.存儲空間的分配和釋放:

負(fù)責(zé)分配和回收內(nèi)存3.主存空間的擴充:

提供虛擬存儲、程序覆蓋技術(shù), 目的是擴展運行大型程序的能力4.存儲共享和保護(hù):

保護(hù)系統(tǒng)程序和各用戶程序的運行不受干擾。制作人:1007教研室1.存儲空間的地址變換

(1)定義

用戶在程序中使用的是符號名,編譯系統(tǒng)在產(chǎn)生的目標(biāo)程序中使用的地址是相對于程序開始設(shè)置的,稱為邏輯地址(或相對地址、虛地址)(以0為基址順序編址)程序地址空間(邏輯地址空間、虛地址空間):

用戶的程序地址的集合稱為邏輯地址空間,它的編址總是從0開始的,可以是一維線性空間,也可以是多維空間。物理地址:

可執(zhí)行程序在計算機中運行時使用的是內(nèi)存的物理地址(也叫絕對地址)。(即前面定義的物理地址)地址轉(zhuǎn)換:

由程序的邏輯地址空間到運行時真正使用的物理地址空間轉(zhuǎn)換叫“地址轉(zhuǎn)換”,也叫地址重定位,或地址映射。

邏輯地址到物理地址的轉(zhuǎn)換制作人:1007教研室

0Xa的邏輯地址

b的邏輯地址

c的邏輯地址編譯、鏈接產(chǎn)生邏輯地址地址重定位示意圖源程序符號空間目標(biāo)程序地址空間內(nèi)存的存儲空間

符號名空間邏輯地址空間物理地址空間

4DAA

a的絕對地址b的絕對地址

c的絕對地址

2FF0

3EC0裝入內(nèi)存使用物理地址int

a;floatb;charc;編程時用的是符號地址制作人:1007教研室(2)地址重定位的方式(a)靜態(tài)重定位(b)動態(tài)重定位制作人:1007教研室(a)靜態(tài)地址重定位原理:是指在作業(yè)執(zhí)行之前進(jìn)行的重定位。地址轉(zhuǎn)換工作主要靠重定位裝入程序來完成。特點:簡單、容易實現(xiàn),無需硬件的支持,是早期計算機采用的一種方式。缺點:程序一經(jīng)定位后就不能再在主存中移動,不能重新分配內(nèi)存,不利于內(nèi)存的有效利用;要求作業(yè)分配連續(xù)的主存空間,主存資源利用率低;不同用戶難于共享主存中的同一程序。制作人:1007教研室靜態(tài)重定位示意圖

作業(yè)A的地址空間主存空間??????

0100

300500

100200400600??????

INPUT1,300

INPUT1,400

1357??????

1357??????

作業(yè)的邏輯地址100處是一個輸入語句,從邏輯地址300處,讀1個記錄。重定位到主存空間后,因為作業(yè)從物理地址100處被裝入,輸入語句的地址按序被定位在200處,被讀記錄在400處。從邏輯地址300處,讀1個記錄制作人:1007教研室(b)動態(tài)地址重定位

動態(tài)地址重定位是在程序執(zhí)行過程中進(jìn)行的重定位,更確切地說是在每次訪問內(nèi)存單元前才進(jìn)行地址變換。它是通過硬件的地址變換機構(gòu)實現(xiàn)的。設(shè)置一個重定位寄存器(RR),用來存放裝入主存空間時的起始地址。

作業(yè)訪問主存空間的地址是由邏輯地址加重定位寄存器的地址來確定。

主存實際地址=邏輯地址+重定位寄存器內(nèi)容制作人:1007教研室動態(tài)地址重定位示意圖

3001000+

0100300600

????????????

0110013001600I1,3001357作業(yè)A地址空間有效地址重定位寄存器主存空間I1,3001357制作人:1007教研室動態(tài)地址重定位的特點目標(biāo)模塊裝入主存后,還可以很容易地進(jìn)行移動。有利于解決內(nèi)存管理中出現(xiàn)的碎塊問題;多個相對獨立的目標(biāo)模塊,可以分別裝入互不相鄰的內(nèi)存區(qū)域。這樣便于內(nèi)存的充分利用和資源的共享。程序中不執(zhí)行的程序,不做地址映射工作,節(jié)省了CPU的時間。需要附加硬件的支持,增加了系統(tǒng)的開銷。(重定位寄存器,缺點)。制作人:1007教研室3.存儲空間的分配和釋放

(1)基本概念在計算機中,無論是系統(tǒng)程序、還是用戶程序,無論是數(shù)據(jù)、還是文件,必須裝入主存才能進(jìn)行處理。系統(tǒng)通過空間分配管理表,記錄系統(tǒng)中可用的空間及占用的空間狀態(tài),來管理內(nèi)存的分配和釋放。過程是:A)應(yīng)用程序提出空間申請B)若有足夠內(nèi)存,則裝入程序執(zhí)行;否則,等待或顯示內(nèi)存空間不足。C)程序執(zhí)行完畢,提出回收申請,系統(tǒng)回收內(nèi)存。制作人:1007教研室(2)存儲分配方式

直接分配在源程序中直接使用主存的物理地址。對用戶要求高、使用不方便、易出錯。早期計算機系統(tǒng)中使用。靜態(tài)分配在作業(yè)裝入前,由程序一次性說明作業(yè)所包含的地址空間。確定后在整個程序執(zhí)行過程中不再改變。簡單、利用率低、難于實現(xiàn)多 道程序?qū)Y源的共享。動態(tài)分配在作業(yè)被裝入主存或在執(zhí)行過程中,才確定其存儲分配。管理復(fù)雜、但利用率高,容易實現(xiàn)主存的資源共享。在現(xiàn)代多道程序系統(tǒng)中,主要采用動態(tài)分配方式。制作人:1007教研室(3)存儲空間的分區(qū)保護(hù)在多道程序系統(tǒng)的主存中(環(huán)境),為了保護(hù)系統(tǒng)程序的安全(目的),系統(tǒng)程序和用戶程序?qū)嶋H使用的區(qū)域是隔開的(方法)。這種分割是靠硬件實現(xiàn)的。用戶程序只能使用用戶區(qū)域的存儲空間(說明)。其他存儲保護(hù)A)上下界保護(hù)B)基址、限長寄存器保護(hù)系統(tǒng)區(qū)域用戶區(qū)域主存空間的分區(qū)保護(hù)示意圖制作人:1007教研室(4)主存空間的擴充主存的空間是有限的希望在有限的空間中運行大型程序使用的技術(shù)有:

(a)“自動覆蓋”技術(shù)

(b)“虛擬存儲”技術(shù)

制作人:1007教研室(a)自動覆蓋技術(shù)

思想:將大的程序劃分為主存中可以容納的獨立的邏輯處理段。每次只調(diào)入其中的一段進(jìn)行處理。

早期程序設(shè)計中,經(jīng)常采用類似的方法處理大的問題。例如,求解大型線性方程組,就是采用“分塊”算法將大的系數(shù)矩陣分為小塊矩陣求解的。制作人:1007教研室(b)虛擬存儲器(VirtualStorage)基本思想:用戶編程序時不需要考慮物理內(nèi)存的結(jié)構(gòu)和容量,當(dāng)程序較大時,系統(tǒng)將一部分外存“虛擬”成內(nèi)存來使用.

虛擬存儲器技術(shù)是在硬件和軟件的共同支持下實現(xiàn)的。硬件負(fù)責(zé)虛實地址的轉(zhuǎn)換;軟件負(fù)責(zé)實存(主存)和虛存(外存)之間的信息調(diào)度管理。

制作人:1007教研室覆蓋技術(shù):一個作業(yè)的若干程序段,或幾個作業(yè)的某些部分共享某一個存儲空間。交換技術(shù):當(dāng)內(nèi)存空間緊張時,系統(tǒng)將內(nèi)存中某些進(jìn)程暫時移到外存,把外存中某些進(jìn)程換進(jìn)內(nèi)存,占據(jù)前者所占用的區(qū)域(UNIX)比較:交換技術(shù)不要求用戶給出程序段之間的邏輯覆蓋結(jié)構(gòu)。而且,交換發(fā)生在進(jìn)程或作業(yè)之間,而覆蓋發(fā)生在同一進(jìn)程或作業(yè)內(nèi)。此外,覆蓋只能覆蓋那些與覆蓋段無關(guān)的程序段。虛擬存儲器:程序、數(shù)據(jù)、堆棧的大小可以超過內(nèi)存的大小,操作系統(tǒng)把程序當(dāng)前使用的部分保留在內(nèi)存,而把其它部分保存在磁盤上時需要動態(tài)交換。制作人:1007教研室三、存儲管理的方法

1.單一連續(xù)區(qū)分配法

2.多連續(xù)區(qū)分配法

3.分頁管理法

4.分段管理法制作人:1007教研室

1.單一連續(xù)區(qū)分配法方法要點:

把主存分為兩個固定的存儲區(qū)域;一個固定地分配給OS,另一個分配給用戶程序。(通過硬件寄存器實現(xiàn))硬件支持:

引入“籬笆(Fence)寄存器”(界限寄存器),將OS和用戶的使用區(qū)域分開。用戶程序的重定位方法可以使用:

靜態(tài)定位法:程序裝入前一次將邏輯地址轉(zhuǎn)換成絕 對地址,以后不再轉(zhuǎn)換。

動態(tài)定位法:在程序執(zhí)行過程中動態(tài)實現(xiàn)制作人:1007教研室單一連續(xù)區(qū)分配法示意圖2000CPU+操作系統(tǒng)

自由空間0用戶區(qū)域主存空間定位寄存器1500(邏輯地址))

2000

3500(絕對地址)(動態(tài)重定位)說明:絕對地址=基地址+邏輯地址基地址不同產(chǎn)生的絕對地址就不同。制作人:1007教研室單一連續(xù)區(qū)分配法特點

優(yōu)點:

定位容易,使用簡單缺點:

主存資源利用率低,浪費大。制作人:1007教研室2.多連續(xù)區(qū)分配法方法要點:

把主存空間劃分為若干個連續(xù)的區(qū)域,建立空間分區(qū)表進(jìn)行管理。分區(qū)大小可以不同。硬件支持:

增加新的保護(hù)裝置——邊界寄存器LOW、UP,限制分塊的上、下邊界。分類:

(1)固定分區(qū),也稱靜態(tài)法。

(2)變長分區(qū),也稱動態(tài)法。制作人:1007教研室

a)

在作業(yè)調(diào)度前,把主存劃分為幾個固定大小的連續(xù)區(qū)域;分區(qū)大小可以相同,也可以不同。一旦劃分好,在系統(tǒng)運行期間不再重新劃分。(分區(qū))

b)建立一張分區(qū)說明表,記錄每個分區(qū)的大小、區(qū)號、起始地址、及占用標(biāo)志等信息。(建說明表)c)在作業(yè)調(diào)度時,根據(jù)分區(qū)說明表來裝入程序和確定程序的重定位地址。(通過分區(qū)說明表管理)(1)固定分區(qū)制作人:1007教研室固定分區(qū)示意圖

區(qū)號大小

起址狀態(tài)110K20K已分220K30K已分330K50K已分450K80K未分分區(qū)表操作系統(tǒng)作業(yè)A作業(yè)B作業(yè)C第1分區(qū)第2分區(qū)第3分區(qū)第4分區(qū)20K30K50k80K主存“垃圾”每個分區(qū)只能裝一個作業(yè),作業(yè)不一定占滿分區(qū),產(chǎn)生碎片、零頭、垃圾制作人:1007教研室固定分區(qū)法特點優(yōu)點:

管理調(diào)度簡單,分區(qū)策略適合于工作負(fù)荷比較確定的系統(tǒng)。

缺點:主存“零頭”太多,浪費嚴(yán)重;由此而產(chǎn)生“垃圾”回收問題。制作人:1007教研室(2)變長分區(qū)(多連續(xù)分區(qū))方法要點:

根據(jù)要裝入作業(yè)的實際大小劃分區(qū)域,且分區(qū)個數(shù)也可以調(diào)整;需要建立兩張表(已分配分區(qū)表P、未分配分區(qū)表F)來管理主存空間。特點:

優(yōu)點:主存“零頭”較?。ǖ€有);缺點:選擇剩下的空白區(qū)較小,無法使用;尋找一個較大的空白區(qū)費時(從頭找起);歸并主存“零頭”,回收時費時。制作人:1007教研室多連續(xù)區(qū)分配法示意圖

已分配分區(qū)表P未分配分區(qū)表

F區(qū)號長度起始地址狀態(tài)

18K20K已分

216K28K已分

3——-——空表目

4124K108K已分區(qū)號長度起始地址狀態(tài)

164K44K可用

224K232K可用

3——-——

空表目

4??????

5??????

操作系統(tǒng)

作業(yè)1

作業(yè)220K28K

5??????44K

可用分區(qū)1108K

操作系統(tǒng)

可用分區(qū)1

作業(yè)3

可用分區(qū)2232K若另有作業(yè)4需要分配,分配算法:最先適應(yīng)、最佳適應(yīng)、歸并小的空閑塊存儲區(qū)域制作人:1007教研室3.分頁管理法頁(Page)將作業(yè)的地址空間劃分為等長的單位,稱為頁。塊

將主存的存儲空間劃分為等長的單位,稱為塊。頁表記錄著頁號與該頁在主存中的塊號的對應(yīng)關(guān)系表。頁表實際上是地址重定位表。(記頁與塊的關(guān)系)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論