Linux核心空間和使用者空間

2021-10-04 10:17:30 字數 690 閱讀 5083

在linux系統中存在程序的概念:

程序的分類:

使用者程序:執行在使用者空間的程序被稱為使用者程序

核心程序:執行在核心空間的程序被稱為核心程序

程序的空間:

系統會為每乙個程序分0-4g的虛擬定址空間,在4g的空間中

0-3g:屬於使用者空間,用來執行使用者的相關程序

3-4g:屬於核心空間,用來執行核心的相關程序

使用者空間:執行使用者程序的空間

核心空間:執行核心程序的空間

使用者模式:使用者程序執行在使用者空間的模式被稱為使用者模式

核心模式:核心程序執行在核心空間的模式被稱為核心模式

使用者模式是受限模式,它對記憶體和硬體的訪問都必須通過系統呼叫實現,使用者程式執行在使用者模式,它用於使用者程序。核心模式是一種高特權模式,其中的程式能直接訪問記憶體和硬體,核心程式執行在核心模式。

思考:為什麼要將系統和驅動層分開呢?????

原因是系統層和核心層操作的許可權不同,系統層的操作許可權較低,而核心層的操作許可權高

操作許可權指的是:核心中可以直接管理記憶體,可以直接訪問硬體,而系統層需要通過呼叫核心層才能完成操作,核心的許可權值最高為0,使用者程序的許可權值為3.

另外系統的破壞性屬於區域性,如系統中執行的程序崩潰不會導致系統的崩潰

核心破壞性屬於全域性的,核心崩潰直接導致系統崩潰(藍屏)

使用者空間和核心空間

應用程式是從頭到尾執行單個任務。模組只是預先註冊自己以便服務於將來的某個請求,模組初始化函式的任務就是為以後呼叫模組函式預先做準備,就像模組說 我在這,並且我能做這些工作。模組的退出函式將在模組被解除安裝前呼叫,他告訴核心 我要離開了,不要再讓我做任何事了。應用程式在退出時,可以不管資源的釋放或其他...

linux核心空間與使用者空間

核心空間和使用者空間是作業系統理論的基礎之一,即核心功能模組執行在核心空間,而應用程式執行在使用者空間。現代的cpu都具有不同的操作模式,代表不同的級別,不同的級別具有不同的功能,在較低的級別中將禁止某些操作。linux系統設計時利用了這種硬體特性,使用了兩個級別,最高端別和最低級別,核心執行在最高...

linux 使用者空間 和 核心空間 延時函式

2011 06 19 15 28 22人閱讀 收藏舉報 使用者空間 1.unsigned int sleep unsigned int seconds sleep 會使當前程式休眠seconds秒。如果sleep 沒睡飽,它將會返回還需要補眠的時間,否則一般返回零。2.void usleep uns...