Process 程序执行过程与虚拟内存

Process 程序执行过程与虚拟内存,process,operating-system,paging,virtual-memory,Process,Operating System,Paging,Virtual Memory,所以,根据我的理解,当一个程序由用户运行时,它被放在内存中,然后被传输到CPU执行。CPU不能直接访问物理内存,所以它会创建逻辑地址,然后将其映射到物理地址 CPU如何知道何时创建逻辑地址,CPU是否知道它将要接收一些指令从而准备一个逻辑地址?在什么时候创建虚拟内存 CPU可以直接访问物理内存。程序不会传输到CPU(忽略缓存) 操作系统创建并维护进行逻辑到物理地址转换的页表。调用操作系统服务将逻辑地址范围映射到进程地址空间 一旦程序加载到RAM中,CPU是请求数据还是操作系统将数据发送到CPU?

所以,根据我的理解,当一个程序由用户运行时,它被放在内存中,然后被传输到CPU执行。CPU不能直接访问物理内存,所以它会创建逻辑地址,然后将其映射到物理地址

CPU如何知道何时创建逻辑地址,CPU是否知道它将要接收一些指令从而准备一个逻辑地址?在什么时候创建虚拟内存

  • CPU可以直接访问物理内存。程序不会传输到CPU(忽略缓存)

  • 操作系统创建并维护进行逻辑到物理地址转换的页表。调用操作系统服务将逻辑地址范围映射到进程地址空间


  • 一旦程序加载到RAM中,CPU是请求数据还是操作系统将数据发送到CPU?第一条指令如何发送到CPU,以便CPU知道如何根据第一条指令请求其他指令。程序加载器设置虚拟地址空间。当程序开始执行时,它会触发[许多]页面错误,因为它仍在磁盘上。当CPU首次尝试访问这些页面时,这些页面会被加载。