Operating system 如果使用纯请求分页,CPU如何知道第一条指令在可执行文件中的位置?

Operating system 如果使用纯请求分页,CPU如何知道第一条指令在可执行文件中的位置?,operating-system,demand-paging,Operating System,Demand Paging,我正在阅读操作系统概念的第9章,纯需求分页的概念描述如下: 在极端情况下,我们可以开始执行没有页面的进程 记忆。当操作系统将指令指针设置为进程的第一条指令(位于非内存驻留页上)时,进程 立即为页面设置错误 但是如果没有一个页面,特别是包含代码的页面在内存中,操作系统如何知道程序计数器首先在哪里?通过检查磁盘上的程序映像,程序计数器是否设置为进程创建的一部分?如果是这样,我假设操作系统知道二进制图像的格式,并且可以直接访问磁盘上的信息。只有当这个信息以某种方式存储在程序执行过程中不需要的程序映像部

我正在阅读操作系统概念的第9章,纯需求分页的概念描述如下:

在极端情况下,我们可以开始执行没有页面的进程 记忆。当操作系统将指令指针设置为进程的第一条指令(位于非内存驻留页上)时,进程 立即为页面设置错误

但是如果没有一个页面,特别是包含代码的页面在内存中,操作系统如何知道程序计数器首先在哪里?通过检查磁盘上的程序映像,程序计数器是否设置为进程创建的一部分?如果是这样,我假设操作系统知道二进制图像的格式,并且可以直接访问磁盘上的信息。只有当这个信息以某种方式存储在程序执行过程中不需要的程序映像部分时,如果操作系统决定不将包含这个信息的页面放入内存,它才有意义

总而言之,我想知道:

  • 如果使用纯请求分页,如何为新进程设置程序计数器
  • 是否有真正的操作系统使用纯按需分页?它有什么好处
  • 可执行文件的二进制格式(例如ELF、PE格式)如何帮助操作系统进行请求分页(操作系统至少需要知道第一页在哪里?)

请参阅,操作系统可以将每个进程的地址空间中的共享只读加载程序映射到固定地址,并将程序计数器设置为加载程序的第一条指令。