PSW, processor status word, 處理器狀態字app
能夠將操做系統看作是一種軟件(集合),它對包括硬件和軟件在內的計算機系統的各個組成部分進行管理,而且爲用戶提供了便於使用的操做界面,內核做爲操做系統的核心部分,提供計算機系統必備的功能,經過閱讀而且理解內核源代碼,能夠:
(1)對計算機系統的全貌有更加深刻的瞭解
(2)讓操做計算機成爲一種使人愉快的體驗
(3)加深對於知識的理解
(4)提高技術人員自身的水平spa
(1)代碼行數約爲1萬行
(2)充實的資料
(3)網羅了操做系統的基本功能
UNIX V6基本上實現了構成操做系統的大部分基本功能,目前最新的操做系統的大部分都是以它爲基礎發展而來的,線程、網絡、GUI、多核支持、虛擬機等等這些UNIX V6不具有的功能在近些年的操做系統中得以實現,這些功能當中有不少實際上是以UNIX V6實現的功能爲基礎的
(4)簡化的設計
(5)便於讀者對系統有完整的瞭解
(6)有模擬器可供參考操作系統
1975年,Kenneth Lane Thompson
和 Dennis MacAlistair Ritchie
在貝爾實驗室發佈了UnixV6
, 接着, 1979年又發佈了UNIX_V7,加州伯克利大學在1978年基於UNIX_V6發佈了首個BSD版本,在此以後,UNIX和BSD不斷有新的版本或者派生版本發佈,而後,又出現了標準化的動向,指定了POSIX標準,意在統一各個操做系統所提供的API,著名的Linux也是將POSIX標準做爲開發目標,所以,絕大多數的操做系統都和UNXI_V6有着千絲萬縷的聯繫。線程
UNIX v6的內核提供了下面的功能:設計
(1)管理運行中的程序(進程)
(2)管理內存
(3)管理文件系統
(4)文件和周邊設備共享IO
(5)中斷
(6)支持終端處理unix
(1)如上圖,用戶程序能夠直接經過系統調用機制(調用內核提供的功能)訪問內核提供的功能;
(2)或者,用戶程序利用UNIX V6提供的系統內置的用戶程序集(處理用戶登陸的程序或者守護程序等等)、輔助程序(例如: ls, cat等等)、程序庫等進行處理,這些系統程序再利用系統調用訪問內核功能;指針
PDP-11/40是一種16位計算機,指令和數據基本都是以16位(bit)位單位進行處理的,處理器處理數據的單位稱爲字(word),1個字的佔位爲16bitcode
沒有專用的IO總線,使用一種稱爲Unibus的總線用於數據的輸入輸出,具備18bit寬的地址總線blog
PDP-11/40以及周邊設備的寄存器被映射到內存最高位的8KB空間,能夠採用和操做內存相同的方法操做寄存器,稱爲內存映射IO (memory mapped IO)
借位位,指令執行中發生進位或者借位時候置爲1
溢出位,執行執行中發生溢出時候置爲1
零位,指令執行結果爲0時候置爲1
負位,指令執行結果爲負值時候置爲1
處理器模式:內核模式用00
表示, 用戶模式用11
表示
在對系統調用進行處理時候,處理器須要首先從用戶模式切換到內核模式,內核模式和用戶模式使用的進程的虛擬空間是相互獨立的,所以在內核、用戶模式之間傳輸數據時候,須要瞭解處理器當前、先前模式
PSW寄存器,0-3位借位位、溢出位、零位、負位,硬件根據執行結果自動設置
r6稱爲棧指針,指向各進程所擁有的棧的頂端r7稱爲程序計算器,處理器從r7指示的內存地址讀取指令,隨後解釋並執行該指令,處理完後r7將指向容納下一條指令的內存地址。