(一)进程的概念
进程是执行一个程序时所分配的资源,资源包括占用的cpu,内存等,是一个动态运行过程。
(二)进程的组成
正文段
用户数据段
系统数据段
进程控制块(pcb)
cpu寄存器值
堆栈
(三)进程控制块PCB
进程控制块是系统用来控制和管理进程,获得进程状态和进程存在特征的唯一标识。
包括:
进程标识 PID
进程用户 UID
进程状态
进程的优先级
文件描述符表
(四)进程的三种类型
(1)交互进程:在shell下启动,即可在前台运行也可在后台运行。
ctrl + c 或者 关闭终端 进程结束
(2)批处理进程:和终端无关,是被提交到一个作业队列中一边顺序执行(脚本运行)
(3)系统守护进程(监控进程):和终端无关(不占用终端),始终在后台运行,和linux系统共存亡
init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的(即不能通过kill 命令杀掉进程)!
(五)进程的三种状态
-
运行状态(R):进程已经获得CPU,正在运行,在多处理器系统中,会有多个进程同时处于运行状态。
-
就绪状态:进程获得了除了CPU之外的所有的必要资源,只要获得CPU就可以立即执行,此时的进程处于就绪态。
-
阻塞状态(停止态 T):处于执行状态的进程由于发生某些事件而暂时无法继续执行,放弃处理器而处于暂停状态,此时进程就处于阻塞(执行受到阻塞)状态。
可中断 S
不可中断 D
备注:
(1)五态 :外加 新建态和终止态
(2)僵尸态(Z):等待回收资源的进程状态,无法被唤醒。
死亡态 :已终止进程,但是进程控制块pcb没有被释放。