av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

操作系統(tǒng)

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

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

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

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

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

  The Matrix World:

  相當于一個正在運行的具有用戶空間的操作系統(tǒng)(我們人類居住的普通世界,內核(“Matrix”本身))。顯然的,這是一個頗有缺陷的操作系統(tǒng)。

  People:

  相當于進程,包括內核進程和用戶進程。一般進程,“非特權”進程和具有root權限的后臺進程(“特工”)還是有很大的區(qū)別。具有root權限的后臺進程可以使用特權端口,銷毀隨機進程,管理內存等等。

  Matrix:

  相當于內核。它看上去是基于消息傳遞的內核結構,不一定是微內核結構(盡管它們具有微內核的某些部分,比如擁有大量內核進程,進程之間都是嚴格獨立的,以及已提到的消息傳遞機制)。內核管理所有的進程,以及進程上的操作(比如保持進程活躍,為進程服務,回收進程)。但是這仍有一個明顯的安全缺陷:某些用戶進程能夠將它們的部分代碼傳送到內核空間并執(zhí)行(因為一個bug)。只有某些系統(tǒng)調用受到影響(類似于 “phones”),這種擴大了的特權篡改了用戶進程的返回棧,因此,如果該進程接收到一個信號,它會產生段錯誤并被作為垃圾回收(你如果在Matrix中被殺掉的話,那么你就真的死掉了)。

  Oracle:

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

  Agents:

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

  The trainman:

  相當于內核和用戶空間的網關/信息傳遞隊列。你如果想要合法地在用戶空間和內核進行數據傳遞必須通過這里來進行。當然,你也可能永遠被困在排隊隊列中。

  The Merovingian:

  相當于網絡/IPC(進程間通信)棧。它的職責是掌握進程之間都發(fā)生了什么。輸入/輸出數據的一個偶然錯誤將以一個bug的形式表現出來。

  Vampires/ghosts:

  相當于老版本API/KPI的兼容器。由于歷史原因,這些代碼并不完善,但與某些內核進程相連的代碼卻不應該不完整。

  The Architect:

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

  Keymaster:

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

  The Plot:

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

  Agent Smith:

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

  Neo:

  最初是一個用戶空間的網絡服務進程,虛擬內存的損壞導致它被賦予了超級用戶的特權以及具有CPU高優(yōu)先級。最后它得到可執(zhí)行的內存頁與IDS進程Simth的混合,但卻不是數據頁。很快它也開始銷毀進程,包括Smith和它自己被損壞的部分。

  The Ending:

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

  事后分析:

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

  建議:

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

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

HR如何應對公司閑人與外行10-20

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

Linux如何禁止系統(tǒng)內核Kernel自動升級10-28

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

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

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

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

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

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