1)为什么程序要载入内存?
CPU 的硬件电路被设计成只能运行处于内存中的程序,这是硬件基因的问题,这样做的原因,首先肯定是内存比较快,且容量大。
其次,操作系统可以存储在软盘上,也可以存储在硬盘上,甚至 U 盘,当然还有很多存储介质都可以。但由于各个硬件特性不同,操作系统要分别考虑每种硬件的特性才行。所以,都在内存中运行程序,操作系统和硬件设计都省事了,这可能也是为了方式的统一吧,否则总不能出现某种存储介质后,操作系统和硬件就要付出额外努力去支持。
2)什么叫载入内存?
(1 )程序被加载器(软件或硬件)加载到内存某个区域。
(2) CPU 的 CS: ip 寄存器被指向这个程序的起始地址。
3)实模式下的1M内存布局
地址。0x0~Ox9FFFF 处是 DRAM (Dynamic Random Access Memory ),即动态随机访问内存,我们所装的物理内存就是 DRAM,如 DDR、 DDR2 等 。
4)在 CPU 眼里,为什么我们插在主板上的物理内存不是它眼里“全部的内存”?
在计算机中,并不是只有咱们插在主板上的内存条需要通过地址总线访问,还有一些外设同样是需要通过地址总线来访问的,这类设备还很多呢。若把全部的地址总线都指向物理内存,那其他设备该如何访问呢?由于这个原因,只好在地址总线上提前预留出来一些地址空间给这些外设用,这片连续的地
操作系统真相还原笔记(第二章)
最新推荐文章于 2024-03-01 21:28:30 发布
本文主要探讨了为何程序需要加载到内存中运行,CPU的CS:ip寄存器如何指向程序起始地址,以及实模式下内存的1M布局。讨论了在CPU视角下,物理内存并非全部可访问的原因,涉及地址总线设计和预留空间给其他外设。此外,提到了在Ubuntu下安装nasm的步骤,并介绍了制作MAR(Memory Address Register)的过程。
摘要由CSDN通过智能技术生成