編譯後的程序是如何在操作系統(linux)中運行的,虛擬地址空間到實際物理內存的訪問

Linux中,每個進程通過一個task_struct結構體描述,每個進程地址虛擬空間通過一個mm_struct描述,c語言中每個段空間通過vm_area_struct描述,關係如下, 當執行一個程序時,linux創建一個進程,通過sys_exec()將該程序的內容(程序編譯後產生的是虛擬地址空間)映射到進程的虛擬地址空間中而不是物理內存中,生成一組vm_area_struct數據結構用來表示可執行
相關文章
相關標籤/搜索