版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章緒論1.1操作系統(tǒng)概念操作系統(tǒng)概念(p2)一組控制和管理計算機硬件和軟件資源、合理地對各類作業(yè)進行調(diào)度以及方便用戶的程序集合。它就像是指揮者,協(xié)調(diào)計算機所有的組件,并使得各個組件能依照某個計劃協(xié)同工作。效率和功能是一個操作系統(tǒng)可用的關(guān)鍵因素。操作系統(tǒng)的效率為計算機上所有軟件的性能提高提供了平臺,研究操作系統(tǒng)的一個最重要的原因是學習如何獲得最好的性能。另外,操作系統(tǒng)提供了一系列功能以支持用戶程序的執(zhí)行。提供較少功能的高性能操作系統(tǒng)實際上會迫使應用程序做更多的工作。為了在編程中充分使用系統(tǒng)的功能,需要理解系統(tǒng)是如何設計的。作為用戶與計算機硬件系統(tǒng)之間的接口圖1-1OS作為接口的示意圖計算機硬件操作系統(tǒng)系統(tǒng)調(diào)用,命令,圖標,窗口應用程序及實用程序系統(tǒng)設計者程序員用戶應用軟件:設計用于解決一個專門問題。如電子郵件軟件,庫存控制軟件,文檔編輯程序等。系統(tǒng)設計:提供一個一般的編程環(huán)境,從而程序員可以生成特定的應用程序以適應他們客戶的需要。編程環(huán)境由程序設計工具(如編輯器和編譯器)和抽象(如文件和對象)組成。為了使機器資源更多的花費在應用程序上,系統(tǒng)軟件對機器資源的使用應該盡可能少。一般系統(tǒng)軟件設計的最初動機,主要是提供一些程序員可以使用的功能以備應用軟件調(diào)用。后來,系統(tǒng)軟件(特別是操作系統(tǒng))實現(xiàn)了另一個重要目的:使應用程序能夠以有序的方式去共享硬件。共享提高了系統(tǒng)整體的性能。操作系統(tǒng)是系統(tǒng)軟件的一部分,它保證共享的實現(xiàn)最安全和有效。它是“最貼近硬件”的軟件實現(xiàn),其它的系統(tǒng)軟件和所有的應用軟件把操作系統(tǒng)作為使用硬件的一個界面。操作系統(tǒng)程序員編寫控制硬件的軟件(實現(xiàn)共享和抽象),給應用程序員提供一個可以使用的軟件環(huán)境。通常的系統(tǒng)軟件C運行庫:標準輸入輸出庫,如printf()和scanf()。數(shù)學庫,如sqrt()。圖形庫,如drawCircle()等。命令行解釋程序(也稱外殼程序),如windows下使用dir命令,UNIX下使用ls命令可進行目錄下的條目列表;Linux的bash程序和Windows的cmd.exe程序都是命令行解釋程序。窗口系統(tǒng):為應用程序提供了虛擬終端,應用程序可以用函數(shù)讀寫窗口,好像該窗口是一個終端設備一樣。例如Macintoshdesktop,MicrosoftWindowsdesktop,Linux的Gnomedesktop等。數(shù)據(jù)庫管理系統(tǒng),如Oracle或MySQL等。操作系統(tǒng)與其它系統(tǒng)軟件的區(qū)別操作系統(tǒng)直接作用于硬件之上,為其他系統(tǒng)軟件和應用軟件提供接口。通用的操作系統(tǒng)與應用領(lǐng)域無關(guān)。操作系統(tǒng)可支持許多應用領(lǐng)域軟件。應用程序使用操作系統(tǒng)所提供的資源抽象,從而使用硬件資源部件。操作系統(tǒng)允許不同的應用程序通過它所提供的資源管理策略來共享硬件資源。研究操作系統(tǒng)的兩種觀點作為計算機系統(tǒng)資源的管理者處理機管理:分配和控制處理機存儲器管理:分配及回收內(nèi)存I/O(Input/Output)設備管理:I/O分配與操作文件管理:文件存取、共享和保護
作為擴充機器把覆蓋了軟件的機器稱為擴充機或虛擬機。分層擴充的特點。操作系統(tǒng)作為虛擬機#include<studio.h>intmain(){printf(“hello,world\n”);}
Hello程序必需被轉(zhuǎn)化為低級機器語言指令,然后這些指令按照一種稱為可執(zhí)行目標程序的格式打好包,并以二進制磁盤文件的形式存放起來。思考用MCS51編寫hello,world程序?用MCS51編寫讀鍵盤輸入,并輸出的程序?翻譯過程——編譯系統(tǒng)gcc–ohellohello.c翻譯過程分為四個階段,執(zhí)行這四個階段的程序一起構(gòu)成編譯系統(tǒng)。預處理階段:讀取頭文件stdio.h的內(nèi)容,并插入到程序文本中去;編譯階段:產(chǎn)生一個匯編語言程序。匯編階段:翻譯成機器語言,并且打包成為一種可重定位目標程序的格式。鏈接階段:printf存在于一個名為printf.o的單獨的預編譯目標文件中,必須以某種方式并入到hello.o中;程序的運行——Shellunix>./helloHello,worldunix>shell執(zhí)行它的指令,等待輸入。當我們輸入后,逐一讀取字符到寄存器,再把它存放到存儲器中?;剀嚂r,shell知道我們已經(jīng)結(jié)束了命令輸入。然后shell執(zhí)行一系列指令,將目標文件中的代碼和數(shù)據(jù)從磁盤拷貝到貯存,從而加載hello文件。數(shù)據(jù)包括最終會被輸出的字符串。一旦hello目標文件中的代碼和數(shù)據(jù)被加載到了存儲器,處理器就開始執(zhí)行hello程序的主程序中的機器語言指令,將串中的字節(jié)從存儲器中拷貝到寄存器堆,再從寄存器中文件拷貝到顯示設備,最終顯示到屏幕上。程序沒有直接訪問鍵盤,顯示器,磁盤或者主存,它們依靠操作系統(tǒng)提供的服務。操作系統(tǒng)作為資源的管理者操作系統(tǒng)有兩個主要用途:防止硬件被失控的應用程序濫用;在控制復雜而又通常廣泛不同的低級硬件設備方面,為應用程序提供簡單一致的方法。它通過幾個基本的抽象概念(進程,虛擬存儲器和文件)實現(xiàn)這兩個用途。文件是對I/O設備的抽象表示,虛擬存儲器是對主存和磁盤I/O設備的抽象表示,進程則是對處理器、主存和I/O設備的抽象表示。進程進程:操作系統(tǒng)提供一種假象,似乎系統(tǒng)上只有這個程序在運行。程序看上去獨占的使用處理器,主存和I/O設備。這些假象是通過進程的概念來實現(xiàn)的。進程是操作系統(tǒng)對運行程序的一種抽象;并發(fā)與并行;在并發(fā)運行中,交錯執(zhí)行的機制稱為上下文切換。在helloworld示例中,有兩個同時運行的進程:shell進程和hello進程。最開始,只有shell進程在運行,等待輸入。當我們讓它運行hello程序時,shell通過調(diào)用一個專門的函數(shù),即系統(tǒng)調(diào)用,來執(zhí)行我們的請求,系統(tǒng)調(diào)用會將控制權(quán)傳遞給操作系統(tǒng)。操作系統(tǒng)保存shell進程的上下文,創(chuàng)建一個新的hello進程及其上下文,然后將控制權(quán)傳給新的hello進程。在hello進程終止后,操作系統(tǒng)恢復shell進程的上下文,并將控制權(quán)傳回給它,繼續(xù)等待下一命令行輸入。處理機管理多道環(huán)境下,處理機的運行及分配都是以進程為單位,因此處理機管理可歸結(jié)為進程管理。一、進程控制創(chuàng)建/撤消進程遷移進程狀態(tài)一般由進程控制原語完成二、進程同步為使多個進程有條不紊地運行,應建立同步機制。包括進程互斥/同步,次序協(xié)調(diào)。三、進程通信源于進程合作,如:輸入進程、計算進程、打印進程相互間有信息傳遞類型:直接通信:進程A發(fā)message,進程B收message間接通信:進程A發(fā)message到中間實體(如mailbox),進程B從中間實體收messageOS的主要功能(3)四、調(diào)度(作業(yè)與進程)作業(yè)調(diào)度:為作業(yè)分配必要資源,調(diào)入內(nèi)存建立進程,并使之進入就緒隊列。進程調(diào)度:從就緒隊列中選出進程,分配CPU,使之運行。調(diào)度算法:FCFS、優(yōu)先權(quán)等虛擬存儲器也是一個抽象概念,為每個進程提供一個假象,好像它在獨占的使用主存。每個進程看到的存儲器都是一致的,稱為虛擬地址空間。Linux中,最上面的四分之一的地址空間預留給操作系統(tǒng)中的代碼和數(shù)據(jù)。底部的四分之三用于存放用戶進程定義的代碼和數(shù)據(jù)。存儲管理目的:方便用戶使用,且提高存貯器利用率一、內(nèi)存分配靜態(tài)分配:動態(tài)分配:作業(yè)在內(nèi)存中可移動為此,需內(nèi)存分配的數(shù)據(jù)結(jié)構(gòu)及內(nèi)存分配和回收功能二、內(nèi)存保護例:設置上、下界寄存器,每條指令進行越界檢查(一般是硬件實現(xiàn))三、地址映射地址范圍 地址邏輯空間 邏輯地址相對地址()物理空間 物理地址(絕對地址)四、內(nèi)存擴充利用虛存技術(shù),從邏輯上擴充內(nèi)存容量系統(tǒng)應有:請求調(diào)入/置換功能以支持虛存技術(shù)文件文件只不過是字節(jié)序列。每個I/O設備,包括磁盤,鍵盤,顯示器,甚至網(wǎng)絡,都可以被看成是文件。系統(tǒng)中的所有輸入輸出都是通過使用UnixI/O的一小組系統(tǒng)函數(shù)調(diào)用讀寫文件來實現(xiàn)的。這個簡單而精致的抽象概念非常強大,它使得應用程序能夠同一地看待系統(tǒng)中可能含有的所有各式各樣的I/O設備。例如,處理磁盤文件內(nèi)容的應用程序員可以非常幸福地無需了解具體的磁盤技術(shù)。而同一程序可以在使用不同磁盤技術(shù)的不同系統(tǒng)上運行。設備管理任務:提高I/O利用率和速度,方便用戶一、緩沖管理緩沖區(qū):用來解決CPU-I/O矛盾,如:CPU快則應多創(chuàng)建緩沖區(qū)。二、設備分配包括:設備,設備控制器,I/O通信的分配和回收三、設備處理指控制設備進行實際的操作,包括讀、寫等以及向CPU發(fā)中斷。設備處理/驅(qū)動程序應能根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。四、設備獨立性和虛擬設備獨立性,即program與設備無關(guān)性,使program易于重定向,增加了可移植性。虛擬設備信息管理(文件系統(tǒng)管理)任務:方便用戶,提供安全性一、文件存貯空間的管理例:creatfile:文件系統(tǒng)根據(jù)文件長度自動分配連續(xù)或離散的扇區(qū),并提供“一句柄”表示該文件。二、目錄管理使用戶按名存取,提高速度。三、文件的讀、寫管理和存取控制(保護)1.2操作系統(tǒng)的歷史和基本類型1.2.1手工操作階段人工操作方式如紙帶輸入機。特點是用戶獨占全機及CPU等待人工操作。脫機I/O方式(圖1.2)引入I/O機的概念,解決前者的缺點。特點是減少了CPU的空閑時間且提高I/O速度。1.2.2早期批處理處理過程(圖1.3)監(jiān)督程序(monitor)概念:系統(tǒng)對作業(yè)的處理都是成批進行的、且內(nèi)存中始終只保持一道作業(yè),稱為單道批處理系統(tǒng)(simplebatchsystem)。批處理系統(tǒng)的引入是為了提高系統(tǒng)資源的利用率和吞吐量概念:運行控制權(quán)特征自動性、順序性、單道性圖1-3還有下一個作業(yè)?把下一個作業(yè)的源程序轉(zhuǎn)換為目標程序源程序有錯嗎?裝配目標程序運行目標程序開始是否停止是否1.2.3多道批處理系統(tǒng)基本概念多道:系統(tǒng)中同時駐留多個作業(yè)多道引入的優(yōu)點:提高CPU利用率提高內(nèi)存和I/O設備利用率提高了系統(tǒng)吞吐量特征多道性、無序性、調(diào)度性:作業(yè)調(diào)度、進程調(diào)度缺點平均周轉(zhuǎn)時間長、無交互能力1.2.4分時操作系統(tǒng)分時系統(tǒng)的產(chǎn)生概念:指一臺主機上連接了多個帶有顯示器和鍵盤的終端,同時允許多個用戶共享主機中的資源,各個用戶都可通過自己的終端以交互方式使用計算機。是用戶的需求:人機交互性共享主機便于用戶上機分時系統(tǒng)(2)分時系統(tǒng)在實現(xiàn)中的關(guān)鍵問題及時接收:多終端卡、輸入緩沖區(qū)及時處理:交互作業(yè)應在內(nèi)存、響應時間應短分時系統(tǒng)(3)分時系統(tǒng)的實現(xiàn)方法交互式作業(yè)直接進入內(nèi)存以分配時間片方式實現(xiàn)類型:單道分時系統(tǒng)具有前、后臺的分時系統(tǒng)僅當前臺無作業(yè)或在調(diào)進、出時,才運行后臺批處理作業(yè)。多道分時系統(tǒng)不需要調(diào)入、出開銷。分時系統(tǒng)(4)分時系統(tǒng)的特征多路性、獨立性、及時性、交互性1.2.5實時操作系統(tǒng)引入:要求及時處理的場合概念:系統(tǒng)能及時響應外部事件的請求,在規(guī)定時間內(nèi)完成對該事件的處理。類型實時控制實時信息處理實時系統(tǒng)(2)實時任務類型按任務執(zhí)行是否呈現(xiàn)周期性來劃分周期性的(聯(lián)系周期);非周期性的(聯(lián)系開始或完成截止時間)根據(jù)對截止時間的要求來劃分硬實時任務軟實時任務實時系統(tǒng)(3)實時、分時的比較多路性:相同獨立性:相同及時性:實時系統(tǒng)要求更高交互性:分時系統(tǒng)交互性更強可靠性:實時系統(tǒng)要求更高1.2.6通用操作系統(tǒng)由批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)中兩個或兩個以上系統(tǒng)構(gòu)成,分前后臺工作。1.2.7個人計算機上的操作系統(tǒng)聯(lián)機的單用戶操作系統(tǒng),一般能夠?qū)崿F(xiàn)多任務,以Windows系列和Linux系統(tǒng)為主。1.2.8網(wǎng)絡操作系統(tǒng)
計算機網(wǎng)絡是通過數(shù)據(jù)通信系統(tǒng)將地理上分散的具有自主能力的多個計算機和終端設備連接起來,以實現(xiàn)信息交換、資源共享、應用互操作和協(xié)作處理的系統(tǒng)。 網(wǎng)絡操作系統(tǒng)NOS是建立在主機操作系統(tǒng)基礎之上,用于管理網(wǎng)絡通信和共享資源,協(xié)調(diào)各主機上任務的運行,并向用戶提供統(tǒng)一的、有效的網(wǎng)絡接口的軟件的集合。
NOS的功能:數(shù)據(jù)通信、資源管理、網(wǎng)絡管理、提供網(wǎng)絡服務、提供網(wǎng)絡接口1.2.9分布式操作系統(tǒng)分布式OS的定義:和網(wǎng)絡OS類似分布式OS的特點:和網(wǎng)絡OS比較分布性、并行性、透明性、共享性、健壯性OS的用戶接口1.4.5用戶接口一、命令接口由一組“命令”集組成,分為聯(lián)機和脫機用戶接口1.聯(lián)機用戶接口由一組鍵盤操作命令及命令解釋程序所組成2.脫機(批處理用戶接口)用JCL寫作業(yè)說明書OS的用戶接口二、程序接口系統(tǒng)調(diào)用高級語言的庫函數(shù)三、圖形接口如win的copy文件,采用“拖”來完成,生動,不需記憶
操作系統(tǒng)的結(jié)構(gòu)整體式(無結(jié)構(gòu))系統(tǒng)層次式系統(tǒng)虛擬機系統(tǒng)客戶服務器系統(tǒng)整體式系統(tǒng)一組過程集,各過程可相互調(diào)用。在整體式系統(tǒng)中,為了構(gòu)造最終的目標操作系統(tǒng),開發(fā)人員首先將一些獨立的過程進行編譯,然后用鏈接程序?qū)⑵滏溄釉谝黄鸱Q為一個單獨的目標程序。從信息隱藏的觀點來看,沒有任何程度的隱藏,每個過程都對其它過程可見。存在一些程度很低的結(jié)構(gòu)化。系統(tǒng)調(diào)用的過程是:首先將參數(shù)放入預先確定的寄存器或堆棧中,然后執(zhí)行一條特殊的陷入指令,即訪管指令或內(nèi)核調(diào)用指令。這條指令將機器由用戶態(tài)切換到內(nèi)核態(tài),并將控制轉(zhuǎn)到操作系統(tǒng)。操作系統(tǒng)隨后檢查調(diào)用的參數(shù)以確定應該執(zhí)行哪條系統(tǒng)調(diào)用,然后查一張系統(tǒng)調(diào)用表,記錄了每條系統(tǒng)調(diào)用的執(zhí)行過程,它確定了將調(diào)用的服務例程。系統(tǒng)調(diào)用結(jié)束后,控制返回給用戶程序,繼續(xù)執(zhí)行系統(tǒng)調(diào)用后的語句。這種組織方式提出了操作系統(tǒng)的一種基本結(jié)構(gòu):1、一個用來調(diào)用被請求服務例程的主程序。2、一套執(zhí)行系統(tǒng)調(diào)用的服務例程。3、一套支持服務例程的工具過程。層次式系統(tǒng)虛擬機系統(tǒng)IBM的VM/370。基于如下思想:一個分時系統(tǒng)應該提供以下特性(1)多道程序,(2)一個具有比裸機更方便界面的可擴展的計算機。VM/370將二者徹底隔離開來。該系統(tǒng)的內(nèi)核稱為虛擬機監(jiān)控程序,它在裸機上運行并具備多道程序功能。向上層提供了若干臺虛擬機。與其它操作系統(tǒng)不同的是,這些虛擬機不是那種具有文件等良好特征的擴展計算機,而僅僅是裸機硬件的精確副本。不同的虛擬機可以運行不同的操作系統(tǒng),而且往往如此。某些虛擬機運行OS/360的后續(xù)版本做批處理或事務處理,同時另一些虛擬機運行一個單用戶交互系統(tǒng)供分時用戶使用,該系統(tǒng)稱為CMS(會話監(jiān)控系統(tǒng))。當CMS上的程序執(zhí)行一條系統(tǒng)調(diào)用時,該系統(tǒng)調(diào)用陷入自己的虛擬機的操作系統(tǒng),而不是VM/370。然后CMS發(fā)出正常的硬件I/O指令來執(zhí)行系統(tǒng)調(diào)用。這些I/O調(diào)用被VM/370捕獲,隨后VM/370執(zhí)行這些指令。虛擬機的思想被廣泛采用:例如在奔騰CPU上運行老的MS-DOS程序。在設計奔騰芯片軟硬件時,Intel和Microsoft都意識到要使老軟件能夠在新硬件下運行,于是Intel在奔騰芯片上提供了一個虛擬8086模式。該模式被Windows等操作系統(tǒng)用于運行MS-DOS程序。實際上,MIT的研究人員構(gòu)造了一個系統(tǒng),其中每個用戶都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023三年級英語上冊 Module 1 Getting to know you Unit 3 Are you Kitty說課稿 牛津滬教版(三起)
- 21《古詩三首》說課稿-2024-2025學年語文四年級上冊統(tǒng)編版001
- 6《摸一摸》說課稿-2024-2025學年科學一年級上冊青島版
- 2024-2025學年高中生物 第3章 植物的激素調(diào)節(jié) 第1節(jié) 植物生長素的發(fā)現(xiàn)說課稿 新人教版必修3001
- 2024年五年級英語下冊 Module 7 Unit 2 I will be home at seven oclock說課稿 外研版(三起)
- 2025住宅裝修物業(yè)管理合同(合同范本)
- 8《池子與河流》(說課稿)-2023-2024學年統(tǒng)編版語文三年級下冊
- 2025鍋爐拆除安全施工合同
- 2025有關(guān)電梯廣告的合同范本
- Unit 6 Disaster and Hope Understanding ideas 說課稿-2023-2024學年外研版高中英語(2019)必修第三冊
- 玻璃反應釜安全操作及保養(yǎng)規(guī)程
- 高中英語新課標詞匯表(附詞組)
- 2023年心理咨詢師之心理咨詢師基礎知識考試題庫附完整答案【有一套】
- 證券公司信用風險和操作風險管理理論和實踐中金公司
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項施工方案
- 儲能設備項目采購供應質(zhì)量管理方案
評論
0/150
提交評論