1 概念
- 在虚拟内存管理中,地址板换机构将逻辑地址变换为物理地址,形成改逻辑地址的阶段为链接,若是"完成该变化过程的阶段是",则为装载
- I/O操作时,进程不能交换出主存,但是如果有I/O缓冲则可以
- 分区分配内存管理方式主要保护措施是界地址保护
- 内存保护需要由操作系统和硬件机构完成
- 单一连续存储管理和固定分区可以用覆盖技术
- 紧凑技术就是拼接技术,采用拼接技术的目的是合并空闲区,其实我觉得形式上也合并了分配区,这样才有了空闲的,手段是移动已用的部分,让空闲区得以合并,因此目的是合并空闲区
- 动态重定位虽说是装入的手段,但是如果问是啥时候发生的,应该是运行时
- 固定分区可采用静态重定位,可变(动态)分区,页式和段式都不可以,页式段式显然不可以,动态分配是因为其中会使用交换技术
- 由于分页和分段管理中页表和段表也占用物理空间,因此提供给用户的物理空间不知道
- 页面是为操作系统所感知的,用户,编译系统,连接装配程序都是上层应用,均不可感知,不要看到装配就是感觉很底层,相对操作系统还是高层
- 整个系统只设置一个重定位寄存器,运行的只会是一个进程,因此多的也没啥用,切换进程后重置寄存器即可
- 分段是用户编程(或者说编译器完成的,总之是上层)时,按逻辑将程序划段
- 程序的动态链接是和程序的逻辑结构有关的,而采用分段管理是按逻辑将程序分段,因此有利于程序的动态链接
- 分区管理虽说利用率可能不高,但是代价小,没哟额外数据结构支持(段表,页表啥的),因为简单
- 对外存对换区的管理以提高换入,换出速度为主要目标,注意是对他的管理,而他自身目的肯定是提高存储空间利用率,因为换出换入很消耗处理机的时间,故而对其管理是为了节约时间成本
- 注意问的是对内存的访问还是分配,如果是对内存的访问,是以字节或字为单位的,如果是对内存的分配是根据系统来的
- 把作业空间中使用的逻辑地址变为内存中的物理地址称为重定位
- 注意分页管理的越界判断只有页号和页表长度的比较,而分段管理越界判断是两部分:段号和段表长度,偏移量和段长的比较
是否产生碎片
通俗讲:内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
分段式管理没有内部碎片,但是有外部碎片
分页式管理有内部碎片,无外部碎片
固定分区管理有内部碎片,无外部碎片
动态无内部碎片,有外部碎片
段页式管理有内部碎片,也有外部碎片
地址结构
页式管理中的地址空间是一维的,给了一个整数(逻辑地址),就可以用整除和取余来找到对应的物理地址
段式管理是二维的,一个数,你没办法通过什么办法得到段号和偏移量,即便说定了32位,前多少是段号,后面是偏移量,这也是二维的,而对于页式的地址虽说计算机实际使用的时候是前多少是页号,后面的是偏移量,可以直接得到实际物理地址,但这只是为了快点访问的,如果只是一个数,也可通过整除取余等操作找到,因此是一维的