九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
虛擬地址空間 (Windows Drivers)

當(dāng)處理器讀或?qū)懭雰?nèi)存位置時(shí),它會(huì)使用虛擬地址。作為讀或?qū)懖僮鞯囊徊糠?,處理器將虛擬地址轉(zhuǎn)換為物理地址。通過(guò)虛擬地址訪問(wèn)內(nèi)存有以下優(yōu)勢(shì):

  • 程序可以使用一系列相鄰的虛擬地址來(lái)訪問(wèn)物理內(nèi)存中不相鄰的大內(nèi)存緩沖區(qū)。

  • 程序可以使用一系列虛擬地址來(lái)訪問(wèn)大于可用物理內(nèi)存的內(nèi)存緩沖區(qū)。當(dāng)物理內(nèi)存的供應(yīng)量變小時(shí),內(nèi)存管理器會(huì)將物理內(nèi)存頁(yè)(通常大小為 4 KB)保存到磁盤(pán)文件。數(shù)據(jù)或代碼頁(yè)會(huì)根據(jù)需要在物理內(nèi)存與磁盤(pán)之間移動(dòng)。

  • 不同進(jìn)程使用的虛擬地址彼此隔離。一個(gè)進(jìn)程中的代碼無(wú)法更改正在由另一進(jìn)程使用的物理內(nèi)存。

進(jìn)程可用的虛擬地址范圍稱為該進(jìn)程的“虛擬地址空間”。每個(gè)用戶模式進(jìn)程都有其各自的專用虛擬地址空間。對(duì)于 32 位進(jìn)程,虛擬地址空間通常為 2 GB,范圍從 0x00000000 至 0x7FFFFFFF。對(duì)于 64 位進(jìn)程,虛擬地址空間為 8 TB,范圍從 0x000'00000000 至 0x7FF'FFFFFFFF。一系列虛擬地址有時(shí)稱為一系列“虛擬內(nèi)存”

此圖說(shuō)明了虛擬地址空間的一些重要功能。

該圖顯示了兩個(gè) 64 位進(jìn)程的虛擬地址空間:Notepad.exe 和 MyApp.exe。每個(gè)進(jìn)程都有其各自的虛擬地址空間,范圍從 0x000'0000000 至 0x7FF'FFFFFFFF。每個(gè)陰影框都表示虛擬內(nèi)存或物理內(nèi)存的一個(gè)頁(yè)面(大小為 4 KB)。注意,Notepad 進(jìn)程使用從 0x7F7'93950000 開(kāi)始的虛擬地址的三個(gè)相鄰頁(yè)面。但虛擬地址的這三個(gè)相鄰頁(yè)面會(huì)映射到物理內(nèi)存中的非相鄰頁(yè)面。而且還注意,兩個(gè)進(jìn)程都使用從 0x7F7'93950000 開(kāi)始的虛擬內(nèi)存頁(yè)面,但這些虛擬頁(yè)面都映射到物理內(nèi)存的不同頁(yè)面。

用戶空間和系統(tǒng)空間

諸如 Notepad.exe 和 MyApp.exe 的進(jìn)程在用戶模式下運(yùn)行。核心操作系統(tǒng)組件和多個(gè)驅(qū)動(dòng)程序在更有特權(quán)的內(nèi)核模式下運(yùn)行。有關(guān)處理器模式的詳細(xì)信息,請(qǐng)參閱用戶模式和內(nèi)核模式。每個(gè)用戶模式進(jìn)程都有其各自的專用虛擬地址空間,但在內(nèi)核模式下運(yùn)行的所有代碼都共享稱為“系統(tǒng)空間”的單個(gè)虛擬地址空間。當(dāng)前用戶模式進(jìn)程的虛擬地址空間稱為“用戶空間”

在 32 位 Windows 中,可用的虛擬地址空間共計(jì)為 2^32 字節(jié)(4 GB)。通常較下的 2 GB 用于用戶空間,較上的 2 GB 用于系統(tǒng)空間。

在 32 位 Windows 中,你可以指定(在啟動(dòng)時(shí))超過(guò) 2 GB 用于用戶空間。結(jié)果是系統(tǒng)空間可用的虛擬地址更少??梢詫⒂脩艨臻g的大小增至 3 GB,在這種情形下系統(tǒng)空間僅有 1 GB。若要增大用戶空間的大小,請(qǐng)使用 BCDEdit /set increaseuserva。

在 64 位 Windows 中,虛擬地址空間的理論大小為 2^64 字節(jié)(16 百億億字節(jié)),但實(shí)際上僅使用 16 百億億字節(jié)范圍的一小部分。范圍從 0x000'00000000 至 0x7FF'FFFFFFFF 的 8 TB 用于用戶空間,范圍從 0xFFFF0800'00000000 至 0xFFFFFFFF'FFFFFFFF 的 248 TB 的部分用于系統(tǒng)空間。

用戶模式下運(yùn)行的代碼可以訪問(wèn)用戶空間,但不能訪問(wèn)系統(tǒng)空間。此限制可防止用戶模式代碼讀或更改受保護(hù)的操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)。內(nèi)核模式下運(yùn)行的代碼既可以訪問(wèn)用戶空間,也可以訪問(wèn)系統(tǒng)空間。即,在內(nèi)核模式下運(yùn)行的代碼可以訪問(wèn)系統(tǒng)空間和當(dāng)前用戶模式進(jìn)程的虛擬地址空間。

在內(nèi)核模式下運(yùn)行的驅(qū)動(dòng)程序必須在直接從用戶空間地址中讀取或?qū)懭脒@些地址時(shí)非常小心。此方案說(shuō)明了原因。

  1. 用戶模式程序發(fā)起從設(shè)備讀取某些數(shù)據(jù)的請(qǐng)求。程序提供緩沖區(qū)的起始地址以接收數(shù)據(jù)。

  2. 在內(nèi)核模式下運(yùn)行的設(shè)備驅(qū)動(dòng)程序例程啟動(dòng)讀取操作并將控制權(quán)返回到其調(diào)用程序。

  3. 然后,設(shè)備中斷了當(dāng)前運(yùn)行的任何線程以顯示讀取操作完成。 中斷由在此任意線程上運(yùn)行的內(nèi)核模式驅(qū)動(dòng)程序例程進(jìn)行處理,該例程屬于任意進(jìn)程。
  4. 此時(shí),驅(qū)動(dòng)程序不得將數(shù)據(jù)寫(xiě)入用戶模式程序在步驟 1 中提供的開(kāi)始地址。此地址位于發(fā)起請(qǐng)求的進(jìn)程的虛擬地址空間,該進(jìn)程可能很大程度上不同于當(dāng)前進(jìn)程。

頁(yè)面緩沖池和非頁(yè)面緩沖池

在用戶空間中,所有物理內(nèi)存頁(yè)面都可以根據(jù)需要進(jìn)行分頁(yè)至磁盤(pán)文件。在系統(tǒng)空間中,某些物理頁(yè)面可以分頁(yè),而其他頁(yè)面不能。系統(tǒng)空間具有用于動(dòng)態(tài)分配內(nèi)存的兩個(gè)區(qū)域:頁(yè)面緩沖池和非頁(yè)面緩沖池。在 64 位 Windows 中,頁(yè)面緩沖池為 128 GB 的虛擬地址,范圍從 0xFFFFA800'00000000 至 0xFFFFA81F'FFFFFFFF。非頁(yè)面緩沖池為 128 GB 的虛擬地址,范圍從 0xFFFFAC00'00000000 至 0xFFFFAC1F'FFFFFFFF。

在頁(yè)面緩存池中分配的內(nèi)存可以根據(jù)需要分頁(yè)至磁盤(pán)文件。在非頁(yè)面緩沖池中分配的內(nèi)存永遠(yuǎn)無(wú)法分頁(yè)至磁盤(pán)文件。

相關(guān)主題

用戶模式和內(nèi)核模式

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Windows/Linux內(nèi)核地址空間管理的異同
淺議windows內(nèi)存管理
理解Windows內(nèi)核模式與用戶模式
windows 內(nèi)存管理的幾種方式及其優(yōu)缺點(diǎn)
中斷上下文為何不可訪問(wèn)用戶空間地址
分頁(yè)池和非分頁(yè)池
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服