精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

相比其他系統的內核設計Linux是否已經過時?

馬哥Linux運維 ? 2017-11-29 17:25 ? 次閱讀

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

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

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

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

該話題引起了近 400 條回復,大家紛紛發表了自己對內核設計的看法,節選幾條不同的觀點:

ExoticMandibles:

“過時”?不存在的。Linux kernel 對現代內核的設計其實是非常了解的,只是它選擇了保持傳統的形式。

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

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

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

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

Scandalousmambo:

開發一個和Linux kernel 相同的系統,從本質上決定了它一旦設計出來就會“過時”。

KugelKurt:

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

Daemonpenguin:

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

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

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

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

    關注

    87

    文章

    11229

    瀏覽量

    208927

原文標題:Linux kernel 的設計是否已經過時?

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

收藏 人收藏

    評論

    相關推薦

    Linux系統中shell命令解析

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

    需要將TLV320aic3120使用在一個Linux3.0.35的系統中,請問是否有適應于老內核的驅動?

    現在需要將TLV320aic3120使用在一個Linux3.0.35的系統中,但是在官網上提供的驅動比較新,并不能用到老的系統中。 請問是否有適應于老
    發表于 10-22 08:02

    Linux根文件系統的掛載過程

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

    詳解linux內核的uevent機制

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

    linux驅動程序如何加載進內核

    Linux系統中,驅動程序是內核與硬件設備之間的橋梁。它們允許內核與硬件設備進行通信,從而實現對硬件設備的控制和管理。 驅動程序的編寫 驅動程序的編寫是
    的頭像 發表于 08-30 15:02 ?381次閱讀

    Linux內核測試技術

    Linux 內核Linux操作系統的核心部分,負責管理硬件資源和提供系統調用接口。隨著 Linux
    的頭像 發表于 08-13 13:42 ?436次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>測試技術

    Linux內核中的頁面分配機制

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

    歡創播報 華為宣布鴻蒙內核已超越Linux內核

    1 華為宣布鴻蒙內核已超越Linux內核 ? 6月21日,在華為開發者大會上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨立于安卓和iOS的鴻蒙操作系統,正式登場。這是Ha
    的頭像 發表于 06-27 11:30 ?782次閱讀

    使用 PREEMPT_RT 在 Ubuntu 中構建實時 Linux 內核

    盟通技術干貨構建實時Linux內核簡介盟通技術干貨Motrotech如果需要在Linux中實現實時計算性能,進而有效地將Linux轉變為RTOS,那么大多數發行版都可以打上名為PREE
    的頭像 發表于 04-12 08:36 ?2215次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構建實時 <b class='flag-5'>Linux</b> <b class='flag-5'>內核</b>

    請問如何給STM32MP157上Linux5.4.31打實時內核補丁?

    版本對應的實時內核補丁。不知道Atmel公司是否有做好的實時內核補丁,可以供用戶使用呢?如果沒有對應的版本,我是否可以使用其他
    發表于 03-11 06:09

    linux內核主要由哪幾個部分組成,作用是什么

    Linux內核主要由以下幾個部分組成: 進程管理:Linux內核負責管理和調度系統中的進程。它通過進程調度算法來決定哪個進程在什么時間運行以
    的頭像 發表于 01-22 14:34 ?2605次閱讀

    rk3399移植Linux內核

    RK3399是一款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統開發。在進行應用程序開發之前,我們需要將Linux內核移植到RK3399上,以支持硬件的驅動和功能。本文將詳細介紹如何將
    的頭像 發表于 01-08 09:56 ?1058次閱讀

    RZ/G2L Linux系統如何添加新的內核模塊

    RZ/G2L Linux系統的鏡像基于yocto構建,本篇介紹如何添加新的內核模塊。
    的頭像 發表于 01-04 12:19 ?1703次閱讀
    RZ/G2L <b class='flag-5'>Linux</b><b class='flag-5'>系統</b>如何添加新的<b class='flag-5'>內核</b>模塊

    獲取Linux內核源碼的方法

    (ELF1/ELF1S開發板及顯示屏)Linux內核是操作系統中最核心的部分,它負責管理計算機硬件資源,并提供對應用程序和其他系統組件的訪問
    的頭像 發表于 12-13 09:49 ?622次閱讀
    獲取<b class='flag-5'>Linux</b><b class='flag-5'>內核</b>源碼的方法

    Linux內核自解壓過程分析

    uboot完成系統引導以后,執行環境變量bootm中的命令;即,將Linux內核調入內存中并調用do_bootm函數啟動內核,跳轉至kernel的起始位置。
    的頭像 發表于 12-08 14:00 ?857次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>自解壓過程分析