第3章 操作系統(tǒng)基礎(chǔ)知識(shí)_第1頁(yè)
第3章 操作系統(tǒng)基礎(chǔ)知識(shí)_第2頁(yè)
第3章 操作系統(tǒng)基礎(chǔ)知識(shí)_第3頁(yè)
第3章 操作系統(tǒng)基礎(chǔ)知識(shí)_第4頁(yè)
第3章 操作系統(tǒng)基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩134頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章第3章操作系統(tǒng)基礎(chǔ)知識(shí)操作系統(tǒng)OS(OperatingSystem)是計(jì)算機(jī)系統(tǒng)中重要系統(tǒng)軟件,其功能是管理和控制計(jì)算機(jī)軟件和硬件資源,使計(jì)算機(jī)各部分協(xié)調(diào)工作;合理組織計(jì)算機(jī)工作流程,為用戶使用計(jì)算機(jī)提供友好的人機(jī)接口,方便用戶使用計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)可以分為四級(jí):硬件、操作系統(tǒng)、系統(tǒng)程序和應(yīng)用程序。應(yīng)用程序操作系統(tǒng)系統(tǒng)程序硬件圖3.1.1計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)虛擬機(jī)磁盤(pán)網(wǎng)絡(luò)接口I/O物理設(shè)備CPU時(shí)鐘機(jī)器語(yǔ)言(指令集)操作系統(tǒng)程序語(yǔ)言和編譯、編輯器命令解釋器(Shell)金融系統(tǒng)航空定票科學(xué)與工程游戲硬件系統(tǒng)程序應(yīng)用程序用戶用戶用戶電源,鍵盤(pán)等用戶用戶……操作系統(tǒng)3.1操作系統(tǒng)簡(jiǎn)介3.1.1操作系統(tǒng)發(fā)展歷程1.手工操作階段2.批處理階段3.操作系統(tǒng)完善1.手工操作階段從第一代計(jì)算機(jī)誕生到20世紀(jì)50年代中期還未出現(xiàn)操作系統(tǒng),這時(shí)的計(jì)算機(jī)采用人工操作方式。其過(guò)程是:1.手工操作階段使用計(jì)算機(jī)的步驟如下:①將程序和數(shù)據(jù)通過(guò)手工操作記錄在穿孔紙帶或卡片上;②將紙帶裝入紙帶輸入機(jī),啟動(dòng)紙帶輸入機(jī)將程序和數(shù)據(jù)讀入計(jì)算機(jī);③計(jì)算機(jī)執(zhí)行程序。一個(gè)獨(dú)立的程序稱為一個(gè)作業(yè),一個(gè)作業(yè)處理完畢才能處理另一個(gè)作業(yè)。脫機(jī)輸入輸出技術(shù)

除主機(jī)外另設(shè)一臺(tái)外圍控制機(jī),且只與輸入輸出設(shè)備連接,并不與主機(jī)連接,由它完成輸入輸出任務(wù)。程序或數(shù)據(jù)通過(guò)外圍控制機(jī)輸入到磁帶上,等待主機(jī)使用。輸出時(shí)主機(jī)負(fù)責(zé)將數(shù)據(jù)從內(nèi)存輸出到磁帶,由外圍控制機(jī)將磁帶上的數(shù)據(jù)輸出到設(shè)備上。在這種系統(tǒng)中,輸入輸出脫離主機(jī),減少了CPU等待人工的時(shí)間,提高了CPU的利用率和輸入輸出速度。將這種工作方式稱為脫機(jī)輸入輸出方式。2.批處理階段所謂批處理系統(tǒng)是指加載在計(jì)算機(jī)上的一個(gè)系統(tǒng)軟件,在它的控制下,計(jì)算機(jī)能夠自動(dòng)地成批地處理一個(gè)或多個(gè)用戶的作業(yè)。①單道批處理系統(tǒng)②假脫機(jī)技術(shù)③多道批處理系統(tǒng)①單道批處理系統(tǒng)

將一批作業(yè)以脫機(jī)方式輸入到磁帶上,由駐留內(nèi)存的監(jiān)督程序?qū)⒋艓系淖鳂I(yè)裝入內(nèi)存交給CPU進(jìn)行處理,當(dāng)一個(gè)作業(yè)運(yùn)行完畢或出現(xiàn)異常時(shí),再裝入后繼程序。

系統(tǒng)對(duì)作業(yè)的處理成批進(jìn)行,但在內(nèi)存中僅有一道程序處于運(yùn)行狀態(tài),這就是單道批處理系統(tǒng)。監(jiān)督程序就是操作系統(tǒng)最初萌芽。單道批處理系統(tǒng):任一時(shí)刻只允許一個(gè)程序在系統(tǒng)中執(zhí)行。一個(gè)程序執(zhí)行結(jié)束后才能執(zhí)行下一個(gè)程序。

時(shí)間tCPU程序A程序B程序C

單道批處理系統(tǒng)提高了計(jì)算機(jī)系統(tǒng)吞吐量,減少了主機(jī)空閑時(shí)間,在一定程度上提高了系統(tǒng)資源利用率。但在內(nèi)存中只有一道程序,所以仍然不能充分利用系統(tǒng)資源。例如:程序要求輸入數(shù)據(jù)時(shí),輸出設(shè)備空閑。程序要求輸出數(shù)據(jù)時(shí),輸入設(shè)備空閑。單道批處理系統(tǒng)

②假脫機(jī)技術(shù)

20世紀(jì)60年代初期,計(jì)算機(jī)硬件技術(shù)在兩方面獲得重要進(jìn)展:一是通道的引入,二是中斷的出現(xiàn)。

通道:也稱為輸入輸出(I/O)處理機(jī),它與CPU并行工作,專門(mén)用于控制輸入輸出設(shè)備。

中斷:在程序執(zhí)行過(guò)程中,出現(xiàn)某種緊急事件時(shí),cpu暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行事件處理程序,執(zhí)行后再返回到被暫停的程序繼續(xù)執(zhí)行。I/O處理機(jī)輸入輸出結(jié)束時(shí)向CPU發(fā)出中斷請(qǐng)求,CPU通過(guò)響應(yīng)中斷獲取I/O處理機(jī)狀態(tài),提交輸入/輸出任務(wù)。由I/O處理機(jī)完成作業(yè)的輸入/輸出。

在CPU控制下,作業(yè)輸入輸出數(shù)據(jù)由I/O處理機(jī)完成,I/O處理機(jī)取代了外圍控制機(jī)。這項(xiàng)技術(shù)被稱為假脫機(jī)技術(shù)。

通道和中斷技術(shù)的應(yīng)用使CPU與I/O設(shè)備并行工作,解決了CPU和I/O設(shè)備速度匹配問(wèn)題,同時(shí)為分時(shí)操作系統(tǒng)的誕生奠定了硬件基礎(chǔ)。

③多道批處理系統(tǒng)

60年代中期引入多道程序設(shè)計(jì)(Multi_Programming)技術(shù)。作業(yè)預(yù)先在外存中排成一個(gè)隊(duì)列,稱為后備隊(duì)列。由作業(yè)調(diào)度程序從后備隊(duì)列中選擇若干個(gè)作業(yè)裝入內(nèi)存,使它們交替運(yùn)行。當(dāng)正在運(yùn)行的程序因輸入輸出操作而暫停執(zhí)行時(shí),系統(tǒng)運(yùn)行另一道程序。這樣多個(gè)程序共享CPU,使CPU始終處于忙碌狀態(tài)。多道程序設(shè)計(jì)技術(shù)應(yīng)用于批處理系統(tǒng),形成了多道批處理系統(tǒng)。等待數(shù)據(jù)輸出調(diào)度程序程序C程序B程序ACPU時(shí)間磁盤(pán)控制器多道程序運(yùn)行情況示意圖多道程序系統(tǒng):多道程序同時(shí)在執(zhí)行。程序A程序C程序A程序B程序C程序CCPU時(shí)間t為了使多道程序間能夠協(xié)調(diào)工作,監(jiān)督程序需要解決以下系列管理問(wèn)題:作業(yè)調(diào)度:合理調(diào)度作業(yè),使系統(tǒng)中硬件資源有效利用;CPU管理:多個(gè)作業(yè)交替運(yùn)行,需要合理安排處理機(jī)時(shí)間;內(nèi)存管理:為每道程序分配必要的內(nèi)存空間;I/O設(shè)備管理:為多道程序分配輸入輸出設(shè)備。

在計(jì)算機(jī)系統(tǒng)中應(yīng)該有一組專用軟件,負(fù)責(zé)控制和管理軟硬件資源,合理組織工作流程,方便用戶使用計(jì)算機(jī),這就是多道批處理操作系統(tǒng)。多道批處理系統(tǒng)的出現(xiàn),標(biāo)志著操作系統(tǒng)已經(jīng)形成。3.操作系統(tǒng)的完善

分時(shí)系統(tǒng)的出現(xiàn)標(biāo)志著操作系統(tǒng)進(jìn)入完善階段。

基本思想是:將CPU時(shí)間分成若干個(gè)時(shí)間片,在一個(gè)時(shí)間片運(yùn)行一個(gè)作業(yè),在下一個(gè)時(shí)間片運(yùn)行另一個(gè)作業(yè),在短時(shí)間內(nèi)所有作業(yè)都能得到輪流執(zhí)行。從整體上看每個(gè)作業(yè)都在運(yùn)行,用戶請(qǐng)求可以得到及時(shí)響應(yīng),這就是計(jì)算機(jī)分時(shí)操作系統(tǒng)。如:MS-DOS、Windows、Unix和Linux等。3.1.2常見(jiàn)操作系統(tǒng)簡(jiǎn)介DOS操作系統(tǒng)Windows操作系統(tǒng)多道批處理系統(tǒng)UNIX操作系統(tǒng)Linux操作系統(tǒng)1.DOS操作系統(tǒng)

DOS是磁盤(pán)操作系統(tǒng)(DiskOperatingSystem),是一種單用戶、單任務(wù)的微型機(jī)操作系統(tǒng),它由IBM公司委托Microsoft公司開(kāi)發(fā)。DOS主要功能是命令處理、文件管理和設(shè)備管理。它采用匯編語(yǔ)言編寫(xiě),系統(tǒng)開(kāi)銷小,運(yùn)行效率高,但資源管理功能簡(jiǎn)單,字符型用戶界面,操作不太方便。2.Windows操作系統(tǒng)WindowsXP有三個(gè)版本:

WindowsXPHomeEdition有良好的數(shù)字媒體平臺(tái),適合家庭用戶和游戲愛(ài)好者;

WindowsXPProfessional為商業(yè)用戶設(shè)計(jì),有高級(jí)別的可擴(kuò)展性和可靠性;

WindowsXP64-BitEdition可以滿足電影特效制作、3D動(dòng)畫(huà)、工程設(shè)計(jì)和科學(xué)計(jì)算等對(duì)大內(nèi)存、高浮點(diǎn)運(yùn)算的專業(yè)技術(shù)需要。Windows的主要特點(diǎn)①面向?qū)ο髨D形界面:方便用戶使用。②統(tǒng)一的用戶界面:應(yīng)用程序界面相似。③與設(shè)備無(wú)關(guān)的圖形操作:支持即插即用技術(shù)。④多任務(wù)處理:同時(shí)運(yùn)行多個(gè)程序。⑤先進(jìn)的內(nèi)存管理:根據(jù)程序大小適當(dāng)?shù)姆峙鋬?nèi)存。⑥多種系統(tǒng)管理工具:資源管理器、系統(tǒng)工具等。⑦內(nèi)置的網(wǎng)絡(luò)通信功能:支持多種網(wǎng)絡(luò)傳輸協(xié)議。

⑧出色的多媒體功能:對(duì)音頻、視頻編輯和播放。3.UNIX操作系統(tǒng)家族

UNIX操作系統(tǒng)是一個(gè)通用的、交互式分時(shí)網(wǎng)絡(luò)操作系統(tǒng)。1969年美國(guó)貝爾實(shí)驗(yàn)室在DEC公司的小型機(jī)PDP-7上開(kāi)發(fā)成功,1971年移植到PDP-11上。1973年用C語(yǔ)言重寫(xiě)UNIX,具有較高的易讀性和可移植性,為UNIX迅速推廣和普及應(yīng)用奠定了基礎(chǔ)。20世紀(jì)70年代中后期,UNIX源代碼的免費(fèi)擴(kuò)散引起很多大學(xué)、研究機(jī)構(gòu)和公司的興趣,大眾參與為UNIX的改進(jìn)、完善、傳播和普及起了重要作用。4.Linux操作系統(tǒng)

Linux是芬蘭籍科學(xué)家LinusTorvalds于1991年編寫(xiě)的一種操作系統(tǒng)。Linux操作系統(tǒng)可用于386、486或奔騰處理器的更高檔次個(gè)人計(jì)算機(jī)上,具有UNIX操作系統(tǒng)的全部功能。目前Linux軟件包帶有X-Windows圖形界面管理器,通過(guò)窗口、圖標(biāo)和菜單對(duì)系統(tǒng)進(jìn)行管理。軟件包還包括文本編輯器,高級(jí)語(yǔ)言編輯器等許多軟件。3.1.3操作系統(tǒng)分類

根據(jù)操作系統(tǒng)功能特征和使用環(huán)境可以分為三種基本類型:批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。新類型的操作系統(tǒng)不斷出現(xiàn):網(wǎng)絡(luò)操作系統(tǒng);

分布式操作系統(tǒng);個(gè)人計(jì)算機(jī)操作系統(tǒng);多處理機(jī)操作系統(tǒng);嵌入式操作系統(tǒng)。1.批處理系統(tǒng)

批處理操作系統(tǒng)的主要特征是多道性、成批性。

多道性是指在內(nèi)存中可同時(shí)駐留多道程序,并允許它們并發(fā)執(zhí)行,有效地提高系統(tǒng)資源利用率和吞吐量。

成批性是指作業(yè)成批進(jìn)入系統(tǒng),成批處理。作業(yè)完成順序與進(jìn)入內(nèi)存順序沒(méi)有緊密聯(lián)系,先進(jìn)入內(nèi)存的作業(yè)可能后完成。批處理系統(tǒng)缺點(diǎn)是缺乏人機(jī)交互性。2.分時(shí)操作系統(tǒng)

分時(shí)操作系統(tǒng)(Time-SharingOperatingSystem)的特征是多路性、交互性、獨(dú)占性和及時(shí)性。

分時(shí)系統(tǒng)允許一臺(tái)主機(jī)同時(shí)連接多臺(tái)交互終端,每個(gè)用戶獨(dú)占一個(gè)終端,彼此獨(dú)立操作,互不干擾。

分時(shí)系統(tǒng)將CPU時(shí)間劃分成若干個(gè)片段,稱為時(shí)間片。操作系統(tǒng)以時(shí)間片為單位輪流為每個(gè)終端用戶服務(wù),系統(tǒng)對(duì)每個(gè)用戶提出的請(qǐng)求都能及時(shí)響應(yīng),用戶感覺(jué)不到其他用戶存在。用戶以交互方式使用計(jì)算機(jī),共享主機(jī)資源。3.實(shí)時(shí)系統(tǒng)

實(shí)時(shí)操作系統(tǒng)(Real-TimeOperatingSystem)的特征是實(shí)時(shí)性、高可靠性。

實(shí)時(shí)性是指計(jì)算機(jī)能及時(shí)響應(yīng)外部事件請(qǐng)求,在規(guī)定時(shí)間內(nèi)完成事件的處理任務(wù)。實(shí)時(shí)系統(tǒng)更加注重穩(wěn)定性和可靠性。

實(shí)時(shí)操作系統(tǒng)可分為實(shí)時(shí)控制系統(tǒng)和實(shí)時(shí)信息處理系統(tǒng)兩大類。實(shí)時(shí)控制系統(tǒng)用于工業(yè)控制和宇航控制等;實(shí)時(shí)信息處理用于情報(bào)查詢、信息檢索和航空訂票系統(tǒng)等。4.網(wǎng)絡(luò)操作系統(tǒng)

網(wǎng)絡(luò)操作系統(tǒng)(NetworkOperatingSystem)基于計(jì)算機(jī)網(wǎng)絡(luò)。除具備普通操作系統(tǒng)所具備的功能外,還具有網(wǎng)絡(luò)管理模塊、通信、安全和資源共享等模塊。5.分布式操作系統(tǒng)

分布式操作系統(tǒng)(DistributedOperatingSystem)是網(wǎng)絡(luò)操作系統(tǒng)的更高級(jí)形式,它建立在計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)之上,有效地解決了地域分布很廣的若干臺(tái)計(jì)算機(jī)之間資源共享、并行處理等問(wèn)題。特征是統(tǒng)一性、共享性、可靠性和透明性。6.個(gè)人計(jì)算機(jī)操作系統(tǒng)個(gè)人計(jì)算機(jī)(PC)操作系統(tǒng)是一種單用戶多任務(wù)操作系統(tǒng)。主要設(shè)計(jì)目標(biāo)是易用性和響應(yīng)性。

例如:MS-DOS,Windows,OS/2。7.多處理機(jī)操作系統(tǒng)具有公共內(nèi)存和時(shí)鐘的多CPU系統(tǒng)稱為多處理機(jī)系統(tǒng),它們共享計(jì)算機(jī)總線和外部設(shè)備。建立在多處理機(jī)系統(tǒng)上的操作系統(tǒng)稱為多處理機(jī)操作系統(tǒng),也稱為并行操作系統(tǒng)或緊耦合系統(tǒng)。

8.嵌入式操作系統(tǒng)

嵌入式操作系統(tǒng)(EmbeddedOperatingSystem)是一種支持嵌入式計(jì)算機(jī)的軟件,由一個(gè)體積很小的內(nèi)核及一些可以根據(jù)需要定制的系統(tǒng)模塊組成,能運(yùn)行在各種不同硬件平臺(tái)上,提供基本的程序運(yùn)行環(huán)境和接口。著名嵌入式操作系統(tǒng)有Vxwork、PalmOS和WindowsCE等。3.2.1操作系統(tǒng)作用操作系統(tǒng)有兩個(gè)重要作用:

1.管理系統(tǒng)資源

2.提供友好界面3.2操作系統(tǒng)作用及特征1.管理系統(tǒng)資源

計(jì)算機(jī)系統(tǒng)資源包括處理機(jī)、存儲(chǔ)器、輸入輸出設(shè)備、程序和數(shù)據(jù)及各種信息。操作系統(tǒng)負(fù)責(zé)管理軟硬件資源,使它們協(xié)調(diào)一致地工作;為應(yīng)用程序分配所需資源,提供基本運(yùn)行環(huán)境。2.提供友好界面操作系統(tǒng)是用戶與計(jì)算機(jī)硬件之間的接口。操作系統(tǒng)為用戶使用計(jì)算機(jī)提供了靈活方便的操作手段,即提供友好的用戶界面(接口)。大多數(shù)操作系統(tǒng)提供兩種操作接口,即命令接口和程序接口。(1)命令接口操作系統(tǒng)提供的人機(jī)交互界面,稱為命令接口。兩種命令接口:字符型命令接口,允許用戶通過(guò)鍵盤(pán)輸入命令操作計(jì)算機(jī)。圖形命令接口:允許用戶通過(guò)窗口或圖標(biāo)操縱計(jì)算機(jī)。字符命令接口(2)程序接口程序接口也稱為系統(tǒng)調(diào)用,由一組系統(tǒng)調(diào)用命令組成。在編寫(xiě)的程序中通過(guò)系統(tǒng)調(diào)用命令獲得操作系統(tǒng)服務(wù)。3.2.2操作系統(tǒng)功能從資源管理角度說(shuō),操作系統(tǒng)功能包括:

作業(yè)管理、進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理和文件管理5個(gè)主要部分。1.作業(yè)管理

作業(yè)管理是為了合理組織工作流程,對(duì)作業(yè)進(jìn)行控制和管理。

作業(yè)管理包括作業(yè)輸入、作業(yè)調(diào)度和作業(yè)控制。2.進(jìn)程管理進(jìn)程管理也稱為處理機(jī)管理。處理機(jī)(CPU)是計(jì)算機(jī)中最寶貴的硬件資源,程序只有獲得處理機(jī)才能運(yùn)行。主要對(duì)處理機(jī)(CPU)進(jìn)行分配和管理。在計(jì)算機(jī)系統(tǒng)中,以進(jìn)程為基本單位分配和使用處理機(jī),因此對(duì)處理機(jī)管理最終歸結(jié)為對(duì)進(jìn)程管理。

進(jìn)程管理主要功能是進(jìn)程控制、進(jìn)程調(diào)度、進(jìn)程同步及進(jìn)程通信。3.存儲(chǔ)管理

存儲(chǔ)管理是指對(duì)內(nèi)存資源進(jìn)行管理,主要任務(wù)是為多道程序運(yùn)行提供良好環(huán)境,方便用戶使用存儲(chǔ)器,提高內(nèi)存利用率。存儲(chǔ)管理主要包括存儲(chǔ)分配、存儲(chǔ)保護(hù)、虛擬存儲(chǔ)器和地址映射。4.文件管理

文件管理主要負(fù)責(zé)軟件資源管理,包括文件存儲(chǔ)空間管理、目錄管理、文件存取控制、文件共享與保護(hù)。5.設(shè)備管理

設(shè)備管理是指對(duì)計(jì)算機(jī)外部設(shè)備(打印機(jī)、顯示器等)進(jìn)行分配、控制和管理,使用戶不必過(guò)多了解接口技術(shù)而方便地使用外部設(shè)備。設(shè)備管理主要功能有緩沖區(qū)管理、設(shè)備分配和設(shè)備控制。3.2.3操作系統(tǒng)特征并發(fā)性(Concurrence)共享性(Sharing)虛擬性(Virtual)異步性(Asynchronism)1.并發(fā)性(Concurrence)

并發(fā)性:是指兩個(gè)或兩個(gè)以上事件在同一時(shí)間間隔內(nèi)發(fā)生,從微觀上看是交替進(jìn)行,從宏觀上看是同時(shí)發(fā)生。

并發(fā)性是指在計(jì)算機(jī)系統(tǒng)中同時(shí)存在多個(gè)程序,從宏觀上看這些程序同時(shí)運(yùn)行。用戶程序之間可以并發(fā)執(zhí)行,用戶程序與操作系統(tǒng)程序也可以并發(fā)執(zhí)行。2.共享性(Sharing)所謂共享,是指在操作系統(tǒng)控制下,系統(tǒng)資源可供多個(gè)并發(fā)執(zhí)行的程序共同使用。在支持多道程序系統(tǒng)中,多個(gè)并發(fā)執(zhí)行的程序必然會(huì)共享某些資源。并發(fā)性和共享性是所有操作系統(tǒng)具有的兩個(gè)基本特征。它們互為依存條件,共享以程序的并發(fā)執(zhí)行為前提條件,并發(fā)以資源共享為基礎(chǔ)。3.虛擬性(Virtual)

虛擬是指操作系統(tǒng)通過(guò)某種技術(shù)將一個(gè)物理實(shí)體變成多個(gè)邏輯對(duì)應(yīng)物,或?qū)⒍鄠€(gè)物理實(shí)體變成一個(gè)邏輯對(duì)應(yīng)物。操作系統(tǒng)的這種特性稱為虛擬性。

如:多道程序系統(tǒng)將一個(gè)物理CPU變成多個(gè)邏輯CPU;虛擬存儲(chǔ)器管理將多種物理存儲(chǔ)設(shè)備變成一個(gè)虛擬存儲(chǔ)器。4.異步性(Asynchronism)

進(jìn)程以人們不可預(yù)知的速度向前推進(jìn)。內(nèi)存中每個(gè)進(jìn)程何時(shí)能獲得處理機(jī),何時(shí)因得不到所需資源而暫停,每道程序需要多少時(shí)間執(zhí)行完成等,都是不可預(yù)知的。很可能先進(jìn)入內(nèi)存的作業(yè)后完成,而后進(jìn)入內(nèi)存的作業(yè)先完成。這就是操作系統(tǒng)的異步性。3.3作業(yè)管理

作業(yè)是用戶提交給系統(tǒng)的獨(dú)立任務(wù),操作系統(tǒng)以作業(yè)為單位管理用戶任務(wù)。3.3.1基本概念要求計(jì)算機(jī)系統(tǒng)為其完成計(jì)算任務(wù)的集合稱為作業(yè)。

作業(yè)由程序、數(shù)據(jù)和作業(yè)說(shuō)明書(shū)三部分組成。處理一個(gè)作業(yè)通常經(jīng)過(guò)若干個(gè)相對(duì)獨(dú)立又相互關(guān)聯(lián)的加工步驟,如編輯、編譯或匯編、連接和執(zhí)行等,一個(gè)相對(duì)獨(dú)立的處理步驟稱為一個(gè)作業(yè)步(JobStep)。

一個(gè)作業(yè)步可以由一個(gè)進(jìn)程來(lái)完成,作業(yè)的處理要經(jīng)過(guò)多個(gè)進(jìn)程執(zhí)行。

用戶作業(yè)可以分為兩大類:批處理作業(yè)和交互式作業(yè)。1.批處理作業(yè)在批處理系統(tǒng)中,多個(gè)作業(yè)由輸入設(shè)備依次輸入到輔存中,形成作業(yè)流。

作業(yè)調(diào)度程序按一定策略選擇多個(gè)作業(yè)投入運(yùn)行。2.交互式作業(yè)

交互式作業(yè)又稱為終端作業(yè)或會(huì)話式作業(yè)。在分時(shí)系統(tǒng)中,通常將分時(shí)用戶的一次登錄作為一個(gè)作業(yè)。用戶一次登錄可以完成很多工作。3.3.2作業(yè)調(diào)度

作業(yè)控制和作業(yè)調(diào)度是作業(yè)管理的主要任務(wù)。

作業(yè)控制包括控制作業(yè)輸入、運(yùn)行和計(jì)算結(jié)果的輸出。

作業(yè)調(diào)度是根據(jù)作業(yè)控制塊信息,按一定策略選取若干作業(yè)進(jìn)入內(nèi)存獲得處理機(jī)運(yùn)行。

操作系統(tǒng)為每個(gè)進(jìn)入系統(tǒng)的作業(yè)建立一個(gè)作業(yè)控制塊(JCB),記錄作業(yè)調(diào)度的相關(guān)信息。JCB是作業(yè)存在的標(biāo)志,作業(yè)退出系統(tǒng)時(shí)JCB隨之撤銷。

常見(jiàn)的作業(yè)調(diào)度算法1.先來(lái)先服務(wù)算法按作業(yè)進(jìn)入系統(tǒng)作業(yè)后備隊(duì)列先后次序挑選作業(yè)。這種算法容易實(shí)現(xiàn),但效率低。2.最短作業(yè)優(yōu)先算法系統(tǒng)選取估計(jì)計(jì)算時(shí)間最短的作業(yè)投入運(yùn)行。這種算法使平均作業(yè)周轉(zhuǎn)時(shí)間短,且易于實(shí)現(xiàn),但效率不高。3.4進(jìn)程管理從微型計(jì)算機(jī)到大型計(jì)算機(jī),所有多道程序操作系統(tǒng)都建立在進(jìn)程的概念之上,操作系統(tǒng)所有功能都與進(jìn)程有關(guān)。3.4.1進(jìn)程定義在多道程序系統(tǒng)中,多個(gè)程序同時(shí)進(jìn)入系統(tǒng),處理機(jī)交替執(zhí)行每個(gè)程序,每個(gè)程序的執(zhí)行都是走走停停,一個(gè)程序的活動(dòng)規(guī)律是:

推進(jìn)→暫?!七M(jìn)→暫?!?/p>

3.4.1進(jìn)程定義當(dāng)一個(gè)程序暫停時(shí),需要將其現(xiàn)場(chǎng)信息作為斷點(diǎn)保存起來(lái),以便以后能從斷點(diǎn)處繼續(xù)執(zhí)行。這樣,在多道程序系統(tǒng)中需要一塊特殊區(qū)域保存斷點(diǎn)。因此程序的概念已不能如實(shí)地反映程序執(zhí)行時(shí)的特征,需要一個(gè)更準(zhǔn)確地描述程序執(zhí)行狀態(tài)的術(shù)語(yǔ),這就是進(jìn)程(process)。1.進(jìn)程定義進(jìn)程的定義:進(jìn)程是具有一定獨(dú)立功能的程序段關(guān)于一個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。不同角度對(duì)進(jìn)程的解釋:①進(jìn)程是程序的一次執(zhí)行。②進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上執(zhí)行時(shí)所發(fā)生的活動(dòng)。③進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程,是系統(tǒng)資源分配和調(diào)度的基本單位。2.進(jìn)程組成三部分組成:①程序塊:由指令代碼組成,代碼必須是純代碼,即在運(yùn)行期間不修改自身。②數(shù)據(jù)塊:進(jìn)程執(zhí)行時(shí)所需數(shù)據(jù)和工作單元以及開(kāi)辟的工作區(qū)。③進(jìn)程控制塊(ProcessControlBlock,PCB):一個(gè)數(shù)據(jù)結(jié)構(gòu),其中包含描述和管理進(jìn)程所需全部信息。如進(jìn)程標(biāo)識(shí)、進(jìn)程所屬用戶標(biāo)識(shí)、進(jìn)程狀態(tài)、調(diào)度參數(shù)、現(xiàn)場(chǎng)信息和程序地址等。

創(chuàng)建進(jìn)程時(shí)建立PCB,撤消進(jìn)程時(shí)收回PCB。PCB是進(jìn)程存在的惟一標(biāo)志。

程序、數(shù)據(jù)和進(jìn)程控制塊構(gòu)成進(jìn)程實(shí)體。程序和數(shù)據(jù)位于內(nèi)存中用戶空間,進(jìn)程控制塊位于系統(tǒng)空間。3.進(jìn)程的基本特征①動(dòng)態(tài)性:進(jìn)程是程序的一次執(zhí)行。進(jìn)程因創(chuàng)建而產(chǎn)生、由調(diào)度而執(zhí)行、由撤消而消亡。進(jìn)程具有生命期。②并發(fā)性:進(jìn)程可以并發(fā)執(zhí)行。

③獨(dú)立性:進(jìn)程在系統(tǒng)中能獨(dú)立運(yùn)行,獨(dú)立分配資源和獨(dú)立接受調(diào)度。進(jìn)程是系統(tǒng)資源分配的基本單位。④異步性:每個(gè)進(jìn)程以不可預(yù)知的過(guò)程運(yùn)行。⑤結(jié)構(gòu)性:每個(gè)進(jìn)程由程序塊、數(shù)據(jù)塊和進(jìn)程控制塊3部分組成。4.進(jìn)程類型進(jìn)程可以分為系統(tǒng)進(jìn)程和用戶進(jìn)程兩類。系統(tǒng)進(jìn)程運(yùn)行操作系統(tǒng)程序,完成操作系統(tǒng)功能,可以執(zhí)行包括特權(quán)指令在內(nèi)的所有機(jī)器指令,優(yōu)先級(jí)高于用戶進(jìn)程。用戶進(jìn)程運(yùn)行用戶程序,只能執(zhí)行非特權(quán)指令。5.進(jìn)程與程序的關(guān)系

⑴程序是靜態(tài)的,進(jìn)程是動(dòng)態(tài)的。⑵程序是指令及執(zhí)行指令時(shí)所需數(shù)據(jù)的集合,可以長(zhǎng)期保存在存儲(chǔ)介質(zhì)上;進(jìn)程具有創(chuàng)建性、運(yùn)行性和消亡性。

⑶進(jìn)程和程序不是一一對(duì)應(yīng)關(guān)系,一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程,但一個(gè)進(jìn)程只能對(duì)應(yīng)一個(gè)程序。6.進(jìn)程與作業(yè)的關(guān)系

1、作業(yè)是任務(wù)實(shí)體,進(jìn)程是完成任務(wù)的執(zhí)行實(shí)體;

2、沒(méi)有作業(yè)任務(wù)就沒(méi)有進(jìn)程,反過(guò)來(lái),沒(méi)有進(jìn)程,作業(yè)任務(wù)就不能完成。

3、作業(yè)的概念更多地用于批處理系統(tǒng),進(jìn)程的概念用于多道程序系統(tǒng)中。3.4.2進(jìn)程的狀態(tài)和轉(zhuǎn)換

多個(gè)進(jìn)程并發(fā)執(zhí)行,共享系統(tǒng)資源,而系統(tǒng)資源是有限的。因此不可能每個(gè)進(jìn)程都能及時(shí)得到所需要的資源。

CPU是執(zhí)行進(jìn)程的必要資源,操作系統(tǒng)不會(huì)讓一個(gè)進(jìn)程一直占用CPU。一個(gè)進(jìn)程不會(huì)一直處于運(yùn)行狀態(tài),進(jìn)程可能有多種狀態(tài)。任何操作系統(tǒng)都包括進(jìn)程的3種基本狀態(tài)。①運(yùn)行態(tài)(run):得到CPU資源,正在運(yùn)行進(jìn)程中指令。②

就緒態(tài)(ready):進(jìn)程本身具備運(yùn)行條件,等待獲得CPU資源。③等待態(tài)(wait):進(jìn)程本身不具備運(yùn)行條件,正等待某一事件發(fā)生或釋放CPU以外的資源。這種狀態(tài)也稱掛起態(tài)(suspended)、封鎖態(tài)(blocked)或睡眠態(tài)(sleep)。進(jìn)程的三種基本狀態(tài)創(chuàng)建進(jìn)程

就緒運(yùn)行等待調(diào)度選中

時(shí)間到

阻塞事件發(fā)生

進(jìn)程的3個(gè)基本狀態(tài)的相互轉(zhuǎn)化

創(chuàng)建進(jìn)程時(shí),由于其他進(jìn)程正占用CPU所以它只能處于就緒狀態(tài);當(dāng)就緒進(jìn)程獲得處理機(jī)時(shí)就轉(zhuǎn)換為運(yùn)行狀態(tài);當(dāng)進(jìn)程的時(shí)間片耗盡或出現(xiàn)更高優(yōu)先級(jí)別的進(jìn)程,進(jìn)程被迫退出處理機(jī),其狀態(tài)由運(yùn)行變?yōu)榫途w;

當(dāng)運(yùn)行進(jìn)程因某事件受阻,如申請(qǐng)的資源被占用或I/O傳輸未完成,其狀態(tài)由運(yùn)行轉(zhuǎn)為等待,或者說(shuō)是進(jìn)程阻塞或進(jìn)程睡眠;如果其等待的事件完成,進(jìn)程從等待狀態(tài)轉(zhuǎn)換為就緒狀態(tài),也稱進(jìn)程喚醒。一個(gè)進(jìn)程在其生存期內(nèi)可能多次發(fā)生狀態(tài)轉(zhuǎn)換,操作系統(tǒng)的進(jìn)程管理模塊負(fù)責(zé)進(jìn)程的狀態(tài)轉(zhuǎn)換工作。當(dāng)操作系統(tǒng)從就緒狀態(tài)隊(duì)列中調(diào)度進(jìn)程時(shí),從PCB中查出現(xiàn)行狀態(tài)及優(yōu)先級(jí),以確定符合調(diào)度算法要求的進(jìn)程。

當(dāng)調(diào)度到某進(jìn)程后,操作系統(tǒng)根據(jù)PCB中保存的現(xiàn)場(chǎng)信息,恢復(fù)進(jìn)程運(yùn)行現(xiàn)場(chǎng),并根據(jù)程序地址找到其程序和數(shù)據(jù)。當(dāng)進(jìn)程因某種原因而暫停時(shí),操作系統(tǒng)將斷點(diǎn)現(xiàn)場(chǎng)信息保存在PCB中。在進(jìn)程的整個(gè)生命期中,操作系統(tǒng)通過(guò)PCB控制進(jìn)程。3.4.3進(jìn)程調(diào)度

進(jìn)程調(diào)度由操作系統(tǒng)的調(diào)度程序?qū)嵤?,按照一定調(diào)度算法,從就緒隊(duì)列中選取一個(gè)進(jìn)程使其獲得處理機(jī)。所以進(jìn)程調(diào)度也稱為處理機(jī)調(diào)度。常見(jiàn)進(jìn)程調(diào)度算法有:

先來(lái)先服務(wù)(FCFS)算法;高優(yōu)先級(jí)優(yōu)先調(diào)度算法;

時(shí)間片輪轉(zhuǎn)法;1.先來(lái)先服務(wù)算法

先來(lái)先服務(wù)(FCFS)算法是最簡(jiǎn)單的調(diào)度算法,按照進(jìn)程到達(dá)先后順序分配處理機(jī),每次調(diào)度總是選擇就緒隊(duì)列中首進(jìn)程。一個(gè)進(jìn)程占用處理機(jī)直到進(jìn)程時(shí)間片耗盡、運(yùn)行結(jié)束或運(yùn)行受阻才釋放處理機(jī),操作系統(tǒng)不會(huì)強(qiáng)行搶占處理機(jī)。

這種算法比較有利于計(jì)算時(shí)間長(zhǎng)的進(jìn)程。2.高優(yōu)先級(jí)優(yōu)先調(diào)度算法這是廣泛采用的一種調(diào)度算法。它的每次調(diào)度總是從就緒隊(duì)列中選取優(yōu)先級(jí)最高的進(jìn)程運(yùn)行,在相同優(yōu)先級(jí)進(jìn)程中采用先來(lái)先服務(wù)算法調(diào)度。這種算法也適用于作業(yè)調(diào)度。進(jìn)程優(yōu)先級(jí)的確定有兩種方式:靜態(tài)和動(dòng)態(tài)。

靜態(tài)優(yōu)先級(jí)是進(jìn)程創(chuàng)建時(shí)確定,進(jìn)程運(yùn)行期間保持不變。優(yōu)先級(jí)與進(jìn)程的估計(jì)執(zhí)行時(shí)間有關(guān),時(shí)間越短優(yōu)先級(jí)越高;對(duì)系統(tǒng)資源的需求越少優(yōu)先級(jí)越高;

動(dòng)態(tài)優(yōu)先級(jí)是指在進(jìn)程的生命期內(nèi),隨著進(jìn)程的運(yùn)行情況而不斷變化。在就緒隊(duì)列中隨其等待時(shí)間的增長(zhǎng),優(yōu)先級(jí)會(huì)調(diào)高;占用CPU的時(shí)間越長(zhǎng),優(yōu)先級(jí)會(huì)調(diào)低。兩種進(jìn)程優(yōu)先級(jí)3.時(shí)間片輪轉(zhuǎn)法

系統(tǒng)將CPU時(shí)間分成固定大小的時(shí)間片,一個(gè)時(shí)間片大約幾毫秒到幾百毫秒。

所有就緒進(jìn)程按先來(lái)先服務(wù)原則分配處理機(jī),一次使用一個(gè)時(shí)間片。當(dāng)時(shí)間片用完時(shí),系統(tǒng)調(diào)度程序停止該進(jìn)程,將它送到就緒隊(duì)列末尾,等待下一次調(diào)度。

就緒隊(duì)列中所有進(jìn)程在一定時(shí)間段內(nèi)均能獲得一個(gè)時(shí)間片,使得系統(tǒng)能在較短時(shí)間內(nèi)響應(yīng)所有用戶請(qǐng)求。3.5存儲(chǔ)管理存儲(chǔ)管理的內(nèi)容

存儲(chǔ)分配、存儲(chǔ)保護(hù)、虛擬存儲(chǔ)器和地址映射。存儲(chǔ)管理的目的為多道程序運(yùn)行提供良好環(huán)境,方便用戶使用存儲(chǔ)器,提高存儲(chǔ)器利用率,從邏輯上擴(kuò)充存儲(chǔ)容量。3.5.1基本概念

存儲(chǔ)器包括內(nèi)存儲(chǔ)器和外存儲(chǔ)器,存儲(chǔ)管理主要是指內(nèi)存儲(chǔ)器管理。內(nèi)存空間一般分為兩部分:

系統(tǒng)區(qū):

存放操作系統(tǒng)核心程序以及一些標(biāo)準(zhǔn)子程序和例行程序;

用戶區(qū):

存放用戶程序和數(shù)據(jù)。存儲(chǔ)管理主要是對(duì)用戶區(qū)進(jìn)行管理。

1.物理地址⑴定義:計(jì)算機(jī)內(nèi)存由許多單元組成,為了區(qū)分各個(gè)不同的內(nèi)存單元,每個(gè)內(nèi)存單元按順序進(jìn)行編號(hào),這個(gè)編號(hào)稱為物理地址。⑵尋址范圍:物理地址的位數(shù)由系統(tǒng)地址總線的根數(shù)決定。物理地址反映的是CPU對(duì)內(nèi)存空間的尋址能力。

例如:一臺(tái)計(jì)算機(jī)的地址總線為32位,則CPU可尋址的內(nèi)存空間為:232=4GB。

00010002……EFFFFFFF物理地址

2.邏輯地址⑴程序員在編寫(xiě)程序時(shí)所使用的地址稱為邏輯地址,也叫相對(duì)地址或偏移地址。⑵邏輯地址通常從0開(kāi)始,程序中的其他地址都相對(duì)于起始地址進(jìn)行計(jì)算。⑶邏輯地址與物理地址不是一一對(duì)應(yīng)。程序員在編程時(shí)不需要考慮物理地址。邏輯地址程序指令邏輯地址

3.地址映射

程序中使用的地址都是邏輯地址。操作系統(tǒng)在將程序裝入內(nèi)存時(shí),將程序中指令和數(shù)據(jù)的邏輯地址轉(zhuǎn)換為物理地址。這一轉(zhuǎn)換過(guò)程稱為地址映射或地址重定位。

⑴靜態(tài)重定位:在程序裝入時(shí)完成地址轉(zhuǎn)換。

⑵動(dòng)態(tài)重定位:將程序裝入內(nèi)存后并不立即進(jìn)行地址轉(zhuǎn)換,而是當(dāng)程序要執(zhí)行時(shí)才進(jìn)行地址轉(zhuǎn)換。程序物理地址地址重定位4.存儲(chǔ)保護(hù)在多道程序系統(tǒng)中,內(nèi)存中既有操作系統(tǒng)程序又有許多用戶程序,為確保每道程序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,互不干擾,操作系統(tǒng)必須對(duì)程序和數(shù)據(jù)進(jìn)行保護(hù),絕不允許用戶程序訪問(wèn)操作系統(tǒng)的程序和數(shù)據(jù),也不允許一個(gè)用戶程序轉(zhuǎn)移到非共享的其他用戶程序中去執(zhí)行,這種對(duì)程序空間的保護(hù)稱為存儲(chǔ)保護(hù)。5.存儲(chǔ)擴(kuò)充

內(nèi)存存取速度快,但容量?。煌獯嫒萘看蟮俣嚷?。在操作系統(tǒng)管理下,從邏輯上擴(kuò)充內(nèi)存容量,部分外存空間作為邏輯內(nèi)存使用,構(gòu)成虛擬存儲(chǔ)系統(tǒng),稱為存儲(chǔ)擴(kuò)充。真正內(nèi)存虛擬內(nèi)存內(nèi)存空間最大容量與CPU的尋址能力有關(guān)32位CPU最大可達(dá)4GB。3.5.2存儲(chǔ)器連續(xù)分配方式程序在裝入內(nèi)存之前,首先要為其分配存儲(chǔ)區(qū)域,存儲(chǔ)區(qū)域分配有多種方式。單一連續(xù)分配存儲(chǔ)區(qū)固定分區(qū)分配可變分區(qū)分配可重定位分區(qū)分配

1.單一連續(xù)分配將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū)兩部分

系統(tǒng)區(qū):存放操作系統(tǒng)程序;用戶區(qū):存放用戶程序。

程序只能分配到一個(gè)連續(xù)的存儲(chǔ)區(qū)域中,并且在執(zhí)行期間不能移動(dòng)。程序在裝入內(nèi)存時(shí)邏輯地址到物理地址的轉(zhuǎn)換多采用靜態(tài)重定位方式,由裝入程序完成邏輯地址到物理地址的轉(zhuǎn)換。

這種分配方式適合于單用戶、單任務(wù)操作系統(tǒng)。2.固定分區(qū)分配它將用戶內(nèi)存空間劃分為若干個(gè)連續(xù)區(qū)域,每個(gè)區(qū)域位置固定,大小可以相同也可以不同,每個(gè)分區(qū)中只裝入一道程序。程序裝入時(shí)地址轉(zhuǎn)換可以采用靜態(tài)也可以采用動(dòng)態(tài)重定位方式。

固定分區(qū)存儲(chǔ)管理缺點(diǎn):

同時(shí)在內(nèi)存中運(yùn)行的程序數(shù)量受到分區(qū)數(shù)目限制;分區(qū)大小固定,而程序?qū)?nèi)存的要求不可能剛好等于某個(gè)分區(qū)的大小,因此小程序造成內(nèi)存資源嚴(yán)重浪費(fèi),而大程序可能又無(wú)法裝入。固定分區(qū)分配是多道程序系統(tǒng)中最簡(jiǎn)單的存儲(chǔ)管理技術(shù),3.可變分區(qū)分配

可變分區(qū)存儲(chǔ)管理方式是在裝入作業(yè)時(shí)按程序大小來(lái)劃分分區(qū),使分配的分區(qū)正好適應(yīng)程序需求。這種管理方式下,分區(qū)個(gè)數(shù)是可變的。

在這種管理方式下,系統(tǒng)啟動(dòng)后整個(gè)用戶區(qū)是一個(gè)空閑分區(qū),當(dāng)系統(tǒng)裝入一個(gè)程序時(shí),根據(jù)程序需要的存儲(chǔ)容量劃出一個(gè)分區(qū)分配給該程序,剩余部分作為一個(gè)較小的空閑區(qū),繼續(xù)裝入其它程序。隨著程序裝入、撤銷,用戶區(qū)被分成許多個(gè)分區(qū)。說(shuō)明以上三種分配方式都是為程序分配連續(xù)地址空間。連續(xù)分配方式的主要缺點(diǎn):如果系統(tǒng)中只有若干個(gè)小分區(qū)空閑,而單個(gè)小分區(qū)不能滿足新程序的需要,盡管它們?nèi)萘康目偤蜐M足裝入程序的需要,也不能將程序裝入。這種不能被利用的小空閑分區(qū)稱為碎片。4.可重定位分區(qū)分配

可重定位分區(qū)分配將內(nèi)存中各個(gè)程序位置進(jìn)行移動(dòng),將原來(lái)分散的小空閑分區(qū)拼接成一個(gè)大分區(qū),用于新程序裝入。程序裝入方式采用靜態(tài)重定位的方式,它的程序不能移動(dòng),只有采用動(dòng)態(tài)重定位裝入方式的系統(tǒng)才可以移動(dòng)內(nèi)存的程序。3.5.3存儲(chǔ)器離散分配方式離散分配方式:

將一個(gè)用戶程序離散地分配到內(nèi)存中多個(gè)相鄰或不相鄰區(qū)域。離散分配方式包括:1.分頁(yè)式存儲(chǔ)管理方式2.分段式存儲(chǔ)管理方式

3.

段頁(yè)式存儲(chǔ)管理方式1.分頁(yè)式存儲(chǔ)管理在離散分配方式中,分配的基本單位是頁(yè),則稱為分頁(yè)式存儲(chǔ)管理。①頁(yè)框:物理內(nèi)存空間分成若干大小相等的區(qū),每個(gè)區(qū)稱為一個(gè)物理塊或頁(yè)框。②頁(yè)面:邏輯地址空間分成若干大小相等的區(qū),區(qū)的大小與物理塊的大小相同,稱為頁(yè)面或虛擬頁(yè)。分頁(yè)式存儲(chǔ)管理

程序員在編程時(shí)使用連續(xù)邏輯地址,不考慮如何分頁(yè)。操作系統(tǒng)在裝入程序時(shí)根據(jù)物理塊的大小決定頁(yè)面大小。只要程序總頁(yè)數(shù)不大于內(nèi)存中可用的物理總塊數(shù),程序就可以裝入內(nèi)存。裝入時(shí)以頁(yè)為單位分配內(nèi)存,一個(gè)頁(yè)面分配一個(gè)物理塊,各個(gè)物理塊可以不連續(xù)。2.分段式存儲(chǔ)管理

在離散分配方式中,分配的基本單位是段,則稱為分段式存儲(chǔ)管理。它是現(xiàn)在所有存儲(chǔ)管理方式的基礎(chǔ)。

現(xiàn)代高級(jí)語(yǔ)言通常采用模塊化程序設(shè)計(jì)。用戶將程序按照邏輯關(guān)系分為若干個(gè)段(模塊),如主程序段、子程序段、數(shù)據(jù)段、堆棧段,每個(gè)段都從0開(kāi)始編址,都有模塊名。在編譯或匯編時(shí)源程序的每個(gè)段都被定義了一個(gè)段號(hào),其編譯或匯編后的邏輯地址由段號(hào)和段內(nèi)地址組成。分段式存儲(chǔ)管理

分段存儲(chǔ)管理為程序中每個(gè)段分配一個(gè)連續(xù)分區(qū),不同段可以使用不連續(xù)分區(qū)。每個(gè)進(jìn)程有一張段表,每個(gè)段在表中占一個(gè)表項(xiàng),表項(xiàng)的一部分是該段在內(nèi)存中的起始地址,通常稱為段基址,另一部分是段的長(zhǎng)度。段表用于實(shí)現(xiàn)邏輯地址到物理地址的映射。3.段頁(yè)式存儲(chǔ)管理

段頁(yè)式存儲(chǔ)管理是分頁(yè)存儲(chǔ)和分段存儲(chǔ)管理的綜合。用戶程序分為若干個(gè)段,每個(gè)段又分為若干個(gè)頁(yè),每個(gè)段賦于一個(gè)段名。程序的邏輯地址由段號(hào)、段內(nèi)頁(yè)號(hào)、頁(yè)內(nèi)地址組成。

段頁(yè)式存儲(chǔ)管理為程序的各個(gè)段離散地分配內(nèi)存,易于實(shí)現(xiàn)、易于共享、易于保護(hù)和可動(dòng)態(tài)鏈接,而且很好地解決了內(nèi)存碎片的問(wèn)題。

前面介紹的各種存儲(chǔ)管理方式中,必須為程序分配足夠的存儲(chǔ)空間,程序才能運(yùn)行。3.5.4虛擬存儲(chǔ)器管理

程序在執(zhí)行時(shí)并不是同時(shí)使用程序的全部。

程序在運(yùn)行之前沒(méi)有必要全部裝入內(nèi)存,只需將當(dāng)前要運(yùn)行的部分頁(yè)面或段裝入內(nèi)存,其余部分可以暫時(shí)留在磁盤(pán)上。如果進(jìn)程所要訪問(wèn)的頁(yè)或段不在內(nèi)存,操作系統(tǒng)就將需要的頁(yè)或段調(diào)入內(nèi)存。如果內(nèi)存已滿,無(wú)法再裝入新的頁(yè),操作系統(tǒng)就將暫時(shí)不用的頁(yè)調(diào)出到磁盤(pán),再將需要的頁(yè)調(diào)入內(nèi)存。(1)虛擬存儲(chǔ)

虛擬存儲(chǔ)基于程序局部性原理,建立在離散存儲(chǔ)管理方式基礎(chǔ)之上,采用進(jìn)程在運(yùn)行過(guò)程中部分地裝入內(nèi)存的技術(shù),為用戶提供一個(gè)比實(shí)際物理空間大得多的邏輯地址空間,使用戶在編程過(guò)程中不必顧慮內(nèi)存容量的大小。(2)虛擬存儲(chǔ)器的容量

虛擬存儲(chǔ)器的容量與主存大小無(wú)關(guān),只與計(jì)算機(jī)地址結(jié)構(gòu)及外存容量有關(guān)。例如,計(jì)算機(jī)的地址線是32位,CPU的尋址空間為4GB,內(nèi)存容量設(shè)為256MB,但是其上運(yùn)行的Windows2000/XP為用戶程序提供了一個(gè)4GB的編程空間。

兩種虛擬存儲(chǔ)器實(shí)現(xiàn)方法:

1.分頁(yè)請(qǐng)求系統(tǒng)

2.分段請(qǐng)求系統(tǒng)1.分頁(yè)請(qǐng)求系統(tǒng)

在分頁(yè)系統(tǒng)基礎(chǔ)上,增加了請(qǐng)求調(diào)頁(yè)功能和頁(yè)面置換功能。當(dāng)作業(yè)被調(diào)度運(yùn)行時(shí),并不將程序和數(shù)據(jù)全部裝入內(nèi)存,而只裝入立即使用的頁(yè)面。當(dāng)需要執(zhí)行的某條指令或數(shù)據(jù)不在內(nèi)存時(shí),產(chǎn)生一個(gè)缺頁(yè)中斷,系統(tǒng)從外存儲(chǔ)器中調(diào)入缺頁(yè)。2.分段請(qǐng)求系統(tǒng)

在分段的基礎(chǔ)上,增加了請(qǐng)求分段和分段置換功能。當(dāng)作業(yè)被調(diào)度運(yùn)行時(shí),首先將當(dāng)前需要的一段或幾段裝入主存,當(dāng)訪問(wèn)的指令或數(shù)據(jù)不在主存的段時(shí),硬件產(chǎn)生一個(gè)缺段中斷,中斷處理程序?qū)⑿枰亩窝b入內(nèi)存。3.5.5Windows2000/XP的虛擬存儲(chǔ)管理

Windows內(nèi)存管理器是虛擬管理程序VMM(VirtualMemoryManager)的一個(gè)組件,位于Ntoskrnl.exe文件中,是Windows的基本存儲(chǔ)管理系統(tǒng)。

Windows采用段頁(yè)式虛擬存儲(chǔ)技術(shù),提供4GB虛擬地址空間,劃分成4KB大小的若干頁(yè)。

虛擬地址空間分為兩部分:

系統(tǒng)存儲(chǔ)區(qū):高位地址空間有操作系統(tǒng)使用。

用戶存儲(chǔ)區(qū):低地址空間。FFFFFFFFHC0000000H80000000H00000000H系統(tǒng)存儲(chǔ)區(qū)用戶存儲(chǔ)區(qū)固定頁(yè)面區(qū)頁(yè)交換區(qū)操作系統(tǒng)駐留區(qū)頁(yè)交換區(qū)系統(tǒng)區(qū)分成三部分:固定頁(yè)面區(qū):存放系統(tǒng)的關(guān)鍵代碼,不可交換;

頁(yè)交換區(qū):存放非常駐的系統(tǒng)代碼和數(shù)據(jù);

操作系統(tǒng)駐留區(qū):存放內(nèi)核、執(zhí)行體、引導(dǎo)驅(qū)動(dòng)程序和硬件抽象層等。虛擬地址空間布局Windows的虛擬存儲(chǔ)管理

程序運(yùn)行時(shí),一部分頁(yè)裝入內(nèi)存,另一部分放在頁(yè)面(頁(yè)交換)文件中。頁(yè)面文件位于硬盤(pán)上用于模擬物理內(nèi)存。Windows的虛擬存儲(chǔ)管理在Windows2000/XP中,可以改變頁(yè)面文件的大小。在WindowsXP中設(shè)置頁(yè)面文件大小方法為:?jiǎn)螕簟伴_(kāi)始”菜單→“控制面板”,雙擊“系統(tǒng)”,單擊“高級(jí)”選項(xiàng)卡→“性能”框內(nèi)的“設(shè)置”,在“性能選項(xiàng)”對(duì)話框中的單擊“高級(jí)”選項(xiàng)卡→“更改”按鈕,進(jìn)入“虛擬內(nèi)存”對(duì)話框。Windows的虛擬存儲(chǔ)管理

如果計(jì)算機(jī)物理內(nèi)存容量為256M,操作系統(tǒng)設(shè)置的頁(yè)面文件的大小為384M,則計(jì)算機(jī)擁有640M虛擬內(nèi)存。

3.6文件管理

程序和數(shù)據(jù)是計(jì)算機(jī)軟件資源,以文件形式存儲(chǔ)在計(jì)算機(jī)外部存儲(chǔ)器上。文件管理是對(duì)文件、目錄和文件存儲(chǔ)空間進(jìn)行管理。3.6.1文件系統(tǒng)基礎(chǔ)知識(shí)

文件與文件管理程序的集合稱為文件系統(tǒng)。文件是具有符號(hào)名的相關(guān)信息集合。

1.文件命名

操作系統(tǒng)根據(jù)文件名對(duì)其進(jìn)行控制和管理。按文件性質(zhì)可分為系統(tǒng)文件、用戶文件和庫(kù)文件;按存取屬性可分為只讀文件、讀/寫(xiě)文件和只執(zhí)行文件;此外,文件還可以按信息流向分為輸入文件、輸出文件和輸入/輸出文件;按文件組織形式分為普通文件、目錄文件和設(shè)備文件。普通文件包括ASCII文件和二進(jìn)制文件;目錄文件由文件目錄組成;設(shè)備文件用于表示常用設(shè)備。2.文件分類

文件的擴(kuò)展名表示文件的類型

文件類型擴(kuò)展名說(shuō)明

可執(zhí)行程序EXE、COM可執(zhí)行程序文件源程序文件C、CPP、BAS程序設(shè)計(jì)語(yǔ)言的源程序文件Office文檔DOC、XLS、PPTWord、Excel、Powerpoint創(chuàng)建的文檔流媒體文件WMV、RM、QT能通過(guò)Internet播放的流式媒體文件壓縮文件ZIP、RAR壓縮文件圖像文件BMP、JPG、GIF不同格式的圖像文件音頻文件WAV、MP3、MID不同格式的聲音文件網(wǎng)頁(yè)文件HTM、ASP前者是靜態(tài)的,后者是動(dòng)態(tài)的文件基本屬性:包括文件名、長(zhǎng)度、創(chuàng)建時(shí)間、修改時(shí)間、所有者等。②文件類型屬性:包括普通文件、目錄文件、系統(tǒng)文件、隱含文件、設(shè)備文件等;③文件保護(hù)屬性:包括可讀、可寫(xiě)、可修改和可刪除。3.文件屬性

用戶存取、檢索和管理信息時(shí)文件的組織形式,稱為文件邏輯結(jié)構(gòu)。文件邏輯結(jié)構(gòu)有兩種形式:

①記錄式文件:由一系列記錄構(gòu)成的文件稱為記錄式文件。記錄是一個(gè)具有特定意義的信息單位。例如,Excel表格和數(shù)據(jù)庫(kù)表屬于記錄式文件。

②流式文件:由字符流構(gòu)成文件稱為流式文件,它是有序字符集合。流式文件無(wú)結(jié)構(gòu)且管理簡(jiǎn)單。源程序、目標(biāo)代碼等文件屬于流式文件。Word文檔、源程序、目標(biāo)代碼等文件屬于流式文件。4.文件邏輯結(jié)構(gòu)

文件物理結(jié)構(gòu)是指文件在物理存儲(chǔ)設(shè)備上的存放方法和組織形式。

①順序結(jié)構(gòu):一個(gè)文件中的信息依次存放在若干個(gè)連續(xù)編號(hào)的物理塊中。文件名開(kāi)始?jí)K號(hào)長(zhǎng)度文件1113文件21465.文件物理結(jié)構(gòu)物理塊號(hào)111213141516171819邏輯塊號(hào)012012345文件1文件2②鏈?zhǔn)浇Y(jié)構(gòu):邏輯上連續(xù)的文件信息依次存放在若干不連續(xù)的物理塊中,各個(gè)物理塊以指針相連。5.文件物理結(jié)構(gòu)文件名開(kāi)始?jí)K號(hào)長(zhǎng)度文件1113文件215411151419122113③索引結(jié)構(gòu):邏輯上連續(xù)的文件信息依次存放在若干不連續(xù)的物理塊中,文件系統(tǒng)為每個(gè)文件建立一張索引表。邏輯塊號(hào)物理塊號(hào)0111142195.文件物理結(jié)構(gòu)邏輯塊號(hào)物理塊號(hào)015121213412文件1索引表文件2索引表

文件的存取方法是文件系統(tǒng)為使用文件提供的技術(shù)手段。文件存取方法由存儲(chǔ)器物理特性和文件結(jié)構(gòu)決定。

①順序存取:按從前到后的次序依次訪問(wèn)文件。對(duì)記錄式文件按記錄排列順序來(lái)存??;對(duì)流式文件則根據(jù)當(dāng)前讀寫(xiě)指針的指向存取。

②直接存取:又稱隨機(jī)存取。只有記錄式文件可以隨機(jī)存取,可以根據(jù)記錄編號(hào),存取文件中任一記錄。③索引存?。河址Q按鍵存取,是基于索引文件的存取方法。6.文件存取方法3.6.3

文件目錄

為了實(shí)現(xiàn)按名存取文件,需要為眾多的文件建立目錄,稱為文件目錄。它是一張記錄所有文件的名字及其存放物理地址的映射表。文件目錄也是一個(gè)文件,由目錄項(xiàng)組成。

文件名文件擴(kuò)展名文件屬性保留時(shí)間日期文件首簇號(hào)…

一個(gè)文件信息構(gòu)成一個(gè)目錄項(xiàng),目錄項(xiàng)存于文件控制塊(FCB)中。文件控制塊是文件存在的標(biāo)志,其中包含系統(tǒng)對(duì)文件進(jìn)行管理和控制所需要的全部信息。3.6.3

文件目錄

文件控制塊包含一個(gè)文件的基本信息有:文件名、類型、物理地址、長(zhǎng)度、記錄大小、創(chuàng)建時(shí)間、修改時(shí)間、訪問(wèn)時(shí)間等屬性。

文件目錄項(xiàng)的組織結(jié)構(gòu)關(guān)系到文件系統(tǒng)的存取速度,關(guān)系到文件共享性和安全性。組織文件目錄是文件系統(tǒng)設(shè)計(jì)的關(guān)鍵。常見(jiàn)目錄結(jié)構(gòu)有單級(jí)目錄、二級(jí)目錄和多級(jí)目錄。

1.單級(jí)目錄結(jié)構(gòu)整個(gè)文件系統(tǒng)只建立一張目錄表,每個(gè)文件占一個(gè)目錄項(xiàng)。這種目錄結(jié)構(gòu)可以實(shí)現(xiàn)文件系統(tǒng)基本功能“按名存取”,但是文件查找速度慢,不允許文件重名,而且很難實(shí)現(xiàn)文件共享。

2.二級(jí)目錄結(jié)構(gòu)建立一個(gè)主目錄文件,再為每一個(gè)用戶建立一個(gè)用戶目錄文件。二級(jí)目錄提高了目錄檢索速度,在不同用戶目錄中可以使用相同文件名,還可以使用不同文件名訪問(wèn)共享文件。常見(jiàn)目錄結(jié)構(gòu)3.多級(jí)目錄結(jié)構(gòu)

多級(jí)目錄結(jié)構(gòu)又稱為樹(shù)型目錄結(jié)構(gòu)。

根目錄我的電腦我的文檔……流行歌曲圖片收藏我的音樂(lè)我的視頻下載歌曲甜歌文件1文件2文件3文件1文件1我的視頻文件1文件2文件nWindows中的樹(shù)型結(jié)構(gòu):桌面為根。編程時(shí):根目錄是指邏輯驅(qū)動(dòng)器的根目錄3.7設(shè)備管理

設(shè)備管理就是管理和控制各種輸入輸出設(shè)備,為用戶使用設(shè)備提供簡(jiǎn)單方便統(tǒng)一的接口形式,完成用戶輸入輸出請(qǐng)求,提高設(shè)備使用效率。計(jì)算機(jī)輸入輸出系統(tǒng)由設(shè)備、設(shè)備控制器、通道和設(shè)備管理軟件構(gòu)成。計(jì)算機(jī)主存和設(shè)備之間的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論