首页 > 系统相关 >【Linux】进程_4

【Linux】进程_4

时间:2024-06-15 20:57:56浏览次数:27  
标签:状态 优先级 操作系统 阻塞状态 Linux 进程 CPU

文章目录


五、进程

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下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发。


未完待续

标签:状态,优先级,操作系统,阻塞状态,Linux,进程,CPU
From: https://blog.csdn.net/m0_69828905/article/details/139707136

相关文章

  • linux内存管理(八)- 反向映射RMAP
    这里有一篇博客讲的不错。linux内存管理笔记(三十八)----反向映射_linux反向映射-CSDN博客页表是把虚拟地址映射到物理页面,但是如何根据一个物理页找到所有映射它的pte呢?答案是用反向映射ReverseMapping(RMAP)。这在页面回收中很有用。回收页面需要将到物理页的映射断开(改一下pte......
  • Linux 并发与竞争实验学习
    Linux并发与竞争实验学习原子操作实验这里原子操作就是采用原子变量来保护一个程序运行的完整过程,使用atomic来实现一次只能允许一个应用访问LED,创建atomic.c文件,其实改动内容就是添加原子变量,要在设备结构体数据添加原子变量,具体代码如下:structgpioled_dev{dev_td......
  • Linux vim 文本编辑 操作文本 三种模式
    介绍vi是一个经典的行编辑器,支持模式编辑(包括普通模式、插入模式和命令模式)。vim保留vi核心功能的基础上,增加了多级撤销、语法高亮、插件支持等高级功能。两者的最大区别,简单的来说vim就是vi的增强版三种模式命令模式(CommandMode)默认进入的是命令模式。在这个模式......
  • IO、进程、线程面试题
    1.标准IO和文件IO的区别1.标准IO标准IO是基于缓存的IO,也就是说,在进行IO操作时,数据会先被读入缓存,然后再进行实际的IO操作。标准IO的优点是对于大文件的读写操作效率比较高,因为可以利用缓存来避免频繁的系统调用。此外,标准IO还提供了一系列方便的API函数,例如printf、scanf等......
  • Linux PM:wakeup count、wakelock、autosleep
     在进行wakeupcount、wakelock、autosleep之前,先参考《Linux电源管理(7)_Wakeupeventsframework(wowotech.net)》。下面简单跟一下,wakeupcount、wakelock、autosleep,及其使用方法。1PM初始化PM子系统初始化:pm_initpm_start_workqueuehibernate_image_size_ini......
  • Linux:vim
    目录1、vim简单介绍2、vim使用2.1、进入vim2.2、模式切换2.3、常用命令2.3.1、进出vim2.3.2、定位2.3.3、查找字符串:2.3.4、替换字符串2.3.5、复制粘贴2.3.6、撤销1、vim简单介绍超强的文本编辑器,在Linux中编写代码比较常用,可以根据不同的语言提供高亮,类似notepad+......
  • c# 进程判断
    usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Threading;namespaceProcessMonitoring{classProcessMonitoring{publicboolCheckForIllegalCros......
  • Linux 虚拟网络 host gw
    hostgw把host作为网关,通过网关进行数据包传输。使用Containerlab模拟网络a|拓扑b|网络拓扑文件#host-gw.clab.ymlname:host-gwtopology:nodes:gw1:kind:linuximage:vyos/vyos:1.2.8cmd:/sbin/initbinds:-/......
  • Linux下Nginx安装并开启SSL
    Linux下Nginx安装并开启SSL一.下载nginxNginxdownload下载后上传至服务器。PS:博主使用的Nginx版本为:nginx-1.23.4.tar.gz二.安装Nginx所需要的环境1.安装gcc-c++yuminstallgcc-c++yuminstall-yopensslopenssl-devel2.安装pcre包yuminstall-ypcrepcre......
  • Linux文件系统【真的很详细】
    目录 一.认识磁盘1.1磁盘的物理结构1.2磁盘的存储结构1.3磁盘的逻辑存储结构二.理解文件系统 2.1如何管理磁盘2.2如何在磁盘中找到文件 2.3关于文件名哈喽,大家好。今天我们学习文件系统,我们之前在Linux基础IO中研究的是进程和被打开文件之间的关系,以及如何管理被......