




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
操作系統(tǒng)葉長青
本次課程主要內(nèi)容基本概念------關于操作系統(tǒng)的概要介紹進程管理------如何讓電腦同時運行多個程序內(nèi)存管理------如何把有限的內(nèi)存資源分給每一個程序來用
設備管理------如何組織其他設備一起工作文件管理------如何保存和管理你的數(shù)據(jù)第一章操作系統(tǒng)概論操作系統(tǒng)的主要角色:管理者:管理計算機各種資源服務者:為程序運行創(chuàng)造環(huán)境定義以及一些概念定義:操作系統(tǒng)是管理系統(tǒng)資源、控制程序執(zhí)行、改善人機界面、提供各種服務,并合理組織計算機工作流程和為用戶方便而有效地使用計算機提供良好的最基本的系統(tǒng)軟件。目的:讓用戶更有效、更方便地使用計算機基本任務:創(chuàng)建可供用戶使用的抽象資源,管理這些資源的并發(fā)使用,為應用程序提供良好的運行環(huán)境現(xiàn)代計算機系統(tǒng)的結(jié)構組成---硬件部分中央處理器(CPU)寄存器存儲器I/O設備現(xiàn)代計算機系統(tǒng)的結(jié)構組成---軟件部分…用戶1用戶2用戶3用戶4用戶n財務系統(tǒng)航空訂票上網(wǎng)瀏覽電子商務科學計算(應用程序)編譯程序匯編程序編輯程序數(shù)據(jù)庫(系統(tǒng)程序)操作系統(tǒng)計算機硬件……操作系統(tǒng)管理好硬件資源,屏蔽了最底層硬件接口使用上的復雜性,然后向上提供了更容易使用的接口作為一個程序來講,當你運行的時候,你并不會直接用到硬件接口,你用到的是操作系統(tǒng)提供的接口感覺上,程序似乎是運行在操作系統(tǒng)這一臺“虛擬計算機”上計算機中的資源,存在兩個問題:數(shù)量不夠使用不方便要管理好資源,操作系統(tǒng)就要盡量解決好這兩個問題操作系統(tǒng)管理資源的方法之一:資源復用既然資源不夠,那就盡量實現(xiàn)共享空分復用共享:把資源細分成更小的單位,把這些單位分給各個進程使用典型例子:內(nèi)存,磁盤時分復用共享:資源本身不能再分,那么可以把使用它的時間細分,把時間片分給各個進程,大家輪流用典型:CPU之二:資源虛化這個技術源于以下的問題:如果大家同時都要使用一種獨占設備,怎么辦?比如多個用戶同時請求打印服務通俗地說,所謂虛化,就是創(chuàng)造出一種虛擬的資源,然后將若干個這種虛擬資源,對應于一種實際的真實資源,進程需要使用真實資源時,只需要使用這種虛擬資源即可,由操作系統(tǒng)來負責協(xié)調(diào)各個虛擬資源同時對真實資源的訪問,進程無需關心競爭問題。典型例子:虛擬打印機SPOOLing技術:將物理上的一臺獨占設備轉(zhuǎn)化成邏輯上的多臺虛擬打印機,每個進程都有自己的虛擬打印機。之三:資源抽象計算機的外圍設備,如磁盤,內(nèi)存等,都有對外的接口,但很難于直接使用,資源抽象就是為了解決這個問題思路:對內(nèi)封裝實現(xiàn)細節(jié),對外提供更方便的接口做法:創(chuàng)建軟件來屏蔽硬件資源的物理特性和接口細節(jié),簡化對硬件操作、控制和使用,使程序員在編程序時,不需要了解硬件知識,而專心于問題的解決。例如:CPU進程磁盤文件顯示器窗口物理計算機虛擬機操作系統(tǒng)中的三種基礎的抽象:進程抽象:對于運行的程序在CPU上的狀態(tài)的一種抽象,包括處理器狀態(tài)(程序計數(shù)器、通用寄存器、堆棧指針寄存器等)和內(nèi)存狀態(tài)虛存抽象:物理內(nèi)存被抽象成一種數(shù)組形式的虛擬主存,給進程造成獨占整個主存的假象,由操作系統(tǒng)負責管理虛擬主存到真實物理內(nèi)存的對應。文件抽象:將磁盤、光盤的存儲介質(zhì)設備上存放的信息抽象為一個邏輯字節(jié)流,稱為“文件”,用戶通過創(chuàng)建、打開、讀寫、關閉等操作來控制文件,或者控制磁盤等的運行。抽象的好處屏蔽使用上的復雜性防止了程序員有意或無意的對資源的濫用操作系統(tǒng)的作用、功能、特性和發(fā)展歷史操作系統(tǒng)三個作用作為資源的管理者和控制者作為用戶接口和服務提供者作為擴展機或虛擬機操作系統(tǒng)的功能:處理器管理存儲器管理設備管理文件管理網(wǎng)絡與通信管理提供用戶接口處理器管理----解決如何同時運行多個程序進程控制和管理進程同步和互斥進程間通信進程死鎖的防止和解決進程調(diào)度存儲器管理---解決如何更有效地利用內(nèi)存內(nèi)存分配與回收地址變換與保護內(nèi)存共享存儲擴充設備管理---怎么使用外圍設備設備中斷管理緩沖區(qū)管理邏輯設備到真實設備的映射設備分配與回收實現(xiàn)虛擬設備文件管理---怎么保存和讀取數(shù)據(jù)提供文件的物理組織方法提供文件的邏輯組織方法文件存取和使用目錄管理文件共享和安全性控制網(wǎng)絡與通信管理---如何與另一臺計算機通信網(wǎng)絡資源管理數(shù)據(jù)通信管理網(wǎng)絡管理提供用戶接口---讓別人更容易使用自己程序接口:給程序員編程時用的接口操作接口:給使用操作系統(tǒng)的人用的接口操作系統(tǒng)特性:并發(fā)性共享性異步性并發(fā)性:指兩個或兩個以上的活動或事件在同一時間間隔內(nèi)發(fā)生好處:可以提高硬件設備的利用率,提高系統(tǒng)的效率提高并發(fā)性,目的是盡量不讓設備閑置,能夠最大限度的發(fā)揮效率共享性:指計算機系統(tǒng)中的資源可以被多個并發(fā)執(zhí)行程序共同使用目的也是盡量提高設備的利用率,提高整個系統(tǒng)的效率異步性:在操作系統(tǒng)運行期間,由于存在并行程序,會產(chǎn)生各種隨機事件,在任何可能的時間點上出現(xiàn)比如,操作系統(tǒng)隨時需要處理來自鍵盤的輸入,響應各種設備產(chǎn)生的中斷操作系統(tǒng)的發(fā)展歷史事物的發(fā)展,總是經(jīng)歷從低到高,從簡單到復雜的發(fā)展歷程,操作系統(tǒng)的歷史并不悠久,但發(fā)展很快。大致可以分為三個階段:人工操作階段:這個階段計算機的特點:體積大,速度慢,只能用最原始的機器語言,手工操作。進行數(shù)據(jù)輸入的時候,把數(shù)據(jù)制作在卡片和紙帶上,然后手工輸入計算機程序的運行也要靠操作員開關每時刻只能運行一個程序管理程序階段:由一些程序來代替原來的手工操作,出現(xiàn)了裝入程序,匯編程序,編譯程序,鏈接程序等,并且出現(xiàn)了一些函數(shù)庫。但并未形成一套整體的操作系統(tǒng)多道程序設計與操作系統(tǒng)的形成:操作系統(tǒng)的功能,與硬件的水平息息相關,早期的硬件還不具備支持多道程序設計。中斷和通道技術的出現(xiàn),使得多道程序設計成為可能,然后具有自動化,功能復雜的操作系統(tǒng)開始慢慢出現(xiàn)了總結(jié)起來,操作系統(tǒng)的發(fā)展,由以下幾個個方面的因素促進:硬件技術的發(fā)展,體系結(jié)構的發(fā)展提高計算機系統(tǒng)的資源利用率的要求應用需求的不斷發(fā)展針對應用不同場合的要求,操作系統(tǒng)可以分為以下三種基本類型批處理操作系統(tǒng)分時操作系統(tǒng)實時操作系統(tǒng)批處理操作系統(tǒng):適合處理一些事先安排好步驟,無需人工干預,而執(zhí)行時間長的工作,比如,計算大型的微分方程把程序,數(shù)據(jù),作業(yè)說明書組織成一個“批”,然后把批中的作業(yè)預先放入作業(yè)隊列中,由操作系統(tǒng)自動執(zhí)行。優(yōu)點:系統(tǒng)資源率高,作業(yè)吞吐量大,無需人工去過多干預缺點:作業(yè)周轉(zhuǎn)時間長,交互能力差,程序需事先調(diào)試好,運行期間若程序出錯,拿回去重調(diào)分時操作系統(tǒng):允許多個用戶同時連接到操作系統(tǒng)上,進行交互式訪問操作系統(tǒng)把時間片輪流分給每個用戶,使每個人都有機會享用操作系統(tǒng)服務,確切地說,應該是把時間片分給每個用戶的每個進程。實時操作系統(tǒng):有一些應用場合,操作系統(tǒng)在運行時,需要及時快速地響應來自外界的請求,對外部事件和數(shù)據(jù),需要進行快速處理并及時給予回應典型:飛機自動駕駛系統(tǒng),導彈自動控制系統(tǒng),銀行業(yè)務處理系統(tǒng)等除了以上三種基本的類型外,還可以有下面一些類型:微機操作系統(tǒng):如DOS,Windows,Linux等網(wǎng)絡操作系統(tǒng):如Unix,NetWare,WindowsNT等分布式操作系統(tǒng):集中式系統(tǒng):處理和控制功能高度集中在一臺計算機上分布式系統(tǒng):由網(wǎng)絡連接多臺計算機,由各臺計算機協(xié)同工作,在整套系統(tǒng)間實現(xiàn)資源管理和任務分配,運行分布式程序操作系統(tǒng)的基本服務和接口前兩節(jié)介紹了操作系統(tǒng)的一些常規(guī)的概念,這一節(jié)要介紹操作系統(tǒng)具體應該具有一些什么樣的服務,并引出最重要的概念
----系統(tǒng)調(diào)用。操作系統(tǒng)提供的一些基本服務:這里指為應用程序的運行提供的運行環(huán)境與各種服務創(chuàng)建程序和執(zhí)行程序數(shù)據(jù)I/O和信息存取通信服務差錯檢測和處理接口:在操作系統(tǒng)中,提供有兩類接口:給編程用的接口給用戶使用操作系統(tǒng)的接口實際上,第二種接口,也是一些利用了第一種接口,編制的程序,工具等。給編程使用的接口----系統(tǒng)調(diào)用操作系統(tǒng)對外的唯一接口程序在運行時,想獲得操作系統(tǒng)的唯一方式想知道操作系統(tǒng)提供哪些功能,看它有哪些系統(tǒng)調(diào)用即可sc1sc2sc3sc4f1f2f3f4f5f6f7系統(tǒng)調(diào)用內(nèi)核函數(shù)內(nèi)核內(nèi)核提供一些列具備預定功能的內(nèi)核函數(shù),通過一組“系統(tǒng)調(diào)用”的接口對外提供服務系統(tǒng)調(diào)用把應用程序的請求傳送至內(nèi)核,調(diào)用相應的內(nèi)核函數(shù)完成所需的處理,將結(jié)果返回給應用程序內(nèi)核函數(shù)可以進行修改,但系統(tǒng)調(diào)用一旦設計好了,不可以隨便更改,不然會造成上層的應用程序運行不了,反過來,應用程序編程,只要針對系統(tǒng)調(diào)用即可系統(tǒng)調(diào)用另一個作用:內(nèi)核服務,不是想用就能用的,必須滿足一定條件,系統(tǒng)調(diào)用也負責檢查調(diào)用是否符合條件系統(tǒng)調(diào)用作用:內(nèi)核可以基于權限和規(guī)則對資源訪問進行裁決,保證系統(tǒng)的安全性系統(tǒng)調(diào)用對資源進行抽象,提供一致接口,避免用戶在使用資源時發(fā)生錯誤,且使編程效率提高32位計算機上的內(nèi)存空間分配用戶空間一用戶空間二用戶空間三用戶空間四內(nèi)核空間1G3G3G3G3G從上圖看到:程序運行時,程序空間分為用戶空間和內(nèi)核空間,用戶空間是彼此不同的,但內(nèi)核空間是相同的。應用程序不可以直接調(diào)用內(nèi)核空間里的內(nèi)核函數(shù),想訪問的話,就必須“申請”操作系統(tǒng)服務,即通過系統(tǒng)調(diào)用來使用操作系統(tǒng)服務。類比:可把銀行比作電腦系統(tǒng),玻璃后的工作區(qū)是內(nèi)核空間,大廳里是用戶空間。你要取錢,必須通過柜臺人員,審核你的賬戶,然后給你錢簡要過程:當程序中進行系統(tǒng)調(diào)用時,會產(chǎn)生異常信號,通過中斷機制,處理器的狀態(tài)會由用戶態(tài)轉(zhuǎn)為核心態(tài),陷入內(nèi)核,執(zhí)行相應的內(nèi)核函數(shù);當系統(tǒng)調(diào)用實現(xiàn)完畢之后,處理器狀態(tài)重新返回用戶態(tài),控制權也交還給用戶程序。強調(diào):系統(tǒng)調(diào)用是應用程序獲得操作系統(tǒng)服務的唯一途徑為了解決各種操作系統(tǒng)之間,可能存在不同的系統(tǒng)調(diào)用的不一致性,產(chǎn)生了一個行業(yè)標準POSIX:系統(tǒng)調(diào)用標準
PortableOperatingSystemInterfaceforComputerEnvironments
計算機環(huán)境可移植操作系統(tǒng)接口只要操作系統(tǒng)實現(xiàn)了POSIX標準規(guī)定的接口,那么,基于POSIX編寫的程序,就可以在不同的操作系統(tǒng)上實現(xiàn)可移植API、庫函數(shù)和系統(tǒng)調(diào)用系統(tǒng)調(diào)用盡管已經(jīng)對內(nèi)核服務進行了一定的抽象,但還是-----很難用因此,一般需要對系統(tǒng)調(diào)用在進行包裝,以提供更容易使用的接口,我們?nèi)粘>幊?,就是使用的這樣的接口API---ApplicationProgramInterface庫函數(shù)與API的概念差不多,都是提供經(jīng)過包裝的、更好用的接口,來為程序員編寫程序提供方便庫函數(shù)和API中,可以是對系統(tǒng)調(diào)用的包裝,也可以是對其他非系統(tǒng)調(diào)用的函數(shù)的包裝例如:Unix/Linux都會提供C語言函數(shù)庫,其中一部分函數(shù)與系統(tǒng)調(diào)用同名,他們對系統(tǒng)調(diào)用進行包裝。實際上,對POSIX的實現(xiàn),不一定是在系統(tǒng)調(diào)用這一層,也可以通過提供符合POSIX標準的函數(shù)庫或者API,而POSIX本身也沒有規(guī)定用何種方式來實現(xiàn)系統(tǒng)調(diào)用的分類:進程管理:創(chuàng)建和撤銷進程終止或異常終止進程阻塞和喚醒進程掛起和激活進程獲取和設置進程屬性文件操作:建立和刪除文件打開、關閉和讀寫文件控制文件顯示文件和目錄內(nèi)容顯示和設置文件屬性設備管理:申請和釋放設備設備I/O操作和重定向獲得和設置設備屬性控制和檢查設備狀態(tài)主存管理:申請和釋放主存增加或減少主存進程通信:建立和斷開通信連接發(fā)送和接受消息傳送狀態(tài)信息連接和斷開遠程設備信息維護獲取和設置日期及時間獲取和設置系統(tǒng)數(shù)據(jù)生成診斷和統(tǒng)計數(shù)據(jù)注意:這里的系統(tǒng)調(diào)用的功能與前面所講的操作系統(tǒng)的功能之間的小區(qū)別:系統(tǒng)調(diào)用功能是你在編程的時候可以直接拿來用的,而操作系統(tǒng)還有一些功能,是作為輔助的,程序員是不可以拿來用的,比如虛擬內(nèi)存管理,進程調(diào)度等,這些是操作系統(tǒng)用來管理資源的。Unix/Linux與Win32API部分系統(tǒng)調(diào)用的對應關系Unix/LinuxWin32API說明forkCreateProcess創(chuàng)建進程waitpidWaitForSingleObject等待進程終止open/closeCreateFile/CloseHandle創(chuàng)建或打開文件/關閉文件read/writeReadFile/WriteFile讀寫文件lseekSetFilePointer移動文件指針mkdir/rmdirCreateDirectory/RemoveDirectory建立目錄/刪除目錄statGetFileAttributesEx獲取文件屬性系統(tǒng)調(diào)用實現(xiàn)要點:陷阱與異常處理機制:類似于硬件中斷的處理方式,當出現(xiàn)系統(tǒng)調(diào)用時,產(chǎn)生異常,然后轉(zhuǎn)入固定的某個處理入口,實現(xiàn)控制權由用戶函數(shù)轉(zhuǎn)入內(nèi)核編寫系統(tǒng)調(diào)用服務函數(shù)設計系統(tǒng)調(diào)用入口地址表,每個入口地址都指向一個內(nèi)核函數(shù)開辟現(xiàn)場保護,保存發(fā)生系統(tǒng)調(diào)用前時的處理器現(xiàn)場系統(tǒng)調(diào)用與普通函數(shù)調(diào)用之間的區(qū)別:用起來差不多,背后的實現(xiàn)機制差別很大調(diào)用形式和實現(xiàn)方式不同被調(diào)用代碼的位置不同提供方式不同調(diào)用形式和實現(xiàn)方式不同:過程(函數(shù))使用一般調(diào)用指令,其轉(zhuǎn)向地址包含在跳轉(zhuǎn)語句中系統(tǒng)調(diào)用不包含處理程序入口,僅僅提供功能號,按功能號調(diào)用被調(diào)用代碼的位置不同:在過程(函數(shù))調(diào)用中,調(diào)用程序和被調(diào)用代碼在同一程序內(nèi),經(jīng)過連接編譯后作為目標代碼的一部分。當過程(函數(shù))升級或修改時,必須重新編譯連接系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),系統(tǒng)調(diào)用處理代碼升級或修改時,與調(diào)用程序無關提供方式不同:函數(shù)往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過程(函數(shù))可以不同系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設計好,系統(tǒng)調(diào)用的功能、種類與數(shù)量就固定不變了調(diào)用的實現(xiàn)不同:函數(shù)使用一般機器指令(跳轉(zhuǎn)指令)來調(diào)用過程(函數(shù)),是在用戶態(tài)運行的程序執(zhí)行系統(tǒng)調(diào)用,是通過中斷機構來實現(xiàn)的,需要從用戶態(tài)轉(zhuǎn)變到核心態(tài),在核心態(tài)執(zhí)行給用戶使用操作系統(tǒng)的接口嚴格來說,這類接口是一些類程序和工具,在這些程序和工具的編寫,也是基于系統(tǒng)調(diào)用的,他們是為了讓用戶可以不用自己編寫程序,就可以很好的使用操作系統(tǒng)的功能有三類這樣的接口作業(yè)控制接口解釋程序?qū)嵱贸绦蛎罱忉尦绦蚪邮苡脩糨斎氲拿睿瑘?zhí)行相應的操作,這里的命令有兩類,一類是該解釋程序自己定義的命令,另一類是一些實用程序的名字如Unix/Linux中的Shell,便是一個功能強大的命令解釋器,Shell(外殼)的得名是對應與Kernel(內(nèi)核),是Unix/Linux上人機交互的主要方式實用程序:很多常用的功能,編制成程序,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學教師招聘-中小學教師招聘《中學教綜》真題匯編9
- 2024-2025學年高中歷史第七單元現(xiàn)代中國的對外關系第23課新中國初期的外交教案含解析新人教版必修1
- 2024-2025學年高中語文第二單元科學小品6寂靜的春天節(jié)選習題含解析粵教版必修3
- 2024-2025學年高中政治第一單元公民的政治生活第二課我國公民的政治參與課時二民主決策:作出最佳選擇學案新人教版必修2
- 2024-2025學年高中英語Unit4Globalwarming單元加餐練含解析新人教版選修6
- 氫氧化銅氫氧化銅行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 中國工業(yè)物流市場評估分析及發(fā)展前景調(diào)研戰(zhàn)略研究報告
- 中國泌尿?qū)Ч苄袠I(yè)市場深度分析及投資策略咨詢報告
- 2024-2026年中國機器人抓手行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 2019-2025年中國冷凍胡蘿卜行業(yè)市場運營現(xiàn)狀及行業(yè)發(fā)展趨勢報告
- 教學課件-電力系統(tǒng)的MATLAB-SIMULINK仿真與應用(王晶)
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- 《電商直播》 課件 項目一 走入電商直播
- 《中國宮腔鏡診斷與手術臨床實踐指南(2023版)》解讀課件
- GB/T 9535-1998地面用晶體硅光伏組件設計鑒定和定型
- 常用家電維修基礎知識(課堂PPT)
- 楊氏太極拳37式拳譜
- 臥式設備安裝
- CFG樁施工記錄表范本
- 復旦校內(nèi)辦事指南
- 建筑公司項目部績效考核管理制度
評論
0/150
提交評論