




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章操作系統(tǒng)用戶界面2.1簡介用戶界面負(fù)責(zé)用戶和操作系統(tǒng)之間的交互用戶通過用戶界面向計算機(jī)系統(tǒng)提交服務(wù)需求計算機(jī)通過用戶界面向用戶提供其所需要的服務(wù)用戶的分類使用和管理計算機(jī)應(yīng)用程序的用戶普通用戶:只是使用計算機(jī)的應(yīng)用服務(wù)管理員用戶:負(fù)責(zé)計算機(jī)和操作系統(tǒng)的正常與安全運行程序開發(fā)人員:利用操作系統(tǒng)提供的編程功能開發(fā)新的應(yīng)用程序,完成用戶所要求的服務(wù)2.1簡介對不同用戶,操作系統(tǒng)提供不同的用戶界面操作命令:對普通用戶和管理員,這些命令可以實現(xiàn)用戶所要求的不同功能(例如,上網(wǎng)、在線處理、辦公處理等),為用戶提供相應(yīng)的服務(wù)系統(tǒng)調(diào)用:對編程人員,這些系統(tǒng)調(diào)用允許編程人員使用操作系統(tǒng)和程序,開發(fā)能夠滿足用戶服務(wù)需求的新的控制命令不同操作系統(tǒng)為用戶提供不同的操作命令、不同的系統(tǒng)調(diào)用2.2一般用戶的輸入輸出界面2.2.1作業(yè)的定義當(dāng)用戶要求處理問題時,應(yīng)首先用某種程序設(shè)計語言對要處理的問題編制源程序,再準(zhǔn)備好初始數(shù)據(jù),然后把編制好的源程序和準(zhǔn)備好的數(shù)據(jù)輸入到計算機(jī)系統(tǒng)中,在操作系統(tǒng)的控制下,經(jīng)過編譯、裝配、運行等加工步驟,就能得到處理結(jié)果圖2.1一般編程過程
2.2.1作業(yè)的定義作業(yè):是用戶在一次解題或一個事務(wù)處理過程中要求計算機(jī)系統(tǒng)所做工作的集合,包括用戶程序、所需數(shù)據(jù)和命令等。作業(yè)步:是作業(yè)中計算機(jī)所做的相對獨立的工作或加工步驟。例如,編輯是一個作業(yè)步作業(yè)管理:一個作業(yè)從輸入到輸出的一個過程作業(yè)提交作業(yè)調(diào)度作業(yè)控制作業(yè)退出
對于被調(diào)度的作業(yè),OS要對它在系統(tǒng)中整個運行過程實行控制,作業(yè)的控制過程如圖所示2.2.2作業(yè)組成作業(yè)是一個比程序更廣的概念。它由程序、數(shù)據(jù)和作業(yè)說明書組成。系統(tǒng)通過作業(yè)說明書控制文件形式的程序和數(shù)據(jù),使之執(zhí)行和操作。作業(yè)由程序、數(shù)據(jù)和作業(yè)說明書三部分組成:程序:是問題求解的算法描述數(shù)據(jù):是程序加工的對象作業(yè)說明書:是告訴操作系統(tǒng)本作業(yè)的程序和數(shù)據(jù)按照什么樣的要求使之執(zhí)行2.2.2作業(yè)組成作業(yè)說明書體現(xiàn)用戶的控制意圖,在系統(tǒng)中生成一個作業(yè)控制塊JCB(JobControlBlock)的表格作業(yè)控制塊是作業(yè)管理中最主要的數(shù)據(jù)結(jié)構(gòu),是作業(yè)存在系統(tǒng)的唯一標(biāo)志。作業(yè)控制塊保存了系統(tǒng)對作業(yè)進(jìn)行管理的全部信息操作系統(tǒng)是根據(jù)JCB來對作業(yè)進(jìn)行控制和管理的。例如,當(dāng)OS進(jìn)行作業(yè)調(diào)度的時候,它要訪問作業(yè)控制塊的信息,從中找出作業(yè)標(biāo)識、作業(yè)狀態(tài)等信息;在作業(yè)輸出時,要從JCB中找到輸出井的地址等信息。JCB要包括如下信息:圖2.2作業(yè)說明書的主要內(nèi)容2.2.2作業(yè)組成通常,作業(yè)說明書主要用于批處理系統(tǒng)中,且各計算機(jī)廠家對自己的系統(tǒng)定義有各自的作業(yè)說明書的格式和內(nèi)容在微機(jī)系統(tǒng)和工作站系統(tǒng)中,常用批處理文件或shell程序方式編寫作業(yè)說明書2.2.3一般用戶的輸入輸出方式聯(lián)機(jī)輸入輸出方式:通過交互會話方式,實現(xiàn)作業(yè)輸入輸出脫機(jī)輸入輸出方式:解決設(shè)備速度太慢的問題直接耦合方式:將主機(jī)和外圍機(jī)通過一個公用的大容量外存直接耦合起來,從而省去了在脫機(jī)輸入中依靠人工干預(yù)來傳遞后援存儲器的過程。其中,公用存儲器中大量數(shù)據(jù)的高速讀寫由主機(jī)完成,慢速的輸入輸出過程仍又外圍機(jī)自己管理圖2.3直接耦合方式2.2.3一般用戶的輸入輸出方式SPOOLING系統(tǒng):稱為外圍設(shè)備同時聯(lián)機(jī)操作
圖2.4SPOOLING系統(tǒng)2.2.3一般用戶的輸入輸出方式SPOOLING系統(tǒng):該系統(tǒng)中,多臺外圍設(shè)備通過通道或DMA器件和主機(jī)與外存連接起來。作業(yè)的輸入輸出過程由主機(jī)中的操作系統(tǒng)控制。操作系統(tǒng)中的輸入程序包含兩個獨立的過程:讀過程:負(fù)責(zé)從外設(shè)把信息讀入緩沖區(qū)寫過程:負(fù)責(zé)把緩沖區(qū)的信息送到外存輸入井中網(wǎng)絡(luò)聯(lián)機(jī)方式
:以上述幾種輸入輸出方式為基礎(chǔ)2.3命令控制界面操作系統(tǒng)提供兩個用戶接口界面:系統(tǒng)調(diào)用:程序級編程人員使用系統(tǒng)調(diào)用來請求操作系統(tǒng)提供服務(wù),如申請和釋放外設(shè)等資源、控制程序的執(zhí)行速度等。操作命令:作業(yè)級用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計算機(jī)系統(tǒng)
作業(yè)控制語言(早期批處理操作系統(tǒng))鍵盤命令(交互式OS,分時OS)圖形用戶接口(UNIX、WINDOWS)2.3命令控制界面命令控制界面:用來組織和控制作業(yè)運行使用操作命令進(jìn)行作業(yè)控制主要有兩種方式:脫機(jī)方式聯(lián)機(jī)方式2.3命令控制界面脫機(jī)控制方式用戶將作業(yè)的執(zhí)行順序和出錯處理方法一并以作業(yè)控制說明書的方式或命令文件方式提交給系統(tǒng),由系統(tǒng)按照作業(yè)說明書或命令文件中所規(guī)定的順序控制作業(yè)執(zhí)行。作業(yè)控制說明書:由一組具有編程語言特征的作業(yè)控制命令,或稱作業(yè)控制語言組成。其主要包括作業(yè)情況、作業(yè)資源要求、出錯處理等內(nèi)容執(zhí)行過程中,用戶無法干涉UNIX/Linux中的Shell語言也可作為JCL使用效率較高,但缺乏交互能力,不適合初學(xué)者2.3命令控制界面聯(lián)機(jī)控制方式采用人機(jī)對話方式來控制作業(yè)運行,及時交互由一組命令及命令解釋程序組成,也稱命令接口一般可提供如下的一種或幾種方式:命令行方式菜單方式命令文件方式聯(lián)機(jī)控制方式命令行方式通過控制臺終端,打入操作系統(tǒng)提供的命令來控制自己的作業(yè)的運行各操作系統(tǒng)命令從格式到功能都不盡相同
通常的命令格式:
COMMANDargl,arg2,…,argn<CR>命令類型:環(huán)境設(shè)置、權(quán)限管理、系統(tǒng)管理、文件管理等該方式繁瑣,難記,但用起來快捷便利、十分靈活聯(lián)機(jī)控制方式批命令方式把所需執(zhí)行的一系列命令組裝成文件,然后用文件名作為命令名執(zhí)行所需命令序列,從而自動控制作業(yè)的運行例如,MS的BAT文件Unix的Shell文件或Shell過程對一些重復(fù)運行的作業(yè)非常有用聯(lián)機(jī)控制方式命令解釋程序接收用戶輸入的命令行,作出相應(yīng)的解釋并執(zhí)行該命令提出的對作業(yè)的處理要求。通常會保存一張命令名字(動詞)表記錄所有操作命令及其處理程序的人口地址或相關(guān)信息
圖形用戶接口圖形用戶接口(GraphicsUserInterface,GUI):通過出現(xiàn)在屏幕上的對象直接進(jìn)行操作,以控制和操縱程序運行將各種圖形元素顯示在屏幕上,對屏幕上的對象直接進(jìn)行操作部件構(gòu)成:窗口、菜單、列表框、消息框、對話框、按鈕、滾動條等特點:人機(jī)交互的并發(fā)性好、傳遞信息量大例如,MSWindows、UNIX的X-Window等
圖形用戶接口采用事件驅(qū)動的控制方式,工作過程:用戶按鍵或點擊鼠標(biāo)產(chǎn)生一個事件,通過中斷系統(tǒng)激發(fā)事件驅(qū)動控制程序由事件驅(qū)動控制程序負(fù)責(zé)接收、分析和處理事件最后清除處理過的事件最新進(jìn)展:觸摸屏、話音、用戶表情和肢體動作等
2.5系統(tǒng)調(diào)用——程序級接口在計算機(jī)系統(tǒng)中有兩類程序運行:用戶程序、系統(tǒng)程序用戶程序必須在系統(tǒng)程序的控制和管理下運行用戶程序、系統(tǒng)程序執(zhí)行時有不同的權(quán)限1.用戶態(tài)與系統(tǒng)態(tài)根據(jù)對系統(tǒng)資源和機(jī)器指令的使用權(quán)限,把處理機(jī)執(zhí)行時的工作狀態(tài)分為系統(tǒng)態(tài)和用戶態(tài),系統(tǒng)態(tài)(管態(tài)):將處理機(jī)在系統(tǒng)程序中執(zhí)行稱為系統(tǒng)態(tài)用戶態(tài)(算態(tài)):將處理機(jī)在用戶程序中執(zhí)行稱為系統(tǒng)態(tài)其權(quán)限次序是:系統(tǒng)態(tài)、用戶態(tài)2.特權(quán)指令與訪管指令特權(quán)指令
系統(tǒng)態(tài)(管態(tài)):CPU執(zhí)行操作系統(tǒng)程序時所處的狀態(tài)在此狀態(tài)下允許CPU使用全部資源和全部指令,其中包括一組特權(quán)指令,實現(xiàn)對系統(tǒng)資源的分配與管理,為用戶提供使用外部設(shè)備的服務(wù)。特權(quán)指令:只允許系統(tǒng)態(tài)下使用的指令。包括:使用外設(shè)的指令訪問程序狀態(tài)的指令:改變處理機(jī)狀態(tài)、切換處理機(jī)存取特殊寄存器指令:如存取中斷寄存器允許和禁止中斷其它指令2.特權(quán)指令與訪管指令用戶態(tài):用戶程序執(zhí)行時CPU所處的狀態(tài)。
在此狀態(tài)下禁止使用特權(quán)指令,不能直接使用系統(tǒng)資源與改變CPU狀態(tài),并且只能訪問用戶程序所在的存儲空間。
問題:用戶提出使用外設(shè)的請求,如何完成?訪管指令(或稱陷阱指令)實現(xiàn)從用戶態(tài)到系統(tǒng)態(tài)的改變;在系統(tǒng)態(tài)下由操作系統(tǒng)代替用戶完成其請求;操作系統(tǒng)工作完成后,由系統(tǒng)態(tài)到用戶態(tài)。訪管指令本身并不是特權(quán)指令,而是系統(tǒng)態(tài)指令處理機(jī)狀態(tài)轉(zhuǎn)換
當(dāng)CPU執(zhí)行用戶程序時,CPU機(jī)處于用戶態(tài),在執(zhí)行的過程中出現(xiàn)了中斷時,系統(tǒng)轉(zhuǎn)去處理與中斷有關(guān)的事件,這時CPU由用戶態(tài)轉(zhuǎn)換成系統(tǒng)態(tài),處理完中斷后,返回斷點繼續(xù)執(zhí)行用戶程序,這時CPU由系統(tǒng)態(tài)轉(zhuǎn)換成用戶態(tài)。右圖是UNIX系統(tǒng)環(huán)境下處理機(jī)狀態(tài)轉(zhuǎn)換圖,在UNIX系統(tǒng)中,把系統(tǒng)態(tài)稱為核心態(tài)用戶態(tài)轉(zhuǎn)向系統(tǒng)態(tài)在下列情況下,由用戶態(tài)轉(zhuǎn)向系統(tǒng)態(tài):用戶程序要求操作系統(tǒng)的服務(wù),系統(tǒng)調(diào)用;發(fā)生一次中斷;在用戶程序中產(chǎn)生了一個錯誤的狀態(tài);在用戶程序中企圖執(zhí)行一條特權(quán)指令;從系統(tǒng)態(tài)轉(zhuǎn)回用戶態(tài)用一條指令實現(xiàn),這條指令就是訪管指令(或稱陷阱指令)。3.系統(tǒng)調(diào)用系統(tǒng)調(diào)用(SYSTEMCALL),也稱程序接口是操作系統(tǒng)提供給編程人員的唯一接口,用戶在程序中使用系統(tǒng)調(diào)用請求操作系統(tǒng)的服務(wù)。例如,在程序中要求顯示某個子目錄,這時就不能讓正在運行的程序退出,然后發(fā)出“DIR”命令。這就要求在程序中能直接使用“DIR”命令,這種直接使用操作系統(tǒng)命令的功能稱為系統(tǒng)調(diào)用。3.系統(tǒng)調(diào)用編程人員利用系統(tǒng)調(diào)用,在源程序一級動態(tài)請求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機(jī)器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作而只提供有關(guān)的功能。3.系統(tǒng)調(diào)用系統(tǒng)調(diào)用的定義允許用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能是特殊的功能調(diào)用,由特殊的機(jī)器指令實現(xiàn)通過訪管指令或軟中斷方式中斷現(xiàn)行程序,轉(zhuǎn)去執(zhí)行相應(yīng)的子程序,完成特定的系統(tǒng)功能系統(tǒng)調(diào)用程序是一個低級過程,只能由匯編語言直接訪問,直接調(diào)用。系統(tǒng)調(diào)用就是由操作系統(tǒng)代替用戶完成某些特定任務(wù)的子過程。因此,擴(kuò)充了機(jī)器指令,增加了系統(tǒng)功能,方便了用戶使用。系統(tǒng)調(diào)用舉例程序中:open打開文件
creat創(chuàng)建文件
exit進(jìn)程終止(程序序結(jié)束)
close關(guān)閉文件3.系統(tǒng)調(diào)用系統(tǒng)調(diào)用是通過訪管指令實現(xiàn)的在程序中,如果希望請求操作系統(tǒng)的服務(wù)(例,打開一個文件,顯示某個目錄的內(nèi)容等),就要執(zhí)行一條訪管指令(trap、int),系統(tǒng)處理這個中斷,即為用戶提供相應(yīng)的服務(wù)(或者稱響應(yīng)用戶的請求)。PDP-11系統(tǒng)計算機(jī)的UNIX系統(tǒng):TRAPN微機(jī)windows95/98/NT,MS-DOS:INTNN:為地址碼注意:在匯編程序中是顯式地使用訪管中斷命令,trap、INT。而在高級語言中(C語言)是隱式使用訪管指令。系統(tǒng)調(diào)用的類型凡是涉及操作系統(tǒng)核心管理資源的操作必須由系統(tǒng)調(diào)用實現(xiàn)。系統(tǒng)調(diào)用的類型有:設(shè)備管理類文件管理類:如open()、close()進(jìn)程控制類:如fork()、wait()進(jìn)程通信類存儲管理類維護(hù)管理類不同的操作系統(tǒng)提供不同的系統(tǒng)調(diào)用。通常,每個系統(tǒng)都有幾十到幾百條系統(tǒng)調(diào)用系統(tǒng)調(diào)用越多,功能就越強(qiáng),使用更加靈活系統(tǒng)調(diào)用的實現(xiàn)不同的操作系統(tǒng),系統(tǒng)調(diào)用實現(xiàn)的具體方法有所不同,但其實質(zhì)的特點是相同的:每個系統(tǒng)調(diào)用對應(yīng)一個系統(tǒng)調(diào)用號;每個系統(tǒng)調(diào)用有一個對應(yīng)的執(zhí)行程序段;每個系統(tǒng)調(diào)用要求一定數(shù)量的輸入?yún)?shù)和返回值;整個系統(tǒng)有一個系統(tǒng)調(diào)用執(zhí)行程序入口地址表;系統(tǒng)調(diào)用的實現(xiàn)在陷入中斷發(fā)生時,從用戶態(tài)->核心態(tài)。這一轉(zhuǎn)換在發(fā)生訪管中斷時由硬件自動實現(xiàn)。系統(tǒng)調(diào)用語句本身是硬件提供的(機(jī)器指令),但其所調(diào)用的功能是操作系統(tǒng)提供的。每種機(jī)器的機(jī)器指令集中都有一條系統(tǒng)調(diào)用指令系統(tǒng)調(diào)用的實現(xiàn)圖2.7系統(tǒng)調(diào)用的處理過程系統(tǒng)調(diào)用的實現(xiàn)使用步驟系統(tǒng)調(diào)用所需參數(shù)及其首地址送到規(guī)定的通用寄存器設(shè)置一條調(diào)用指令(訪管指令或軟中斷指令)執(zhí)行過程保護(hù)用戶程序的現(xiàn)場執(zhí)行相應(yīng)功能:根據(jù)系統(tǒng)調(diào)用提供的功能號,訪問系統(tǒng)功能入口地址表,得到相應(yīng)功能的人口地址,然后轉(zhuǎn)去執(zhí)行返回處理:在系統(tǒng)調(diào)用處理結(jié)束之后,還要恢復(fù)處理器現(xiàn)場。在操作系統(tǒng)中,處理器的現(xiàn)場一般被保護(hù)在特定的內(nèi)存區(qū)或寄存器中系統(tǒng)調(diào)用的實現(xiàn)參數(shù)傳遞目的:實現(xiàn)用戶程序和系統(tǒng)程序間的參數(shù)傳遞常用實現(xiàn)方法:由陷入指令自帶參數(shù):陷入指令的長度有限的,且還要攜帶系統(tǒng)調(diào)用功能號,只能自帶有限的參數(shù)通過有關(guān)通用寄存器來傳遞參數(shù):這些寄存器應(yīng)是系統(tǒng)程序和用戶程序都能訪問,由于寄存器長度較短,無法傳遞較多的參數(shù)更為常見的是在內(nèi)存中開辟專用堆棧區(qū)來傳遞參數(shù)UNIX系統(tǒng)調(diào)用實現(xiàn)UNIX系統(tǒng)調(diào)用的使用
在UNIX系統(tǒng)中系統(tǒng)調(diào)用是自陷的一種。例如,某用戶程序要求打開一個文件:匯編語言程序中:trap5C語言程序中:open(“文件路徑名,mode)UNIX系統(tǒng)調(diào)用實現(xiàn)自陷指令(trap)trap處理程序是UNIX系統(tǒng)的自陷處理程序,負(fù)責(zé)處理所有的自陷(來自處理機(jī)內(nèi)部的中斷),其中包括系統(tǒng)調(diào)用的處理。系統(tǒng)調(diào)用的處理過程:把要求的參數(shù)傳送到指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 香港科技大學(xué)(廣州)《耳鼻咽喉頭頸外科》2023-2024學(xué)年第一學(xué)期期末試卷
- 佳木斯職業(yè)學(xué)院《文獻(xiàn)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 燕京理工學(xué)院《web技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年陜西省恒口高級中學(xué)高三下學(xué)期綜合模擬考試物理試題含解析
- 永城職業(yè)學(xué)院《安全工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江省杭州十四中2025年高三測試(四)物理試題含解析
- 江西服裝學(xué)院《先進(jìn)功能材料雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波幼兒師范高等??茖W(xué)?!稜I養(yǎng)與食品衛(wèi)生學(xué)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆體育職業(yè)技術(shù)學(xué)院《影視攝影與剪輯技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 供應(yīng)商設(shè)備預(yù)驗收人員分工
- 幼兒園獲獎公開課:大班語言繪本《好消息壞消息》課件
- 宇樹科技在機(jī)器人領(lǐng)域的技術(shù)突破與應(yīng)用
- 《高危作業(yè)培訓(xùn)》課件
- 中央2025年中國科協(xié)所屬單位招聘應(yīng)屆生27人筆試歷年參考題庫附帶答案詳解
- 《義務(wù)教育語文課程標(biāo)準(zhǔn)》2022年修訂版原版
- (精選word)3v3籃球比賽記錄表
- 消費者行為學(xué)課件
- 【小升初】部編版2022-2023學(xué)年四川省綿陽市語文升學(xué)分班考真題專項模擬試卷(04 現(xiàn)代文閱讀)含解析
- 第九-現(xiàn)場勘查課件
- 挖掘機(jī)配件名稱大全
- 煙花爆竹危險固體廢棄物綜合利用建設(shè)項目可行性研究報告-甲乙丙資信
評論
0/150
提交評論