為什麼linux的核心用c不用c 呢?

時間 2021-05-07 23:42:46

1樓:年輕人別做白日夢

為什麼兒子比爸爸聰明但是兒子不能做爸爸呢,為什麼呢為什麼?

為什麼你跑的比劉翔慢你不能替劉翔去參加比賽呢!

只要你能回答其中乙個你可能就懂了

2樓:cqwrteur

樓上純粹誤導。

C++這個語言根本就不適合寫作業系統核心。連std::move都沒有,freestanding標頭檔案都不按標準提供。std::addressof都沒有,怎麼取位址?

還有這個異常處理,純粹是廢物機制。引入亂七八糟的一堆依賴不說,實現還特別不乾淨。

異常依賴stdio這不是笑話麼?你寫作業系統呢,哪來的stdio?stdio是作業系統提供的功能。純粹雞蛋問題。

交叉工具鏈根本編譯不出來。沒編譯器你寫啥作業系統?

3樓:叛逆者

1. Windows核心也是C的。這幾年才開始有一點點C++進去,但基本上只用了C with class。

2. Linus個人非常討厭C++。

3. Linux kernel 2023年開搞的,C++到1998才定型。

4. 語言和寫的東西是否簡單無關。

Linux中核心頁表是幹嘛用的,為什麼要有核心頁表?

Rivalak 核心頁表同樣也是用作位址翻譯的,不過是作用在核心態下。核心頁表在記憶體申請的時候就會被設定好,這也是為什麼說虛擬位址空間只適用於使用者態的原因。不過核心空間的動態對映區的 vmalloc 區是例外,其工作原理和使用者態 malloc 申請記憶體時的工作原理一致。 詳細內容請參考 深入...

Linux為什麼不把所有位址空間都給核心呢?因為通過分頁機制,核心程序和使用者程序在物理空間上不會起衝突。

陳延偉 我想不太明白,直接對映難道不需要頁表查詢嗎?對映的意義不就是在於實體地址和虛擬位址間的轉換嗎,轉換過程不需要頁表嗎,如果沒有頁表的話,核心要對記憶體進行位元組操作? fumin 借linux核心設計與實現一書的解釋 linux的物理記憶體分三區,zone dma 能用於dma的 zone n...

為什麼 Linux 公升級系統不用重啟,而Android和iOS卻必須重啟?

WEREWOLFGHOST 額公升級核心是要重啟的 公升級軟體不用,這涉及到Linux的檔案管理機制了,去搜搜inode你就知道了。Linux不是以檔名開啟檔案的。 linux更新軟體時各種系統services都有按照依賴關係的restart機制。一般linux在版本內更新可以不重啟,但是如果像類似...