进程状态的优先级

1.进程的状态(所有系统)

因为是对于所有系统的,所以描述会很抽象。

补充知识:

并行和并发
  1. 并行:多个进程再多个cpu下分别同时运行
  2. 并发:多个进程在一个cpu下采取进程切换的方式,在一段时间内,让多个进程都得以推进,称之为并发

并发详解:

  • cpu执行进程代码,不是把进程代码执行完毕再去执行下一个,而是给每个进程分配一个时间片,每个进程每次只被cpu运行一个时间片的时间,进行轮转
  • 所以即使是死循环程序,也不会导致所有进程卡掉
  • 轮转过程用户感觉不到:因为轮换速度太快, 人类时感受不到的

时间片
  1. 目的与应用

    • 分时操作系统:旨在提高多个用户的交互体验,通过时间片轮转的方式让多个任务共享CPU资源。适用于一般计算环境,如个人计算机和服务器。
    • 实时操作系统:强调在严格的时间限制内完成任务,确保系统能在特定的时间内响应外部事件。适用于嵌入式系统、工业控制、航空航天等领域。
  2. 任务调度

    • 分时操作系统:采用时间片轮转、优先级调度等方式,任务调度相对灵活,用户等待时间可能不固定。
    • 实时操作系统:使用硬实时或软实时调度策略,确保任务在预定的时间内完成,时间敏感性高

进程具有独立性

进程间互不干扰

等待

阻塞

当cpu遇到scanf但键盘还未输入数据时,系统会把runqueque中的对应struct_task剥离下来,链接到键盘对应的device中的task_struct* wait_queue中进行等待。这叫做阻塞,task_struct从等待cpu到等待硬件设备

从键盘得到数据后,从wait_queue剥离task_struct剥离,将其状态由阻塞改为运行。并入队cpu的runqueue

task_struck等呆cpu的叫做运行,等硬件设备的叫做阻塞

运行&阻塞状态本质是让不同进程处在不同队列中

运行

该进程在cpu运行队列中,就叫做运行状态

挂起

当内存不足时,系统会挂起

挂起是时间换空间的操作

换入换出本质是I/O,会导致很慢,所以一般企业服务器会禁掉swap分区

阻塞时挂起:

当阻塞状态时,系统会把其对应数据从内存换出到磁盘,当其又运行时,系统再将其从磁盘换入到内存

磁盘中有专门swap分区,存储换入数据

运行时挂起:

运行程序过多时,系统甚至可能把runqueue队尾数据换入到磁盘

如果内存占用过多,且挂起也无法缓解,系统会kill进程保护自己

tips

CPU切换和运行的速度非常快,用户感觉不到

runqueque同一管理运行中的进程,其中节点同task_struct。cpu会运行runqueque中task_struct

进程过多导致卡顿:每次调度时间变长到人能感觉到的程度

2.linux进程状态

以具体操作系统为例可以更通俗易懂理解进程状态

各种进程状态(R S D T t X Z)

R 正在运行

S即阻塞/休眠状态

可中断睡眠,浅睡眠

D 也是阻塞/休眠状态  disk sleep

不可中断睡眠,深度睡眠

防止与磁盘I/O时,I/O失败但进程被kill导致不能处理失败,最终数据缺失

所以D状态禁止系统kill与disk有关的sleep进程

T:stopped暂停

t:trace stopped暂停,比如调试遇到断点时,被调试进程所处状态即为t

X:dead死亡状态

Z:zombie僵尸状态

状态后的+

前台进程

后台进程

tips

进程结束时要先进入Z,后进入X状态。Z状态时确认退出原因,程序结束是否正常

程序退出状态

进程结束情况相当于main函数中的return 0,可以表明进程的执行结果是否正确。进程是否正常退出

$?

$? linux中的特殊符号,代表上一个结束进程结束情况,0为正常退出

阻碍状态

循环I/O时,大部分时间是S状态,因为I/O耗时太长,很少时间是R状态

后台&前台

运行时加上空格&可转后台运行, 对应STAT没有+号

比如下载时不想看下载动画,可以把它放在后台

后台进程不能ctrl c杀死,只能kill -9

kill命令

kill -l 列出各信号

kill -19

kill -18

kill -9

板书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值