一:程序与进程概念
程序:程序就是放在硬盘中的文件,是为了实现特定任务的一系列指令的有序集合。
进程:
从用户角度:
进程就是加载到内存上了,是程序的一次动态执行过程。(因为时钟中断、分时系统的技术,cpu可以在没有执行完当前进程的情况下,执行其他进程)。
从操作系统角度:
1.进程是系统分配cpu、内存、时间片等系统资源的基本单位。
2.也是系统分配资源的最小单位。
3.每个进程有自己独立的地址空间和运行状态。
二:PCB
1.什么叫PCB
进程是程序的一次动态执行过程,那么操作系统就需要有对应的数据结构来保存进程的一系列信息,Linux就用结构体来表示。这个结构体就叫做PCB(process control block), 操作系统内有一个PCB链表,用来表示所有进程的相关信息。
2.PCB中应该有什么
进程标识符、上下文、进程状态、优先级、进程入口地址等。
三:程序与进程的区别
1.程序就i是一个文件,所以程序是静态的,而进程是动态的。
2.程序就存在硬盘,而进程是加载到内存中,所以程序生命周期相对永久,进程的生命周期相对短暂。
3.进程有PCB。
4.程序可以对应多个进程,而进程只能对应一个程序。