操作系统:进程优先级

目录

1.进程优先级

1.1.基本概念

1.2.其他概念

1.3.进程切换 

2.解读Linux2.6内核进程的调度队列


1.进程优先级

1.1.基本概念

我们在日常生活中的经验,排队的本质就是确认优先级,排队的原因就是资源不足,需要进行分配。那么在内存资源有限的场景下,且均需要CPU调度,进程优先级就显得十分必要了。 

进程优先级:cpu资源分配的先后顺序

在PCB中实现就是一个int类型字段,数值越小,优先级越大。 

UID:执行者的身份

PRI:进程优先级,默认值为80

NI:优先级的修正数值

!注意:PRI在NI调整的瞬间回到默认值80

通过top命令我们可以更改NI

我们知道进程优先级,有一定的范围

1.2.其他概念

以上是进程相关的一些概念,一般情况下,多个进程都是在一个CPU上被调度,并且多进程场景下在任意时刻,都会出现多个单进程在某一个时间片内快速切换,CPU进行运算,进行高频切换进程,这时候处于进程的“并发”

1.3.进程切换 

CPU在调度进程时不会一直调度某一个进程直至完成,而是会在一个时间片中连续、分开调度多个进程,进行多进程的并发,这时候就需要了解进程是如何进行切换以及如何继续运行的。

就是进程在运行队列排队时,当第一次被CPU调度,会产生一份进程上下文,当在这个时间片完成调度后,这段上下文会被保存在进程PCB相关的结构体tss_struct中,然后再把排队的下一个进程PCB的上下文放入寄存器中,这样CPU通过读取放入的上下文就知道从哪里开始继续将这个进程运行下去。

2.解读Linux2.6内核进程的调度队列

nr_active用于判断调度队列是否为空,如果nr_active的值为0那么就进行active和expired的交换。

bitmap[5]为位图,因为有140个优先级,也就是140个对应优先级的进程队列,为了提高查找非空队列的效率就用0,1这两个数字和5*32个比特位表示队列是否为空。

活动队列active和过期队列expired两个互相配合,一个处理进程,一个新增进程,最终在交换两个队列的地址。

这也就是CPU在调度进程时的状态 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522997.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring知识体系】1.1 Java 注解(Annotation)

文章目录 1.1 注解(Annotation)1.1.1 什么是注解1.1.2 内置注解1.1.3 元注解(5种)1.14 自定义注解1.15 注解使用场景介绍※ 本文小结 1.1 注解(Annotation) 1.1.1 什么是注解 注解的定义:它提…

电力物联网系统设计

电力物联网系统设计 简介 在新能源行业从业多年,参与和负责过大大小小的的项目,发电侧、电网侧、用户侧系统都有过实际的项目经验,这些项目或多或少都有物联网采集方面的需求,本篇文章将会对电力行业物联网经验做一个总结分享。 …

2.4_1 死锁的概念

文章目录 2.4_1 死锁的概念(一)什么是死锁(二)死锁、饥饿、死循环的区别(三)死锁产生的必要条件(四)什么时候会发生死锁(五)死锁的处理策略 总结 2.4_1 死锁的…

Windows 安装 Xinference

Windows 安装 Xinference 0. 引言1. 创建虚拟环境2. 安装 pytorch3. 安装 llama_cpp_python4. 安装 chatglm-cpp5. 安装 Xinference6. 设置 model 路径7. 启动 Xinference8. 查看 Cluster Information 0. 引言 Xorbits Inference(Xinference)是一个性能…

3D-Genome | Hi-C互作矩阵归一化指南

Hi-C 是一种基于测序的方法,用于分析全基因组染色质互作。它已广泛应用于研究各种生物学问题,如基因调控、染色质结构、基因组组装等。Hi-C 实验涉及一系列生物化学反应,可能会在输出中引入噪声。随后的数据分析也会产生影响最终输出噪声&…

蓝桥杯2023年-买瓜(dfs,类型转换同样耗时)

题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai 。 小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…

匿名内部类

隐藏了名字的内部类 javap 反编译命令 格式: new 类名或者接口名(){重写方法};

Windows下PostgreSQL安装教程

一、下载 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

二本双非|逆袭985/211只要做好这3件事

我的本科学校就是双非,但是我并不觉得考研是一件非常容易地事情,并且我身边的同学也没有一个觉得考研很轻松。可能网上很多经验贴说自己双非上岸985,二本上岸985,我觉得这是大家陷入了互联网时代的信息茧房。 考研不管是对985/211…

word里面文字为什么会自动另起一行

有时候我们从别处复制过来的内容,一行还未完经常会自动另起一行,这是怎么回事呢?大多是回车符(WORD的段落标记)导致的,操作方法如下: 两端对齐

设计模式-行为型模式-职责链模式

在软件系统运行时,对象并不是孤立存在的,它们可以通过相互通信协作完成某些功能,一个对象在运行时也将影响到其他对象的运行。行为型模式(Behavioral Pattern)关注系统中对象之间的交互,研究系统在运行时对…