Linux0 11原始碼研讀(1)(一點廢話)

2021-10-09 12:31:24 字數 653 閱讀 5704

這是第一次寫部落格文章,同時也是第一次在csdn上留下自己的足跡,我希望在大二往後的時間裡,我可以研讀完linux0.11的**,同時自己也可以製作乙個簡陋的作業系統,作為研讀**的作業吧。

關於linux的**我已經讀了大概1/4左右,從最開始的彙編讀到了c語言**中filesystem的**了,因為我不是順著**讀的,因為其中的某一些結構體的定義,不清楚看,在這種情況下看著讓我著實頭疼,所以我就跳著讀了,至於為什麼看檔案系統的**,主要是因為我更加好奇作業系統是如何從一塊磁碟中得到我指定給它的檔案,我認為如果解決了檔案系統,對於作業系統的可行性,大概是穩了,因為不管如何,作業系統就可以讀寫我們想要的檔案。

剩下的程序排程、記憶體管理和程序通訊都可以慢慢的實現了,至於網路鏈結,暫時不急吧,畢竟linux0.11版本並沒有實現這個功能。當然我自己的作業系統,我還是願意嘗試一下的。

最後,我真的不知道我可不可以堅持下來,因為,我學習比較渣吧,而且我還是不計算機專業的,問什麼要寫下這個系列的,主要是因為熱愛,我實在是太熱愛計算機了。以後考研也準備考計算機的。

加入我能夠堅持的把這個系列做完的話,我接著就想向計算機那方面的知識靠攏了。為考研做準備了吧。

加油,希望我的這個系列可以幫助到所有喜歡計算機的同學,加油。

linux 0 11 原始碼學習(六)

main.c main函式其實是核心的初始化,如果把核心功能比作業務軟體的話,就相當於是業務的初始化,從該檔案的資料夾歸屬 init資料夾 也可以看出這一點。main主函式很短,從 中可以基本看出整個核心的功能模組,如下 void main void for pause 注 在linux中fork乙...

linux 0 11 原始碼學習(五)

head.s head.s 是系統模組的入口,其編譯器已經是gnu彙編,但從功能上將仍然屬於核心啟動階段,主要的功能是對386 cpu的初始化,如使用者堆疊 idt gdt和頁表。因此從資料夾的歸屬看,它仍然放在boot資料夾中,與bootsect和setup一塊。head.s的核心功能 簡單的暫存...

linux 0 11 原始碼學習(十三)

字元裝置驅動 在linux 0.11版本中,字元裝置驅動原始碼分為三塊 向上暴露的字元裝置驅動介面tty io.c與tty ioctl.c,與塊裝置驅動一樣,在字元驅動檔案 read write.c 操作中被呼叫 實現串列埠的驅動rs io.s和serial.c 實現鍵盤驅動的keyboard.s以...