文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>《基于Linux的C编程与内核导读》连载(13)

《基于Linux的C编程与内核导读》连载(13)

时间:2007-06-13  来源:gaowp

第四章Linux存储管理

4.1 基础理论知识

内存管理子系统是操作系统最重要的部分之一。从早期计算开始,系统的内存大小就难以满足人们的需要。为了解决这个问题,可利用虚拟内存。虚拟内存通过当需要时在竞争的进程之间共享内存,使系统显得有比实际上更多的内存空间。

虚拟内存不仅仅使机器上的内存变多,内存管理子系统还提供以下功能:

• 大地址空间。操作系统使系统显得它有比实际上大得多的内存。虚拟内存可以比系统中的物理内存大许多倍。

• 保护。系统中每个进程有自己的虚拟地址空间。这些虚拟地址空间相互之间完全分离,所以运行一个应用的进程不能影响其他的进程。同样,硬件的虚拟内存机制允许内存区域被写保护。这样保护了代码和数据不被恶意应用重写。

• 内存映射。内存映射用来把映像和数据文件映像到一个进程的地址空间。在内存映射中,文件的内容被直接链接到进程的虚拟地址空间。

• 公平物理内存分配。内存管理子系统给予系统中运行的每个进程公平的一份系统物理内存。

• 共享虚拟内存。尽管虚拟内存允许进程拥有分隔的(虚拟)地址空间,有时你会需要进程共享内存。例如系统中可能会有几个进程运行命令解释shell bash。最好是在物理内存中只有一份bash拷贝,所有运行bash的进程共享它;而不是有几份bash拷贝,每个进程虚拟空间一个。动态库是另一个常见的几个进程共享执行代码的例子。

    为了更好的理解linux的内存管理,我们首先从Intel X86 CPU系列的寻址方式入手,然后再分别学习具体的管理方式。
相关阅读 更多 +
排行榜 更多 +
几何飞行内购修改版

几何飞行内购修改版

飞行射击 下载
别踩白块内购修改版

别踩白块内购修改版

休闲益智 下载
乐涂数字填色游戏

乐涂数字填色游戏

休闲益智 下载