一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

相比其他系統(tǒng)的內(nèi)核設計Linux是否已經(jīng)過時?

馬哥Linux運維 ? 2017-11-29 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux 多年來取得的成績毋庸多言。但最近,reddit 上有人發(fā)起了一個話題,想知道 Linux 的內(nèi)核設計是否已經(jīng)過時,并得到了一些有趣的答案。

這位Ronis_BR的用戶提問大致如下:

Linux 是在 1992 年啟動的,一些特性到現(xiàn)在都沒有改變。我猜想最新的操作系統(tǒng)內(nèi)核設計技術(如果存在…)應該較之前有很大的進步。那 Linux 內(nèi)核是否已經(jīng)過時?

與 Windows、macOS、FreeBSD 內(nèi)核的設計相比,Linux 內(nèi)核的設計有沒有在哪些方面比較先進?(注意,重點是設計的先進,而不是哪一個更好)。

該話題引起了近 400 條回復,大家紛紛發(fā)表了自己對內(nèi)核設計的看法,節(jié)選幾條不同的觀點:

ExoticMandibles:

“過時”?不存在的。Linux kernel 對現(xiàn)代內(nèi)核的設計其實是非常了解的,只是它選擇了保持傳統(tǒng)的形式。

內(nèi)核設計的核心在于“安全/穩(wěn)定”和“性能”之間的關系。Microkernels(微內(nèi)核)以性能為代價保證安全。如果你有極小的微內(nèi)核,那么它將具有相對較小的 API surface,使其難以被攻擊。而且當你有一個錯誤的文件時,驅(qū)動程序崩潰而不占用內(nèi)核,可以無損重啟。優(yōu)越的穩(wěn)定性!優(yōu)越的安全性!一切很美好。

但這種方案的缺點是所有 IPC 永遠且不可避免的開銷。如果你的程序想從文件加載數(shù)據(jù),則必須訪問文件系統(tǒng)驅(qū)動,這意味著 IPC 要處理進程上下文切換和兩次 ring transitions 。然后,文件系統(tǒng)驅(qū)動要求內(nèi)核與硬件通信,這也意味著兩次 ring transitions。然后文件系統(tǒng)驅(qū)動發(fā)送其回復,這意味著又一輪的兩次,以及另一次上下文切換??傞_銷:兩次上下文切換,兩次 IPC 調(diào)用和六次 ring transitions。非常貴!

宏內(nèi)核將所有設備驅(qū)動合攏到內(nèi)核中。所以當出現(xiàn)一個錯誤的圖形驅(qū)動,就可以占用內(nèi)核,或者如果它有一個安全漏洞,那么可能被用來危及系統(tǒng)。但是,如果你的程序需要從磁盤加載某些東西,則會調(diào)用內(nèi)核,進行 ring transitions,與硬件通話,計算結果,并返回結果,進行另一個 ring transitions??傞_銷:兩次 ring transitions。便宜得多,也快得多!

簡而言之,微內(nèi)核是:“放棄性能來提高安全性和穩(wěn)定性”;宏內(nèi)核是:“保持性能,只要修復安全和穩(wěn)定性問題就可以了”。而目前,大家更愿意接受后者。

Scandalousmambo:

開發(fā)一個和Linux kernel 相同的系統(tǒng),從本質(zhì)上決定了它一旦設計出來就會“過時”。

KugelKurt:

盡管這里討論的大部分內(nèi)容都是關于微內(nèi)核與宏內(nèi)核的關系,但是最近的研究還涉及到編程語言。如果你今天啟動一個全新的內(nèi)核,那么就可能不會用 C 去寫。微軟的 Singularity 和 Midori 項目探討了用 C#托管代碼內(nèi)核的可行性。

Daemonpenguin:

有一些概念,在理論上可以提供更好的內(nèi)核設計。比如,理論上微內(nèi)核也有一些非常好的設計選擇,使得它們具有便攜性、可靠性和潛在的自我修正能力。

然而,無論理論多么好,人們總是會根據(jù)實際情況進行設計。Linux 內(nèi)核擁有如此多的硬件支持,那么多公司支持開發(fā),其他內(nèi)核(不管設計得多炫酷)都不太可能趕得上。

例如,MINIX 具有良好的設計和一些很棒的功能,但硬件支持很少,幾乎沒有人為此平臺開發(fā)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11512

    瀏覽量

    213912

原文標題:Linux kernel 的設計是否已經(jīng)過時?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何配置和驗證Linux內(nèi)核參數(shù)

    Linux系統(tǒng)運維和性能優(yōu)化中,內(nèi)核參數(shù)(sysctl)的配置至關重要。合理的參數(shù)調(diào)整可以顯著提升網(wǎng)絡性能、系統(tǒng)穩(wěn)定性及資源利用率。然而,僅僅修改參數(shù)是不夠的,如何驗證這些參數(shù)
    的頭像 發(fā)表于 05-29 17:40 ?313次閱讀

    如何維護i.MX6ULL的安全內(nèi)核?

    為 5.15.158。 因此,我們想知道:是否有可能基于這個 BSP 平臺實現(xiàn)安全的 i.MX 6ULL 系統(tǒng)?您會推薦上游的 linux-fslc 還是 linux-imx (BSP
    發(fā)表于 04-01 08:28

    樹莓派4 性能大比拼:標準Linux與實時Linux 4.19內(nèi)核的延遲測試

    引言本文是對我之前關于RaspberryPi3同一主題的帖子的更新。與之前的帖子一樣,我使用的是隨Raspbian鏡像提供的標準內(nèi)核,以及應用了RT補丁的相似內(nèi)核版本。對于實時版,我
    的頭像 發(fā)表于 03-25 09:39 ?353次閱讀
    樹莓派4 性能大比拼:標準<b class='flag-5'>Linux</b>與實時<b class='flag-5'>Linux</b> 4.19<b class='flag-5'>內(nèi)核</b>的延遲測試

    騰訊云內(nèi)核團隊修復Linux關鍵Bug

    Maintainer深感棘手的關鍵內(nèi)核bug。 這一改進方案經(jīng)過嚴格評審和測試,最終被合并進入后續(xù)的Linux LTS(長期支持)版本中,標志著騰訊云在操作系統(tǒng)
    的頭像 發(fā)表于 12-31 10:58 ?667次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    學到本章節(jié),大家應該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于
    發(fā)表于 12-16 13:08

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    學到本章節(jié),大家應該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于
    發(fā)表于 12-13 09:03

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux的命令解
    的頭像 發(fā)表于 11-05 15:40 ?951次閱讀

    deepin社區(qū)亮相第19屆中國Linux內(nèi)核開發(fā)者大會

    中國 Linux 內(nèi)核開發(fā)者大會,作為中國 Linux 內(nèi)核領域最具影響力的峰會之一,一直以來都備受矚目。
    的頭像 發(fā)表于 10-29 16:35 ?936次閱讀

    需要將TLV320aic3120使用在一個Linux3.0.35的系統(tǒng)中,請問是否有適應于老內(nèi)核的驅(qū)動?

    現(xiàn)在需要將TLV320aic3120使用在一個Linux3.0.35的系統(tǒng)中,但是在官網(wǎng)上提供的驅(qū)動比較新,并不能用到老的系統(tǒng)中。 請問是否有適應于老
    發(fā)表于 10-22 08:02

    Linux根文件系統(tǒng)的掛載過程

    Linux根文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點,它是
    的頭像 發(fā)表于 10-05 16:50 ?976次閱讀

    詳解linux內(nèi)核的uevent機制

    linux內(nèi)核中,uevent機制是一種內(nèi)核和用戶空間通信的機制,用于通知用戶空間應用程序各種硬件更改或其他事件,比如插入或移除硬件設備(如USB驅(qū)動器或網(wǎng)絡接口)。uevent表示
    的頭像 發(fā)表于 09-29 17:01 ?1922次閱讀

    linux驅(qū)動程序如何加載進內(nèi)核

    Linux系統(tǒng)中,驅(qū)動程序是內(nèi)核與硬件設備之間的橋梁。它們允許內(nèi)核與硬件設備進行通信,從而實現(xiàn)對硬件設備的控制和管理。 驅(qū)動程序的編寫 驅(qū)動程序的編寫是
    的頭像 發(fā)表于 08-30 15:02 ?1113次閱讀

    Linux內(nèi)核測試技術

    Linux 內(nèi)核Linux操作系統(tǒng)的核心部分,負責管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux
    的頭像 發(fā)表于 08-13 13:42 ?1339次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>測試技術

    Linux內(nèi)核中的頁面分配機制

    Linux內(nèi)核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內(nèi)核是如何管
    的頭像 發(fā)表于 08-07 15:51 ?650次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>中的頁面分配機制

    聚徽-OLED 屏幕與其他屏幕相比的主要優(yōu)勢

    OLED 屏幕與其他屏幕相比的主要優(yōu)勢體現(xiàn)在多個方面:
    的頭像 發(fā)表于 08-06 09:27 ?1129次閱讀