操作系统(2.2)--进程的描述与控制

目录

二、进程的描述

1.进程的定义和特征

1.1进程的定义

1.2进程的特征 

2.进程的基本状态及转换 

2.1进程的三种基本状态 

2.2 三种基本状态的转换 

2.3创建状态和中止状态

3.挂起操作和进程状态的转换

3.1 挂起状态的引入

3.2 引入挂起操作后三个进程状态的转换

3.3 引入挂起操作后五个进程状态的转换

4.进程管理中的数据结构

4.1操作系统中用于管理控制的

4.2 进程控制块PCB的作用

4.3 进程控制块中的信息

4.进程控制块的组织模块


 

二、进程的描述

1.进程的定义和特征

1.1进程的定义

由程序段、相关的数据段和进程控制块(PCB) 三部分便构成了进程的实体( 简称进程)。

  • 为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。 系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。
  • 所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB。
  • 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

其中较典型的进程定义有:

  • (1)进程是程序的一次执行。
  • (2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
  • (3)进程是程序在一一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

1.2进程的特征 

进程和程序是两个截然不同的概念,除了进程具有程序所没有的PCB结构外,还具有
下面一些特征:

  • (1)动态性。进程的实质是进程实体的执行过程,动态性就是进程的最基本的特征。
  • (2) 并发性。是指多个进程实体同存于内存中,且能在一段时间内同时运行。
  • (3)独立性。在传统的OS中,独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。
  • (4)异步性,是指进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进。

2.进程的基本状态及转换 

2.1进程的三种基本状态 

  • (1)就绪(Ready)状态。这是指进程已处于准备好运行的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。
  • (2)执行(Running)状态。这是指进程已获得CPU,其程序正在执行的状态。
  • (3)阻塞(Block)状态。这是指正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行时的状态,亦即进程的执行受到阻塞。

2.2 三种基本状态的转换 

99bbf06cd84547fcbf7cc65db8db2322.png 

2.3创建状态和中止状态

  • 1)创建状态。一般而言,进程已拥有了自己的PCB,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行,其所处的状态就是创建状态。
  • 2)终止状态。进程的终止也要通过两个步骤:首先等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止。权的进程所终结,它将进入终止状态。

 782895ec6ca644efb124221e5827022b.png

3.挂起操作和进程状态的转换

3.1 挂起状态的引入

引入挂起状态的原因有:
(1)终端用户的请求
(2)父进程请求
(3)负荷调节的需要
(4)操作系统的需要

3.2 引入挂起操作后三个进程状态的转换

da007c397a894e3481b885a9f94e1b9e.png 

3.3 引入挂起操作后五个进程状态的转换

9cc7d4ef46a948db9c2f2256355e3dd6.png

4.进程管理中的数据结构

4.1操作系统中用于管理控制的

数据结构一般分为以下四类:内存表、设备表、文件表和用于进程管理的进程表。

6a594308d28c4bf79a0711876c79f4d5.png

4.2 进程控制块PCB的作用

(1)作为独立运行基本单位的标志(PCB是进程存在的惟一标志)。
(2)能实现间断性运行方式
(3)提供进程管理所需要的信息
(4)提供进程调度所需要的信息
(5)实现与其它进程的同步与通信

4.3 进程控制块中的信息

1)进程标识符
进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:
①内部标识符。在所有的操作系统中,都为每一个进程赋予了一个惟一的数字标识符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。
②外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。

2)处理机状态
处理机状态信息主要是由处理机的各种寄存器中的内容组成的。这些寄存器包括:
①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息;
②指令计数器,其中存放了要访问的下--条指令的地址;
③程序状态字PSW,其中含有状态信息,如条件码、中断屏蔽标志等;
④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针指向该栈的栈顶。

3)进程调度信息
在PCB中还存放一些与进程调度和进程对换有关的信息,包括:
①进程状态,指明进程的当前状态,作为进程调度和对换时的依据;
②进程优先级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;
③进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;
④事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。

4)进程控制信息
进程控制信息包括:
①程序和数据的地址,指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;
②进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;
③资源清单,即一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;
④链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。

4.进程控制块的组织模块

线性方式

链接方式

索引方式 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

07从零开始学Java之如何正确的编写Java代码?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言在上一篇文章中,壹哥带领大家开始编写了第一个Java案例,在我们的cmd命令窗口中输出了”Hello World“这…

【蓝桥杯-筑基篇】常用API 运用(1)

🍓系列专栏:蓝桥杯 🍉个人主页:个人主页 目录 🍍1.输入身份证,判断性别🍍 🍍2.输入英语句子,统计单词个数🍍 🥝3.加密解密🥝 🌎4.相邻重复子串…

【6G 新技术】6G数据面介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

订单30分钟未支付自动取消怎么实现?

目录了解需求方案 1:数据库轮询方案 2:JDK 的延迟队列方案 3:时间轮算法方案 4:redis 缓存方案 5:使用消息队列了解需求在开发中,往往会遇到一些关于延时任务的需求。例如生成订单 30 分钟未支付&#xff0…

HashMap的实际开发使用

目 录 前言 一、HashMap是什么? 二、使用步骤 1.解析一下它实现的原理 ​编辑 2.实际开发使用 总结 前言 本章,只是大概记录一下hashMap的简单使用方法,以及理清一下hashMap的put方法的原理,以及get方法的原理。 一、Has…

如何使用 Python 检测和识别车牌(附 Python 代码)

文章目录创建Python环境如何在您的计算机上安装Tesseract OCR?技术提升磨砺您的Python技能车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计算机视觉和人工智能。 本文将使用Python创建一个车牌检测和识别程序。…

【Linux】目录和文件的权限

Linux中的权限有什么作用Linux权限管理文件访问者的分类文件类型和访问权限(事物属性)**文件权限值的表示方法**文件访问权限的相关设置方法chmodchownchgrpumaskumask使用 sudo分配权限目录的权限Linux中的权限有什么作用 Linux下有两种用户&#xff1…

【C缺陷与陷阱】----语义“陷阱”

💯💯💯 本篇处理的是有关语义误解的问题:即程序员的本意是希望表示某种事物,而实际表示的却是另外一种事物。在本篇我们假定程序员对词法细节和语法细节的理解没有问题,因此着重讨论语义细节。导言&#xf…

SignalR+WebRTC技术实现音视频即时通讯功能

一、建立信令服务器 1、后台项目中新建一个对应的集线器类,取名VideoHub,并继承Hub类,Hub是SignalR的一个组件,它使用RPC接收从客户端发送来的消息,也能把消息发送给客户端。 2、VideoHub中定义一个静态的Concurrent…

java-正装照换底色小demo-技术分享

文章目录前言java-正装照换底色小demo-技术分享01 实现思路02 效果02::01 原图:02::02 执行单元测试:02::03 效果:03 编码实现前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞…

js逆向爬取某音乐网站某歌手的歌曲

js逆向爬取某音乐网站某歌手的歌曲一、分析网站1、案例介绍2、寻找列表页Ajax入口(1)页面展示图。(2)寻找部分歌曲信息Ajax的token。(3)寻找歌曲链接(4)获取歌曲名称和id信息3、寻找…

XXE漏洞复现

目录XML基础概念XML数据格式DTD基础定义DTD作用分类DTD实体实体的分类DTD元素XXE漏洞介绍实操如何探测xxe漏洞XML基础 概念 什么是XML 是一种可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型…

30个题型+代码(冲刺2023蓝桥杯)(中)

2023.3.13~4.13持续更新 目录 🍎注意 🌼前言 🌼十,KMP(留坑) 🌼十一,Trie(留坑) 🌼十二,BFS 👊(一)1562. 微博转发…

OpenAI 发布GPT-4——全网抢先体验

OpenAI 发布GPT-4 最近 OpenAI 犹如开挂一般,上周才刚刚推出GPT-3.5-Turbo API,今天凌晨再次祭出GPT-4这个目前最先进的多模态预训练大模型。与上一代GPT3.5相比,GPT-4最大的飞跃是增加了识图能力,并且回答准确性也得到显著提高。…

写给20、21级学生的话

写给20、21级学生的话前言一、关于招聘变招生,你怎么看?二、对于即将实习/已经实习的学生,你有什么建议?1.学习方面2.提升方面三、思想成年真的很重要前言 最近,有一些同学遇到的实习问题,我统一回复下&…

第十二届蓝桥杯省赛详解

试题A:空间 1B是8位,32位二进制数占用4B空间,1MB2^10KB2^20B 那么可以存放32位二进制数的个数为256*2^20*8/3267108864 试题B:卡片 分析:因为数据只有2021,所以直接模拟即可 结果为:3181&…

MySQL基础------sql指令1.0(查询操作->select)

目录 前言: 单表查询 1.查询当前所在数据库 2.查询整个表数据 3.查询某字段 4.条件查询 5.单行处理函数(聚合函数) 6.查询时给字段取别名 7.模糊查询 8.查询结果去除重复项 9.排序(升序和降序) 10. 分组查询 1…

Linux 如何使用 git | 新建仓库 | git 三板斧

文章目录 专栏导读 一、如何安装 git 二、注册码云账号 三、新建仓库 配置仓库信息 四、克隆远端仓库到本地 五、git 三板斧 1. 三板斧第一招:git add 2. 三板斧第二招:git commit 解决首次 git commit 失败的问题 配置机器信息 3. 三…

最新!Windows 11 更新将整合 AI 技术

微软MVP实验室研究员张雅琪(阿法兔)微软最有价值专家(MVP),毕业于外交学院和香港大学,IT 技术社区创始人,中关村互联网金融研究院兼职研究员,多次受邀在微软 Reactor 进行公开演讲&a…

电子工程师必须掌握的硬件测试仪器,你确定你都掌握了?

目录示波器示例1:测量示波器自带的标准方波信号输出表笔认识屏幕刻度认识波形上下/左右移动上下/左右刻度参数调整通道1的功能界面捕获信号设置Menu菜单触发方式触发电平Cursor按钮捕捉波形HLEP按钮参考资料频谱分析仪器信号发生器示波器 示例1:测量示波…