亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

操作系統(tǒng)

如何向外行解釋操作系統(tǒng)內(nèi)核

時(shí)間:2025-02-20 07:36:38 操作系統(tǒng) 我要投稿
  • 相關(guān)推薦

如何向外行解釋操作系統(tǒng)內(nèi)核

  如何向外行解釋操作系統(tǒng)內(nèi)核呢?看看下面百分網(wǎng)小編收集的相關(guān)內(nèi)容,歡迎閱讀!

  既然操作系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)和維護(hù)是我最大的興趣之一,而且我在第一時(shí)間就觀(guān)看了《黑客帝國(guó)》,于是便對(duì)電影里的一些概念進(jìn)行了思考,并認(rèn)為它們與操作系統(tǒng)存在某種程度上的相似之處:

  The Matrix World:

  相當(dāng)于一個(gè)正在運(yùn)行的具有用戶(hù)空間的操作系統(tǒng)(我們?nèi)祟?lèi)居住的普通世界,內(nèi)核(“Matrix”本身))。顯然的,這是一個(gè)頗有缺陷的操作系統(tǒng)。

  People:

  相當(dāng)于進(jìn)程,包括內(nèi)核進(jìn)程和用戶(hù)進(jìn)程。一般進(jìn)程,“非特權(quán)”進(jìn)程和具有root權(quán)限的后臺(tái)進(jìn)程(“特工”)還是有很大的區(qū)別。具有root權(quán)限的后臺(tái)進(jìn)程可以使用特權(quán)端口,銷(xiāo)毀隨機(jī)進(jìn)程,管理內(nèi)存等等。

  Matrix:

  相當(dāng)于內(nèi)核。它看上去是基于消息傳遞的內(nèi)核結(jié)構(gòu),不一定是微內(nèi)核結(jié)構(gòu)(盡管它們具有微內(nèi)核的某些部分,比如擁有大量?jī)?nèi)核進(jìn)程,進(jìn)程之間都是嚴(yán)格獨(dú)立的,以及已提到的消息傳遞機(jī)制)。內(nèi)核管理所有的進(jìn)程,以及進(jìn)程上的操作(比如保持進(jìn)程活躍,為進(jìn)程服務(wù),回收進(jìn)程)。但是這仍有一個(gè)明顯的安全缺陷:某些用戶(hù)進(jìn)程能夠?qū)⑺鼈兊牟糠执a傳送到內(nèi)核空間并執(zhí)行(因?yàn)橐粋(gè)bug)。只有某些系統(tǒng)調(diào)用受到影響(類(lèi)似于 “phones”),這種擴(kuò)大了的特權(quán)篡改了用戶(hù)進(jìn)程的返回棧,因此,如果該進(jìn)程接收到一個(gè)信號(hào),它會(huì)產(chǎn)生段錯(cuò)誤并被作為垃圾回收(你如果在Matrix中被殺掉的話(huà),那么你就真的死掉了)。

  Oracle:

  相當(dāng)于進(jìn)程(任務(wù))調(diào)度器。擁有處理監(jiān)聽(tīng)(資源利用率)的所有數(shù)據(jù)以及提前(這很顯然)知道怎樣對(duì)它們進(jìn)行最優(yōu)調(diào)度。

  Agents:

  相當(dāng)于系統(tǒng)監(jiān)控/入侵防護(hù)/具有啟發(fā)式操作的防護(hù)系統(tǒng)(IDS(入侵檢測(cè)系統(tǒng))/IPS(信息處理系統(tǒng)))。它們中絕大多數(shù)都有一個(gè)內(nèi)核部分(或內(nèi)核模塊)但基本上卻是那些具有超級(jí)用戶(hù)特權(quán)的后臺(tái)進(jìn)程在用戶(hù)空間運(yùn)行。它們的職責(zé)是發(fā)現(xiàn)試圖入侵系統(tǒng)安全的進(jìn)程并銷(xiāo)毀掉。

  The trainman:

  相當(dāng)于內(nèi)核和用戶(hù)空間的網(wǎng)關(guān)/信息傳遞隊(duì)列。你如果想要合法地在用戶(hù)空間和內(nèi)核進(jìn)行數(shù)據(jù)傳遞必須通過(guò)這里來(lái)進(jìn)行。當(dāng)然,你也可能永遠(yuǎn)被困在排隊(duì)隊(duì)列中。

  The Merovingian:

  相當(dāng)于網(wǎng)絡(luò)/IPC(進(jìn)程間通信)棧。它的職責(zé)是掌握進(jìn)程之間都發(fā)生了什么。輸入/輸出數(shù)據(jù)的一個(gè)偶然錯(cuò)誤將以一個(gè)bug的形式表現(xiàn)出來(lái)。

  Vampires/ghosts:

  相當(dāng)于老版本API/KPI的兼容器。由于歷史原因,這些代碼并不完善,但與某些內(nèi)核進(jìn)程相連的代碼卻不應(yīng)該不完整。

  The Architect:

  相當(dāng)于硬件上的內(nèi)核監(jiān)控(管理者),負(fù)責(zé)監(jiān)控進(jìn)程,銷(xiāo)毀那些“畸形”進(jìn)程并對(duì)銷(xiāo)毀的進(jìn)程進(jìn)行重啟。由于它是一個(gè)實(shí)時(shí)的具有高度可靠性的系統(tǒng),在硬件上進(jìn)行調(diào)試和監(jiān)控顯然具有最高的優(yōu)先級(jí),而且還絕對(duì)是可靠的(因此,為了降低出錯(cuò)的可能性,也降低它的復(fù)雜性)。由于它頻繁地進(jìn)行可用性檢查,造成了過(guò)度的錯(cuò)誤配置,消耗了太多的資源,因此影響到了操作系統(tǒng)的正常運(yùn)作。

  Keymaster:

  相當(dāng)于安全/特權(quán)子系統(tǒng)。它很穩(wěn)定,但不幸的是需要依賴(lài)不完善的VM(虛擬內(nèi)存)系統(tǒng)和IPC系統(tǒng),因此它可被進(jìn)程利用來(lái)獲取更多的特權(quán)。

  The Plot:

  在系統(tǒng)高度負(fù)載的情況下(大量的進(jìn)程,頻繁的內(nèi)存讀寫(xiě)),VM(虛擬內(nèi)存)系統(tǒng),進(jìn)程管理系統(tǒng)和調(diào)度器之間有一個(gè)設(shè)計(jì)缺陷。這是一個(gè)復(fù)合錯(cuò)誤,至少會(huì)導(dǎo)致三種問(wèn)題的產(chǎn)生:1、內(nèi)存頁(yè)被破壞或者內(nèi)存頁(yè)分配給那些不屬于它們的進(jìn)程。由于內(nèi)核和用戶(hù)空間共享虛擬內(nèi)存,為了防止敏感數(shù)據(jù)的暴露,提高安全性,任何一方的進(jìn)程都可以因?yàn)榈玫搅硪环降膬?nèi)存頁(yè)而被銷(xiāo)毀。2、進(jìn)程間通信,這是非常糟糕的,甚至比進(jìn)程的數(shù)據(jù)結(jié)構(gòu)被破壞或者內(nèi)存裝載太頻繁而造成死鎖,而不得不等待緩沖區(qū)還要糟糕。3、系統(tǒng)監(jiān)控變得不穩(wěn)定,循環(huán)地銷(xiāo)毀和重啟進(jìn)程,察覺(jué)不到這樣的操作會(huì)額外增加內(nèi)存和進(jìn)程的負(fù)擔(dān)而變得更糟糕,最后極大地增長(zhǎng)了進(jìn)程間虛擬內(nèi)存頁(yè)被破壞的速度。

  Agent Smith:

  相當(dāng)于有特權(quán)的IPC后臺(tái)程序,具有部分內(nèi)核模塊功能。它與內(nèi)核模塊關(guān)系密切,且能夠不通過(guò)完整性檢查而與內(nèi)核共享數(shù)據(jù)結(jié)構(gòu)。一旦它被另一個(gè)特權(quán)進(jìn)程銷(xiāo)毀掉,它也能藏身于一個(gè)系統(tǒng)調(diào)用中間以便于監(jiān)控者重啟它,此時(shí)它的進(jìn)程描述符也被破壞,這樣使得它的大部分程序代碼將在內(nèi)核中執(zhí)行。它將繼續(xù)以這種受損狀態(tài)長(zhǎng)時(shí)間工作,鍥入到一個(gè)循環(huán)中,并將進(jìn)程錯(cuò)誤地標(biāo)記為安全漏洞,同時(shí)重寫(xiě)它的某些內(nèi)存頁(yè)。

  Neo:

  最初是一個(gè)用戶(hù)空間的網(wǎng)絡(luò)服務(wù)進(jìn)程,虛擬內(nèi)存的損壞導(dǎo)致它被賦予了超級(jí)用戶(hù)的特權(quán)以及具有CPU高優(yōu)先級(jí)。最后它得到可執(zhí)行的內(nèi)存頁(yè)與IDS進(jìn)程Simth的混合,但卻不是數(shù)據(jù)頁(yè)。很快它也開(kāi)始銷(xiāo)毀進(jìn)程,包括Smith和它自己被損壞的部分。

  The Ending:

  最后Smith進(jìn)程試圖殺死調(diào)度者進(jìn)程,但由于他本是也是通過(guò)該調(diào)度者調(diào)度的,他并不能這么做。系統(tǒng)變得畸形是因?yàn)檎{(diào)度者不能再執(zhí)行任務(wù),包括中斷服務(wù),但是在調(diào)度者的虛擬內(nèi)存鏡像(同樣該鏡像也偶然地與Neo進(jìn)程進(jìn)行了部分共享)里的部分Smith代碼卻仍然可以執(zhí)行。由于只有兩個(gè)進(jìn)程可以運(yùn)行,他們都想殺掉對(duì)方。與此同時(shí),由于沒(méi)有中斷服務(wù),硬件的監(jiān)視時(shí)鐘別喚醒,它插入了一個(gè)NMI(不可屏蔽的中斷),這樣就又喚醒了監(jiān)控系統(tǒng)。這就使得系統(tǒng)處于臨界狀態(tài)并開(kāi)始?xì)⒌羲械倪M(jìn)程,然后重啟被殺掉的進(jìn)程來(lái)使系統(tǒng)再次啟動(dòng)。結(jié)束!

  事后分析:

  在操作系統(tǒng)的設(shè)計(jì)時(shí)候有一個(gè)內(nèi)在的缺陷,特別是在虛擬內(nèi)存,進(jìn)程間通信和監(jiān)控子系統(tǒng)這幾方面,這將導(dǎo)致進(jìn)程間的全局內(nèi)存被破壞以及在少量進(jìn)程的地址空間產(chǎn)生致命的缺陷。

  建議:

  要保證適宜的進(jìn)程優(yōu)先級(jí),必須進(jìn)行更多的微調(diào),減少優(yōu)先級(jí)反轉(zhuǎn)和失衡。很可能要重寫(xiě)虛擬內(nèi)存系統(tǒng),開(kāi)發(fā)消耗更少資源的版本來(lái)取代IDS系統(tǒng)。如果系統(tǒng)負(fù)載處于某個(gè)閥值之上,系統(tǒng)監(jiān)視器必須要進(jìn)行修正,而不會(huì)再啟動(dòng)大量的操作。

【如何向外行解釋操作系統(tǒng)內(nèi)核】相關(guān)文章:

HR如何應(yīng)對(duì)公司閑人與外行10-20

如何學(xué)習(xí)操作系統(tǒng)10-24

Linux如何禁止系統(tǒng)內(nèi)核Kernel自動(dòng)升級(jí)10-28

如何加固XP操作系統(tǒng)10-10

如何選擇電腦操作系統(tǒng)10-26

如何優(yōu)化電腦操作系統(tǒng)09-08

如何安全設(shè)置WindowsXP操作系統(tǒng)09-07

如何選擇合適的Windows操作系統(tǒng)07-12

Windows如何備份與還原操作系統(tǒng)09-26