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

CPU的底線:為什么只有操作系統(tǒng)才能執(zhí)行這些操作?

存儲(chǔ) 數(shù)據(jù)管理
只有當(dāng)CPU位于Ring0也就是內(nèi)核態(tài)時(shí)才可以執(zhí)行我們剛才列舉的這些操作,否則會(huì)觸發(fā)異常,這會(huì)進(jìn)一步觸發(fā)操作系統(tǒng)的運(yùn)行,操作系統(tǒng)運(yùn)行起來后會(huì)終止掉有問題的進(jìn)程。

你正在編寫一個(gè)普通的應(yīng)用程序,突發(fā)奇想,想要直接控制硬盤讀寫、修改其他程序的內(nèi)存空間,甚至直接關(guān)閉整個(gè)計(jì)算機(jī)系統(tǒng)。如果你嘗試這樣做,結(jié)果會(huì)怎樣?

答案很簡(jiǎn)單,在現(xiàn)代操作系統(tǒng)上,你的程序不但不能接管計(jì)算機(jī)反而會(huì)被反殺掉。

有一系列操作是絕對(duì)不允許在用戶態(tài)執(zhí)行的。

直接內(nèi)存管理

內(nèi)存是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的資源,必須由操作系統(tǒng)統(tǒng)一管理。內(nèi)核通過CPU提供的虛擬內(nèi)存技術(shù)為每個(gè)進(jìn)程創(chuàng)建獨(dú)立的虛擬地址空間,實(shí)現(xiàn)進(jìn)程間的內(nèi)存隔離,這其中最核心的就是頁表。

圖片圖片

如果用戶程序能夠隨意修改頁表,將導(dǎo)致災(zāi)難性后果,因?yàn)檫@意味著:

  • 進(jìn)程可能訪問其他進(jìn)程的私有內(nèi)存,造成數(shù)據(jù)泄露或損壞
  • 進(jìn)程可能修改內(nèi)核內(nèi)存,破壞系統(tǒng)核心數(shù)據(jù)結(jié)構(gòu)
  • 內(nèi)存保護(hù)機(jī)制失效,導(dǎo)致系統(tǒng)不穩(wěn)定或完全崩潰

例如,如果一個(gè)程序能夠修改CR3寄存器,它就可以切換到任意進(jìn)程的地址空間,讀取或修改其他程序的數(shù)據(jù),這將完全破壞系統(tǒng)的安全邊界。

特權(quán)指令

有些指令可以直接控制CPU的核心行為,包括但不限于:

  • 開關(guān)中斷指令(CLI/STI)
  • 修改控制寄存器(CR0、CR2、CR4等)
  • 執(zhí)行I/O指令(IN/OUT)

如果我們寫的程序直接關(guān)閉中斷(CLI),那么這將導(dǎo)致系統(tǒng)無法響應(yīng)外部事件,包括定時(shí)器中斷,從而阻止操作系統(tǒng)重新獲得控制權(quán),這意味著我們寫的while循環(huán)將會(huì)真正的獨(dú)占一個(gè)CPU核心。

圖片圖片

如果我們寫的程序可以修改控制寄存器,那么就可以直接禁用內(nèi)存保護(hù)或更改CPU的基本運(yùn)行模式。

直接硬件讀寫

有些操作可以直接控制硬件的讀寫,這包括:

  • 使用IN/OUT指令直接讀寫I/O端口
  • 訪問內(nèi)存映射I/O(MMIO)區(qū)域

硬件設(shè)備是系統(tǒng)共享資源,需要協(xié)調(diào)訪問以避免沖突,不正確的硬件操作可能導(dǎo)致設(shè)備故障或數(shù)據(jù)損壞,多個(gè)程序同時(shí)訪問同一設(shè)備會(huì)導(dǎo)致操作沖突和數(shù)據(jù)損壞,而不正確的設(shè)備命令序列可能導(dǎo)致硬件故障。

例如,如果用戶程序可以直接訪問硬盤控制器,它可以繞過文件系統(tǒng)和權(quán)限檢查,讀取或修改任何磁盤扇區(qū),包括其他用戶的私有文件或系統(tǒng)關(guān)鍵數(shù)據(jù)。

內(nèi)核數(shù)據(jù)結(jié)構(gòu)

內(nèi)核維護(hù)著大量復(fù)雜而關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)共同構(gòu)成了系統(tǒng)運(yùn)行的大腦,對(duì)系統(tǒng)的正常運(yùn)行至關(guān)重要。因此對(duì)這些數(shù)據(jù)結(jié)構(gòu)的訪問和修改必須嚴(yán)格限制在內(nèi)核態(tài)下進(jìn)行。

圖片圖片

(PS,這是人能看懂的東西?)

在Linux等現(xiàn)代操作系統(tǒng)中,內(nèi)核數(shù)據(jù)結(jié)構(gòu)包括進(jìn)程控制塊(在Linux中稱為task_struct)、文件描述符表、中斷向量表、頁表等。如果允許普通用戶程序隨意訪問和修改這些數(shù)據(jù)結(jié)構(gòu),將會(huì)帶來災(zāi)難性的后果。

以進(jìn)程控制塊為例,它存儲(chǔ)了進(jìn)程的所有關(guān)鍵信息,包括進(jìn)程ID、用戶ID、權(quán)限位圖、資源限制和調(diào)度參數(shù)等。如果一個(gè)惡意程序能夠修改自己的進(jìn)程控制塊,它可以輕松地將自己的有效用戶ID改為0(即root或管理員),立即獲得系統(tǒng)的最高權(quán)限,從而繞過所有安全檢查,訪問任何文件,執(zhí)行任何操作。

CPU的權(quán)限控制

因?yàn)槲覀兛梢钥吹剑瑢?shí)際上CPU執(zhí)行的指令可以分為兩類,一類就是以上列舉的操作(操作系統(tǒng)的職責(zé)范疇),再一類就是我們寫的程序(被編譯后生成的指令),CPU在執(zhí)行這兩類指令時(shí)需要具有不同的權(quán)限等級(jí)。

現(xiàn)代CPU(如x86架構(gòu))通常實(shí)現(xiàn)了多個(gè)特權(quán)級(jí)別,從Ring 0(最高權(quán)限)到Ring 3(最低權(quán)限)。雖然有四個(gè)級(jí)別,但大多數(shù)操作系統(tǒng)只使用其中的兩個(gè):

  • Ring 0(內(nèi)核態(tài)):操作系統(tǒng)內(nèi)核運(yùn)行的特權(quán)級(jí)別
  • Ring 3(用戶態(tài)):普通應(yīng)用程序運(yùn)行的特權(quán)級(jí)別

圖片圖片

只有當(dāng)CPU位于Ring0也就是內(nèi)核態(tài)時(shí)才可以執(zhí)行我們剛才列舉的這些操作,否則會(huì)觸發(fā)異常,這會(huì)進(jìn)一步觸發(fā)操作系統(tǒng)的運(yùn)行,操作系統(tǒng)運(yùn)行起來后會(huì)終止掉有問題的進(jìn)程。

因此如果我們的代碼想要執(zhí)行上述操作的話就只能讓操作系統(tǒng)替代我們?nèi)?zhí)行,這通過系統(tǒng)調(diào)用來實(shí)現(xiàn)。

CPU的這種特權(quán)級(jí)別隔離機(jī)制是計(jì)算機(jī)系統(tǒng)安全穩(wěn)定運(yùn)行的基石設(shè)計(jì)之一,這是現(xiàn)代計(jì)算機(jī)能夠同時(shí)運(yùn)行數(shù)十甚至數(shù)百個(gè)程序而保持穩(wěn)定的關(guān)鍵所在。

責(zé)任編輯:武曉燕 來源: 碼農(nóng)的荒島求生
相關(guān)推薦

2012-09-21 14:35:01

2010-01-05 17:16:51

2009-12-14 18:27:21

Linux操作系統(tǒng)

2010-01-06 15:41:07

Linux操作系統(tǒng)

2012-06-08 09:16:16

操作系統(tǒng)

2020-06-28 09:40:58

操作系統(tǒng)GPUCPU

2019-01-28 10:00:42

CPU操作系統(tǒng)存儲(chǔ)器

2020-12-17 18:30:44

華為鴻蒙智能手機(jī)操作系統(tǒng)

2022-01-17 11:53:39

操作系統(tǒng)計(jì)算機(jī)來

2018-12-19 12:03:02

操作系統(tǒng)WindowsLinux

2022-06-26 00:24:57

C語言操作系統(tǒng)語言

2023-04-13 08:09:35

操作系統(tǒng)虛擬地址內(nèi)存

2025-01-06 08:28:45

C語言操作系統(tǒng)程序

2018-09-05 10:08:24

服務(wù)器操作系統(tǒng)伺服器

2023-03-29 23:19:27

2020-02-10 14:35:40

操作系統(tǒng)計(jì)算機(jī)軟件

2010-04-15 14:40:26

Unix操作系統(tǒng)

2009-12-09 17:25:19

Linux操作系統(tǒng)

2012-06-13 16:01:49

Passbook蘋果

2020-03-10 19:34:08

CPU虛擬化調(diào)度
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91在线视频播放 | www.性色| 在线视频a| 麻豆久久久9性大片 | 91精品国产91久久久久久吃药 | 成人国产精品久久 | 亚洲精品在线免费播放 | 国产农村妇女毛片精品久久麻豆 | 黄色大全免费看 | 亚洲91精品 | 精品成人av | 国产一区久久久 | 日韩三级免费观看 | 亚洲国产成人在线视频 | 国产乱码精品一区二区三区中文 | 亚洲视频在线一区 | 欧美日韩国产精品一区 | 成人精品在线视频 | 精品久久久久久国产 | 91在线精品一区二区 | 中文字幕黄色大片 | 不卡一区二区三区四区 | 欧美大片一区 | 欧美一区二区三区在线观看 | 精品久久一| 久久三区 | 在线免费国产视频 | 日韩一区二区三区在线视频 | 一区二区成人 | 日韩在线视频观看 | 热久久免费视频 | 男女羞羞视频在线 | 国产成人精品a视频 | 国产一区不卡 | 午夜久久久 | 视频一区中文字幕 | 97视频在线免费 | 久久久福利| 午夜爽爽爽男女免费观看影院 | 日日日色 | 高清黄色毛片 |