1、定义
使用编译器将代码编译成的可执行文件称为程序,程序存储在磁盘上;
将程序从磁盘装载到内存中,并通过指令调用、各级缓存、寄存器运行起来的实例,称为进程;
一个程序可以同时运行多个进程;每个进程具有自己的内存空间、寄存器和文件描述符等资源。
- 进程ID:每个进程在系统中都有一个唯一的进程ID(PID),用于标识该进程。
- 进程的状态:Linux系统中的进程可以处于多种状态,如运行、睡眠、停止和僵尸状态等。
- 进程控制块(PCB):当一个程序加载到内存中时,操作系统会为它创建一个进程控制块(PCB),这是一个包含进程信息的结构体。在Linux中,这个结构体被称为task_struct,它存储在RAM中,包含了进程的标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息等多种信息。
- 进程调度:操作系统根据进程的优先级和其他调度算法(如时间片轮转、短任务优先等)来决定对哪个进程进行调度,以便公平地分配处理器时间。
- 进程间通信:为了实现不同进程之间的通信,操作系统提供了各种机制,如管道、共享内存、消息队列等。这些机制允许进程之间交换数据或同