【Linux】进程_4

文章目录

  • 五、进程
    • [4. 进程状态](#4. 进程状态)
    • [5. 进程优先级](#5. 进程优先级)
    • [6. 进程的调度和转换](#6. 进程的调度和转换)
  • 未完待续

五、进程

4. 进程状态

当进程属于挂起状态时,进程的可执行程序代码和数据均会被从内存中换入到磁盘中,此时进程的PCB并没有消失,只要操作系统还需要管理这个进程,进程的PCB就需要存在,所以我们可以知道:进程的创建肯定是先创建内核数据结构,在将可执行程序的代码和数据拷贝到内存当中。

我们了解了进程的 运行,阻塞,挂起 状态,但是真的只有这些状态吗?真正的操作系统的状态比这要多一些。

Linux下的进程状态
R (running) --- 运行状态
S (sleeping) --- 可中断睡眠状态(就是阻塞状态) --- 浅度睡眠
D (disk sleep) --- 不可中断睡眠状态(也是阻塞状态) --- 深度睡眠(不可被操作系统杀掉
T (stopped) --- 暂停状态 (也算阻塞状态)
t (tracing stop) --- 另一种暂停状态 (也算阻塞状态)
X (dead) --- 死亡状态
Z (zombie) --- 僵尸状态(进程已经死亡,但是父进程尚未读取子进程的结果数据,如果父进程不读取结果,那么僵尸进程将一直存在,占据内存)

如果父进程比子进程先挂掉,就无法读取子进程的结果数据,以至于子进程无法被杀掉,永久成为僵尸进程。。。但是真的会这样吗?操作系统当然不会允许这样的情况出现,父进程先挂掉的子进程会变成 孤儿进程 ,父进程会变成 1号进程(操作系统),相当于被操作系统 "领养" 。孤儿进程也可以有子进程

5. 进程优先级

进程要访问某种资源,进程进行通过一定的方式"排队"(本质上就是 资源过少),确认享受资源的先后顺序。

优先级限制的是先后顺序,而权限限制的是能不能。

Linux的默认优先级是 80 。Linux的优先级是可以被修改的,优先级的范围是60, 99,数字越小,优先级越高。

6. 进程的调度和转换

进程在运行的时候在CPU上,CPU是一定把进程跑完再跑其他进程吗?非也,在当代操作系统,CPU执行进程都是基于时间片进行轮换执行的。

进程的其他概念:

竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。

独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰。

并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行。

并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发。


未完待续

相关推荐
阿成学长_Cain2 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
ICECREAM3 小时前
Linux 进程间通讯(IPC)——总结
linux
星幻元宇VR3 小时前
公共安全实训展厅设备【人防知识学习系统】
科技·学习·安全
想你依然心痛4 小时前
嵌入式Linux安全加固:SELinux、Capabilities与Seccomp——强制访问控制与沙箱
linux·运维·安全
REDcker5 小时前
macOS 挂载 Linux 远程目录详解
linux·运维·macos
2601_961593425 小时前
Mac 上搭建Linux环境吗?VMware + CentOS Stream 9 镜像快速部署
linux·运维·ide·macos·centos
dddwjzx5 小时前
嵌入式Linux C应用编程入门——线程 (二)
linux·嵌入式
写代码的学渣5 小时前
Linux systemd 开机启动日志逐行详细解析报告
linux·运维·服务器
阿成学长_Cain6 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
心中有国也有家7 小时前
AtomGit Flutter 鸿蒙客户端:情绪日记的时间线实现
学习·flutter·华为·harmonyos