by pascal4123(pascal4123.cublog.cn)
标准Linux中的内存管理功能
1. 采用虚拟内存管理机制
2. 需要处理器支持MMU功能,可将虚拟地址映射为物理地址,一般采用分页机制(页表)
3. 每个任务(进程)均有自己的内存映射表(页表),任务切换时需要切换页表
A. 优势:
可在运行时加载程序,可加载比物理内存大的程序;
方便进行程序的重定位,方便进行内存代码共享;
提供内存保护功能
B. 劣势:
需要消耗内存保存页表;
地址映射转换增加了指令执行的时间;
处理失效内存,硬盘交换效率很低;
uClinux下内存管理的特点
1. 依然采用分页内存管理机制,但不存在虚拟地址到物理地址的转换,所有地址均为实际物理地址
2. 操作系统对内存空间没有保护,所有进程共享相同的地址空间
3. 运行时需要对程序进行重定位
4. 无法支持磁盘交换空间
uCLinux没有MMU,导致其不支持
1. 进程拷贝(fork调用)
2. 动态链接(但最新的uCLinux支持一种特殊的动态链接)
3. 自增长的堆栈结构
阅读(747) | 评论(0) | 转发(0) |