什麼是微核心和單核心,微核心和單核心是什麼?

2021-12-27 03:06:22 字數 4863 閱讀 6079

1樓:諾諾百科

微核心是將服務轉移到程序上的一種核心模式。單核心是一種傳統的核心結構,它將程序管理,記憶體管理等各項服務功能都放到核心中去,通常用在通用式的核心上,如unix,linux等。

兩個系統的核心是通過程序的建立fork的實現來比較,因為程序的建立涉及到系統呼叫,記憶體管理,檔案管理等系統的主要方面。因此通過比較fork的實現可以大致看到核心的差別。

微核心的代表:minix,在minix中,作業系統的核心,記憶體管理,系統管理都有自己的程序表,每個部分的表包含了自己需要的域。表象是精確對應的,為了保持同步,在程序建立或結束時,這三個部分都要更新各自的表。

結構微核心是核心的一種精簡形式。將通常與核心整合在一起的系統服務層被分離出來,變成可以根據需求加入的選件,這樣就可提供更好的可擴充套件性和更加有效的應用環境。使用微核心設計,對系統進行升級,只要用新模組替換舊模組,不需要改變整個作業系統。

可以用商業對比來解釋微核心的模組概念。考慮一個過度忙碌的商務經理。通過將工作分給其他人,這位經理可以將他的能力更有效地用於重要的商務工作中去,並集中於其他一些任務,例如開闢新的商務分支等。

2樓:手機使用者

微核心與單核心比較

核心按照體系結構分為兩類:微核心(microkernel)與單核心(macrokernel). 微核心的系統有windownt,minix,mach,etc.

單核心的系統有unix,linux,etc.通過比較minix和linux來比較微核心和單核心是很有意思的,因為當年兩個系統的創始人對兩種核心的優劣有過爭論.

兩個系統的核心是通過程序的建立fork的實現來比較,因為程序的建立涉及到系統呼叫,記憶體管理,檔案管理等系統的主要方面.因此通過比較fork的實現可以大致看到核心的差別.

微核心的代表:minix

在minix中,作業系統的核心,記憶體管理,系統管理都有自己的程序表,每個部分的表包含了自己需要的域。表象是精確對應的,為了保持同步,在程序建立或結束時,這三個部分都要更新各自的表。

由記憶體管理器協調。

系統啟動後,kernel,mm,fs系統程序在各自的空間執行main()函式迴圈等待訊息

while(true)

當一個fork傳給mm』main(),main()呼叫do_fork(),do_fork()函式把父程序的data segment和stack segment創造了一個精確副本給子程序,並把父程序的text segment 與子程序共享,然後在mm的程序表mproc中新增新程序,並設定各屬性。新增完後傳送訊息給kernel(sys_fork(…))和 fs(tell_fs(…)).,kernel中的函式sys_task()接收到系統資訊,呼叫do_fork(message * m_ptr),copy parent』proc struct to child.

並設定程序在核心程序表中的屬性。tell_fs()是記憶體管理器與檔案系統之間的介面,tell_fs(…)呼叫 _taskcall(…),檔案管理器接收到fork系統訊息,呼叫do_fork()函式,copy parent』fproc struct to child.並設定程序在檔案程序表中的屬性。

這樣整個程序的屬性就設定完成.

在minix建立新程序的過程中,可以看到一個很大特點,就是整個系統按功能分成幾個部分,各模組之間利用訊息機制通訊,呼叫其他模組的函式必須通過目標模組的守護程序呼叫.

單核心的代表:linux

在linux中,程序的結構如下:

struct task_struct;

在linux程序的結構定義中,task_struct包含了所有的資訊,包括程序的記憶體情況,檔案系統情況。在建立新程序時,系統呼叫sys_fork呼叫do_fork(…)函式.

int do_fork(unsigned long clong_flags,… )

在建立程序時,do_fork函式把所有的工作完成,分配pid…號,拷貝父程序資料段,堆疊段,等等。linux的程序建立過程是一個完整的過程,直接呼叫其他模組的函式,而不是訊息傳遞。

minix與linux建立新程序的過程比較可以看出二者之間的區別,minix是建立在分模組之上的,模組之間以資訊傳遞聯絡。linux內部也是分模組的,但在執行的時候,他是一個獨立的二進位制大映像,其模組間的通訊是通過直接呼叫其他模組中的函式實現的。單核心與微核心的區別也就在這吧,微核心是一個資訊中轉站,自身完成很少功能,主要是傳遞一個模組對另一個模組的功能請求,而單核心則是一個大主管,把記憶體管理,檔案管理等等一股腦全部接管。

從理論上來看,微核心的思想更好些,微核心把系統分為各個小的功能塊,降低了設計難度,系統的維護與修改也容易,但通訊帶來的效率損失是個問題。單核心的功能塊之間的耦合度太高造成修改與維護的代價太高,不過在目前的linux裡面還不算大問題,因為linux目前還不算太複雜,單核心因為是直接呼叫,所以效率是比較高的。

3樓:

先普及下什麼叫微核心:

要說明一下:核心和系統是兩個概念!微核心簡單來說就是系統的地基!

上世紀80年代開始,國外開發出來的幾個微核心。典型的代表作:windows,linux,ios。

微核心:系統包括核心,核心不包括系統。單核心:系統和核心一體的。

舉個例子:

windows系統有20億行**。實際上真正和晶片直接互動核心**也就幾萬行。這幾萬行就是微核心。

一個真正的微核心具備三大特點:

第一,具備直接和晶片進行互動的**。

第二,完全獨立的核心**,甚至可以開發,像linux,windows,ios這樣的系統。

第三,可以分散式安裝。也即是可以自由安裝軟體。

純一個字一個字敲出來的,希望大家明白。不要被某些所謂的微核心騙了。我最討厭那些copy人家技術,oem自己的牌子。

真的希望有一天咱們能出一款微核心,那樣就可以用中文開發系統了。就真正的站起來了。

微核心和單核心是什麼?

4樓:匿名使用者

微核心是將服務轉移到程序上的一種核心模式。單核心是一種傳統的核心結構,它將程序管理,記憶體管理等各項服務功能都放到核心中去,通常用在通用式的核心上,如unix,linux等

5樓:勞水仝瀚文

微核心與單核心比較

核心按照體系結構分為兩類:微核心(microkernel)與單核心(macrokernel).

微核心的系統有windownt,minix,mach,etc.單核心的系統有unix,linux,etc.通過比較minix和linux來比較微核心和單核心是很有意思的,因為當年兩個系統的創始人對兩種核心的優劣有過爭論.

兩個系統的核心是通過程序的建立fork的實現來比較,因為程序的建立涉及到系統呼叫,記憶體管理,檔案管理等系統的主要方面.因此通過比較fork的實現可以大致看到核心的差別.

微核心的代表:minix

在minix中,作業系統的核心,記憶體管理,系統管理都有自己的程序表,每個部分的表包含了自己需要的域。表象是精確對應的,為了保持同步,在程序建立或結束時,這三個部分都要更新各自的表。

由記憶體管理器協調。

系統啟動後,kernel,mm,fs系統程序在各自的空間執行main()函式迴圈等待訊息

while(true)

當一個fork傳給mm』main(),main()呼叫do_fork(),do_fork()函式把父程序的data

segment和stack

segment創造了一個精確副本給子程序,並把父程序的text

segment

與子程序共享,然後在mm的程序表mproc中新增新程序,並設定各屬性。新增完後傳送訊息給kernel(sys_fork(…))和

fs(tell_fs(…)).,kernel中的函式sys_task()接收到系統資訊,呼叫do_fork(message

*m_ptr),copy

parent』proc

struct

tochild.並設定程序在核心程序表中的屬性。tell_fs()是記憶體管理器與檔案系統之間的介面,tell_fs(…)呼叫

_taskcall(…),檔案管理器接收到fork系統訊息,呼叫do_fork()函式,copy

parent』fproc

struct

tochild.並設定程序在檔案程序表中的屬性。這樣整個程序的屬性就設定完成.

在minix建立新程序的過程中,可以看到一個很大特點,就是整個系統按功能分成幾個部分,各模組之間利用訊息機制通訊,呼叫其他模組的函式必須通過目標模組的守護程序呼叫.

單核心的代表:linux

在linux中,程序的結構如下:

struct

task_struct;

在linux程序的結構定義中,task_struct包含了所有的資訊,包括程序的記憶體情況,檔案系統情況。在建立新程序時,系統呼叫sys_fork呼叫do_fork(…)函式.

intdo_fork(unsigned

long

clong_flags,…

)在建立程序時,do_fork函式把所有的工作完成,分配pid…號,拷貝父程序資料段,堆疊段,等等。linux的程序建立過程是一個完整的過程,直接呼叫其他模組的函式,而不是訊息傳遞。

minix與linux建立新程序的過程比較可以看出二者之間的區別,minix是建立在分模組之上的,模組之間以資訊傳遞聯絡。linux內部也是分模組的,但在執行的時候,他是一個獨立的二進位制大映像,其模組間的通訊是通過直接呼叫其他模組中的函式實現的。單核心與微核心的區別也就在這吧,微核心是一個資訊中轉站,自身完成很少功能,主要是傳遞一個模組對另一個模組的功能請求,而單核心則是一個大主管,把記憶體管理,檔案管理等等一股腦全部接管。

從理論上來看,微核心的思想更好些,微核心把系統分為各個小的功能塊,降低了設計難度,系統的維護與修改也容易,但通訊帶來的效率損失是個問題。單核心的功能塊之間的耦合度太高造成修改與維護的代價太高,不過在目前的linux裡面還不算大問題,因為linux目前還不算太複雜,單核心因為是直接呼叫,所以效率是比較高的。

為什麼我的4400 是單核心的

1.主機板的問題,可能主機板的bios比較舊了。可以到官網上看看有無bios更新。不過這個可能性較小。2.雙核的驅動沒有安裝。來這裡察看http html3.可能是bios設定錯誤。可以參考主機板說明書或者給給客服打 是軟體和系統認不出而已,應該是雙核,雙核剛出的時候,很多人都遇到這問題。換新版cp...

什麼是核心營銷力,它和核心競爭力的區別

競爭力是企業利用其優勢建立起來的相對其他企業更強的盈利能力,競爭力直接關係到一個企業的實力,而優勢只是一個相對來說的東西,並沒有形成真正的盈利能力。核心競爭力是區別於其他企業的能力。內在 核心優勢是你比別的企業好的條件。外在 核心競爭力就是你的產品有什麼值得讓客戶買的。核心優勢就是你的產品比同類產品...

計算機核心和外核是什麼,作業系統的核心和外核在應用中有什麼區別?

是指cpu的內外核。核心指cpu內部的核心晶片。外核是外部電路和晶片。主要是內部晶片。中國這方面還不行。落後於美國 cpu核心主要分為兩部分 運算器和控制器。一 運算器 1 算術邏輯運算單元alu arithmetic and logic unit alu主要完成對二進位制資料的定點算術運算 加減乘...