什么是进程?
什么是程序?
- 程序是一种文件。
- 程序包含一系列信息,这些信息描述了如何在运行时创建一个进程。
- 程序一般包含如下内容:
- 二进制格式标识:一般用于标识文件类型
- 机器语言指令
- 程序入口地址
- 数据:程序中变量初始值以及程序使用的字面常量(如字符串)
- 符号表及重定位表:描述程序中函数和变量的位置及名称
- 动态库和动态连接信息:描述了程序中使用的动态库名以及运行时动态链接器的信息
- 其他信息:程序文件还包含许多其他信息,用以描述如何创建进程
什么是进程?
- 进程是一个可执行程序的实例,当可执行程序运行的时候,就会创建一个进程,程序是静态的,进程是动态的。
- 进程是由内核定义的实体,并为该实体分配用于执行程序的各项资源。
- 从内核的角度看,进程由用户内存空间和一系列内核数据结构组成,其中用函数内存空间包含了程序代码及代码所使用的变量,而内核数据结构则用于维护进程状态信息。
- 记录在内核数据结构中的信息包括许多与进程相关的标识号(IDs)、虚拟内存表、打开文件的描述符表、信号传递及处理的有关信息、进程资源使用及限制、当前工作目录和大量的其他信息。