




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
計算機科學導論龔捷西南石油大學計算機科學學院電郵:gongjie.swpu@電話言計算機硬件系統(tǒng)各類應用軟件網(wǎng)絡瀏覽、游戲、影音娛樂、機票預定、銀行業(yè)務、文字處理、數(shù)據(jù)管理……操作系統(tǒng)
第4章操作系統(tǒng)幾個重要問題4.操作系統(tǒng)的結構組成3.操作系統(tǒng)的功能2.什么是操作系統(tǒng)1.常用操作系統(tǒng)5.一、什么是操作系統(tǒng)最靠近硬件的軟件讓用戶無需了解計算機內(nèi)部工作原理而使用計算機分配、管理、調(diào)度計算機的各類硬、軟件資源硬、軟件之間的接口和橋梁復雜而龐大的系統(tǒng)軟件通常存放于輔存中必須經(jīng)過引導才能開始工作操作系統(tǒng)OS:OperatingSystem系統(tǒng)上電BIOS自檢正常?引導OS內(nèi)核OS工作系統(tǒng)提示錯誤NoYesBasicI/OSystem通常存放于ROMBoot從外存讀入內(nèi)存OS的由來計算機的手工操作階段
任務簡單,對資源利用率要求不高,沒有OS的需求或概念批處理操作階段
應用面擴大,需要對同一批次的作業(yè)運行進行調(diào)度搜集作業(yè)作業(yè)1作業(yè)2作業(yè)n制作卡片寫磁帶讀磁帶運行作業(yè)寫磁帶讀磁帶打印結果散發(fā)結果結果1結果2結果n......控制程序:OS的雛形問題:CPU效率較低1、若某個作業(yè)僅進行簡單的I/O操作?2、若多個作業(yè)都要求排隊靠前?多道程序運行階段
應用進一步發(fā)生改變,對CPU的利用率要求提高內(nèi)存作業(yè)1作業(yè)2作業(yè)3作業(yè)調(diào)度問題:用戶無法自己與作業(yè)交互1、若負責機票預定的職員在處理業(yè)務?2、若用戶在撰寫一個文檔?3、若用戶在玩游戲?4、……分時操作階段提供多個用戶與單個CPU的各自獨立交互功能終端2終端3終端4終端5終端1主機OS:資源管理 人機交互Unix最著名的分時OS分時操作:多個任務在微觀上串行,但宏觀上并行又稱為并發(fā)操作現(xiàn)代操作系統(tǒng)個人電腦的普及促進了操作系統(tǒng)的發(fā)展DOS、Windows、Linux……網(wǎng)絡操作系統(tǒng)屏蔽網(wǎng)絡環(huán)境下的異構特性,提供統(tǒng)一通信協(xié)議分布式操作系統(tǒng)在分布式環(huán)境中為用戶提供透明的統(tǒng)一資源管理服務實時操作系統(tǒng)特別強調(diào)系統(tǒng)對外界請求(即人機交互)的響應速度嵌入式操作系統(tǒng)具有較少功能,但在體積、功耗、響應等方面要求較高手機中的OS:Symbian、Android、WindowsPhone7……
二、操作系統(tǒng)的功能軟件資源硬件資源兩大功能:資源管理、人機交互程序/數(shù)據(jù)/文檔存儲器處理器I/O設備用戶接口操作系統(tǒng)人機交互資源管理處理器:處理機管理、任務管理任務調(diào)度為各個任務分配CPU時間片,在任務之間進行切換任務1任務2任務3CPU時間軸如何分配?怎樣調(diào)度?有沒有問題?不同系統(tǒng)、不同情況下的策略不同1.若任務的實時性要求不同,應平等分配嗎?2.若任務需等待外部事件后才能繼續(xù),還應再分配嗎?3.在多個等待執(zhí)行的任務中,應選擇哪一個繼續(xù)呢?4.當執(zhí)行過程中出現(xiàn)更高優(yōu)先級任務,應如何處理呢?任務的優(yōu)先權搶奪調(diào)度:實時OS的特征處理機管理的目標:合理調(diào)度多個任務,實現(xiàn)對處理機資源的高效利用存儲器:內(nèi)存管理內(nèi)存程序代碼區(qū)程序1程序2考慮單任務環(huán)境下的內(nèi)存管理數(shù)據(jù)區(qū)程序3相對比較簡單存儲器:內(nèi)存管理內(nèi)存程序1程序2程序3考慮多任務環(huán)境下的內(nèi)存管理考慮單任務環(huán)境下的內(nèi)存管理內(nèi)存分配為每個任務的運行分配內(nèi)存空間當任務結束時,回收其內(nèi)存空間并統(tǒng)一管理任務間保護保護多個用戶程序之間不會相互影響保護用戶程序不會影響系統(tǒng)程序思考:若程序所需內(nèi)存量超過實際可用內(nèi)存量,應怎么處理?采用虛擬存儲,將執(zhí)行程序的一部分常駐內(nèi)存,其它部分則根據(jù)需要在內(nèi)、外存之間切換需實現(xiàn)由邏輯地址到物理地址的轉(zhuǎn)換或映射存儲管理:很大程度上影響到處理機管理I/O設備:設備管理提供用戶程序和外設之間的接口分配設備啟動設備回收設備屏蔽I/O設備與CPU的速度差異數(shù)據(jù)緩沖虛擬設備技術實現(xiàn)設備無關性用戶無需了解設備的具體特性,而能夠采用一種通用的方式實現(xiàn)對所有設備的操作例如:虛擬打印機例如:Print程序/數(shù)據(jù)/文檔:文件管理、信息管理文件:File將邏輯完整的信息資源(程序和數(shù)據(jù))組織成一個個單體,存放在輔存中,并為其賦予一個名字文件名:基本名.擴展名區(qū)別不同文件類型提供用戶對文件的操作創(chuàng)建、打開、讀寫、刪除、關閉、檢索、修改……保證文件的安全性共享、保密、保護、可靠性……對輔存空間進行管理分層(樹形)結構:分區(qū)→文件夾(目錄)→文件程序/數(shù)據(jù)/文檔:文件管理、信息管理硬盤C:D:E:WindowsMusic周杰倫Systemver.dll01.wma02.mp3該文件的路徑c:\windows\system\ver.dllOS的虛擬機功能:VirtualMachine如果沒有操作系統(tǒng)?用戶必須直接面對硬件進行復雜的程序設計!任務管理內(nèi)存管理設備管理文件管理人機交互用戶面對的是什么機器?三、操作系統(tǒng)的結構組成主要功能組件任務管理內(nèi)存管理設備管理文件管理人機交互調(diào)度程序分派程序內(nèi)存管理程序設備驅(qū)動程序文件管理程序用戶接口程序OS內(nèi)核kernel核心態(tài)用戶態(tài)OS的工作在兩種狀態(tài)間不斷切換命令接口Shell:命令解釋器,命令腳本語言GUI:GraphicalUserInterface,圖形用戶接口編程接口系統(tǒng)調(diào)用:通過編號調(diào)用OS的眾多內(nèi)部例程用戶接口程序:提供人機交互Windows“命令提示符”……SystemCall……系統(tǒng)調(diào)用表用戶態(tài)核心態(tài)系統(tǒng)例程系統(tǒng)調(diào)用向用戶屏蔽了OS的內(nèi)部細節(jié)不同OS所提供的系統(tǒng)調(diào)用不同調(diào)度程序與分派程序:協(xié)調(diào)進程管理進程:現(xiàn)代操作系統(tǒng)最核心的概念之一進程:Process,執(zhí)行中的程序具有動態(tài)行為特征:位置與現(xiàn)場(PC、寄存器、存儲器)具有并發(fā)操作特征:同一程序可以有多個進程執(zhí)行具有三種工作狀態(tài):運行Run、就緒Ready、等待Wait多個進程的并發(fā)執(zhí)行存在什么問題?對系統(tǒng)資源的沖突和競爭
調(diào)度程序與分派程序:調(diào)度進程狀態(tài)、分派進程執(zhí)行內(nèi)存調(diào)度程序Scheduler:跟蹤進程P0表項P1表項P1的起始地址P1的優(yōu)先權P1的當前狀態(tài)P0P1P2進程表OSKernelP2表項當啟動任務2時,由S添加相應進程表項當結束任務0時,由S刪除相應進程表項當進程狀態(tài)發(fā)生變化時,由S修改相應表項當進程優(yōu)先權發(fā)生變化時,由S修改相應表項不難看出:任何時候,進程表中只有一個表項狀態(tài)為Run進程池Scheduler分派程序Dispatcher:切換進程P0P1Pn-2程序計數(shù)器PCPx■運行進程
■就緒進程
■等待進程
Dispatcher中斷服務程序時間片定時器定時到!P2Pn-1P0P1切換P3P1切換切換切換CPU時間軸中斷中斷中斷中斷進程切換、上下文切換:顯然會產(chǎn)生額外開銷,但多任務分時操作的高效率如何體現(xiàn)?內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用內(nèi)存OSKernel最簡單的管理:單一分區(qū)除OS外,存儲空間僅分配給一個進程使用缺陷:內(nèi)存利用率不高、不能實現(xiàn)多任務
更有效的管理:多分區(qū)空間被劃分為多個分區(qū)并提供給多個進程分區(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)問題?
對并發(fā)執(zhí)行進程數(shù)量的影響?
方法3:按進程的需求和內(nèi)存的狀況動態(tài)分配內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用內(nèi)存OSKernel最簡單的管理:單一分區(qū)除OS外,存儲空間僅分配給一個進程使用缺陷:內(nèi)存利用率不高、不能實現(xiàn)多任務
更有效的管理:多分區(qū)空間被劃分為多個分區(qū)并提供給多個進程P1(8MB)方法1:大小相同的固定分區(qū)方法2:大小不同的固定分區(qū)問題?
對并發(fā)執(zhí)行進程數(shù)量的影響?
方法3:按進程的需求和內(nèi)存的狀況動態(tài)分配P2(16MB)P3(4MB)P4(2MB)P5(64MB)隨時間的推移?
內(nèi)存分配需解決的2個主要問題
分配效率、減少碎片
分頁機制:將內(nèi)存和進程需求以頁為單位劃分海量輔存1024MB虛存512MB內(nèi)存內(nèi)存管理程序:協(xié)調(diào)內(nèi)存使用Page0Page1Page2Pagen-1內(nèi)存管理程序Page0Page1Pagei現(xiàn)代內(nèi)存管理的重要任務虛擬存儲
我需要1GB內(nèi)存通過頁面調(diào)度:可保證虛存中的任何一頁都進入到內(nèi)存中設備驅(qū)動程序:連接設備與用戶軟件用戶I/O軟件打印機驅(qū)動程序顯示器驅(qū)動程序Print硬盤驅(qū)動程序OSkernel可獨立于設備的技術細節(jié)不同類型的設備有各自特定的驅(qū)動程序
中斷:I/O設備管理的關鍵技術當CPU接到外設的I/O請求時,則暫停當前工作,轉(zhuǎn)而為I/O服務,并隨后再返回原來暫停處繼續(xù)中斷控制器CPU外設1外設2外設n。。。中斷請求中斷響應類型號內(nèi)存中斷向量表處理程序類型號I/O軟件的分層中斷處理程序設備驅(qū)動程序設備無關程序用戶I/O軟件文件管理程序:實現(xiàn)“按名存取”硬盤i簇i+1簇……i-1簇……i簇表項文件分配表FAT
文件名屬性起始簇號長度文件n表項文件目錄表FDT
當創(chuàng)建文件時:在FDT中添加表項在FAT中尋找可用簇在FDT中填入起始簇號
當讀寫文件時:在FDT中查找表項找到文件起始簇號
定位到文件起始位置
當刪除文件時:在FDT中查找表項找到文件起始簇號
在FAT中抹掉起始簇號
刪除后,文件數(shù)據(jù)真的沒有了嗎?四、幾個重要問題進程間的同步與互斥進程間的通信關系進程間存在直接關系:利用緩沖區(qū)傳遞數(shù)據(jù)進程間存在間接關系:申請同一打印機進程3進程4內(nèi)存緩沖區(qū)進程1進程2同步、互斥分別解決以上兩類關系信號量Semaphore:進程之間的旗語考慮某進程P請求訪問打印機進程P向OS提出I/O請求若打印機空閑,OS設置進程P就緒若打印機正忙,OS設置進程P等待內(nèi)存進程POS關鍵是:OS如何跟蹤打印機的狀態(tài)?
狀態(tài)標志單元0/1指示打印機可用的信號量打印驅(qū)動程序再考慮打印機驅(qū)動程序一次只能由一個進程執(zhí)行進程間的互斥臨界區(qū)臨界資源獨占資源
結論:對臨界資源,進程間必須實現(xiàn)互斥訪問死鎖:互斥可能引起的問題兩列火車互不讓路,從而造成死鎖什么原因ProcessAProcessB打印機光驅(qū)死鎖:多個進程因請求對方的獨占資源而相互永久等待如何解決?殺掉其中一個進程進程一次性請求所需全部資源假脫機:進程共享虛擬設備“饑餓”問題:因為互斥,某進程可能較長時間得不到其所需獨占資源操作系統(tǒng)的安全:決定整個系統(tǒng)安全系統(tǒng)硬件、軟件資源操作系統(tǒng)抵御外部非法侵入用戶注冊分配用戶不同的權限登錄(身份驗證)審計(監(jiān)視)系統(tǒng)行為如何防止內(nèi)部非法攻擊?內(nèi)存進程POS
操作系統(tǒng)的安全:決定整個系統(tǒng)安全進程P訪問限制區(qū)域
CPU上界寄存器下界寄存器為CPU設置特權指令和特權模式任務進程工作在非特權模式若進程執(zhí)行特權指令,CPU將轉(zhuǎn)入特權模式,從而引發(fā)中斷若進程P可無限制訪問內(nèi)存?甚至可以破壞OS若進程P可修改邊界寄存器?五、常用操作系統(tǒng)不同類型的操作系統(tǒng)Windows目前個人電腦的主流OS多任務、多用戶、GUI、應用軟件豐富DOS:DiskOperatingSystem曾經(jīng)被認為16位OS的標準單任務、單用戶、字符操作界面Unix高端工作站和服務器的主要OS多任務、多用戶
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園林綠化土壤改良技術方案
- 重難點解析人教版八年級上冊物理物態(tài)變化《溫度》定向訓練試卷(附答案詳解)
- 項目施工班組管理與培訓方案
- 建筑智能照明控制系統(tǒng)方案
- 考點解析-人教版九年級物理《電壓電阻》定向練習試題(含答案及解析)
- 基于機器人位置信息的高溫爐管缺陷檢測定位方法研究
- 遼寧省沈陽市第二十一中學高中英語 Module 6 Films and TV Programmes Period 1 Introduction and Cultural Corner說課稿 外研版必修2
- 污水回用系統(tǒng)排水技術方案
- 勞動項目九 自制書簽說課稿-2025-2026學年小學勞動人教版二年級上冊-人教版
- 難點解析-人教版八年級上冊物理物態(tài)變化《汽化和液化》專題攻克試卷(含答案詳解)
- 四川分行成都海椒市支行建設方案匯報
- 2025核輻射突發(fā)事件放射性污染人員洗消流程及技術要求
- 精神科護理安全管理與急危事件處理
- 《兔子燈》(教案)-蘇科版勞動六年級上冊
- 內(nèi)蒙古版綜合實踐活動五年級上冊全冊教案
- 食品加工鍋爐安全控制流程
- 同等學力申碩-H001356法學學科綜合知識考點匯編
- 品格教育實踐與策略
- 淺談中職班主任管理策略
- 【六年級上冊語文】 必背重點成語及釋義
- 人工智能導論-第2版-全套課件
評論
0/150
提交評論