1.概念:
课本概念:程序的一个执行实例,正在执行的程序等
内核观点:担当分配系统资源(CPU时间,内存)的实体。
作者理解:
一个加载到内存中的程序 。
进程不止包括程序加载到内存的数据,还包括该进程的属性,它的这个属性,操作系统用一个结构体 PCB来封装,在linux中进程的属性统一叫做 task_struct 。所以 进程 = PCB(属性) + 内容
程序是存储在外存中,进程PCB是在内存中的, 程序是“静”的从程序到进程是一个“动”的过程
2.进程PCB
进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struc
task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
当进程被一个个结构体所封装,它们同样也需要组织!
我们知道,我们的linux之父 林纳斯·本纳第克特·托瓦兹 也同样知道,所以他在设计时也进行了组织。
我们可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里
我们的linux之父 林纳斯·本纳第克特·托瓦兹 在进程的创造上,他同样运用到了先描述(将进程结构体化)再组织(用链表将其传起来)
在此膜拜一下大佬!!!