实验五 显示进程的虚拟内存地址空间分布信息

目录

  • 实验五 显示进程的虚拟内存地址空间分布信息
    • 实验环境
    • 一.实验目的
    • 二.实验内容
    • 三.实验步骤
    • 四.实验总结

实验环境

操作系统版本:ubuntu-14.04.1-desktop-i386
下载连接:http://old-releases.ubuntu.com/releases/trusty/ubuntu-14.04.1-desktop-i386.iso
实验课件及源码:https://wwe.lanzouw.com/ilBQnyrwffi

一.实验目的

1、理解Linux进程虚拟地址空间机制
2、了解Linux的物理内存管理机制
3、加深对进程以及进程结构体概念的理解

二.实验内容

1、通过添加内核模块来获取一个进程的mm_struct结构体信息

三.实验步骤

1、通过make命令编译mm.c文件

2、将编译好的mm.ko文件插入到系统内核中


3、编译并运行mm_test.c文件,查看实验结果

4、撤销mm.ko内核

四.实验总结

此次实验的目的是理解Linux进程虚拟地址空间机制,了解Linux的物理内存管理机制,加深对进程以及进程结构体概念的理解。
与内核空间相比,Linux 进程用户空间地址映射更为复杂。进程用户地址空间包含更多类型的段,包括代码段、数据段、BSS段、堆、栈、内存映射段等。代码段的起始地址通常在系统加载时加载在0x08048000,而每次加载时,堆、内存映射段和堆栈都会随机更改。
当fork一个新进程时,execve系统调用负责为进程代码和数据段创建映射,但实际将代码和数据段内容读入内存是由系统的页外异常按需完成的 处理程序。虽然每个用户进程可以拥有3GB的用户空间,但它是一个虚拟地址空间,用户进程无法真正运行在这个虚拟内存中; 它最终必须将用户空间中的虚拟地址映射到实际的物理空间。
这次实验我完成了通过添加内核模块来获取一个进程的mm_struct结构体信息。这让我对虚拟内存地址空间的分配有了较深的理解。

实验五 显示进程的虚拟内存地址空间分布信息相关推荐

  1. 【Linux】进程概念 —— 虚拟内存地址空间

    目录 一.进程地址空间 1.进程地址空间分布图 2.验证上述进程地址空间 3.Linux vs Windows 二.了解虚拟内存地址空间 0.通过代码引出虚拟内存地址空间概念 1.什么是虚拟内存地址空 ...

  2. 操作系统实验五之进程互斥实验

    题目要求: 理发店问题:假设理发店的理发室中有 3 个理发椅子和 3 个理发师,有一个可容 纳 4 个顾客坐等理发的沙发.此外还有一间等候室,可容纳 13 位顾客等候进入理发 室.顾客如果发现理发店中 ...

  3. 操作系统实验五、进程互斥实验——理发店问题

    问题描述 理发店问题:假设理发店的理发室中有 3 个理发椅子和 3 个理发师,有一个可容纳4个顾客坐等理发的沙发.此外还有一间等候室,可容纳13位顾客等候进入理发室.顾客如果发现理发店中顾客已满(超过 ...

  4. linux实验报告5,实验报告5linux进程管理.docx

    实验报告5linux进程管理.docx 还剩 5页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 四.实验总结? 使用了 ps 和 top 对进程查看. ...

  5. 虚拟内存以及进程的虚拟内存分布(第六章)

    在早期的计算机中,程序都是直接运行在物理内存上的,意思是运行时访问的地址都是物理地址,而这要求程序使用的内存空间不超过物理内存的大小. 在现代计算机操作系统中,为了提高CPU的利用率计算机同时运行多个 ...

  6. 操作系统实验五:用户进程管理(详细分析)

    操作系统实验五:用户进程管理 一. 实验目的 二. 实验任务 三. 实验准备 1.alloc_proc() 函数 2.do_fork() 函数 3.idt_init() 函数 4.trap_dispa ...

  7. Linux内核--内核地址空间分布和进程地址空间

    内核地址空间分布 直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址. 动态内存映射区:该区域由内核函数vmal ...

  8. 操作系统实验五 基于内核栈切换的进程切换(哈工大李治军)

    实验5 基于内核栈切换的进程切换 实验目的 深入理解进程和进程切换的概念: 综合应用进程.CPU 管理.PCB.LDT.内核栈.内核态等知识解决实际问题: 开始建立系统认识. 实验内容 现在的 Lin ...

  9. 《Linux内核设计与实现》读书笔记(十五)- 进程地址空间(kernel 2.6.32.60)

    进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理. 主要内容: 地址空间(mm_struct) 虚拟内存区域(VMA) 地址空间和页表 1. 地址空间(m ...

最新文章

  1. DP Review 1
  2. python中字典和集合的区别_Python中字典和集合学习小结
  3. H3C S3600-EI 系列以太网交换机
  4. java_day19_MVC和配置文件
  5. 字符内存转成字符串_字符串内存内部
  6. python添加环境变量_windows系统下python学习-1 (python环境变量配置)
  7. 手机客户端和服务器端通信
  8. Windows下定时器与多线程的区别
  9. Visual Studio 2013无法打开IIS Express Web的解决办法
  10. 【Codeforces Round #508 (Div. 2)】Slime【简单贪心】
  11. Sql Server 2008完全卸载方法(其他版本类似)
  12. 【杂谈】Windows安装Fluent Terminal
  13. 三年级下册计算机课程工作计划,三年级数学下册教学工作计划
  14. stm32f407_hal库_工程模板
  15. 多相机拍照系统3D拍照建模,3D真人手办,博物馆模型制作
  16. 【全文翻译】ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine.....
  17. 非洲又穷又落后?那里可能长出100个阿里巴巴
  18. nt6安装win7:发现系统安装文件,但该分区不支持本安装模式
  19. Vue 新手入门项目 在线翻译
  20. 【草图大师】su渲染方法教程

热门文章

  1. mysql routine 权限_关于mysql create routine 权限的一些说明
  2. Macbook prom1+android虚拟机+pycharm+pytest+appium 实现微信登录
  3. RC4加密算法C++实现
  4. 为什么有些人很聪明?他们遇到问题时的思维方式与我们差别在哪呢?转自知乎...
  5. 循环链表——约瑟夫环问题
  6. Wordpress在首页列表插入广告位
  7. 毕业季节就是失恋的季节
  8. TypeError The view function did not return a valid response. The function either returned None 的解决
  9. 判断NP完全问题的一些蛛丝马迹
  10. 表单提交 form选择