作業系統開發之路(一)

2021-10-23 12:37:55 字數 901 閱讀 7540

作業系統是提供給計算機硬體的一組基本的程式設計指令,它們構成了計算機的大多數其他功能依賴存在的**程式設計層。程式設計**是作業系統的核心,稱為核心(kernel)。

核心這個術語是從unix作業系統中演化來的。在unix和linux系統中,連線核心的基本介面稱為外殼(shell),使用者可以在此執行命令。

核心

管理與cpu的互動。

啟動、管理和排程程式處理i/o活動,包括裝置和聯網活動。

處理基本的計算機安全。

管理計算機的記憶體使用。

管理分配給程式和計算機程序的優先順序。

通過以上指令,可以檢視到當前linux核心名稱和版本。

cpu

按硬體元素劃分,cpu包括了以下幾個重要的元素

設計型別。

速度。快取。

位址匯流排。

資料匯流排。

控制匯流排。

cpu排程。

按照馮諾依曼的理論體系,計算機應該包括運算器、控制器、儲存器、輸入和輸出裝置。隨著硬體的發展,在cpu上整合的功能也越來越多。反觀作業系統,作業系統是直接和硬體進行對話的。從作業系統上的功能來看,它管理cpu和記憶體的互動,管理系統資源的使用,管理程式執行的優先順序,並聯通硬體的驅動程式,起到了輔助運算、控制、儲存、輸入和輸出的作用。

接下來,以linux作業系統為例,分析一下它的核心。

為了寫這篇文章,前前後後查了很多資料和書籍,但是我並沒有發現哪本教材非常詳盡的記錄了作業系統具體包括了哪些內容,有怎樣的結構。相反,它們只是論述了作業系統的功能。所以,還是應該以linux為例,看一下它的原始碼和實現。

作業系統開發 Hello OS 開始作業系統開發

在開發作業系統之前 我們需要知道從按下電源開機鍵開始 cpu 都做了什麼 第一步 按下電源鍵 cpu重置,開始工作 第二步 從記憶體位址為 0xfffffff0 的位置開始 讀取指令並執行 而這個位址對應的就是 bios basic input output system 第三步 bios 的pos...

BEAR作業系統開發 1

從今天開始,我將開發作業系統了。我將她取名為 bear 小熊的意思,因為我的乙個朋友喜歡小熊,所以就用它了。其實 bear 還有另外乙個意思,就是 忍受 忍受學習的壓力和痛苦,這樣才會有所收穫。我模仿的linux0.11的核心源 現在主要將它的string標頭檔案移植到x86系統上面。今天完成了7個...

作業系統開發系列 13 h 延時操作

計數器的工作原理是這樣的 它有乙個輸入頻率,在pc上是1193180hz。在每乙個時鐘週期 clk cycle 計數器值會減1,當減到0時,就會觸發乙個輸出。由於計數器是16位的,所以最大值是65535,因此,預設的時鐘中斷的發生頻率就是1193180 65536約等於18.2hz。我們可以通過程式...