Linux內核中哪個部分最複雜,能否給出一個複雜度排名?

2 個回答
程序猿来导事
2019-03-11

Linux中最複雜的模塊,我覺得按複雜度可以分為如下幾種:

N01:網絡通信

Linux網絡通信模塊首先需要實現各種網路協議棧,IPV4、IPV6、MAC8021、無線WIFI、有線ethernet等,首先看懂這些都是一個很難完成任務。

Linux內核中哪個部分最複雜,能否給出一個複雜度排名?

No2:進程調動

Linux進程調度的優先級策略、進程調度的算法、進程的睡眠喚醒都會直接影響一個操作系統的好壞,這直接影響你的手機或平板系統的卡頓,功耗。Linux的進程調度系統可以說很優秀的,目前安卓手機底層都是基於Linux系統的。

No3:內存管理

Linux 物理內存、虛擬內存,用戶空間和內核空間,這些地址映射和實現 看起來都讓人崩潰。

Linux內核中哪個部分最複雜,能否給出一個複雜度排名?

No4:硬件子模塊抽象話

Linux系統是開源可移植的,為什麼可移植。因為Linux系統將硬件模塊底層的驅動框架全部抽象成一個個子系統,代碼都是重複可迭代的。每一個硬件模塊的驅動都根據統一的框架和接口來實現,這樣就能實現平臺的可移植性。想想硬件模塊那麼多種類、那麼多類型,實現這個框架還是比較需要功力的。

No5:文件管理系統

Linux是基於文件的系統,把設備(硬盤、軟驅、光驅等)都看作文件,文件夾也看作文件。

Linux內核中哪個部分最複雜,能否給出一個複雜度排名?

文件與文件的關係、文件的掛載,通過文件來驅動底層硬件,這都是比較複雜的系統。


以上就是Linux中最複雜的幾個模塊,當然還有其它很多複雜的模塊,可以一起交流一下了!

25765537
2019-03-10

大概應該算動態模塊加載吧,牽扯地方太多……

相關推薦

推薦中...