N計算機操作系統教程第三章2_第1頁
N計算機操作系統教程第三章2_第2頁
N計算機操作系統教程第三章2_第3頁
N計算機操作系統教程第三章2_第4頁
N計算機操作系統教程第三章2_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機操作系統教程---------Linux實例分析程驊信息科學與工程學院操作系統的用戶接口1作業(yè)管理2.批處理的作業(yè)管理3.處理機調度級別4.Linux系統調度用實現5.第3章作業(yè)管理及用戶接口

3.1

操作系統的用戶接口程序級接口作業(yè)控制級接口3.1.1程序級接口

用戶在程序中直接使用系統調用指令來調用操作系統的有關功能。1.什么是系統調用指令2.系統調用指令的形式程序級接口(通過OS提供的一套系統調用來定義)3.系統調用執(zhí)行過程4.處理機的狀態(tài)及特權指令管態(tài):

處理機在執(zhí)行操作系統的程序代碼時所處的狀態(tài)目態(tài):

處理機在執(zhí)行用戶程序和其它系統應用程序時所處的狀態(tài)3.1.2作業(yè)控制級接口作業(yè)級接口:是操作系統為用戶在作業(yè)一級請求系統服務而設置的脫機用戶接口(批處理)——作業(yè)控制語言這種接口主要是用于批處理系統聯機用戶接口(交互式)——命令級接口(鍵盤命令)用于以交互方式請求操作系統服務命令行接口圖用用戶界面命令級接口:命令行接口CommandlineInterface命令級接口:圖用戶界面GraphicalUserInterface3.2作業(yè)管理3.2.1作業(yè)的基本概念作業(yè):用戶在一次計算過程中或一次事務處理過程中,要求計算機系統所做工作的總稱。作業(yè)步:一個作業(yè)可劃分成若干部分,處理作業(yè)的各個獨立的子任務稱為一個作業(yè)步。作業(yè)流:把若干作業(yè)依次放在輸入設備上,在操作系統控制下依次運行用戶作業(yè)作業(yè)步作業(yè)步進程進程線程線程.........由用戶創(chuàng)建由用戶指定由系統創(chuàng)建作業(yè)、作業(yè)步進程和線程的關系基本概念作業(yè)的組成:由程序、數據和作業(yè)說明書三部分組成。作業(yè)的處理過程:作業(yè)的類型:脫機作業(yè)------脫機用戶接口------批處理方式聯機作業(yè)------聯機用戶接口------交互式方式3.2.2作業(yè)控制方式1.批處理方式2.交互控制方式(1)操作控制命令

(2)菜單技術

(3)窗口技術

交互式系統作業(yè)管理由一組操作系統命令實現,采用人機對話的方式來控制作業(yè)的運行。為聯機用戶接口方式接口方式:命令驅動方式窗口系統與菜單驅動方式命令文件方式命令驅動方式用戶通過控制臺終端輸入操作系統提供的命令來控制自己的作業(yè)運行,系統接受到一條命令后由命令處理程序解釋并執(zhí)行,然后通過屏幕顯示將結果報告給用戶。用戶根據結果決定下一步的操作,直到作業(yè)完成?;救蝿眨航忉屆?,傳送命令以便執(zhí)行接受系統信息,提交給用戶(以響應語言的形式)特點:交互式命令的接口復雜,系統利用率低;控制靈活方便接口包括:一組聯機命令,終端處理程序,命令解釋程序終端處理與命令解釋程序終端處理程序用戶同操作系統的通信通過一個輸入/輸出裝置來實現,由一個終端處理程序管理和控制直接影響命令接口的一些問題回送顯示(Echoing)提前打入(Typeahead)字符變換行緩沖中斷字符(BreakCharacters)命令解釋程序兩種處理方法:由終端命令解釋程序直接處理由子進程代為處理命令接口的結構命令接口由命令處理器來實現命令處理器的實現方式:作為OS的一個部分,如,OS/MVT或VAX/VMS作為OS的一個獨特模塊,能方便地修改或替換,如RT-11或CP/M作為一易于被替換的普通程序,如UNIX在某些系統中,可能用專門設計的命令接口替代標準的命令接口,如,多用戶UNIX,用戶可有不同命令接口命令語言命令語言規(guī)定由OS執(zhí)行的一系列操作多數命令行中要給出一些參數,每一命令語句實際上是帶有參數的一個過程調用一個命令語言通常提供下列幾組命令:(1)系統訪問命令(2)文件管理命令(3)編輯、編譯和執(zhí)行命令(4)詢問命令(5)操作員專用命令命令行:規(guī)定由操作系統執(zhí)行的一系列操作命令行、命令格式、命令分類、命令簡化窗口系統與菜單驅動方式命令行方式:要求用戶記憶命令格式圖形用戶接口方式:用戶可利用鼠標對屏幕上的圖標進行操作,完成與操作系統的交互,從而減少記憶內容,方便用戶使用。圖形用戶接口的技術基礎:高分辯顯示器和鼠標效率沒有命令行方式高命令文件方式把一系列命令組裝成文件的方法,然后用文件名作為命令名執(zhí)行另外一系列命令針對大量順序操作功能而設計,實現了聯機狀態(tài)下的批處理操作批處理命令可以是專門的命令,也可是系統的基本命令;還有有關的語法結構,循環(huán)、分支、轉移、判別等,構成一套特殊的命令語言特點:接受參數、變量,宏變量替換允許嵌套形式調用其他命令文件允許參數來自終端的命令文件本身允許執(zhí)行顯示到終端、存入文件或送入打印機允許命令加入注釋出錯時允許用戶干預可把輸入傳給程序,可有循環(huán)、分支、轉移等例:UNIX的作業(yè)管理shell命令處理程序1.shell的類型2.初始化文件3.基本特征4.輸入輸出重定向5.管道6.后臺執(zhí)行7.環(huán)境變量和內部變量8.別名9.常用的外部命令批處理3.3批處理作業(yè)的管理3.3.1批處理作業(yè)的組織3.3.2批處理作業(yè)的輸入3.3.3作業(yè)控制塊是作業(yè)的描述信息與控制信息批處理系統作業(yè)處理把對作業(yè)進行控制的意圖連同程序和數據及發(fā)生故障后的處理措施一起輸入系統中,由系統根據該意圖來控制作業(yè)的執(zhí)行。為脫機用戶接口方式由作業(yè)控制語言JCL組成作業(yè)控制語言JCL書寫作業(yè)說明書的語言稱為作業(yè)控制語言用于描述批處理作業(yè)處理過程控制意圖的一種特殊程序類別:包括I/O命令、編譯命令、操作命令及條件命令等脫機用戶接口的形式作業(yè)控制卡用在早期批處理系統管理中。使用作業(yè)控制語言JCL,穿孔在卡片上作業(yè)說明書使用某些作業(yè)控制命令將用戶對作業(yè)的意圖寫成作業(yè)說明書,實現對作業(yè)的控制。表達用戶對作業(yè)的控制意圖內容:作業(yè)的基本描述、作業(yè)控制描述、資源要求描述作業(yè)控制塊

(JCB,JobControlBlock)用來對作業(yè)進行描述的數據結構稱為作業(yè)控制塊(JCB)作業(yè)控制塊是批處理作業(yè)存在的標志保存系統對于作業(yè)進行管理所需要的全部信息位于磁盤區(qū)域中,和作業(yè)一一對應內容:信息數量及內容因系統而異生命周期:建立,使用,撤銷3.3.4作業(yè)狀態(tài)1.提交狀態(tài)(進入狀態(tài))用戶通過輸入設備向系統提交一個作業(yè)時所處的狀態(tài)。2.后備狀態(tài)用戶作業(yè)經輸入設備送入輸入井中存放,等待進入內存時所處的狀況3.執(zhí)行狀態(tài)(執(zhí)行狀態(tài))作業(yè)分配到所需資源,被調入內存時所處的狀況4.完成狀態(tài)(退出狀態(tài))作業(yè)完成了計算任務,結果由打印機輸出批處理作業(yè)的狀態(tài)及轉換3.4處理機調度的級別高級調度:又稱為作業(yè)調度

根據一定的算法,從輸入的一批作業(yè)中選出若干個作業(yè)調入內存.2.低級調度:又稱進程調度

根據一定的調度算法,從就緒隊列中選擇一個進程,使其獲得處理機執(zhí)行。3.線程調度

作業(yè)調度的功能1)記錄系統中各個作業(yè)的情況2)按照某種調度算法從后備作業(yè)中挑選作業(yè)3)為選中的作業(yè)分配內存和外設等資源并為作業(yè)建立相應的進程4)作業(yè)結束后進行善后處理工作,即收回該作業(yè)所占用的全部資源,撤消與該作業(yè)相關的全部進程和該作業(yè)的JCB

3.4.1作業(yè)調度2.性能評價標準(1)調度策略的選擇1)提高處理機與外設的并行程度2)提高主存的利用效率3)提高作業(yè)的吞吐量4)作業(yè)調度算法應盡量簡單,使系統的時間和空間開銷最小(2)作業(yè)調度性能衡量1)周轉時間作業(yè)i的周轉時間:Ti=Tei–Tsi作業(yè)的平均周轉時間:

2)帶權周轉時間作業(yè)i的帶權周轉時間:Wi=Ti∕TriTei:作業(yè)i的完成時間Tsi:作業(yè)i的提交時間Ti:作業(yè)i的周轉時間Tri:作業(yè)i的執(zhí)行時間作業(yè)的平均帶權周轉時間:

(1)先來先服務(FCFS)

3.常用的作業(yè)調度算法優(yōu)點:算法簡單、便于實現

缺點:導致短作業(yè)等待時間過長

作業(yè)名進入輸入井時間需計算時間需內存量(KB)A8:064215B8:183060C8:362450D9:182410E9:181220(2)短作業(yè)優(yōu)先算法(SJF)優(yōu)點:作業(yè)平均等待時間最小和作業(yè)吞吐重量大

缺點:若系統不斷接納新作業(yè),則可能導致大作業(yè)長期等待

(3)最高響應比優(yōu)先算法(HRN)響應比=作業(yè)等待時間∕作業(yè)運行時間

(4)優(yōu)先級算法分為靜態(tài)優(yōu)先數法和動態(tài)優(yōu)先數法

作業(yè)優(yōu)先數=(等待時間)2-所需運行時間-16×輸出量

例如:

1.

進程調度的功能

3.4.2進程調度

(1)記錄當前進程的情況

(2)選擇占有處理機的進程。(3)進行進程上下文切換1)完成任務。正在運行的進程完成其任務后,

釋放對CPU的控制

2)等待資源。由于等待某些資源或事件,正在

運行的進程不得不放棄CPU

2.進程調度的時機3)運行到時。在分時系統中,當前進程使用完規(guī)

定的時間片,時鐘中斷使該進程讓

出CPU

4)發(fā)現標志。核心處理完中斷或陷入事件后,

發(fā)現系統中“重新調度”標志被置上

(1)保存處理器的上下文,包括程序計數器和其它寄存器(2)用新狀態(tài)和其它相關信息更新正在運行

進程的PCB3.進程上下文切換(3)把原來的進程移至就緒或等待隊列(4)選擇另一就緒進程并更新被選進程PCB

(5)從被選中進程中重裝入CPU上下文

3.6.1進程調度

調度方式采用“搶占式優(yōu)先級”方式調度策略3.5Linux系統中的進程調度

SCHED_FIFO適合于實時進程2)SCHED_RR對應“時間片輪轉法”,適合于

每次運行需要較長時間的實時進程3)SCHED_OTHER是傳統的UNIX調度策略,

適合于交互式的分時進程

1)當前進程調用nanosleep()或者pause(),使自己進入睡眠狀態(tài),主動讓出一段時間CPU的使用權

3.調度時機2)進程終止,永久地放棄對CPU的使用

3)在時鐘中斷處理程序執(zhí)行過程中,發(fā)現當前進程連續(xù)

運行的時間過長

4)當喚醒一個睡眠進程時,發(fā)現被喚醒的進程比當前進

程更有資格運行

5)一個進程通過執(zhí)行系統調用來改變調度策

溫馨提示

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

評論

0/150

提交評論