spooling系統工作原理
含義:
同時的外圍裝置聯機操作(假脫機技術)
包括:
–輸入程式子產品(預輸入程序)
–作業排程程式(作業排程程序)
–作業控制程式(作業控制程序)
–輸出程式子產品(緩輸出程序)
•作業執行前用慢速裝置将作業預先輸入到後援存儲器(如磁盤、磁鼓,稱為輸入井)中,稱為預輸入
•作業運作中,當要使用資料時,直接從輸入井中取出
•作業運作中,需要輸出資料時,不必直接啟動外部裝置輸出資料,隻需将這些資料寫入輸出井中
•作業全部運作完畢,再從外部裝置輸出全部資料和資訊,稱為緩輸出
實作了對作業輸入、組織排程和輸出的統一管理
•使外設在cpu直接控制下,與cpu并行工作(稱為假脫機)
系統調用
使用者在程式中調用作業系統提供的一些子功能
•一種特殊的過程調用,由特殊的機器指令實作(每種機器的機器指令集中都有一條系統調用指令——訪管指令)
•系統調用是作業系統提供給程式設計人員的唯一接口
•系統狀态從目态轉入管态
•系統調用是一個低級過程,隻能由彙編語言直接通路
•利用系統調用,動态請求和釋放系統資源
完成與硬體相關的工作以及控制程式的執行等
每個作業系統都提供幾百種系統調用
機制的設計
•陷入(trap)或異常處理機制
系統中控制系統調用服務的機制
•陷入或異常指令(或稱訪管指令)
由系統調用引起處理機中斷的指令
•系統調用的功能号和參數
每個系統調用都對應一個事先給定的功能号
在陷入指令中必須包括對應的系統調用的功能号
有些陷入指令中,還帶有傳給陷入處理機制和内部處理程式的有關參數
•入口位址表
每個入口位址對應一個系統調用功能子程式
陷入處理機制把陷入指令中的功能号與入口位址表有關項對應, 驅動有關子程式執行
保護現場:
•進入系統調用處理前,陷入處理機制還需儲存處理機現場
•在系統調用處理結束之後,要恢複處理機現場,現場被保護在特定的記憶體區或寄存器中
系統的功能可分為兩部分:
•系統自身所需要的
•作為服務提供給使用者的
os的系統調用:
•程序控制類系統調用
•檔案操作類系統調用
•程序通信類系統調用
•裝置管理類系統調用
•資訊維護類系統調用
常用的3種實作方法:
•由陷入指令自帶參數:陷入指令的長度有限,且還要攜帶系統調用功能号,隻能自帶有限的參數
•通過通用寄存器傳遞參數:這些寄存器是系統程式和使用者程式都能通路的,由于寄存器長度較短,傳遞的參數數量有限
•在記憶體中開辟專用堆棧區來傳遞參數