第2章 内存管理:2.5 内存映射

2.5 内存映射:

当一个映像被执行时,该可执行映像的内容必须被放到进程的虚拟地址空间。对于可执
行映像链接到的共享库也是如此。可执行文件并非真正地被读到物理内存,而只是链接到进
程的虚拟内存。然后,随着运行的应用对程序部分的引用,该映像被从可执行映像读到内存。
这种将一个映像链到一个进程的虚拟地址空间的技术也被称为内存映射(memery mapping)。

每个进程的虚拟内存都通过一个m m _ s t r u c t数据结构表示。它包含当前正执行的映像(如
b a s h )的信息以及一些指向v m _ a r e a _ s t r u c t数据结构的指针。每个v m _ a r e a _ s t r u c t数据结构描述
虚拟内存区的开始和结束、进程对该内存的访问权以及对该内存的一组操作 .

当当一个可执行映像被映射到进程虚拟地址空间时,一组v m _ a r e a _ s t r n c t数据结构将被产生。
每个v m _ a r e a _ s t r u c t数据结构表示可执行映像的一部分;是可执行代码,或是初始化的数据(变
量),以及未初始化数据等。L i n u x支持一些标准虚拟内存操作并且当v m _ a r e a _ s t r u c t数据结构
被创建时,相应的虚拟内存操作集将和它们关联起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内存管理是指操作系统对计算机内存资源进行有效利用和管理的过程。在内存管理中,存在着物理地址、虚拟地址、逻辑地址和UNC(统一编号字符集)等概念。 物理地址是指计算机内存中的实际物理位置,它是由计算机硬件直接管理的,用来标志内存中存储单元的位置。通过物理地址,操作系统可以直接访问内存中的数据。 虚拟地址是在逻辑地址和物理地址之间的中间层,它是由操作系统通过地址映射技术生成的。虚拟地址空间将内存分为若干个虚拟页面,每个虚拟页面与物理页面一一对应。在程序运行时,操作系统根据需要将虚拟页面映射到物理页面,进而实现对内存的访问。 逻辑地址是程序中使用的地址,它是相对地址,相对于程序的起始位置。逻辑地址通常是由编译器或连接器进行生成和管理的,它们会根据程序的需要分配逻辑地址空间,并将逻辑地址映射到虚拟地址或物理地址。 UNC(统一编号字符集)是一种用于标识计算机网络资源的命名方式。UNC地址是由多个部分组成的,包括计算机名称、共享资源名称和文件/文件夹路径。UNC地址不直接与内存管理相关,而是用于网络中对计算机资源进行唯一标识和访问。 总之,内存管理是操作系统对计算机内存进行有效利用和管理的过程,其中物理地址、虚拟地址、逻辑地址和UNC等概念在内存管理中扮演不同的角色,分别用于标志内存中存储单元的位置、实现地址映射和唯一标识计算机网络资源等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值