Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf

Linux 内存管理 综合实验报告

计算机与通信学院

Linux 内存管理

综合实验报告

指导老师:孙建华

组员 :夏槟 20040810720

段翼真 20040810503

米晓亮 20040810713

2008 年 1 月 3 日

1 Linux内存管理综合实验简介3

1.1 综合设计题目3

1.2 综合设计小组成员3

1.3 小组成员任务分配情况及每人所占工作比例3

2 Linux 内存管理概述4

2.1 Linux虚拟内存的实现结构 4

2.2 内核空间和用户空间5

2.3 虚拟内存实现机制间的关系7

3 系统调用功能描述8

3.1 do_page_fault()系统调用功能描述 8

3.2 brk()系统调用功能描述8

3.3mmap()系统调用功能描述8

4 数据结构分析8

4.1 数据结构示意图9

4.2 Struct mm9

4.3 Struct vma 11

4.4 红黑树12

5 系统调用代码分析13

5.1 do_page_fault()系统调用分析 13

5.1.1 有关常量及相关错误定义15

5.1.2 代码分析15

5.1.3 流程图21

5.2 brk()系统调用分析21

5.2.1 有关常量及相关错误定义23

5.2.2 代码分析23

5.2.3 流程图40

5.3 mmap()系统调用分析40

5.3.1 有关常量及相关错误定义42

5.3.2 代码分析43

5.3.3 流程图56

6 心得体会62

参考文献63

相关工具63

1 Linux 内存管理综合实验简介

1.1 综合设计题目

系统调用do_page_fault()、brk() 、mmap() 的调用流程,涉及到的主要数据结构,写出

代码分析结果,并画出流程图来表示相关函数之间的相互调用关系。

1.2 综合设计小组成员

段翼真(20040810503 ) 米晓亮 夏槟(20040810720 )

1.3 小组成员任务分配情况及每人所占工作比例

段翼真负责 do_page_fault()系统调用的分析,写出代码分析结果,并画出流程图来表示

相关函数之间的相互调用关系。所占工作比例 30 %。

米晓亮负责 brk()系统调用的分析,写出代码分析结果,并画出流程图来表示相关函数

之间的相互调用关系。所占工作比例 30 %。

夏槟负责mmap()调用的分析写出代码分析结果,并画出流程图来表示相关函数之间的

相互调用关系。并完成论文的整理书写。所占工作比例 40 %。

2 Linux 内存管理概述

Linux 是为多用户多任务设计的操作系统, 所以存储资源要被多个进程有效共享;且由

于程序规模的不断膨胀,要求的内存空间比从前大得多。 Linux 内存管理的设计充分利用

了计算机系统所提供的虚拟存储技术,真正实现了虚拟存储器管理。

由于I386 具有代表性和普遍性,我们选择了 Intel386 的段机制和页机制作为 Linux 虚

拟存储管理的硬件平台。

Linux 的内存管理主要体现在对虚拟内存的管理。我们可以把Linux 虚拟内存管理功能

概括为以下几点:

·大地址空间

·进程保护

·内存映射

·公平的物理内存分配

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值