linux mlock源代码,LINUX 系统调用mlock 的代码分析.pdf

LINUX 系统调用 mlock 的代码分析

LINUX系统调用 mlock的代码分析

林才学(9811533)

(本组其他成员:李颖、满世杰、陈晋大)

1999-5-20

1

LINUX 系统调用 mlock 的代码分析

目录

一、 LINUX 内存管理简介1

1.1.LINUX 的分页管理机制1

1.2.虚存段(vma )的组织和管理3

1.3 内存的共享和保护3

二、 MLOCK 系统调用简介5

2.1 mlock 介绍 5

2.2 mlock 所用到的主要数据结构和重要常量6

三、 MLOCK 系统调用代码分析9

3.1 mlock 系统调用结构和各个子函数结构、功能以及示意图。9

3.2 mlock 系统流程及其它重要子函数程序流程15

3.3 核心态内存的申请与释放22

四、 MLOCK 系统调用与 MUNLOCK 、MLOCKALL 、MUNLOCKALL 的关系33

五、 关键技术34

六、 结束语35

2

LINUX 系统调用 mlock 的代码分析

一、 LINUX 内存管理简介

1.1.LINUX 的分页管理机制

在 LINUX 中,每一个用户进程都可以访问 4GB 的线性虚拟内存空间。其中从 0 到 3GB

的虚拟内存地址是用户空间,用户进程可以直接对其进行访问。从 3GB 到 4GB 的虚拟内存

地址为核心空间,存放仅供核心态访问的代码和数据,用户进程不可访问。当用户进程通过

中断或系统调用对其访问时,就会触发处理器的特权级转换(从处理器的特权级 3 切换到特

权级 0 ),即从操作系统的用户态切换到核心态。

所有进程从 3GB 到 4GB 的虚拟空间映像都是一样的,LINUX 以此方式让核心态进程

共享代码段和数据段。

核心态虚拟空间从 3GB 到 3G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值