系統調用的實現
中斷和陷入硬件機構
() 什麼是中斷和陷入
中斷是指CPU對系統發生某事件時的這樣一種響應CPU暫停正在執行的程序在保留現場後自動地轉去執行該事件的中斷處理程序執行完後再返回到原程序的斷點處繼續執行
() 中斷和陷入向量
系統調用號和參數的設置
() 直接將參數送入相應的寄存器中
() 參數表方式
系統調用的處理步驟
首先將處理機狀態由用戶態轉為系統態之後由硬件和內核程序進行系統調用的一般性處理即首先保護被中斷進程的CPU環境將處理機狀態字PSW程序計數器PC系統調用號用戶棧指針以及通用寄存器內容等壓入堆棧然後將用戶定義的參數傳送到指定的地方保存起來
其次是分析系統調用類型轉入相應的系統調用處理子程序
最後在系統調用處理子程序執行完後應恢復被中斷的或設置新進程的CPU現場然後返回被中斷進程或新進程 繼續往下執行
系統調用處理子程序的處理過程
進入Creat的處理子程序後核心將根據用戶給定的文件路徑名Path 利用目錄檢索過程去查找指定文件的目錄項查找目錄的方式可以用順序查找法也可用Hash查找法如果在文件目錄中找到了指定文件的目錄項表示用戶要利用一個已有文件來建立一個新文件但如果在該已有(存)文件的屬性中有不允許寫屬性或者創建者不具有對該文件進行修改的權限使認為是出錯而做出錯處理若不存在訪問權限問題便將已存文件的數據盤塊釋放掉准備寫入新的數據文件如未找到指名文件則表示要創建一個新文件核心便從其目錄文件中找出一個空目錄項並初始化該目錄項包括填寫文件名文件屬性文件建立日期等然後將新建文件打開
——返回教材目錄
了解更多計算機相關基礎課程視頻
From:http://tw.wingwit.com/Article/program/czxt/201311/24324.html