1、进程
1.1 基本概念:
可以理解为:程序的一个执行实例,正在执行的程序等
内核观点:担当分配系统资源(CPU时间,内存)的实体
1.2 进程控制块 PCB(系统感知进程的唯一实体)
如何来描述进程呢?
os为了更好地管理进程而引入pcb
进程信息被放在一个叫做进程控制块的数据结构中,相当于进程属性的集合,称之为PCB(process control block)
Linux操作系统下的PCB是: task_struct(PCB的一种)
task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息
task_struct 的内容分类:
标示符: 描述本进程的唯一标示符,用来区别其他进程。
状态: 任务状态,退出代码,退出信号等。
优先级: 相对于其他进程的优先级(在资源有限的前提下,确定访问资源的顺序)。
程序计数器: 程序中即将被执行的下一条指令的地址(因为CPU核心工作流程是取指令、分析指令、执行指令,他告诉CPU该在哪里取指令了)。
内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
上下文数据: 进程执行时处理器的寄存器中