Linux中最複雜的模組,我覺得按複雜度可以分為如下幾種:
Linux網路通訊模組首先需要實現各種網路協議棧,IPV4、IPV6、MAC8021、無線WIFI、有線ethernet等,首先看懂這些都是一個很難完成任務。
Linux程序排程的優先順序策略、程序排程的演算法、程序的睡眠喚醒都會直接影響一個作業系統的好壞,這直接影響你的手機或平板系統的卡頓,功耗。Linux的程序排程系統可以說很優秀的,目前安卓手機底層都是基於Linux系統的。
Linux 物理記憶體、虛擬記憶體,使用者空間和核心空間,這些地址對映和實現 看起來都讓人崩潰。
Linux系統是開源可移植的,為什麼可移植。因為Linux系統將硬體模組底層的驅動框架全部抽象成一個個子系統,程式碼都是重複可迭代的。每一個硬體模組的驅動都根據統一的框架和介面來實現,這樣就能實現平臺的可移植性。想想硬體模組那麼多種類、那麼多型別,實現這個框架還是比較需要功力的。
Linux是基於檔案的系統,把裝置(硬碟、軟碟機、光碟機等)都看作檔案,資料夾也看作檔案。
檔案與檔案的關係、檔案的掛載,透過檔案來驅動底層硬體,這都是比較複雜的系統。
Linux中最複雜的模組,我覺得按複雜度可以分為如下幾種:
N01:網路通訊Linux網路通訊模組首先需要實現各種網路協議棧,IPV4、IPV6、MAC8021、無線WIFI、有線ethernet等,首先看懂這些都是一個很難完成任務。
No2:程序調動Linux程序排程的優先順序策略、程序排程的演算法、程序的睡眠喚醒都會直接影響一個作業系統的好壞,這直接影響你的手機或平板系統的卡頓,功耗。Linux的程序排程系統可以說很優秀的,目前安卓手機底層都是基於Linux系統的。
No3:記憶體管理Linux 物理記憶體、虛擬記憶體,使用者空間和核心空間,這些地址對映和實現 看起來都讓人崩潰。
No4:硬體子模組抽象話Linux系統是開源可移植的,為什麼可移植。因為Linux系統將硬體模組底層的驅動框架全部抽象成一個個子系統,程式碼都是重複可迭代的。每一個硬體模組的驅動都根據統一的框架和介面來實現,這樣就能實現平臺的可移植性。想想硬體模組那麼多種類、那麼多型別,實現這個框架還是比較需要功力的。
No5:檔案管理系統Linux是基於檔案的系統,把裝置(硬碟、軟碟機、光碟機等)都看作檔案,資料夾也看作檔案。
檔案與檔案的關係、檔案的掛載,透過檔案來驅動底層硬體,這都是比較複雜的系統。
以上就是Linux中最複雜的幾個模組,當然還有其它很多複雜的模組,可以一起交流一下了!