「这是我参与2022首次更文挑战的第40天,活动详情查看:2022首次更文挑战」。
内存用于缓和CPU和硬盘之间的速度矛盾。
指令工作的原理:
从写程序到程序运行
编辑源代码文件
编译(由源代码文件生成目标模块)
链接(有目标模块生成装入模块,链接后形成完整的逻辑地址)
装入(将装入模块装入内存,装入后形成物理地址)
三种链接方式
静态链接(装入前链接成一个完整装入模块)
装入时动态链接(运行前装入边链接)
运行时动态链接(运行时需要目标模块才装入并链接)
三种装入方式
绝对装入(编译时产生绝对地址)
可重定位装入(静态重定位)(装入时逻辑地址转换为物理地址)
动态运行时装入(动态重定位)(运行时将逻辑地址转换为物理地址,需要设置重定位寄存器)
地址转换
操作系统负责实现逻辑地址到物理地址的转换。 内存空间的扩充(实现虚拟性)。 地址转换:
操作系统负责实现逻辑地址到物理地址的转换
三种方式:
绝对装入:编译器负责地址转换(单道程序阶段,无操作系统)。
可重定位装入:装入程序负责地址转换(早期多道批处理阶段)。
动态运行时装入:运行时才进行地址转换(现代操作系统)。
存储保护 :
保证各进程在自己的内存空间内运行,不会越界访问。
两种方式:
设置上下线寄存器。
利用重定位寄存器、界地址寄存器进行判断。
动态分区分配算法
首次适应算法(First Fit)
最佳适应算法(Best Fit)
最坏适应算法(Worst Fit)
邻近适应算法(Next Fit)