天天看點

作業系統課堂筆記(3)SPOOLing系統工作原理與系統調用

spooling系統工作原理

含義:

同時的外圍裝置聯機操作(假脫機技術)

包括:

–輸入程式子產品(預輸入程序)

–作業排程程式(作業排程程序)

–作業控制程式(作業控制程序)

–輸出程式子產品(緩輸出程序)

•作業執行前用慢速裝置将作業預先輸入到後援存儲器(如磁盤、磁鼓,稱為輸入井)中,稱為預輸入

•作業運作中,當要使用資料時,直接從輸入井中取出

•作業運作中,需要輸出資料時,不必直接啟動外部裝置輸出資料,隻需将這些資料寫入輸出井中

•作業全部運作完畢,再從外部裝置輸出全部資料和資訊,稱為緩輸出

實作了對作業輸入、組織排程和輸出的統一管理

•使外設在cpu直接控制下,與cpu并行工作(稱為假脫機)

系統調用

使用者在程式中調用作業系統提供的一些子功能

•一種特殊的過程調用,由特殊的機器指令實作(每種機器的機器指令集中都有一條系統調用指令——訪管指令)

•系統調用是作業系統提供給程式設計人員的唯一接口

•系統狀态從目态轉入管态

•系統調用是一個低級過程,隻能由彙編語言直接通路

•利用系統調用,動态請求和釋放系統資源

  完成與硬體相關的工作以及控制程式的執行等

每個作業系統都提供幾百種系統調用

機制的設計

•陷入(trap)或異常處理機制

     系統中控制系統調用服務的機制

•陷入或異常指令(或稱訪管指令)

     由系統調用引起處理機中斷的指令

•系統調用的功能号和參數

    每個系統調用都對應一個事先給定的功能号

    在陷入指令中必須包括對應的系統調用的功能号

    有些陷入指令中,還帶有傳給陷入處理機制和内部處理程式的有關參數

•入口位址表

    每個入口位址對應一個系統調用功能子程式

  陷入處理機制把陷入指令中的功能号與入口位址表有關項對應, 驅動有關子程式執行

保護現場:

•進入系統調用處理前,陷入處理機制還需儲存處理機現場

•在系統調用處理結束之後,要恢複處理機現場,現場被保護在特定的記憶體區或寄存器中

系統的功能可分為兩部分:

•系統自身所需要的

•作為服務提供給使用者的

os的系統調用:

•程序控制類系統調用

•檔案操作類系統調用

•程序通信類系統調用

•裝置管理類系統調用

•資訊維護類系統調用

常用的3種實作方法:

•由陷入指令自帶參數:陷入指令的長度有限,且還要攜帶系統調用功能号,隻能自帶有限的參數

•通過通用寄存器傳遞參數:這些寄存器是系統程式和使用者程式都能通路的,由于寄存器長度較短,傳遞的參數數量有限

•在記憶體中開辟專用堆棧區來傳遞參數

繼續閱讀