核心時間

核心時間指明執行緒執行作業系統代碼已經經過了多少個100ns(納秒)的CPU時間。

基本介紹

  • 中文名:核心時間
  • 外文名:core time
  • 定義:明執行緒執行作業系統代碼
  • 核心方式:“任務管理器”“性能”
核心,基本概述/核心編輯,種類/核心編輯,單核心,微核心,混合核心,簡介,核心時間圖表,核心方式,用戶方式,

核心

在計算機科學中,核心(英語:Kernel),又稱核心,是作業系統最基本的部分,主要負責管理系統資源。核心,是一個作業系統最基本的部分;核心,是一個作業系統的核心,其重要性不言而喻。它是為眾多應用程式提供對計算機硬體的安全訪問的一部分軟體,這種訪問是有限的,並且核心決定一個程式在什麼時候對某部分硬體操作多長時間。核心的分類可以分為單核心和雙核心以及微核心。所以,嚴格地說,核心並不是計算機系統中必要的組成部分。

基本概述/核心編輯

核心圖冊
核心時間
核心並不是計算機系統中必要的組成部分。程式可以直接地被調入計算機中執行,這樣的設計說明了設計者不希望提供任何硬體抽象和作業系統的支持,它常見於早期計算機系統的設計中。最終,一些輔助性程式,例如程式載入器和調試器,被設計到機器核心當中,或者固化在唯讀存儲器里。這些變化發生時,作業系統核心的概念就漸漸明晰起來。直接對硬體操作是非常複雜的,所以核心通常提供一種硬體抽象的方法來完成這些操作。硬體抽象隱藏了複雜性,為套用軟體和硬體提供了一套簡潔,統一的接口,使程式設計更為簡單。

種類/核心編輯

單核心

單核心結構的作業系統圖冊
核心時間
單核心為潛在的硬體提供了大量完善的硬體抽象操作。單核心結構在硬體之上定義了一個高階的抽象界面,套用一組原語(或者叫系統調用)來實現作業系統的功能,例如進程管理,檔案系統,和存儲管理等等,這些功能由多個運行在核心態的模組來完成。儘管每一個模組都是單獨地服務這些操作,核心代碼是高度集成的,而且難以編寫正確。因為所有的模組都在同一個核心空間上運行,一個很小的bug都會使整個系統崩潰。然而,如果開發順利,單核心結構就可以從運行效率上得到好處。
很多現代的單核心結構核心,如Linux和FreeBSD核心,能夠在運行時將模組調入執行,這就可以使擴充核心的功能變得更簡單,也可以使核心的核心部分變得更簡潔。
單核心結構的例子:1、傳統的UNIX核心,例如伯克利大學發行的版本;2、Linux核心。

微核心

具有安全許可權限制的微核心圖冊
核心時間
微核心只提供了很小一部分的硬體抽象,大部分功能由一種特殊的用戶態程式:伺服器來完成。微核心結構由一個非常簡單的硬體抽象層和一組比較關鍵的原語或系統調用組成,這些原語僅僅包括了建立一個系統必需的幾個部分,如:執行緒管理,地址空間和進程間通信等。微核的目標是將系統服務的實現和系統的基本操作規則分離開來。例如,進程的輸入/輸出鎖定服務可以由運行在微核之外的一個服務組件來提供。這些非常模組化的用戶態伺服器用於完成作業系統中比較高級的操作,這樣的設計使核心中最核心的部分的設計更簡單。一個服務組件的失效並不會導致整個系統的崩潰,核心需要做的,僅僅是重新啟動這個組件,而不必影響其它的部分。微核心將許多OS服務放入分離的進程,如檔案系統,設備驅動程式,而進程通過訊息傳遞調用OS服務。微核心結構必然是多執行緒的,第一代微核心,在核心提供了較多的服務,因此被稱為“胖微核心”。它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的核心,可以說,蒸蒸日上。第二代為核心只提供最基本的OS服務,典型的OS是QNX,QNX在理論界很有名,被認為是一種先進的OS。
微核心的例子:
第二代微核心作業系統設計理論設計圖冊
核心時間
1、AIX
2、BeOS
3、L4微核心系列
4、Mach, 用於GNU Hurd和Mac OS X
5、Minix
6、MORPHOS
7、QNX
8、RadiOS
9、VSTa
單核心與微核心的比較
單核心結構是非常有吸引力的一種設計,由於在同一個地址空間上實現所有低級操作的系統控制代碼的複雜性的效率會比在不同地址空間上實現更高些。20世紀90年代初,單核心結構被認為是過時的。把Linux設計成為單核心結構而不是微核心引起了無數的爭議。現在,單核結構正趨向於容易被正確設計,所以它的發展會比微核心結構更迅速些。兩個陣營中都有成功的案例。微核經常被用於機器人和醫療器械的嵌入式設計中,因為它的系統的關鍵部分都處在相互分開的,被保護的存儲空間中。這對於單核設計來說是不可能的,就算它採用了運行時載入模組的方式。儘管Mach是眾所周知的多用途的微核心,人們還是開發了除此之外的幾個微核心。L3是一個演示性的核心,只是為了證明微核心設計並不總是低運行速度。它的後續版本L4甚至可以將Linux核心在單獨的地址空間作為它的一個進程來運行。
核心圖冊
核心時間
QNX是一個從20世紀80年代就開始設計的微核心系統。它比Mach更接近微核心的理念。它被用於一些特殊的領域,在這些情況下由於軟體錯誤導致系統失效是不允許的。例如太空梭上的機械手,還有研磨望遠鏡鏡片的機器,一點點失誤就會導致上千美元的損失。很多人相信,由於Mach不能夠解決一些提出微核心理論時針對的問題,所以微核心技術毫無用處。Mach的愛好者表明這是非常狹隘的觀點,遺憾的是似乎所有人都開始接受這種觀點。

混合核心

混合核心很像微核心結構,只不過它的的組件更多的在核心態中運行,以獲得更快的執行速度。
核心時間
混合核心實質上是微核心,只不過它讓一些微核結構運行在用戶空間的代碼運行在核心空間,這樣讓核心的運行效率更高些。這是一種妥協做法,設計者參考了微核心結構的系統運行速度不佳的理論。然而後來的實驗證明,純微核心的系統實際上也可以是高效率的。大多數現代作業系統遵循這種設計範疇,微軟視窗就是一個很好的例子。另外還有XNU,運行在蘋果Mac OS X上的核心,也是一個混合核心。
混合核心的例子:
1、BeOS 核心
2、DragonFly BSD
3、ReactOS 核心
Windows NT、Windows 2000、Windows XP、Windows Server 2003以及Windows Vista等基於NT技術的作業系統。XNU一些人認為可以在運行時載入模組的單核系統和混合核心系統沒有區別。這是不正確的。混合意味著它從單核和微核系統中都吸取了一定的設計模式,例如一些非關鍵的代碼在用戶空間運行,另一些在核心空間運行,單純是為了效率的原因。

簡介

[英] core time [kɔ: taim]
指明執行緒執行作業系統代碼已經經過了多少個100ns(納秒)的CPU時間

核心時間圖表

核心方式

“任務管理器”“性能”CPU工作顯示框內紅線為核心時間。是表明處理器工作時間百分比的圖表。該計數器是處理器活動的主要指示器。查看該圖表可以知道您當前使用的處理時間是多少。如果您的計算機看起來運行較慢,該圖表就會顯示較高的百分比。

用戶方式

任務管理,用圖表表示加在CPU上的全體負荷。Windows 2000/XP,完全分離OS的系統編碼和設備驅動程式等的編碼,和文字處理機等的用戶套用軟體的編碼,用完全不同的系統編碼做各自實行。
具體是前者用核心方式,後者用戶方式被實行的。
這個時候用被用戶方式來實行的套用軟體,不能直接訪問核心方式管理的存儲器資源等。在象加上這樣的限制的事上,即使萬一在用戶方式實行中的套用軟體發生混亂時,對於系統也不會有很大的影響。
在向圖表作追加表示來自於核心方式程式的CPU使用率上,實行任務管理的[表示]-[表示核心時間]選單。綠色的線是表示全體的使用率,紅色是表示核心·方式的各自的程式的CPU使用率和使之增加系統的負荷的原因,能簡單地辨別是來自於用戶套用軟體(文字處理機和批套用軟體等),還是來自於系統編碼(OS編碼和設備驅動程式等)。即使是全體的CPU使用率高的時候,來自於核心方式程式的使用率也並不是那么高的情況下,可以認為來自於被用戶方式實行的套用軟體的負荷大。總之如果想使之減輕負荷,找出成為原因的套用軟體,再結束哪個套用軟體就行了。
另一方面,在來自於核心方式程式的使用率高的時候(紅的線向綠色的線接近的時候),能預測核心內部的系統程式的處理或是網路訪問,軟碟訪問,圖解繪畫,以及來自於設備驅動程式的處理等是負荷的原因。在發生這個情況時候,是要從最近進行的設備構成和網路構成的變化等那些地方追求原因,討論硬體的改進吧。

相關詞條

熱門詞條

聯絡我們