常用核心架構
本文分享自天翼雲開發者社群《常用核心架構》,作者 : JackW
連結: https://www.ctyun.cn/developer/article/401791607513157
單核心
應用程式呼叫記憶體分配的 API(應用程式介面)函式。
處理器切換到特權模式,開始執行核心程式碼。
核心裡的記憶體管理程式碼按照特定的演算法,分配一塊記憶體。
把分配的記憶體塊的首地址,返回給記憶體分配的 API 函式。
記憶體分配的 API 函式返回,處理器開始執行使用者模式下的應用程式,應用程式就得到了一塊記憶體的首地址,並且可以使用這塊記憶體了。
特點 :功能耦合,效率高;但是開發一個新的功能也得重新編譯、連結、安裝核心,因為它沒有模組化,沒有擴充套件性、沒有移植性,高度耦合在一起,一旦其中一個元件有漏洞,核心中所有的元件可能都會出問題。
微核心
應用程式傳送記憶體分配的訊息,這個傳送訊息的函式是微核心提供的,相當於系統 API,微核心的 API(應用程式介面)相當少,極端情況下僅需要兩個,一個接收訊息的 API 和一個傳送訊息的 API。
處理器切換到特權模式,開始執行核心程式碼。
微核心程式碼讓當前程式停止執行,並根據訊息包中的資料,確定訊息傳送給誰,分配記憶體的訊息當然是傳送給記憶體管理服務程式。
記憶體管理服務程式收到訊息,分配一塊記憶體。
記憶體管理服務程式,也會透過訊息的形式返回分配記憶體塊的地址給核心,然後繼續等待下一條訊息。
微核心把包含記憶體塊地址的訊息返回給傳送記憶體分配訊息的應用程式。
處理器開始執行使用者模式下的應用程式,應用程式就得到了一塊記憶體的首地址,並且可以使用這塊記憶體了。
特點 :微核心犧牲一定效能,具有不少優點,首先,系統結構相當清晰利於協作開發。其次,系統有良好的移植性,微核心程式碼量非常少,就算重寫整個核心也不是難事。最後,微核心有相當好的伸縮性、擴充套件性,因為那些系統功能只是一個程式,可以隨時拿掉一個服務程式以減少系統功能,或者增加幾個服務程式以增強系統功能。
Darwin-XUN 核心
Darwin是蘋果公司2000年開發的開源OS。整合了卡耐基梅隆大學的微核心Mach和伯克利大學的類Unix作業系統,後者提供一整套的作業系統服務。
Windows NT(new Technology)
微軟為了獲得市場,從不穩定的 Windows3.1、95/98、ME之後推出NT,後續的XP更是成為其商業巔-峰。
總結
Linux 效能良好,結構異常複雜,不利於問題的排查和功能的擴充套件,而 Darwin-XNU 和 Windows 結構良好,層面分明,利於功能擴充套件,不容易產生問題且效能穩定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2947153/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 微核心架構架構
- kafka核心架構詳解Kafka架構
- 微服務核心架構梳理微服務架構
- Linux 核心 101:NUMA架構Linux架構
- 大型網站技術架構(四)--核心架構要素網站架構
- 常用的設計架構架構
- Linux核心的整體架構Linux架構
- React專案架構,掌握前端架構師的核心本領React架構前端
- 軟體架構的核心思想架構
- Hadoop(一)Hadoop核心架構與安裝Hadoop架構
- 乾貨帖 | TDSQL-A核心架構揭秘SQL架構
- 開源框架TLog核心原理架構解析框架架構
- Laravel框架的核心架構,你懂多少?Laravel框架架構
- Nginx 架構——【核心流程+模組介紹】Nginx架構
- 遊戲伺服器的常用架構遊戲伺服器架構
- 大資料的核心架構層是哪些?大資料架構
- 大資料平臺核心架構圖鑑大資料架構
- 面試系列-Spring Cloud 的核心架構原理面試SpringCloud架構
- 大型網站技術架構核心原理(1)網站架構
- 解密京東千億商品系統核心架構解密架構
- 常用的幾種大資料架構剖析大資料架構
- 十大常用軟體架構模式簡介架構模式
- Quartz核心原理之架構及基本元素介紹quartz架構
- 戲說領域驅動設計(十三)——核心架構架構
- 谷歌的三大可擴充套件核心架構谷歌套件架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第2篇 架構網站架構筆記
- Netty-解碼器架構與常用解碼器Netty架構
- 很全!淺談幾種常用負載均衡架構負載架構
- 一文搞懂應用架構的3個核心概念應用架構
- OPPO智慧增長演算法核心架構與應用演算法架構
- 超融合架構加速銀行核心系統跑批效率架構
- 深入詳解Mybatis的架構原理與6大核心流程MyBatis架構
- 微服務架構核心20講-楊波-極客時間微服務架構
- 微核心架構在大型前端系統中的應用架構前端
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第4篇 架構師(附 大型網站架構技術一覽)網站架構筆記
- 架構之:serverless架構架構Server
- 一文聊透 Netty 核心引擎 Reactor 的運轉架構NettyReact架構
- 長沙Java培訓:Java架構師核心知識點分享Java架構