course2610_lab16 ELF 文件与进程虚拟地址空间

知识点

  • Linux 可执行文件
  • 进程虚拟地址空间

1 可执行文件

可执行文件属于 ELF (excutable linkable format ) 文件标准中的一种,

常见的有如下四种文件:

ELF 文件类型属性实例
可重定位文件relocatable file该类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件, 静态链接库属于这一类linux 中的 .o (windows :.obj)
可执行文件 executable file可以直接执行的程序, 一般没有扩展名linux: bin/bash 中的文件 , win: .exe 文件
共享目标文件share object file包含代码和数据,使用场景1: 链接器使用该文件和 可重定位文件 链接,产生新的目标文件。场景2: 动态链接器 将几种共享目标文件与可执行文件结合, 作为进程映像的一部分来运行linux: .so ; windows: dll
核心转储文件 Core dump file当进程意外终止时, 系统可以将该进程的地址空间的内容 以及终止时的一些其他信息转存储到核心存储文件,使用场景: 通常结合gdb 调试该进程的错误原因linux : core dump

1.1 可执行文件中的内容

在这里插入图片描述

1.2 进程的状态

当一个可执行的二进制文件, 运行起来, 此时 便形成一个进程。而进程的状态有以下 5 中状态:

在这里插入图片描述

需要主要的是:

  1. 当进程的 从阻塞状态完成后(比如从磁盘拷贝数据到内存), 需要从阻塞态 返回到就绪态,从就绪然后转到执行态, 而不能直接跳到 执行态。

2 进程虚拟地址空间

在这里插入图片描述

2. 自己动手编写 Linux 内核模块

编写 Linux 内核模块,按照 /proc maps 的文件格式,打印某个进程的地址空间。

3. 实验总结

1.Linux 可执行文件与进程虚拟地址空间有什么关系?

2.通过实验(不是看参考资料)说明 Linux 内核中 task_struct 结构,mm_struct 结构和 vm_area_struct 结构的关系?这样的数据结构设计对你有什么启发?

3.说说你对进程虚拟地址空间的真切感受。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值