成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡單聊聊用戶態和內核態的區別

運維 系統運維
用戶態、內核態的指令都是 CPU 都在執行,所以我們可以換個說法,實際上這個態代表的是當前 CPU 的狀態。那既然這些指令最終都由 CPU 執行,那對其區分的理由是什么呢?

[[441181]]

先給不了解內核態、用戶態的簡單介紹一下,我們在什么時候會提到這兩個概念。

例如我們的應用程序需要從磁盤讀取某個文件的數據,此時并不是直接從磁盤加載到應用內存中,而是:

  • 先將數據從「磁盤」復制到「內核 Buffer」
  • 再將數據從「內核 Buffer」復制到「用戶 Buffer」

以上就是用戶態和內核態的概念。首先我們給他下個定義,這兩個態是操作系統的運行級別。

然后我們知道,我們寫的程序,最終運行的時候實際都會被編譯、解釋成一條一條的 CPU 指令被 CPU 執行。

解釋成一條一條的指令

用戶態、內核態的指令都是 CPU 都在執行,所以我們可以換個說法,實際上這個態代表的是當前 CPU 的狀態。那既然這些指令最終都由 CPU 執行,那對其區分的理由是什么呢?

那是因為,CPU 指令根據其重要的程度,也分為不同的權限。有一些指令執行失敗了無關痛癢,而有一些指令失敗了會導致整個操作系統崩潰,甚至需要重啟系統。如果將這些指令隨意開放給應用程序的話,整個系統崩潰的概率將會大大的增加。

再舉個類似的例子。我們設計一個類,里面有幾個很重要的變量,你大概率是不會把它們聲明成 public 的吧?應該聲明成 private,并開發幾個專門修改他們的方法,對傳入的值進行一系列的校驗之后再去設置。

上面說到,CPU 指令是做了權限劃分的, 例如 Intel X86 中將 CPU 指令權限劃分為了 4 個等級:

權限分類

它們之間的權限的高低程度可以通過這張圖來識別:

上圖中的 IA 指的是 Intel Architecture

所以可以看到,越靠近的核心的權限越高。換句話說,權限由高到低為:Ring0 > Ring1 > Ring2 > Ring3

在 Linux 系統中,由于只有 Ring0 和 Ring3 級別的指令,所以我們可以對用戶態、內核態給一個更細節的區別描述:運行 Ring0 級別指令的叫內核態,運行 Ring3 級別指令的叫用戶態。

內核態用戶態

了解了指令集權限的概念,我們就可以再更正一下上面的描述:什么態實際上代表的是當前 CPU 正在執行什么級別的指令

知道了用戶態和內核態的區別、以及為什么要對其進行區別之后,我們就可以來看什么時候會從用戶態切換到內核態了。

答案是發生系統調用的時候

那什么又是系統調用呢?看這張圖

系統調用 (1)

當用戶態的程序需要向操作系統申請更高權限的服務時,就通過系統調用向內核發起請求。

內核自然也會提供很多的接口來供調用,例如申請動態內存空間。但是申請了內存是不是還得考慮釋放內存?如果把這塊內存管理交給應用程序的話,復雜的管理工作會給開發帶來很多負擔。

所以庫函數就是用于屏蔽掉內部復雜的細節的,我們的應用程序可以通過庫函數來調用內核的提供的接口,而庫函數就會發起系統調用,發起了系統調用之后,用戶態就會切換成內核態去執行對應的內核方法。

除了系統調用之外,還有另外兩種會導致態的切換:發生異常、中斷。

 

責任編輯:姜華 來源: SH的全棧筆記
相關推薦

2023-10-26 11:39:54

Linux系統CPU

2023-01-06 08:04:10

GPU容器虛擬化

2021-08-31 07:54:24

TCPIP協議

2021-08-10 16:50:37

內核內存管理

2021-09-08 10:21:33

內核網絡包Tcpdump

2021-09-17 11:59:21

tcpdump網絡包Linux

2017-08-16 16:20:01

Linux內核態搶占用戶態搶占

2022-03-25 12:31:49

Linux根文件內核

2022-04-21 11:26:31

鴻蒙操作系統

2021-11-26 15:34:27

鴻蒙HarmonyOS應用

2014-07-17 09:55:23

Linux程序計時

2009-12-07 09:31:23

Linux系統調用表地址

2022-12-30 07:50:05

無棧協程Linux

2021-09-06 17:50:09

內核態操作系統

2021-02-07 09:32:02

惡意軟件黑客網絡攻擊

2021-06-17 07:55:34

線程進程COW

2024-11-07 09:38:43

PodCAP特權

2021-10-25 09:53:52

鴻蒙HarmonyOS應用

2018-08-10 22:15:53

2010-01-23 21:25:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕在线网 | 国产精品91久久久久久 | 国产一区二区精品在线 | 夜夜久久| 99re热精品视频国产免费 | 色综合色综合色综合 | 国产精品www | 免费网站国产 | 91麻豆精品国产91久久久久久久久 | 亚洲综合在线播放 | 亚洲成人动漫在线观看 | 免费看片在线播放 | 成人免费视频网站在线观看 | 99精品视频一区二区三区 | 欧美日韩一区二区在线 | 亚洲国产精品一区二区三区 | 爱爱视频在线观看 | 国产成人午夜电影网 | 国产网站在线播放 | 久久精点视频 | 日本黄色一级片视频 | 男女免费在线观看视频 | 97精品一区二区 | 日本午夜在线视频 | 亚洲在线观看视频 | 午夜视频网站 | 黄色在线观看网址 | 综合久久久久 | 久久久精选 | 欧美一级二级视频 | 99久久婷婷国产综合精品电影 | 超碰在线免费av | 午夜黄色影院 | 狠狠色综合久久丁香婷婷 | 国产精品极品美女在线观看免费 | 综合网视频 | 人人干免费| 欧美国产大片 | 国产成人a亚洲精品 | 国产精品久久久久久一区二区三区 | 午夜天堂精品久久久久 |