欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

馬哥Linux運(yùn)維 ? 2017-11-29 17:25 ? 次閱讀

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

這位Ronis_BR的用戶提問(wèn)大致如下:

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

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

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

ExoticMandibles:

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

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

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

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

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

Scandalousmambo:

開(kāi)發(fā)一個(gè)和Linux kernel 相同的系統(tǒng),從本質(zhì)上決定了它一旦設(shè)計(jì)出來(lái)就會(huì)“過(guò)時(shí)”。

KugelKurt:

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

Daemonpenguin:

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

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

例如,MINIX 具有良好的設(shè)計(jì)和一些很棒的功能,但硬件支持很少,幾乎沒(méi)有人為此平臺(tái)開(kāi)發(fā)。

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

    關(guān)注

    87

    文章

    11352

    瀏覽量

    210551

原文標(biāo)題:Linux kernel 的設(shè)計(jì)是否已經(jīng)過(guò)時(shí)?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    騰訊云內(nèi)核團(tuán)隊(duì)修復(fù)Linux關(guān)鍵Bug

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

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

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

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

    學(xué)到本章節(jié),大家應(yīng)該對(duì)Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個(gè)龐大的開(kāi)源社區(qū),每個(gè)人都可以向開(kāi)源社區(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 ?393次閱讀

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

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

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

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

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

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

    linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

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

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

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

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

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

    歡創(chuàng)播報(bào) 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核

    1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開(kāi)發(fā)者大會(huì)上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨(dú)立于安卓和iOS的鴻蒙操作系統(tǒng),正式登場(chǎng)。這是Ha
    的頭像 發(fā)表于 06-27 11:30 ?915次閱讀

    TC3x多核使用與TC2x多核使用相比是否有任何限制?

    大家好,TC3x 多核使用與 TC2x 多核使用相比是否有任何限制? 舉例說(shuō)明:TC3x 是否不允許在不同內(nèi)核運(yùn)行的代碼之間進(jìn)行多內(nèi)核共享數(shù)
    發(fā)表于 05-22 07:32

    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核

    盟通技術(shù)干貨構(gòu)建實(shí)時(shí)Linux內(nèi)核簡(jiǎn)介盟通技術(shù)干貨Motrotech如果需要在Linux中實(shí)現(xiàn)實(shí)時(shí)計(jì)算性能,進(jìn)而有效地將Linux轉(zhuǎn)變?yōu)镽TOS,那么大多數(shù)發(fā)行版都可以打上名為PREE
    的頭像 發(fā)表于 04-12 08:36 ?2831次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核</b>

    微軟發(fā)布Linux內(nèi)核Rust模塊優(yōu)化補(bǔ)丁

    在此之前,Linux 內(nèi)核中要想實(shí)現(xiàn)模塊初始化,必須先創(chuàng)建一個(gè)實(shí)例,再將其移至特定內(nèi)存空間。然而,經(jīng)過(guò)新補(bǔ)丁調(diào)整后,各模塊可直接在預(yù)設(shè)定好的內(nèi)存地址上完成初始化工作。
    的頭像 發(fā)表于 04-02 15:11 ?515次閱讀

    請(qǐng)問(wèn)如何給STM32MP157上Linux5.4.31打?qū)崟r(shí)內(nèi)核補(bǔ)???

    版本對(duì)應(yīng)的實(shí)時(shí)內(nèi)核補(bǔ)丁。不知道Atmel公司是否有做好的實(shí)時(shí)內(nèi)核補(bǔ)丁,可以供用戶使用呢?如果沒(méi)有對(duì)應(yīng)的版本,我是否可以使用其他
    發(fā)表于 03-11 06:09