前言
細心的朋友會發現,我之前寫的【C 語言】系列在【C 語言入門】完結後,就停止更新了,從 5 月 29 號到今天,已經停了有 一個半月了。並不是姐我變懶了,而是在我想把【C 語言初級】及後面的系列的例程遷移到 Linux 系統上去實現,【C 語言入門】的例程都是基於 Windows 的 Visual Studio 去做的,爲了提高自己的能力,同時挑戰下自己,我用了一個半月的時間去初步閱讀了《Linux C 從入門到精通》這本書,對 Linux 操作系統算是有了大概的印象,能在 Linux 上敲敲指令和寫寫簡單代碼。
如果您也是個 Linux 初學者,我極力不推薦這本《Linux C 從入門到精通》。理由有如下幾點:
- 並未詳細介紹 Linux 操作系統。
- 在你讀完了這本書後,也不清楚這本書的讀者羣體是誰。我看完了這本書,我並不知道,我能用 Linux + C 去實現什麼, 目的性不強。
- 最重要的是,例程 Bug 巨多!
- 此外還有在我看來是大問題的:例程排版巨差!
NOTE:希望不要遭黑!
當然,我也只是粗略的看了一遍,可能是我看得仔細。接下來在做筆記(第 2 次閱讀,仔細閱讀)的時候,希望我能對這本書有所改觀。
Linux 的歷史
在學習一個新知識點之前,先了解他的歷史背景,更事半功倍。因爲歷史造就了它的輝煌,述說了它的前世今生,就好比,要了解什麼是中國人,先看中國的歷史,現在站在大街上的每一箇中國人,他的一舉一動,都在體現着中華上下五千年的歷史。扯遠了,請略過!
操作系統
計算機系統:由硬件系統和軟件系統組成。
軟件系統的基礎:操作系統。
那操作系統是做什麼的呢?
操作系統:管理着計算機內所有的硬件資源和軟件資源。
主流的三大類操作系統:
- 微軟的 Windows 系統
- 蘋果的 Mac 系統
- Linux 系統,開源的,屬於所有人的~
Linux的起源與發展
Linux 的內核
內核是操作系統的核心部分,系統的其他部分必須依靠內核部分軟件提供服務。
內核的功能:承上啓下
- 對底層硬件:提供對計算機系統的硬件設備的管理,對硬件設備進行驅動。
- 對上層應用軟件:提供與硬件交互的紐帶。
應用程序通過內核實現對硬件設備的訪問。
內核的目的:
- 簡化應用程序開發的難度
- 更好的保護硬件
內核的組成:
- 中斷服務程序
- 調度程序
- 內存管理程序
- 網絡和進程間通訊等
NOTE:
Linux 內核獨立於普通應用程序,擁有內核空間(受保護的內存空間和對硬件訪問的所有權限)。
Linux 的主要特點:
- 支持動態加載內核模塊 —— 內核可裁剪。
- 支持對稱多處理機制((Symmetrical Multi-Processing), SMP)
- 充分體現自由開發
- 對一些 UNIX 中的拙劣功能進行了優化和刪除
- 不區分線程和其他一般進程