第4章-操作系統_第1頁
第4章-操作系統_第2頁
第4章-操作系統_第3頁
第4章-操作系統_第4頁
第4章-操作系統_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機科學導論龔捷西南石油大學計算機科學學院電郵:gongjie.swpu@電話言計算機硬件系統各類應用軟件網絡瀏覽、游戲、影音娛樂、機票預定、銀行業務、文字處理、數據管理……操作系統

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

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

應用面擴大,需要對同一批次的作業運行進行調度搜集作業作業1作業2作業n制作卡片寫磁帶讀磁帶運行作業寫磁帶讀磁帶打印結果散發結果結果1結果2結果n......控制程序:OS的雛形問題:CPU效率較低1、若某個作業僅進行簡單的I/O操作?2、若多個作業都要求排隊靠前?多道程序運行階段

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

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

調度程序與分派程序:調度進程狀態、分派進程執行內存調度程序Scheduler:跟蹤進程P0表項P1表項P1的起始地址P1的優先權P1的當前狀態P0P1P2進程表OSKernelP2表項當啟動任務2時,由S添加相應進程表項當結束任務0時,由S刪除相應進程表項當進程狀態發生變化時,由S修改相應表項當進程優先權發生變化時,由S修改相應表項不難看出:任何時候,進程表中只有一個表項狀態為Run進程池Scheduler分派程序Dispatcher:切換進程P0P1Pn-2程序計數器PCPx■運行進程

■就緒進程

■等待進程

Dispatcher中斷服務程序時間片定時器定時到!P2Pn-1P0P1切換P3P1切換切換切換CPU時間軸中斷中斷中斷中斷進程切換、上下文切換:顯然會產生額外開銷,但多任務分時操作的高效率如何體現?內存管理程序:協調內存使用內存OSKernel最簡單的管理:單一分區除OS外,存儲空間僅分配給一個進程使用缺陷:內存利用率不高、不能實現多任務

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

對并發執行進程數量的影響?

方法3:按進程的需求和內存的狀況動態分配內存管理程序:協調內存使用內存OSKernel最簡單的管理:單一分區除OS外,存儲空間僅分配給一個進程使用缺陷:內存利用率不高、不能實現多任務

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

對并發執行進程數量的影響?

方法3:按進程的需求和內存的狀況動態分配P2(16MB)P3(4MB)P4(2MB)P5(64MB)隨時間的推移?

內存分配需解決的2個主要問題

分配效率、減少碎片

分頁機制:將內存和進程需求以頁為單位劃分海量輔存1024MB虛存512MB內存內存管理程序:協調內存使用Page0Page1Page2Pagen-1內存管理程序Page0Page1Pagei現代內存管理的重要任務虛擬存儲

我需要1GB內存通過頁面調度:可保證虛存中的任何一頁都進入到內存中設備驅動程序:連接設備與用戶軟件用戶I/O軟件打印機驅動程序顯示器驅動程序Print硬盤驅動程序OSkernel可獨立于設備的技術細節不同類型的設備有各自特定的驅動程序

中斷:I/O設備管理的關鍵技術當CPU接到外設的I/O請求時,則暫停當前工作,轉而為I/O服務,并隨后再返回原來暫停處繼續中斷控制器CPU外設1外設2外設n。。。中斷請求中斷響應類型號內存中斷向量表處理程序類型號I/O軟件的分層中斷處理程序設備驅動程序設備無關程序用戶I/O軟件文件管理程序:實現“按名存取”硬盤i簇i+1簇……i-1簇……i簇表項文件分配表FAT

文件名屬性起始簇號長度文件n表項文件目錄表FDT

當創建文件時:在FDT中添加表項在FAT中尋找可用簇在FDT中填入起始簇號

當讀寫文件時:在FDT中查找表項找到文件起始簇號

定位到文件起始位置

當刪除文件時:在FDT中查找表項找到文件起始簇號

在FAT中抹掉起始簇號

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

狀態標志單元0/1指示打印機可用的信號量打印驅動程序再考慮打印機驅動程序一次只能由一個進程執行進程間的互斥臨界區臨界資源獨占資源

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

操作系統的安全:決定整個系統安全進程P訪問限制區域

CPU上界寄存器下界寄存器為CPU設置特權指令和特權模式任務進程工作在非特權模式若進程執行特權指令,CPU將轉入特權模式,從而引發中斷若進程P可無限制訪問內存?甚至可以破壞OS若進程P可修改邊界寄存器?五、常用操作系統不同類型的操作系統Windows目前個人電腦的主流OS多任務、多用戶、GUI、應用軟件豐富DOS:DiskOperatingSystem曾經被認為16位OS的標準單任務、單用戶、字符操作界面Unix高端工作站和服務器的主要OS多任務、多用戶

溫馨提示

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

評論

0/150

提交評論