关于进程与进程调度

news2024/11/16 17:45:27

目录

  • 什么是进程
  • 进程管理
  • 进程的结构体(PCB)里的属性
  • 并行与并发

什么是进程

一个运行起来的程序就是进程.
比如文件名是以 exe 结尾的就是一可执行文件(程序)
在这里插入图片描述
双击QQ.exe文件, 这个程序就跑起来了, 它在系统中形成了一个进程, 那我们怎么看到进程呢?
可以打开任务管理器, 点开进程就可以看到了:
在这里插入图片描述

进程管理

我们可以看到上面有100多个进程, 那它们有是如何被管理的呢?
其实就是两步:

  1. 描述一个进程 : 使用 结构体 / 类, 把一个进程有哪些信息表示出来.
  2. 组织这些进程 : 使用一定的数据结构来把这些 结构体 / 对象 放到一起.

进程的结构体(PCB)里的属性

  1. pid 就像我们的身份证一样, 每个进程也需要有唯一的身份标识.
  2. 内存指针 当前这个进程使用的内存是哪一部分
  3. 文件描述符表

进程每次打开一个文件, 就会产生一个"文件描述符", 标识这个被打开的文件
一个进程可能打开多个文件, 对应一组"文件描述符"
把这些文件描述符放到顺序表这样的结构里, 就构成了"文件描述符表".

  1. 有一组属性是专门来描述和CPU资源相关的, 这些属性都是辅助进行, 是进程调度.
  1. 进程状态
    简单认为进程有两种状态:
    就绪态: 该进程已近准备好, 可以随时上CPU执行.
    阻塞态: 该进程暂时无法上CPU执行.
  2. 进程的优先级
    进程之间的调度不一定是公平的, 有些进程会优先调度.
  3. 进程的上下文
    就行当于是个存档记录, 描述了进程执行到了哪里, 进程在离开CPU的时候就会把当前运行的中间结果存档, 等下次进程在CPU上执行的时候, 再读档, 从上次的结果开始继续执行.
  4. 进程的记账信息
    统计了每个进程在CPU上执行的次数, 可以作为调度的参考依据.

操作系统往往使用 双向链表 来存储PCB

  1. 创建一个进程就是创建一个节点.
  2. 删除一个进程就是把这个节点给删了.
  3. 遍历进程列表, 就是在遍历链表.

并行与并发

并行:
同一时刻, 两个核心同时执行两个进程, 此时这两进程就是 “并行” 执行的.

并发:
一个核心先执行进程1, 执行一会儿后再去执行进程2, 再执行一会儿后去执行进程3…此时这里的切换速度如果足够快, 那么看起来这些进程1,2,3就是同时 “执行” 的. 这便是并发.

因为并发与并行完全是操作系统自身控制的, 我们感受不到, 所以在很多时候我们都把 并行+并发 统称为并发.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark MLlib 模型训练

Spark MLlib 模型训练决策树随机森林GBDTSpark MLlib 开发框架下 : 监督学习 : 回归 (Regression) , 分类 (Classification) , 协同过滤 (Collaborative Filtering)非监督学习 : 聚类 (Clustering) 、频繁项集 (Frequency Patterns) 例子分类 : 算法分类 : 算法分类算法子分类…

探究SMC局部代码加密技术以及在CTF中的运用

前言 近些日子在很多线上比赛中都遇到了smc文件加密技术,比较出名的有Hgame杭电的比赛,于是我准备实现一下这项技术,但是在网上看了很多文章,发现没有讲的特别详细的,或者是无法根据他们的方法进行实现这项技术,因此本篇文章就是…

Springboot怎么快速集成Redis?

前言其实在Springboot中集成redis是一个非常简单的事情,但是为什么要单独输出一篇文章来记录这个过程呢?第一个原因是,我记性不是太好,这次把这个过程记录下,在新的项目搭建的时候或者需要在本地集成redis做一些其他相…

51红外循迹智能车——红外循迹模块设计

目录 赛道环境 红外传感器的特征 TCRT5000传感器 LM339单限电压比较器 LM339简介 ​编辑 单限电压比较器仿真 红外循迹模块的设计 红外循迹模块原理图 红外循迹模块原理图讲解 赛道环境 上图为赛道示意图,两端为黑色,中间为白色 红外传感器的…

小孩用什么样的台灯比较好?2023眼科医生青睐的儿童台灯推荐

小孩子属于眼睛比较脆弱的人群,所以选购护眼台灯时,选光线温和的比较好,而且调光、显色效果、色温、防蓝光等方面也要出色,否则容易导致孩子近视。 1、调光。台灯首先是照度高,国AA级+大功率发光&#xff0…

Yolov5目标检测算法解析:模型结构

Yolov5系列是Yolo家族新一代的模型,相比于之前的版本Yolov3和Yolov4,相同的是,它依然采用锚框(anchor)对目标的尺寸进行回归的思想,保持大中小多种尺度特征输出,所不同的是,Yolov5系…

SQL 进阶刷题笔记

SQL 进阶刷题笔记 一、MySQL 进阶 这里主要是 MySQL 刷题相关笔记,方便后面温习和查阅,希望可以帮到大家!!! 题1 请计算每张SQL类别试卷发布后,当天5级以上的用户作答的人数uv和平均分avg_score&#xff0…

TCP和UDP对比

TCP和UDP对比 UDP(用户数据报协议) 无连接(指的是逻辑连接关系,不是物理上的连接) 支持单播、多播以及广播,也就是UDP支持一对一、一对多、一对全 面向应用报文的,对应用层交付的报文直接打包 无连接不可靠的传输服务(适用于IP电话、视频会议等实时应用),不使用流量控制和…

易优cms range 范围判断标签

range 范围判断标签 【基础用法】 标签:range 描述:范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。 用法: {eyou:range name$eyou.field.typeid value1,2,3,4 typein} 输出内容 {/e…

HTTPS加密解析

日升时奋斗,日落时自省 目录 1、加密解释 2、对称加密 3、非对称加密 4、证书 HTTPS(HyperText Transfer Protocol over Secure Socket Layer)也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层 HTTP协议内容都是按…

卷积神经网络(CNN)基础知识

文章目录CNN的组成层卷积层卷积运算卷积的变种分组卷积转置卷积空洞卷积可变形卷积卷积层的输出尺寸和参数量CNN的组成层 在卷积神经⽹络中,⼀般包含5种类型的⽹络层次结构:输入层、卷积层、激活层、池化层和输出层。 输入层(input layer&a…

Android Audio HAL 服务

在 Android 系统中,Audio HAL 服务用于管理对音频硬件的访问,AudioFlinger 通过 Audio HAL 服务访问音频硬件。这里以 Android Automotive (AAOS) 版模拟器为例,来看 Audio HAL 服务的设计、实现和访问,代码分析基于 android-12.1…

【JavaSE】数组的定义和使用(下)

数组的定义和使用(下)4. 数组练习4.1 模拟实现toString4.2 数组拷贝4.3 比较两个数组是否相同4.4 填充数组4.3 求数组中元素的平均值4.4 查找数组中指定元素(顺序查找)4.5 查找数组中指定元素(二分查找)4.6…

力扣-树节点

大家好,我是空空star,本篇带大家了解一道中等的力扣sql练习题。 文章目录前言一、题目:608. 树节点二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 …

基于nvidia xavier智能车辆自动驾驶域控制器设计与实现-百度Apollo架构(二)

智能车辆操作系统 智能车辆操作系统是智能车辆系统的重要组成部分。现代汽车软件组件通常首 先由不同的供应商开发,然后在有限的资源下由制造商进行集成[42]。智能车辆操作 系统需要采用模块化和分层化设计思想来兼容传感器、分布式通信和自动驾驶通用 框架等模块&a…

适当的合同管理有什么积极影响?若管理不善有什么后果?

合同管理将决定合同是主要的风险因素还是业务增长的工具。事实是,如何处理合同会影响企业的底线。据研究显示,糟糕的合同管理使企业每年损失超过9%的收入。实施合同管理最佳实践将帮助企业提高合同签约效率。 什么是合同管理? 合同管理是对合…

玩转CodeQLpy之用友GRP-U8漏洞挖掘

0x01 前言CodeQLpy是作者使用python3实现的基于CodeQL的java代码审计工具,github地址https://github.com/webraybtl/CodeQLpy。通过CodeQLpy可以辅助代码审计人员快速定位代码中的问题,目前支持对SprintBoot的jar包,SpringMVC的war包&#xf…

初探git——版本控制工具git实用教程

文章目录前言基本配置基本操作1.初始化2.查看修改状态(status)3.添加工作区到暂存区4.提交暂存区到本地仓库5.查看提交日志6.版本回退7.添加文件至忽略列表分支1.基本命令2.分支冲突git远程仓库1.创建远程仓库2.配置公钥3.操作远程仓库idea配置git前言 Git是目前世界上最先进的…

九龙证券|业绩增长态势向好 沪市数字产业公司活力迸发

3月8日晚间,中国联通发表年报并举行成绩说明会,年报显现,公司2022年完成经营收入(兼并报表)3549.44亿元,同比增加8.30%;归属于母公司股东净利润72.99亿元,同比增加15.80%&#xff0c…

【计算机视觉】Zero-shot, One-shot和Few-shot的理解

机器学习任务按照对 样本量 的需求可以分为:传统监督式学习、Few-shot Learning、One-shot Learning、Zero-shot Learning。 文章目录一、传统监督式学习二、Zero-shot learning (零样本学习,简称ZSL)三、Few-shot learning3.1 什…