操作系統(tǒng)是怎么管理軟件的?

虛擬內(nèi)存

是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)的可用的內(nèi)存(一個(gè)連續(xù)完整的地址空間),而實(shí)際上,它通常是被分隔成多個(gè)物理內(nèi)存碎片,還有部分暫時(shí)存儲(chǔ)在外部磁盤存儲(chǔ)器上,在需要時(shí)進(jìn)行數(shù)據(jù)交換。

個(gè)人理解:

1、操作系統(tǒng)需要知道軟件的安裝路徑(具體到哪個(gè)文件夾下)。安裝jdk時(shí),需要配置環(huán)境變量(就是告知操作系統(tǒng)jdk的路徑)。

安裝軟件不用說了,不懂,總之,是把軟件放到外存儲(chǔ)器硬盤上。

2、用戶點(diǎn)擊某個(gè)軟件的exe文件時(shí),

操作系統(tǒng)會(huì)把該軟件的可執(zhí)行二進(jìn)制文件(就是二進(jìn)制指令)加載到內(nèi)存中。

在這期間,操作系統(tǒng):(1)、為該軟件開啟了一個(gè)進(jìn)程,并且分配了單獨(dú)的內(nèi)存空間。并通過虛擬內(nèi)存技術(shù)來管理這個(gè)內(nèi)存空間。

大概就是為這個(gè)軟件分配了多少頁的內(nèi)存,頁號(hào)+行號(hào)(虛擬內(nèi)存地址),映射對(duì)應(yīng)了內(nèi)存中一個(gè)絕對(duì)地址。

猜想,操作系統(tǒng)既然管理內(nèi)存,那這個(gè)映射關(guān)系表,操作系統(tǒng)當(dāng)然會(huì)記錄下來。


軟件的界面是如何展示給用戶的? 界面當(dāng)然是軟件開發(fā)者寫的,而展示這個(gè)界面(執(zhí)行界面代碼,并輸出到顯示器),大概都是操作系統(tǒng)做的。

3、當(dāng)用戶點(diǎn)擊該軟件的某個(gè)命令時(shí),操作系統(tǒng)做了什么?

在這期間(1)、會(huì)有一個(gè)中斷,操作系統(tǒng)切換到該進(jìn)程。

(2)、首先一個(gè)常識(shí),命令應(yīng)該都是一個(gè)函數(shù)方法,是由一堆二進(jìn)制機(jī)器碼組成的。有開始代碼,和結(jié)束代碼。

操作系統(tǒng),應(yīng)該知道該命令的虛擬內(nèi)存地址,然后根據(jù)映射關(guān)系表,找到絕對(duì)內(nèi)存地址(開始代碼),并把這個(gè)地址放到address ?count中,

然后,cpu按照程序執(zhí)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。