【剧前爆米花--爪哇岛寻宝】进程的调度以及并发和并行,以及PCB中属性的详解。
创始人
2024-06-01 13:54:44
0

作者:困了电视剧

专栏:《JavaEE初阶》

文章分布:这是关于进程调度、并发并行以及相关属性详解的文章,我会在之后文章中更新有关线程的相关知识,并将其与进程进行对比,希望对你有所帮助。

 

目录

什么是进程/任务(Process/Task)

进程的并发执行和并行执行

进程的属性和管理

进程控制块抽象

进程状态

进程的优先级

进程的上下文

进程的记账信息

双向链表组织PCB


什么是进程/任务Process/Task

每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运行,所有的硬件资源都被这个程序在使用。这种假象是通过抽象了一个进程的概念来完成的,进程可以说是计算机科学中最重要和最成功的概念之一。
进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。

只看定义可能有点抽象,我们用实际的例子来进行说明。

一个运行起来的程序就是进程。

 

.exe是一个可执行文件(程序),当双击这个exe,这个程序就会跑起来,于是就在系统中形成了一个进程,我们可以打开我们电脑上的任务管理器观看现在运行的进程有哪些。

 

通过任务管理器我们可以看到,我们的计算机在同一时刻进行着多个进程,进程一多我们就需要对其进行管理,我们可以通过任务管理器直观地看到这些运行的进程,那么在计算机内部,这些进程是如何被管理的呢?

进程的并发执行和并行执行

我们打开我们的任务管理器可以看到我们电脑此时的核心数,这里小编的电脑是八核16线程,什么意思呢?就是我的电脑有8个核心,但每个核心都能顶俩,即8个物理核心,16个逻辑核心,这16个逻辑核心可以将他们看成16个“干活的人”。

由上上图我们可以看出,此时我的电脑应用有9个,后台进程有122个,也就是说此时我们需要干的活有131个,但我们只有16个干活的人,那这咋整。

这里就需要并发和并行了。

并行就是指这16个核心可以同时干活,也就是说假设每一个核心现在只干一个活,那么一次性就可以干16份活,不过这和我的131份活还差的远呢,此时就需要并发。

并发就是指每个核心——干活的人虽然在同一时刻只能干一份活,但只要我活切换的够快,我就能造成同时干很多活的感觉,就比如,我现在先执行一会进程1,执行一会后再执行进程2,然后进程3,进程4...

如果这个“一会”是很短很短的时间,那我看起来就像是在同时执行进程1,2,3,4...

CPU就通过这两种并发和并行的方式来完成这131个任务。

进程的属性和管理

所谓的管理其实就是分两步:

1.描述一个进程:使用结构体/类,把一个进程有哪些信息表示出来。

2.组织这些进程:使用一定的数据结构,把这些结构体/对象放到一起。

进程控制块抽象

计算机内部要管理任何现实事物,都需要将其抽象成一组有关联的、互为一体的数据。在 Java 语言中, 我们可以通过类/对象来描述这一特征。 这个类我们可以将他命名为PCB,这样,每一个PCB对象,就代表着一个实实在在运行着的程序,也就是进程。 这个PCB包含的属性非常多,但以下几个属性最为重要,这些都是CPU为了进程跑起来所分配的硬件资源。进程的运行,需要从操作系统申请资源,进程是操作系统进行资源分配的基本单位。
1.pid,每个进程都需要有一个唯一的身份标识 2.内存指针,当前这个进程使用的内存是哪一部分 3.文件描述符表,文件:比如硬盘上存储的数据,往往就是以文件的形式进行处理的。 进程每次打开一个文件,就会产生一个文件描述符用来标识这个文件,这个文件描述符会     被存储在顺序表这样的结构里,这个顺序表就是文件描述符表。 一个进程在运行的过程中会打开很多个文件,每当打开一个文件的时候都会产生一个文件     描述符,当一个文件关闭时,它对应的相应的文件描述符也会从文件描述表中被移除。 4.CPU分配——进程调度所需要的相关属性,具体如下

进程状态

可以简单认为,进程的主要状态是就绪态和阻塞态这两个。

就绪态:该进程已经准备好,随时可以上CPU执行。

阻塞态:该进程暂时无法上CPU执行。

CPU在执行进程的时候,只会考虑什么时候执行处于就绪态的进程,对于阻塞态的进程,CPU并不会执行。

进程的优先级

进程之间的调度不一定是“公平”的,有的进程比较重要或是什么其他因素,就需要对该进程进行优先调度。

举个栗子:假设我有ABC三种临时工作需要做,A的工资待遇最好,B其次,C最差,现在情况是这三种工作都不需要天天 进行,我又想让我一周不闲下来,所以这是我就需要安排相应的工作时间,A由于工资待遇最好所以我优先安排,B其次,C最差就看哪天有空下来的时间哪天再去。

进程的上下文

上下文,就是描述了当前进程执行到哪里这样的“存档记录”,进程在离开CPU的时候就要把当前运行的中间结果进行“存档”,等到下次进程回来CPU上,再恢复之前的“存档”,从上次的结果继续往后执行。

CPU往往需要执行多个进程,这些进程在任意时刻都有可能离开,如果不对这些中间结果进行存档,那当离开的进程又回来时就有可能造成“驴头不对马嘴”的情况,具体到进程,所谓的上下文具体指就是进程运行过程中,CPU内部的一系列寄存器的值。

存档:进程离开CPU,就需要把这些寄存器的值保存到PCB的上下文字段中。

读档:进程下次回来CPU,再把PCB中的值给恢复到寄存器中。

进程的记账信息

统计每个进程在CPU上执行了多久,可以作为调度的参考依据,就比如进度A调度的次数很少,计算机就可能知道我并不是太常用进度A,所以在进行调度的时候就减少调度的次数,节约资源。

双向链表组织PCB

操作系统往往使用双向链表这样的结构来组织PCB,所以,

1.创建一个进程,就是创建一个链表的节点

2.销毁一个进程,就是把链表的节点给删除了

3.遍历进程列表,就是在遍历链表

以上就是本篇博客的全部内容,如有疏漏欢迎指正!

相关内容

热门资讯

【品牌】Reno14Pro曝天... 近日,OPPO官方预热Reno14系列依然由宋雨琦代言,尽管产品暂未定档,但广告海报已经提前上线,昨...
“五一”经济|电影票房破5亿元... 据灯塔专业版,截至5月3日18时40分,2025年“五一档”(5月1日-5月5日)档期内总票房(含预...
大批仰慕者涌入会场,聆听巴菲特...   周六,数千名伯克希尔・哈撒韦公司的投资者涌入一个会场,他们希望听到沃伦・巴菲特阐述他对唐纳德・特...
华西证券:智利国家铜业2025... 华西证券发布研报称,2025Q1,包括智利国家铜业公司(CODELCO)在El Abra、Anglo...
动画还原5名中国公民在美车祸遇... 【#动画还原5名中国公民在美车祸遇难#】当地时间5月1日晚,美国爱达荷州黄石国家公园以西约26公里的...
杀“回马枪”,市委书记3天2次... 据吉林省“长春发布”消息,4月30日,吉林省委常委、长春市委书记张恩惠调研节日消费和安全工作时,以“...
跳水世界杯总决赛:中国队包揽次... 原标题:跳水世界杯总决赛:中国队包揽次日金银牌 陈芋汐获女单10米台冠军来源:新华网新华社北京5月3...
研究发现:部分人携带的遗传特征... 转自:上观新闻新华社消息,法国国家健康与医学研究院近日在官网说,其参与的一项研究发现,一部分人携带某...
【新机】荣耀400Pro配置曝... 近日有不少关于荣耀400系列的消息,现在关于荣耀400 Pro配置有进一步消息。据了解,昨日荣耀有一...
5月必吃的几种水果,藏着你不知... 5月一到,各种水果陆续上市。哪些水果应季又好吃,还健康有营养?这份水果必吃榜,不仅覆盖我国南北时令水...
浪漫传说真的好看吗? 浪漫传说真的好看吗?还可以吧,看你口味你只要从头看起,就能知道了,浪漫传说人气也很高呢!还行,重在坚...
Momenta与Uber将推进... 转自:新华财经新华财经上海5月3日电(记者 杨有宗)3日,自动驾驶公司Momenta与Uber联合宣...
国际篮联三人篮球女子系列赛成都... 中新社成都5月3日电 (记者 贺劭清)2025国际篮联三人篮球女子系列赛成都站的比赛3日晚正式收官。...
男子买电动车被商家要求垫付10... 转自:荔枝新闻 【男子#买电动车被商家要求垫付1000元...
25岁孙颖莎将登上《嘉人》杂志... 转自:扬子晚报5月3日下午,《嘉人》最新消息,乒乓球运动员孙颖莎将登六月刊封面。孙颖莎此次登上《嘉人...
女演员广末凉子,确诊精神疾病 5月2日,日本演员广末凉子所属事务所发布声明,广末凉子被诊断患有双相情感障碍及甲状腺功能亢进症,将在...
“中国青年五四奖章”获奖者刘青... 薛巧蕊 中青报·中青网见习记者 刘佳佳 记者 宁迪近日,随着最后一组焊缝检测合格,中铁工业旗下中铁九...
印尼苏拉威西岛发生6.0级地震... 据印尼气象、气候和地球物理局发布的报告,当地时间5月3日19时51分,印尼苏拉威西岛哥伦打洛省珀胡瓦...
美媒:48%中国小包裹流向美国... 【文/观察者网 齐倩】当地时间5月2日,美国针对中国香港和内地小包裹的“小额豁免”政策正式终止。美国...
兴安盟900余名青年同上一堂课... 转自:草原云4月30日,一场别开生面的“挺膺担当 青春思政课”在兴安盟文化中心生动开讲。来自全盟各行...