Linux编程入门(14)-进程(二)

本文详细介绍了Linux进程与程序的区别,可执行文件的内部结构,包括二进制格式、机器语言指令、数据等。还探讨了进程的内存布局,如文本段、数据段、栈和堆等,并讲解了进程信息如何通过/proc文件系统存储和访问。此外,展示了如何通过/proc/PID目录获取进程状态和打开的文件描述符。
摘要由CSDN通过智能技术生成

上一篇文章介绍了进程的基本概念:

Linux编程入门(13)-进程(一)

这篇继续进程相关内容的学习。

进程和程序

进程是一个执行中程序的实例,那么进程和程序之间到底有什么区别呢?

可执行程序

程序是包含了一系列信息的可执行文件,这些信息描述了如何在运行时创建一个进程。在 Linux 中,其可执行文件的存储格式为 ELF(Executable Linkable Format)。文件内包含的内容如下:

  • 二进制格式标识。每个程序文件都包含用于描述可执行文件格式的元信息。内核利用这个信息来解释文件中的其他信息。
  • 机器语言指令。机器能识别并执行的机器码。
  • 程序入口地址。标识程序开始执行时的起始指令位置。
  • 数据。变量初始值以及程序使用的常量值。
  • 符号表以及重定位表。描述程序中函数和变量的位置及名称。
  • 共享库和动态链接信息。程序运行时需要使用的共享库,以及动态链接器(用于加载共享库)的路径名称。
  • 其他信息。用于描述如何创建一个进程。

通过 file 指令可以查看文件类型信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zsky_01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值