從編程的角度理解操作系統及其軟件設計

我們都知道操作系統是裝在計算機上的,所有的計算機本質上是由CPU、存儲器(內存)、IO設備組成,
CPU包括運算器和控制器組成,IO設備包括輸入設備和輸出設備。
CPU的設計是一個計算機的關鍵,所有的其他東西都是圍繞CPU設計的,CPU通過主板和存儲器以及IO設備溝通,
當CPU改變時,對應的主板、內存、IO設備一般都需要改變,當然也可以不改變,因爲有標準的存在,有接口的存在。
CPU對編程來說特別關鍵,因爲他包含人爲定義的指令系統,指令是控制CPU的關鍵,CPU是控制計算機的關鍵。區別
CPU的一點就是這個CPU所支持的指令系統,越新的CPU所支持的指令越多,因爲有需要先進的指令被加進來了。不同
廠商生產的CPU所包含的指令系統肯定也不一樣,但是還是有標準來控制他們儘量兼容,但是最新的指令是很難兼容的。
操作系統安裝在計算機上,因爲計算機所使用的CPU不太相同,所以操作系統需要去爲這些CPU來分別編寫來支持他們,
你用x86的操作系統裝以前使用ibm cpu的蘋果機,肯定裝不上啊,因爲操作系統支持的cpu有誤。操作系統主要用匯編和
c語言來編寫,彙編是針對不同的cpu的,因爲彙編是對cpu指令系統的對應,如果cpu不支持這種指令,你讓彙編用這種
指令操作cpu肯定是不行的。而c是對彙編的再包裝,是個高級語言,因此不用太在意cpu的型號,注意這是使用匯編和c來
編寫操作系統而不是其他軟件。
安裝完操作系統之後,我們就可以編寫系統軟件和應用軟件了,記住這些軟件是通過操作系統來運行的,你不能繞過操作系統
去做你想做的事,操作系統就是管理這些軟件的,他是硬件和軟件的中介,軟件想操作硬件,必須通過操作系統來完成或者經過
操作系統的允許。操作系統爲什麼有漏洞,就是因爲軟件沒有經過操作系統允許就幹了操作硬件的事了。
操作系統本質上由內核、外殼、軟件組成。內核操作硬件,外殼也是一個軟件,一個系統軟件,是內核和用戶的交互的環境,
注意是環境。既然操作系統是由彙編和c來編寫的,那麼操作系統肯定給軟件們留下了大量彙編和c的庫、系統調用或者函數,
以方便彙編或c程序員去在這個操作系統上快速的開發軟件,而不用每個函數都要自己實現。這些庫、函數或系統調用,
就是操作系統的API,大部分都是c哈,這些api肯定需要實現大部分c標準庫了,以方操作系統在各個軟件的移植,
這些api加上一些文檔就成了操作系統的SDK了。我們使用操作系統的SDK就可以開發最接近
操作系統的軟件了,一般是系統軟件,當然不排除其他比較底層的應用。
差不多了,我們可以使用匯編來編寫驅動了,可以使用c調用操作系統api來開發軟件了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章