Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1665903
  • 博文数量: 607
  • 博客积分: 10031
  • 博客等级: 上将
  • 技术积分: 6633
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 17:41
文章分类

全部博文(607)

文章存档

2011年(2)

2010年(15)

2009年(58)

2008年(172)

2007年(211)

2006年(149)

我的朋友

分类: LINUX

2007-11-27 11:56:59

by pascal4123(pascal4123.cublog.cn)

标准Linux中的内存管理功能
1. 采用虚拟内存管理机制
2. 需要处理器支持MMU功能,可将虚拟地址映射为物理地址,一般采用分页机制(页表)
3. 每个任务(进程)均有自己的内存映射表(页表),任务切换时需要切换页表
A. 优势:
     可在运行时加载程序,可加载比物理内存大的程序;
     方便进行程序的重定位,方便进行内存代码共享;
     提供内存保护功能
B. 劣势:
     需要消耗内存保存页表;
     地址映射转换增加了指令执行的时间;
     处理失效内存,硬盘交换效率很低;


uClinux下内存管理的特点
1. 依然采用分页内存管理机制,但不存在虚拟地址到物理地址的转换,所有地址均为实际物理地址
2. 操作系统对内存空间没有保护,所有进程共享相同的地址空间
3. 运行时需要对程序进行重定位
4. 无法支持磁盘交换空间

uCLinux没有MMU,导致其不支持
1. 进程拷贝(fork调用)
2. 动态链接(但最新的uCLinux支持一种特殊的动态链接)
3. 自增长的堆栈结构
阅读(723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~