标签:小例子 记录 嵌入 使用 寻址 大小 空间 有一个 出错
早期大型计算机(20世纪60年代之前),小型计算机(20世纪70年代之前),个人计算机(20世纪80年代)
不能同时运行2个以上程序,比如第一个程序在地址2000处存放了一个数据,第二个程序向2000也写入数据,那么之前2000地址处的数据会被擦除
将物理地址暴露的缺点:1、容易破坏操作系统 2、运行多个程序是困难的
嵌入式系统和智能卡系统中无存储器抽象还是很常见的,比如收音机、洗衣机、微波炉。
因为他们通常只有一个程序。
地址空间:一个进程可用于寻址内存的一套地址集合
主要解决2个问题:保护和重定位
通过在CPU中增加基址寄存器和界限寄存器来实现
每加载一个程序到内存中,基址寄存器保存程序的起始地址,界限寄存器保存程序的长度
这样做的问题就是如果程序大小超过内存大小就无法运行
2种处理内存超载的方法:
①交换技术:进程调入内存,运行一段时间,然后存回磁盘
②虚拟内存:程序的一部分调入内存
20世纪60年代把程序分为许多段,称为覆盖
由程序员必须把程序分割成多个片段,费时枯燥,易于出错
解决办法:让计算机去做这些事情
把一个程序抽象为一个班级,地址抽象为每个座位,内存抽象为坐在座位上的学生
有一个演出活动,由多个班级参加,在一个大会场,会场的座位区域抽象为虚拟内存
每个参与演出的班级都会来到会场对应的座位,人是教师的人,但是地址变了,叫重定向
表演场地抽象为内存
操作系统抽象为工作人员,工作人员会记录哪个班级进行表演
到某一个班级表演时,如果表演人员没有到位,那对应的几个学生先去表演,即部分程序加载到内存
同时有多个班级在表演,表示系统可以同时进行多个进程的执行
当场地不够时,场上许久没有进行表演的同学可以回到会场座位上了,为最近最久未使用算法
标签:小例子 记录 嵌入 使用 寻址 大小 空间 有一个 出错
原文地址:https://www.cnblogs.com/huangsitao/p/11406434.html