進程空間&虛擬記憶體

來源:互聯網
上載者:User

32位機器,每個程式有4G的虛擬位址空間。大致分為4塊,從低地址到高地址依次是:NULL區,使用者區,隔離區,核心區。使用者私人的資料都在使用者區(當然這個區裡又可以細分,其中也包括一部分可以共用的內容),系統核心等東西都在核心區。總體來說,A進程的虛擬位址空間中的內容和B進程相比,只有各自的使用者區不一致。通常使用者區中,進程又會將exe檔案(由頭資料和段資料群組成)中定義的程式碼片段、堆棧段、資料區段等各個段映射到使用者區的特定不同部位。對於這部分地區,使用者需要用VirtualAlloc先為自己預留後再提交,最後在自己的頁面被cpu訪問時再從exe映像中將資料載入到主存,然後將虛擬位址映射為主存的物理地址。基本上這樣就可以了,至於系統如何進行頁面的管理以及地址映射如何?等細節請大家再參考別的文獻。真正的虛擬記憶體,是由核心管理的記憶體映射表(系統分配),由多級目錄組成,而進程管理的虛表,最終指向核心管理的記憶體映射表,解釋出指向的記憶體物理區塊。(這就可以解釋不同的進程,同樣的虛址,指向不同的記憶體)系統空間是為系統預留的(不知道存放的是什麼);
核心分配的資料,只有核心可直接存取(如,驅動的映射,核心對象表,......)虛擬記憶體空間和進程的虛擬位址空間是不同的,而且真正運行時進程的虛擬位址空間會映射到虛擬記憶體空間.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.