谁将程序从辅助存储器(硬盘)带到主存储器(RAM)执行?

时间:2016-06-18 06:45:25

标签: memory memory-management operating-system

在“SILBERSCHATZ,GALVIN&GAGNE的操作系统概念”一书中,他们提到过,

  

主内存(主内存)和内置于处理器本身的寄存器是CPU可以直接访问的唯一存储

这句话引起了很多混乱。如果CPU无法访问辅助内存,那么它如何从辅助内存中获取程序?

1 个答案:

答案 0 :(得分:1)

CPU无法直接访问辅助内存并不意味着无论如何都无法访问它。当系统启动时,BIOS内置程序(在ROM中)将引导加载程序(从辅助可引导设备)复制到RAM的内存,并要求cpu继续从该特定地址执行。 一旦CPU开始执行Boot loader,Boot loader就会调用从磁盘读取所需的功能(二级存储)并将操作系统内核映像复制到内存中。通过I / O端口完成数据传输 你将内核映像放入内存,因此引导加载程序要求cpu跳转到内核的入口点。你的内核已经启动了这一点。 内核设置OS环境,加载必要的驱动程序(包括磁盘/ cd-rom驱动程序)。在此之后,由OS磁盘驱动程序执行I / O端口操作或DMA访问以从二级存储加载数据。 通常DMA是首选,因为它不涉及CPU来从设备轮询数据,但编码有点困难 我希望我清除了你的怀疑:)。