《操作系統(tǒng)課件(第二章)[xiwang]》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)課件(第二章)[xiwang](44頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,操作系統(tǒng),Operating Systems,操作系統(tǒng)課程組,南京郵電大學(xué),WINDOWS,UNIX,LINUX,OS2,VxWorks,Mac OS,教材:,操作系統(tǒng)教程,,人民郵電出版社,,,2009,年出版,第,2,章 用戶界面,操作系統(tǒng)是用戶與計(jì)算機(jī)硬件之間的接口,用戶通過操作系統(tǒng)的幫助,可以快速、有效和安全地操作計(jì)算機(jī)系統(tǒng)中的各類資源,處理自己的程序。為了方便地使用操作系統(tǒng),操作系統(tǒng)向用戶提供了“用戶與操作系統(tǒng)
2、之間的接口”,通常也稱為用戶界面。該界面支持用戶與操作系統(tǒng)之間進(jìn)行交互,即用戶向操作系統(tǒng)提出請求,操作系統(tǒng)把結(jié)果返回給用戶。,用戶界面以多種形式呈現(xiàn)在用戶面前,一種是聯(lián)機(jī)命令形式,直接提供給用戶在終端上使用;另一種是系統(tǒng)調(diào)用形式,提供給用戶編程時(shí)使用。在現(xiàn)代操作系統(tǒng)中,為進(jìn)一步方便用戶使用計(jì)算機(jī),又增加了一種圖形接口。在,Internet,廣為流行的今天,又出現(xiàn)了一種面向網(wǎng)絡(luò)的網(wǎng)絡(luò)用戶接口。,第,2,章 用戶界面,2.1,用戶工作環(huán)境,2.2,操作系統(tǒng)用戶界面,2.3,系統(tǒng)調(diào)用,2.4,Linux的用戶界面,2.1,用戶工作環(huán)境,2.1.1,用戶環(huán)境,2.1.2,系統(tǒng)生成和系統(tǒng)啟動,2.1.3
3、,運(yùn)行一個用戶程序的過程,2.1.1,用戶環(huán)境,形成用戶環(huán)境包含下面,3,個方面的工作。,設(shè)計(jì)合理的操作命令,它允許用戶處理由操作系統(tǒng)支持的各種目標(biāo),如設(shè)備、文件、進(jìn)程。,提供各種硬件資源,并要提供關(guān)于操作系統(tǒng)的使用說明。,將操作系統(tǒng)裝入計(jì)算機(jī),并對系統(tǒng)參數(shù)和控制結(jié)構(gòu)進(jìn)行初始化,以使計(jì)算機(jī)系統(tǒng)能夠?yàn)橛脩艄ぷ鳌?2.1.2,系統(tǒng)生成和系統(tǒng)啟動,系統(tǒng)初啟又叫系統(tǒng)引導(dǎo)。它的任務(wù)是把操作系統(tǒng)的必要部分裝入內(nèi)存并使系統(tǒng)運(yùn)行,最終使系統(tǒng)處于命令接收狀態(tài)。,系統(tǒng)引導(dǎo)分為,3,個階段。,初始引導(dǎo):把系統(tǒng)核心裝入內(nèi)存中的指定位置,并在指定地址啟動。,核心初始化:執(zhí)行系統(tǒng)核心的初啟子程序,初始化系統(tǒng)核心數(shù)據(jù)。,系
4、統(tǒng)初始化:為用戶使用系統(tǒng)做準(zhǔn)備。,(,1,)初始引導(dǎo),初始引導(dǎo)也叫自舉。自舉的含義是操作系統(tǒng)把自己建立起來,這是目前大多數(shù)系統(tǒng)所常用的一種引導(dǎo)方法。,初始引導(dǎo)的任務(wù)就是把核心送入內(nèi)存并啟動它運(yùn)行。系統(tǒng)核心是存放在輔存上的。如何能在輔存上的文件中找到這個核心并送到內(nèi)存中,這需要有一程序做這件事,該程序稱為裝配程序。,然而,這一裝配程序也在輔存中,如何把該裝配程序首先裝入內(nèi)存呢?,這需要有一個初始引導(dǎo)程序,而且這個程序必須在一開機(jī)時(shí)能自動運(yùn)行,這就只有求助于硬件了。,在現(xiàn)代大多數(shù)計(jì)算機(jī)系統(tǒng)中,在它的只讀存儲器中都有一段用于初始引導(dǎo)的固化代碼。,當(dāng)系統(tǒng)加電或按下某種按鈕時(shí),硬件電子線路便會自動地把只
5、讀存儲器中這段初始引導(dǎo)程序讀入內(nèi)存,并將,CPU,的控制權(quán)交給它。,初始引導(dǎo)程序的任務(wù)是將輔存中的裝配程序讀入內(nèi)存。這個裝配程序必須存放在輔存的固定位置(稱為引導(dǎo)塊)上,只讀存儲器只會從這個引導(dǎo)塊中讀取內(nèi)容。這就要求將裝配程序事先存放在這個引導(dǎo)塊上。,(,2,)核心初始化,核心頁表寄存器與核心數(shù)據(jù)初始化。,建立,0,號進(jìn)程。,0,號進(jìn)程是系統(tǒng)建立的第,1,個且永遠(yuǎn)處于核心態(tài)的唯一的進(jìn)程。它的主要任務(wù)是按照系統(tǒng)的需要把即將運(yùn)行的進(jìn)程送入內(nèi)存,并把近期內(nèi)不運(yùn)行的進(jìn)程送到輔存上。,建立,1,號進(jìn)程。,1,號進(jìn)程是建立初始進(jìn)程,它的作用是實(shí)現(xiàn)系統(tǒng)的初始化。,(,3,)系統(tǒng)初始化,這一階段的主要任務(wù)是做
6、好一切準(zhǔn)備工作,使系統(tǒng)處于命令接受狀態(tài),這時(shí)用戶可以使用機(jī)器了。,系統(tǒng)初始化是由,1,號進(jìn)程執(zhí)行初始化程序?qū)崿F(xiàn)的。它分為兩個階段完成:,為控制臺終端建造一個進(jìn)程,執(zhí)行命令解釋程序,接受操作員或用戶的命令;,系統(tǒng)繼續(xù)為若干用戶終端建立命令解釋進(jìn)程,接受一般用戶的命令(這一環(huán)境稱為多用戶環(huán)境)。這時(shí),一般用戶就可以用系統(tǒng)了,系統(tǒng)初啟全部完成。,2.1.3,運(yùn)行一個用戶程序的過程,控制計(jì)算機(jī)工作的最簡單的辦法是,由操作員通過控制臺(或用戶在終端設(shè)備上)鍵入一條條命令。,用戶可先將源程序通過編輯建立在磁盤上,接著發(fā)“編譯”命令,操作系統(tǒng)接到這條命令后,將編譯程序調(diào)入內(nèi)存并啟動它工作。,然后,用戶再發(fā)出
7、“連接”命令,操作系統(tǒng)執(zhí)行該命令,將生成一個完整的、可執(zhí)行的內(nèi)存映像程序。,最后發(fā)出“運(yùn)行”命令,由操作系統(tǒng)啟動內(nèi)存映像程序運(yùn)行,從而計(jì)算出結(jié)果。,圖,2-1,作業(yè)處理的,4,個步驟,編輯(修改):建立一個新文件,或?qū)σ延械奈募械腻e誤進(jìn)行修改。,編譯:將源程序翻譯成目標(biāo)代碼。完成這一步工作需要有相應(yīng)語言的編譯器。,連接:將主程序和其他所需要的子程序和例行程序連接裝配在一起,使之成為一個可執(zhí)行的、完整的內(nèi)存映像文件。,運(yùn)行:將內(nèi)存映像文件調(diào)入內(nèi)存,并啟動運(yùn)行,最后得出計(jì)算結(jié)果。,2.2,操作系統(tǒng)用戶界面,2.2.1,操作系統(tǒng)的用戶界面,2.2.2,操作接口,2.2.3,圖形用戶接口,2.2.1
8、,操作系統(tǒng)的用戶界面,操作系統(tǒng)可以通過程序接口和操作接口兩種方式把它的服務(wù)和功能提供給用戶。,程序接口又稱應(yīng)用編程接口,程序中使用這個接口可以調(diào)用操作系統(tǒng)的服務(wù)和功能。許多操作系統(tǒng)的程序接口由一組系統(tǒng)調(diào)用(,system call,)組成,因此,用戶在編寫的程序中使用“系統(tǒng)調(diào)用”就可以獲得操作系統(tǒng)的底層服務(wù),使用或訪問系統(tǒng)管理的各種軟硬件資源。,操作接口又稱命令接口,是操作系統(tǒng)為用戶操作控制計(jì)算機(jī)工作和提供服務(wù)的手段的集合,通??山柚僮骺刂泼睢D形操作界面等來實(shí)現(xiàn)。,2.2.2,操作接口,根據(jù)這些命令所完成功能的不同,可把它們分成以下幾類:系統(tǒng)訪問類,磁盤操作類,文件操作類,目錄操作類,通
9、信類,其他命令。,1,系統(tǒng)訪問類,用戶在每次開始使用某終端時(shí),都須使用該命令,使系統(tǒng)能識別該用戶。凡要在多用戶系統(tǒng)的終端上上機(jī)的用戶,都必須先在系統(tǒng)管理員處獲得一合法的注冊名和口令。以后,每當(dāng)用戶在接通其所用終端的電源后,便由系統(tǒng)直接調(diào)用,并在屏幕上顯示信息提示用戶鍵入自己的注冊名和口令。,2,鍵盤操作命令,(,1,)磁盤格式化命令,(,2,)復(fù)制整個軟盤命令,(,3,)軟盤比較命令,(,4,)備份命令,3,文件操作命令,(,1,)顯示文件命令,(,2,)拷貝文件命令,(,3,)文件比較命令,(,4,)重新命名命令,(,5,)刪除文件命令,4,目錄操作命令,(,1,)建立子目錄命令,(,2,)
10、顯示目錄命令,(,3,)刪除子目錄命令,(,4,)顯示目錄結(jié)構(gòu)命令,(,5,)改變當(dāng)前目錄命令,5,其他命令,(,1,)輸入,/,輸出重定向命令,如果在命令中設(shè)置輸出重定向“”符,其后接文件名或設(shè)備名,表示將命令的輸出改向,送到指定文件或設(shè)備上。,類似地,若在命令中設(shè)置輸入重定向“”符,則不再是從鍵盤而是從重定向符左邊參數(shù)所指定的文件或設(shè)備上,取得輸入信息。,(,2,)管道連接,管道連接是指把第,1,條命令的輸出信息作為第,2,條命令的輸入信息;類似地,又可把第,2,條命令的輸出信息作為第,3,條命令的輸入信息。這樣,由兩個(含兩條)以上的命令可形成一條管道。在操作系統(tǒng)中,通常使用“,|”,作
11、為管道符號。其一般格式為:,Command1|Command2|,Commandn,。,(,3,)過濾命令,例如,,MS-DOS,中用命令,find/,Nerase,(路徑名),可對由路徑名指定的輸入文件逐行檢索,把含有字符串“,erase”,的行輸出。其中,,/N,是選擇開關(guān),表示輸出含有指定字串的行;如果不用,N,而用,C,,則表示只輸出含有指定字串的行數(shù);若用,V,,則表示輸出不含指定字串的行。,(,4,)批命令,為了能連續(xù)地使用多條鍵盤命令,或多次反復(fù)地執(zhí)行指定的若干條命令,而又免去每次重敲這些命令的麻煩,可以提供一特定文件。,2.2.3,圖形用戶接口,GUI,采用了圖形化的操作界面,
12、使用,WIMP,技術(shù)(即窗口,Window,、圖符,Icon,、菜單,Menu,和鼠標(biāo),Pointing device,),引入形象的各種圖符將系統(tǒng)的各項(xiàng)功能、各種應(yīng)用程序和文件,直觀、逼真地表示出來。用戶可以通過選擇窗口、菜單、對話框和滾動條完成對他們作業(yè)和文件的各種控制和操作。,GUI,采用了圖形化的操作界面,使用,WIMP,技術(shù)(即窗口,Window,、圖符,Icon,、菜單,Menu,和鼠標(biāo),Pointing device,),引入形象的各種圖符將系統(tǒng)的各項(xiàng)功能、各種應(yīng)用程序和文件,直觀、逼真地表示出來。用戶可以通過選擇窗口、菜單、對話框和滾動條完成對他們作業(yè)和文件的各種控制和操作。此
13、時(shí),用戶不必死記硬背操作命令,而能輕松自如地完成各項(xiàng)工作。,2.3,系統(tǒng)調(diào)用,2.3.1,系統(tǒng)調(diào)用的基本概念,2.3.2,系統(tǒng)調(diào)用的基本類型,2.3.2,系統(tǒng)調(diào)用的實(shí)現(xiàn),2.3.1,系統(tǒng)調(diào)用的基本概念,系統(tǒng)調(diào)用是為了擴(kuò)充機(jī)器功能、增強(qiáng)系統(tǒng)能力、方便用戶使用而建立的。用戶程序或其他系統(tǒng)程序通過系統(tǒng)調(diào)用就可以訪問系統(tǒng)資源,調(diào)用操作系統(tǒng)功能,而不必了解操作系統(tǒng)內(nèi)部結(jié)構(gòu)和硬件細(xì)節(jié),它是用戶程序或其他系統(tǒng)程序獲得操作系統(tǒng)服務(wù)的唯一途徑。,系統(tǒng)調(diào)用本質(zhì)上是應(yīng)用程序請求操作系統(tǒng)內(nèi)核完成某功能時(shí)的一種過程調(diào)用,但它是一種特殊的過程調(diào)用,它與一般的過程調(diào)用有下述幾方面明顯的差別。,調(diào)用形式不同。過程(函數(shù))使用
14、一般調(diào)用指令,其轉(zhuǎn)向地址是固定不變的,包含在跳轉(zhuǎn)語句中;但系統(tǒng)調(diào)用中不包含處理程序入口,而僅僅提供功能號,按功能號調(diào)用。,被調(diào)用代碼的位置不同。過程(函數(shù))調(diào)用是一種靜態(tài)調(diào)用,調(diào)用者和被調(diào)用代碼在同一程序內(nèi),經(jīng)過連接編輯后作為目標(biāo)代碼的一部份。而系統(tǒng)調(diào)用是一種動態(tài)調(diào)用,系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),這樣一來,系統(tǒng)調(diào)用處理代碼升級或修改時(shí),與調(diào)用程序無關(guān)。,提供方式不同。過程(函數(shù))往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過程(函數(shù))可以不同;系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設(shè)計(jì)好,系統(tǒng)調(diào)用的功能、種類與數(shù)量便固定不變了。,調(diào)用的實(shí)現(xiàn)不同。程序使用一般機(jī)器指令(跳轉(zhuǎn)指令)來
15、調(diào)用過程(函數(shù)),是在用戶態(tài)運(yùn)行的;程序執(zhí)行系統(tǒng)調(diào)用,是通過中斷機(jī)構(gòu)來實(shí)現(xiàn),需要從用戶態(tài)轉(zhuǎn)變到核心態(tài),在管理狀態(tài)執(zhí)行。,2.3.2,系統(tǒng)調(diào)用的基本類型,1,進(jìn)程控制類系統(tǒng)調(diào)用,創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用。,獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用。,等待某事件出現(xiàn)的系統(tǒng)調(diào)用。,2,文件操縱類系統(tǒng)調(diào)用,創(chuàng)建和刪除文件。,打開和關(guān)閉文件。,讀和寫文件。,3,進(jìn)程通信類系統(tǒng)調(diào)用,在操作系統(tǒng)中經(jīng)常采用兩種進(jìn)程通信方式,即消息傳遞方式和共享存儲區(qū)方式。,4,設(shè)備管理系統(tǒng)調(diào)用,申請?jiān)O(shè)備、釋放設(shè)備、設(shè)備,I/O,和重定向、獲得和設(shè)置設(shè)備屬性、邏輯上連接和釋放設(shè)備。,5,內(nèi)存管理系統(tǒng)調(diào)用,申請內(nèi)存和釋放內(nèi)存;虛擬存儲器的管
16、理。,6,信息維護(hù)系統(tǒng)調(diào)用,建立和斷開通信連接、發(fā)送和接收消息、傳送狀態(tài)信息、聯(lián)接和斷開遠(yuǎn)程設(shè)備。,2.3.2,系統(tǒng)調(diào)用的實(shí)現(xiàn),在操作系統(tǒng)中,實(shí)現(xiàn)系統(tǒng)調(diào)用功能的機(jī)制稱陷入或異常處理機(jī)制,由于系統(tǒng)調(diào)用而引起處理器中斷的機(jī)器指令稱訪管指令(,supervisor,)、陷入指令(,trap,)或異常中斷指令(,interrupt,)。,系統(tǒng)調(diào)用的實(shí)現(xiàn)有以下幾點(diǎn):,編寫系統(tǒng)調(diào)用處理程序;,設(shè)計(jì)一張系統(tǒng)調(diào)用入口地址表,每個入口地址都指向一個系統(tǒng)調(diào)用的處理程序,有的系統(tǒng)還包含系統(tǒng)調(diào)用自帶參數(shù)的個數(shù);,陷入處理機(jī)制,需開辟現(xiàn)場保護(hù)區(qū),以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場。,圖,2-2,系統(tǒng)調(diào)用的處理過程,2.4,Linux的用戶界面,2.4.1 Linux,的命令行接口,2.4.2 Linux,的圖形方式,2.4.3 Linux,的系統(tǒng)調(diào)用,2.4.4,與系統(tǒng)調(diào)用有關(guān)的數(shù)據(jù)結(jié)構(gòu),2.4.1 Linux,的命令行接口,Linux,命令行是,Linux,系統(tǒng)的核心,利用命令行可以對系統(tǒng)進(jìn)行各種配置,要熟練并成功地管理,Linux,操作系統(tǒng),必須對,Linux,下的命令行有深入的理解。,與圖形界面相比,利用命