第4章-操作系統(tǒng)_第1頁
第4章-操作系統(tǒng)_第2頁
第4章-操作系統(tǒng)_第3頁
第4章-操作系統(tǒng)_第4頁
第4章-操作系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)科學(xué)導(dǎo)論龔捷西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院電郵:gongjie.swpu@電話言計(jì)算機(jī)硬件系統(tǒng)各類應(yīng)用軟件網(wǎng)絡(luò)瀏覽、游戲、影音娛樂、機(jī)票預(yù)定、銀行業(yè)務(wù)、文字處理、數(shù)據(jù)管理……操作系統(tǒng)

第4章操作系統(tǒng)幾個(gè)重要問題4.操作系統(tǒng)的結(jié)構(gòu)組成3.操作系統(tǒng)的功能2.什么是操作系統(tǒng)1.常用操作系統(tǒng)5.一、什么是操作系統(tǒng)最靠近硬件的軟件讓用戶無需了解計(jì)算機(jī)內(nèi)部工作原理而使用計(jì)算機(jī)分配、管理、調(diào)度計(jì)算機(jī)的各類硬、軟件資源硬、軟件之間的接口和橋梁復(fù)雜而龐大的系統(tǒng)軟件通常存放于輔存中必須經(jīng)過引導(dǎo)才能開始工作操作系統(tǒng)OS:OperatingSystem系統(tǒng)上電BIOS自檢正常?引導(dǎo)OS內(nèi)核OS工作系統(tǒng)提示錯(cuò)誤NoYesBasicI/OSystem通常存放于ROMBoot從外存讀入內(nèi)存OS的由來計(jì)算機(jī)的手工操作階段

任務(wù)簡單,對(duì)資源利用率要求不高,沒有OS的需求或概念批處理操作階段

應(yīng)用面擴(kuò)大,需要對(duì)同一批次的作業(yè)運(yùn)行進(jìn)行調(diào)度搜集作業(yè)作業(yè)1作業(yè)2作業(yè)n制作卡片寫磁帶讀磁帶運(yùn)行作業(yè)寫磁帶讀磁帶打印結(jié)果散發(fā)結(jié)果結(jié)果1結(jié)果2結(jié)果n......控制程序:OS的雛形問題:CPU效率較低1、若某個(gè)作業(yè)僅進(jìn)行簡單的I/O操作?2、若多個(gè)作業(yè)都要求排隊(duì)靠前?多道程序運(yùn)行階段

應(yīng)用進(jìn)一步發(fā)生改變,對(duì)CPU的利用率要求提高內(nèi)存作業(yè)1作業(yè)2作業(yè)3作業(yè)調(diào)度問題:用戶無法自己與作業(yè)交互1、若負(fù)責(zé)機(jī)票預(yù)定的職員在處理業(yè)務(wù)?2、若用戶在撰寫一個(gè)文檔?3、若用戶在玩游戲?4、……分時(shí)操作階段提供多個(gè)用戶與單個(gè)CPU的各自獨(dú)立交互功能終端2終端3終端4終端5終端1主機(jī)OS:資源管理 人機(jī)交互Unix最著名的分時(shí)OS分時(shí)操作:多個(gè)任務(wù)在微觀上串行,但宏觀上并行又稱為并發(fā)操作現(xiàn)代操作系統(tǒng)個(gè)人電腦的普及促進(jìn)了操作系統(tǒng)的發(fā)展DOS、Windows、Linux……網(wǎng)絡(luò)操作系統(tǒng)屏蔽網(wǎng)絡(luò)環(huán)境下的異構(gòu)特性,提供統(tǒng)一通信協(xié)議分布式操作系統(tǒng)在分布式環(huán)境中為用戶提供透明的統(tǒng)一資源管理服務(wù)實(shí)時(shí)操作系統(tǒng)特別強(qiáng)調(diào)系統(tǒng)對(duì)外界請(qǐng)求(即人機(jī)交互)的響應(yīng)速度嵌入式操作系統(tǒng)具有較少功能,但在體積、功耗、響應(yīng)等方面要求較高手機(jī)中的OS:Symbian、Android、WindowsPhone7……

二、操作系統(tǒng)的功能軟件資源硬件資源兩大功能:資源管理、人機(jī)交互程序/數(shù)據(jù)/文檔存儲(chǔ)器處理器I/O設(shè)備用戶接口操作系統(tǒng)人機(jī)交互資源管理處理器:處理機(jī)管理、任務(wù)管理任務(wù)調(diào)度為各個(gè)任務(wù)分配CPU時(shí)間片,在任務(wù)之間進(jìn)行切換任務(wù)1任務(wù)2任務(wù)3CPU時(shí)間軸如何分配?怎樣調(diào)度?有沒有問題?不同系統(tǒng)、不同情況下的策略不同1.若任務(wù)的實(shí)時(shí)性要求不同,應(yīng)平等分配嗎?2.若任務(wù)需等待外部事件后才能繼續(xù),還應(yīng)再分配嗎?3.在多個(gè)等待執(zhí)行的任務(wù)中,應(yīng)選擇哪一個(gè)繼續(xù)呢?4.當(dāng)執(zhí)行過程中出現(xiàn)更高優(yōu)先級(jí)任務(wù),應(yīng)如何處理呢?任務(wù)的優(yōu)先權(quán)搶奪調(diào)度:實(shí)時(shí)OS的特征處理機(jī)管理的目標(biāo):合理調(diào)度多個(gè)任務(wù),實(shí)現(xiàn)對(duì)處理機(jī)資源的高效利用存儲(chǔ)器:內(nèi)存管理內(nèi)存程序代碼區(qū)程序1程序2考慮單任務(wù)環(huán)境下的內(nèi)存管理數(shù)據(jù)區(qū)程序3相對(duì)比較簡單存儲(chǔ)器:內(nèi)存管理內(nèi)存程序1程序2程序3考慮多任務(wù)環(huán)境下的內(nèi)存管理考慮單任務(wù)環(huán)境下的內(nèi)存管理內(nèi)存分配為每個(gè)任務(wù)的運(yùn)行分配內(nèi)存空間當(dāng)任務(wù)結(jié)束時(shí),回收其內(nèi)存空間并統(tǒng)一管理任務(wù)間保護(hù)保護(hù)多個(gè)用戶程序之間不會(huì)相互影響保護(hù)用戶程序不會(huì)影響系統(tǒng)程序思考:若程序所需內(nèi)存量超過實(shí)際可用內(nèi)存量,應(yīng)怎么處理?采用虛擬存儲(chǔ),將執(zhí)行程序的一部分常駐內(nèi)存,其它部分則根據(jù)需要在內(nèi)、外存之間切換需實(shí)現(xiàn)由邏輯地址到物理地址的轉(zhuǎn)換或映射存儲(chǔ)管理:很大程度上影響到處理機(jī)管理I/O設(shè)備:設(shè)備管理提供用戶程序和外設(shè)之間的接口分配設(shè)備啟動(dòng)設(shè)備回收設(shè)備屏蔽I/O設(shè)備與CPU的速度差異數(shù)據(jù)緩沖虛擬設(shè)備技術(shù)實(shí)現(xiàn)設(shè)備無關(guān)性用戶無需了解設(shè)備的具體特性,而能夠采用一種通用的方式實(shí)現(xiàn)對(duì)所有設(shè)備的操作例如:虛擬打印機(jī)例如:Print程序/數(shù)據(jù)/文檔:文件管理、信息管理文件:File將邏輯完整的信息資源(程序和數(shù)據(jù))組織成一個(gè)個(gè)單體,存放在輔存中,并為其賦予一個(gè)名字文件名:基本名.擴(kuò)展名區(qū)別不同文件類型提供用戶對(duì)文件的操作創(chuàng)建、打開、讀寫、刪除、關(guān)閉、檢索、修改……保證文件的安全性共享、保密、保護(hù)、可靠性……對(duì)輔存空間進(jìn)行管理分層(樹形)結(jié)構(gòu):分區(qū)→文件夾(目錄)→文件程序/數(shù)據(jù)/文檔:文件管理、信息管理硬盤C:D:E:WindowsMusic周杰倫Systemver.dll01.wma02.mp3該文件的路徑c:\windows\system\ver.dllOS的虛擬機(jī)功能:VirtualMachine如果沒有操作系統(tǒng)?用戶必須直接面對(duì)硬件進(jìn)行復(fù)雜的程序設(shè)計(jì)!任務(wù)管理內(nèi)存管理設(shè)備管理文件管理人機(jī)交互用戶面對(duì)的是什么機(jī)器?三、操作系統(tǒng)的結(jié)構(gòu)組成主要功能組件任務(wù)管理內(nèi)存管理設(shè)備管理文件管理人機(jī)交互調(diào)度程序分派程序內(nèi)存管理程序設(shè)備驅(qū)動(dòng)程序文件管理程序用戶接口程序OS內(nèi)核kernel核心態(tài)用戶態(tài)OS的工作在兩種狀態(tài)間不斷切換命令接口Shell:命令解釋器,命令腳本語言GUI:GraphicalUserInterface,圖形用戶接口編程接口系統(tǒng)調(diào)用:通過編號(hào)調(diào)用OS的眾多內(nèi)部例程用戶接口程序:提供人機(jī)交互Windows“命令提示符”……SystemCall……系統(tǒng)調(diào)用表用戶態(tài)核心態(tài)系統(tǒng)例程系統(tǒng)調(diào)用向用戶屏蔽了OS的內(nèi)部細(xì)節(jié)不同OS所提供的系統(tǒng)調(diào)用不同調(diào)度程序與分派程序:協(xié)調(diào)進(jìn)程管理進(jìn)程:現(xiàn)代操作系統(tǒng)最核心的概念之一進(jìn)程:Process,執(zhí)行中的程序具有動(dòng)態(tài)行為特征:位置與現(xiàn)場(PC、寄存器、存儲(chǔ)器)具有并發(fā)操作特征:同一程序可以有多個(gè)進(jìn)程執(zhí)行具有三種工作狀態(tài):運(yùn)行Run、就緒Ready、等待Wait多個(gè)進(jìn)程的并發(fā)執(zhí)行存在什么問題?對(duì)系統(tǒng)資源的沖突和競爭

調(diào)度程序與分派程序:調(diào)度進(jìn)程狀態(tài)、分派進(jìn)程執(zhí)行內(nèi)存調(diào)度程序Scheduler:跟蹤進(jìn)程P0表項(xiàng)P1表項(xiàng)P1的起始地址P1的優(yōu)先權(quán)P1的當(dāng)前狀態(tài)P0P1P2進(jìn)程表OSKernelP2表項(xiàng)當(dāng)啟動(dòng)任務(wù)2時(shí),由S添加相應(yīng)進(jìn)程表項(xiàng)當(dāng)結(jié)束任務(wù)0時(shí),由S刪除相應(yīng)進(jìn)程表項(xiàng)當(dāng)進(jìn)程狀態(tài)發(fā)生變化時(shí),由S修改相應(yīng)表項(xiàng)當(dāng)進(jìn)程優(yōu)先權(quán)發(fā)生變化時(shí),由S修改相應(yīng)表項(xiàng)不難看出:任何時(shí)候,進(jìn)程表中只有一個(gè)表項(xiàng)狀態(tài)為Run進(jìn)程池Scheduler分派程序Dispatcher:切換進(jìn)程P0P1Pn-2程序計(jì)數(shù)器PCPx■運(yùn)行進(jìn)程

■就緒進(jìn)程

■等待進(jìn)程

Dispatcher中斷服務(wù)程序時(shí)間片定時(shí)器定時(shí)到!P2Pn-1P0P1切換P3P1切換切換切換CPU時(shí)間軸中斷中斷中斷中斷進(jìn)程切換、上下文切換:顯然會(huì)產(chǎn)生額外開銷,但多任務(wù)分時(shí)操作的高效率如何體現(xiàn)?內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用內(nèi)存OSKernel最簡單的管理:單一分區(qū)除OS外,存儲(chǔ)空間僅分配給一個(gè)進(jìn)程使用缺陷:內(nèi)存利用率不高、不能實(shí)現(xiàn)多任務(wù)

更有效的管理:多分區(qū)空間被劃分為多個(gè)分區(qū)并提供給多個(gè)進(jìn)程分區(qū)1(16MB)分區(qū)2(16MB)分區(qū)3(16MB)分區(qū)4(16MB)方法1:大小相同的固定分區(qū)方法2:大小不同的固定分區(qū)分區(qū)1(2MB)分區(qū)2(4MB)分區(qū)3(8MB)分區(qū)4(32MB)問題?

對(duì)并發(fā)執(zhí)行進(jìn)程數(shù)量的影響?

方法3:按進(jìn)程的需求和內(nèi)存的狀況動(dòng)態(tài)分配內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用內(nèi)存OSKernel最簡單的管理:單一分區(qū)除OS外,存儲(chǔ)空間僅分配給一個(gè)進(jìn)程使用缺陷:內(nèi)存利用率不高、不能實(shí)現(xiàn)多任務(wù)

更有效的管理:多分區(qū)空間被劃分為多個(gè)分區(qū)并提供給多個(gè)進(jìn)程P1(8MB)方法1:大小相同的固定分區(qū)方法2:大小不同的固定分區(qū)問題?

對(duì)并發(fā)執(zhí)行進(jìn)程數(shù)量的影響?

方法3:按進(jìn)程的需求和內(nèi)存的狀況動(dòng)態(tài)分配P2(16MB)P3(4MB)P4(2MB)P5(64MB)隨時(shí)間的推移?

內(nèi)存分配需解決的2個(gè)主要問題

分配效率、減少碎片

分頁機(jī)制:將內(nèi)存和進(jìn)程需求以頁為單位劃分海量輔存1024MB虛存512MB內(nèi)存內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用Page0Page1Page2Pagen-1內(nèi)存管理程序Page0Page1Pagei現(xiàn)代內(nèi)存管理的重要任務(wù)虛擬存儲(chǔ)

我需要1GB內(nèi)存通過頁面調(diào)度:可保證虛存中的任何一頁都進(jìn)入到內(nèi)存中設(shè)備驅(qū)動(dòng)程序:連接設(shè)備與用戶軟件用戶I/O軟件打印機(jī)驅(qū)動(dòng)程序顯示器驅(qū)動(dòng)程序Print硬盤驅(qū)動(dòng)程序OSkernel可獨(dú)立于設(shè)備的技術(shù)細(xì)節(jié)不同類型的設(shè)備有各自特定的驅(qū)動(dòng)程序

中斷:I/O設(shè)備管理的關(guān)鍵技術(shù)當(dāng)CPU接到外設(shè)的I/O請(qǐng)求時(shí),則暫停當(dāng)前工作,轉(zhuǎn)而為I/O服務(wù),并隨后再返回原來暫停處繼續(xù)中斷控制器CPU外設(shè)1外設(shè)2外設(shè)n。。。中斷請(qǐng)求中斷響應(yīng)類型號(hào)內(nèi)存中斷向量表處理程序類型號(hào)I/O軟件的分層中斷處理程序設(shè)備驅(qū)動(dòng)程序設(shè)備無關(guān)程序用戶I/O軟件文件管理程序:實(shí)現(xiàn)“按名存取”硬盤i簇i+1簇……i-1簇……i簇表項(xiàng)文件分配表FAT

文件名屬性起始簇號(hào)長度文件n表項(xiàng)文件目錄表FDT

當(dāng)創(chuàng)建文件時(shí):在FDT中添加表項(xiàng)在FAT中尋找可用簇在FDT中填入起始簇號(hào)

當(dāng)讀寫文件時(shí):在FDT中查找表項(xiàng)找到文件起始簇號(hào)

定位到文件起始位置

當(dāng)刪除文件時(shí):在FDT中查找表項(xiàng)找到文件起始簇號(hào)

在FAT中抹掉起始簇號(hào)

刪除后,文件數(shù)據(jù)真的沒有了嗎?四、幾個(gè)重要問題進(jìn)程間的同步與互斥進(jìn)程間的通信關(guān)系進(jìn)程間存在直接關(guān)系:利用緩沖區(qū)傳遞數(shù)據(jù)進(jìn)程間存在間接關(guān)系:申請(qǐng)同一打印機(jī)進(jìn)程3進(jìn)程4內(nèi)存緩沖區(qū)進(jìn)程1進(jìn)程2同步、互斥分別解決以上兩類關(guān)系信號(hào)量Semaphore:進(jìn)程之間的旗語考慮某進(jìn)程P請(qǐng)求訪問打印機(jī)進(jìn)程P向OS提出I/O請(qǐng)求若打印機(jī)空閑,OS設(shè)置進(jìn)程P就緒若打印機(jī)正忙,OS設(shè)置進(jìn)程P等待內(nèi)存進(jìn)程POS關(guān)鍵是:OS如何跟蹤打印機(jī)的狀態(tài)?

狀態(tài)標(biāo)志單元0/1指示打印機(jī)可用的信號(hào)量打印驅(qū)動(dòng)程序再考慮打印機(jī)驅(qū)動(dòng)程序一次只能由一個(gè)進(jìn)程執(zhí)行進(jìn)程間的互斥臨界區(qū)臨界資源獨(dú)占資源

結(jié)論:對(duì)臨界資源,進(jìn)程間必須實(shí)現(xiàn)互斥訪問死鎖:互斥可能引起的問題兩列火車互不讓路,從而造成死鎖什么原因ProcessAProcessB打印機(jī)光驅(qū)死鎖:多個(gè)進(jìn)程因請(qǐng)求對(duì)方的獨(dú)占資源而相互永久等待如何解決?殺掉其中一個(gè)進(jìn)程進(jìn)程一次性請(qǐng)求所需全部資源假脫機(jī):進(jìn)程共享虛擬設(shè)備“饑餓”問題:因?yàn)榛コ?,某進(jìn)程可能較長時(shí)間得不到其所需獨(dú)占資源操作系統(tǒng)的安全:決定整個(gè)系統(tǒng)安全系統(tǒng)硬件、軟件資源操作系統(tǒng)抵御外部非法侵入用戶注冊分配用戶不同的權(quán)限登錄(身份驗(yàn)證)審計(jì)(監(jiān)視)系統(tǒng)行為如何防止內(nèi)部非法攻擊?內(nèi)存進(jìn)程POS

操作系統(tǒng)的安全:決定整個(gè)系統(tǒng)安全進(jìn)程P訪問限制區(qū)域

CPU上界寄存器下界寄存器為CPU設(shè)置特權(quán)指令和特權(quán)模式任務(wù)進(jìn)程工作在非特權(quán)模式若進(jìn)程執(zhí)行特權(quán)指令,CPU將轉(zhuǎn)入特權(quán)模式,從而引發(fā)中斷若進(jìn)程P可無限制訪問內(nèi)存?甚至可以破壞OS若進(jìn)程P可修改邊界寄存器?五、常用操作系統(tǒng)不同類型的操作系統(tǒng)Windows目前個(gè)人電腦的主流OS多任務(wù)、多用戶、GUI、應(yīng)用軟件豐富DOS:DiskOperatingSystem曾經(jīng)被認(rèn)為16位OS的標(biāo)準(zhǔn)單任務(wù)、單用戶、字符操作界面Unix高端工作站和服務(wù)器的主要OS多任務(wù)、多用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論