Linux进程分析(一) 虚拟内存和物理内存

本文探讨了Linux环境下物理内存面临的问题,包括内存不足、空间分配不连续和地址冲突,并介绍了虚拟内存的概念,阐述了MMU如何进行地址映射,以及多道程序设计的工作原理。同时,讲解了进程控制块(PCB)的重要性,特别是其在文件描述符管理和进程参数方面的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

物理内存面临的问题

问题 1

我们现在常用的电脑有32位和64位,这里以32位为例。32位的系统可用的地址空间有就是2的32次方,即4G,现在的电脑物理内存大多都在4G以上,可以前的电脑内存都达不到4G,我们的程序希望能用4个G,这也就是内存面临的第一个问题:物理内存小于系统位数的要求大小该怎么处理?

问题2

程序直接使用物理内存,会出现没有连续可用空间的情况,也是不能最大利用内存的缺点。例如内存有4G,现在有三个程序A,B,C,分别占内存1G,2G,2G,我们把A和B放到内存里,只剩1G了,没法再放C。那么我们把A拿出来,仍然不能放入C,因为内存两边各空闲1个G。

问题3

直接使用物理内存,可能会出现不同程序使用相同内存地址的情况,此时会导致两个程序的崩溃

需要避免这种情况的出现。

虚拟内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值