【JavaEE】PCB和进程调度的基本过程

news2024/9/19 10:51:58

文章目录

  • 什么是进程
  • PCB的组成
    • PID
    • 内存指针
    • 文件描述符表
    • 并行和并发
    • 进程调度相关属性
      • 进程的状态
      • 优先级
      • 上下文
      • 进程的记账信息

什么是进程

进程是正在运行的程序的实例(an instance of a computer program that is being executed)

进程(process)也叫任务(task)。如果想看电脑的进程,可以按 ctrl + alt + delete 调出任务管理器
在这里插入图片描述
进程是重要的”软件资源“,由操作系统内核来负责管理,这里的管理就是描述+组织

  • 描述:使用C语言的结构体来描述进程,这里的结构体也叫PCB(进程控制块/进程管理块)
  • 组织:使用一个双向链表来把多个进程串在一起

创建一个进程就是创建了一个PCB对象,然后把它插入链表中,关闭一个进程就是将管理这个进程的结点给删掉,打开任务管理器查看进程,本质上就是遍历链表。

PCB的组成

PCB进程控制块是进程的静态描述,由PCB、有关程序段和该程序段对其进行操作的数据结构集三部分组成。

  • PCB一般包括:
    1.程序ID(PID、进程句柄):它是唯一的,一个进程都必须对应一个PID
    2.特征信息:一般分系统进程、用户进程、或者内核进程等
    3.进程状态:运行、就绪、阻塞,表示进程现的运行情况
    4.优先级:表示获得CPU控制权的优先级大小
    5.通信信息:进程之间的通信关系的反映,由于操作系统会提供通信信道
    6.现场保护区:保护阻塞的进程用
    7.资源需求、分配控制信息
    8.进程实体信息,指明程序路径和名称,进程数据在物理内存还是在交换分区(分页)中
    9.其他信息:工作单位,工作区,文件信息等

PCB里面的的东西很多,下面给大家介绍一下关于进程的一些核心知识

PID

  • PID是进程的标识符了,是唯一的,一个进程都必须对应一个PID。PID一般是整形数字
    在任务管理器中查看进程的pid

内存指针

内存指针包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针

内存指针是描述当前进程占用的内存是哪些

文件描述符表

内核为每个进程维护一个文件描述符表,该表记录了文件描述符的相关信息,包括文件描述符、指向打开文件表中记录的指针。

文件描述符表描述了进程的硬盘文件等其它资源。

并行和并发

硬盘、内存等这些资源都好分给进程,但有的资源不好分 就比如:CPU
虽然现在的CPU是多核的,但架不住进程有几百个,所以CPU的资源就很难分给这些进程。我们希望这些进程可以“同时进行”,这里的同时并不是真正的同时,而是分时复用 这里就有两个重要的概念—并行和并发

  • 并行在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。
  • 并发是指:在同一个时间段内,两个或多个程序执行,但一个核心只能运行一个进程,但它可以对进程进行快速的切换(宏观上是同时,微观上仍是顺序执行)。

并发可以理解为CPU一次只能执行一个进程,虽然有多个进程,但它对进程之间的切换比较快,一秒内可以执行多次进程,虽然是顺序执行的,我们是感受不到的。

对于并行和并发,往往也统称为并发,除非显示声明,否则并发就是指并行+并发

进程调度相关属性

进程的状态

进程有三个状态:

  • 就绪状态:进程具备运行条件,等待系统分配处理器以便运行的状态
  • 运行状态:进程占有处理器正在运行的状态
  • 阻塞状态: 正在执行的进程由于发生某事件而暂时无法继续执行时(如:请求I/O、申请缓冲空间等)。有时也称“等待”状态或“睡眠”状态。

优先级

优先级表示获得CPU控制权的优先级大小

进程是有优先级的,操作系统来管理进程的时候并不是“一视同仁”的

上下文

进程上下文,意思是可执行程序代码,是进程的重要组成部分。这些代码从可执行文件载入到进程的地址空间执行。一般程序在用户空间执行当一个程序调用了系统调用或者触发了某个异常,它就陷入了内核空间。此时,我们称内核“代表进程执行”并处于进程上下文。在此上下文中current宏是有效的。除非在此间隙有更高优先级的进程需要执行并由调度器做出了相应调整,否则在内核退出的时候,程序恢复在用户空间继续执行。

举个例子:进程的上下文本质上就是游戏的存档和读档。
进程的上下文就是CPU中各个寄存器中的值。

寄存器是CPU内置的存储数据的模块

  • 保存上下文就是将CPU寄存器中的值保存到内存中
  • 恢复上下文就是将CPU中的值恢复回去

进程的记账信息

操作系统统计每个进程在CPU上执行的时间和执行指令的数目,来决定下一阶段如何调度

以上就是是一些关于PCB和进程调度的一些核心内容了
在这里插入图片描述

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

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

相关文章

《爱的四十条法则》

《爱的四十条法则》 [土]艾丽芙沙法克 作者用别样的手法间接向我们阐述了爱的四十条法则,每一条都会触及不同阶段的灵魂,我仅将文中感触较深的摘录如下: 1.尽管有人这样说,但是爱绝对不是来的快,去的也快的甜蜜感觉而…

长尾分布系列论文解析(二)Delving into Deep Imbalanced Regression

大纲引言回归问题中的长尾分布LDSFDS实验和结果总结引言 本文是长尾分布系列论文解析的第二篇,前情提要详见长尾分布系列论文解析(一)Decoupling Representation and Classifier for Long-Tailed Recognition,本篇要介绍的是回归任…

弹性力学之边界条件

作者:张伟伟,来源:力学酒吧 弹性力学基本方程包括平衡方程、几何方程和广义胡克定律,其中平衡方程和几何方程都属于微分方程。我们知道,在求解微分方程时,会出现积分常数,只有确定了积分常数&a…

JS —— js中的节流与防抖

文章目录 前言一、节流 1.什么是节流2.做节流可解决什么问题3.如何做节流二、防抖 1.什么是防抖2.做防抖可解决什么问题3.如何做防抖总结前言 最近有同学问到节流与防抖的相关知识点,于是乎,四处查资料,找一找,看一看&#xff0c…

单元测试:会变化的定义

有一种东西, 如果它太小,需要付出的努力就太大;如果它太大,就很难测试。 没错!它是单元。 但是什么才是一个好的单元定义呢?为什么它如此重要? 单元的定义对测试过程有很大的影响,但同时单元的定义也是不…

Transformer总结和梳理

Transformer总结和梳理Positional encodingSelf-attentionMulti--head-attentionAdd&NormAdd操作Norm操作FeedForwardMASKPadding MaskedSelf-Attention Masked首先来看一下Transformer结构的结构:Transformer是由Encoder和Decoder两大部分组成,首先…

mysql安装与配置及四大引擎和数据类型、建表以及约束、增删改查、常用函数、聚合函数以及合并

目录 一.mysql安装与配置 1.mysql简介 2.mysql 安装 安装MySQL(8.0的版本) 安装MySQL(5.7的版本) 删除MySQL(这是5.5版本的卸载方式) 3.命令行登陆及权限修改 一.启动方式 二.停止 三.重启 wind…

LeetCode每日一题——808. 分汤

LeetCode每日一题系列 题目:808. 分汤 难度:普通 文章目录LeetCode每日一题系列题目示例思路题解题目 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和…

大衣哥在《火火的情怀》后,和孟文豪张成军推出《新时代的农民》

最近一段时间,因为《火火的情怀》版权问题,农民歌唱家大衣哥,被著名导演兼编剧谷传民起诉。话说大衣哥因为被谷传民起诉,也被推上了舆论的风口浪尖,同时也让《火火的情怀》又一次大火。 在谷传民起诉大衣哥的案件当中&…

注册会计师怎么注册非执业?注会执业与非执业有何区别

注册会计师怎么注册非执业?以下就是关于注册会计师怎么注册非执业等等的介绍,希望对您有所帮助! 一、申请注册为非执业会员 取得注册会计师考试已合格,但尚未在中国境内从事审计业务工作二年以上者,可以自行向取得全科合格证书省级注册会计…

调研主板,树莓派 VS RK3288板子,还是 RK的主板香,但是只支持 anrdoid 7系统,估计也有刷机成 armbian或者

1,目前树莓派好贵啊!Pi4bB 2G卖810 现在价格是:800多啊,疯了 哎真叫贵。 但是有个东西叫做 广告机的板子,是批量生产放到商场,地铁播视频的。 再配上一个屏幕,就可以直接播放广告了。 不同的地…

计算机网络4小时速成:传输层,功能,UDP协议,TCP协议,三次握手,传输数据,四次握手,超时重传,流量控制

计算机网络4小时速成:传输层 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle&#xff0c…

【云原生】Kubernetes(k8s)Calico 客户端工具 calicoctl

文章目录一、概述二、calicoctl 安装三、calicoctl 简单使用1)认证信息配置2)查看 IP 资源池3)配置 IP 池4)IP 资源池示例演示5)固定 IP 示例演示6)网络策略(NetworkPolicy)四、Kube…

盘点MySQL的八大日志,你知道哪些?

前言 日志对于任何系统应用来说都承载着至关重要的作用,借助日志,我们可以发现系统运行错误的原因,从而解决问题。MySQL也不例外,也会记录各种各样的日志信息。那么你知道MySQL都有哪些日志吗?每种日志的作用是干吗吗…

【Ajax】全面详细了解git的基础操作【万字教学+面试常客】

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录学习目标起步——关于版本的控制  文件的版本  版本控制软件  使用版本控制软件的好…

UDP和TCP两大协议的区别,让你快速高效掌握

UDP和TCP两大协议的区别 谈起UDP与TCP两大协议的异同,有人说我喜欢用TCP不喜欢用UDP,也有人说我喜欢用UDP而不喜欢用TCP,使用TCP的人说,我使用使用的协议比较可靠、不容易粘包、不容易丢包;使用UDP的人说,我使用的协议…

电脑没有声音了怎么恢复?恢复声音的6个方法【图解】

如今,很多电脑用户都会购买上各种不同品牌的音效产品,以便在必要时可以用来作为背景音乐。但在使用电脑过程中,总会遇到一些声音问题。有些朋友可能会因为声音问题而导致电脑无法正常使用。那么,电脑没有声音了怎么恢复&#xff1…

SpringSecurity框架【详细教学】

SpringSecurity 文章目录 文章目录SpringSecurity文章目录1、概述2、Spring Security、[Apache](https://so.csdn.net/so/search?qApache&spm1001.2101.3001.7020) Shiro 选择问题2.1、Shiro2.1.1、shiro的优点2.1.2、shiro的缺点2.2、Spring Security2.2.1、spring-secu…

计控实验(一)—— 数字滤波实验

太原理工大学计算机控制技术实验之数字滤波实验 数字滤波实验实验原理实验内容实验线路图设计参考流程图实验步骤及结果采样周期设计运行结果思考题实验原理 一般现场环境比较恶劣,干扰源比较多,消除和抑制干扰的方法主要有模拟滤波和数字滤波两种。由于…

Mybatis—解析SQL配置

Mybatis源代码中SqlSource描述XML文件或者Java注解配置的SQL信息&#xff0c;SqlNode描述动态SQL配置中的<if>和<where>等标签&#xff0c;LanguageDriver的职责就是负责将Mapper SQL配置进行解析&#xff0c;然后将SQL配置信息转换为SqlSource对象。从而可见Langu…