操作系统真相还原笔记(第二章)

本文主要探讨了为何程序需要加载到内存中运行,CPU的CS:ip寄存器如何指向程序起始地址,以及实模式下内存的1M布局。讨论了在CPU视角下,物理内存并非全部可访问的原因,涉及地址总线设计和预留空间给其他外设。此外,提到了在Ubuntu下安装nasm的步骤,并介绍了制作MAR(Memory Address Register)的过程。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值