进程的创建终止、阻塞唤醒、挂起激活(操作系统)

news/2024/5/4 9:15:10/文章来源:https://blog.csdn.net/qq_50942093/article/details/127535594

目录

一、引起创建进程的事件

二、进程的创建

三、进制的终止

1.引起进程终止的事件

2.进程的终止过程

四、进程的阻塞和唤醒

1.引起进程阻塞和唤醒的事件

2.进程阻塞过程

3.进程唤醒过程

五、进程的挂起和激活

1.进程的挂起

2.进程的激活


 

进程控制是进程管理中最基本的功能。
进程控制包括:

创建进程         ◆ 终止进程         ◆ 进程状态转换

进程控制是由OS的内核完成的。

一、引起创建进程的事件


用户登录

作业调度

提供服务

        当用户进程提出某种请求后,系统将专门创建一个进程来提供用户所需的服务。如,文件打印。

应用请求

        是基于应用进程的需求,由应用进程自己创建一个新进程,以便新进程以并发运行方式完成特定任务。

二、进程的创建


调用进程创建原语Create(),按下述步骤创建一个进程:

(1)申请空白PCB;

(2)为新进程分配资源。主要是内存空间。

(3)初始化PCB。包括:

初始化标识信息

初始化处理机状态信息:程序计数器,堆栈指针等

初始化处理机控制信息:进程状态——就绪或静止就绪、优先级等。

(4)将新进程插入就绪队列

Win32创建进程API函数CreateProcess( );

创建线程APICreateThread( )函数

三、进制的终止


1.引起进程终止的事件


正常结束

异常结束

常见的异常——结束事件

越界错误
保护错——试图访问不允许访问的资源或文件,或者以不适当方式访问
非法指令
特权指令错——用户程序试图执行只允许OS执行的指令
运行超时
等待超时
算术运算错——0
I/O故障 

外界干预

操作员或操作系统干预(如发生死锁)

 父进程请求

 父进程终止

2.进程的终止过程


OS调用终止原语,按下述过程终止进程

(1)根据被终止进程的标识,从PCB集合中找除该进程的PCB,读出该进程状态。
(2)若被终止进程正处于执行状态,应立即终止其执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。若该进程还有子孙进程,应将其所有子孙进程终止,以防止它们成为不可控进程。
(3)将被终止进程的所有资源,或者归还给其父进程,或者归还给系统
(4)将被终止进程(它的PCB)从所在队列中移出,等待其他进程来搜索信息。 

Win32中终止进程的API函数是TerminateProcess( );

终止线程的API函数是TerminateThread( )。

四、进程的阻塞和唤醒


1.引起进程阻塞和唤醒的事件


请求系统服务

     当执行进程请求OS服务时,由于某种原因,OS并不立即满足该进程的请求时,该进程只能转变为阻塞状态来等待。

如,进程请求打印机

启动某种操作

        当进程启动某种操作后,如果该进程必须在该操作完成后才能继续执行,则必须先使该进程阻塞,以等待操作完成。

如,启动了某I/O设备

新数据尚未到达

        对于相互合作的进程,如果其中一个进程需要获得另一个(合作)进程提供的数据才能运行以对数据进行处理,则只要其所需数据尚未到达,该进程只有阻塞(等待)

无新工作可做

        系统往往设置一些具有特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来。

如,系统中发送数据的进程

2.进程阻塞过程


调用阻塞原语block把自己阻塞。(主动行为)

阻塞(block)过程:

立即停止执行;
把PCB中进程状态执行改为阻塞
PCB插入具有相同事件的阻塞队列;
转进程调度程序,将处理机分配给某个就绪进程,并进行进程切换——保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中处理机状态设置CPU的环境。 

3.进程唤醒过程


调用唤醒原语wakeup( ),将等待事件的进程唤醒。

唤醒原语执行过程

将被唤醒进程的PCB从阻塞队列移出;

将其PCB中进程状态由阻塞改为就绪

将改PCB插入到就绪队列中。

block()和wakeup()是成对的。

Win32中线程阻塞的API函数是SuspendThread( );唤醒线程的API函数是ResumeThread ( )

Windows中一般没有挂起状态,即线程“挂起”后并不调到外存,而只是阻塞。唤醒也称为释放。

五、进程的挂起和激活


1.进程的挂起


当出现了引起进程挂起的事件时(用户进程请求将自己挂起,或父进程请求将子进程挂起),系统将用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起。

挂起原语的执行过程:

1、检查被挂起进程的状态:

若处于活动就绪或执行状态,则将其转为静止就绪;

若处于活动阻塞,则将其转为静止阻塞

2、把该进程的PCB复制到某指定内存区域 -----为方便用户或父进程考查该进程的运行状态。

3、若该进程正在执行,则转进程调度程序重新调度。

2.进程的激活


        当发生激活进程的事件时(如父进程或用户请求激活指定进程,而内存中已有足够空间时),系统利用激活原语active( )将指定进程激活。

激活过程是:

1、将进程从外存调入内存;

2、检查该进程现行状态:

若是静止就绪,则改为活动就绪;

若是静止阻塞,则改为活动阻塞。

3、若采用的是抢占式调度策略,则应检查被激活就绪进程的优先级,若其优先级比先行执行进程高,则应将处理机分配给被激活进程。

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

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

相关文章

安装Mysql-zip安装

一、安装 1、下载 到mysql官网 http://dev.mysql.com/downloads/mysql/ 下载mysql 注:msi的是安装版 2、解压 解压到想安装的目录下,我的是D:mysql-5.7.13-winx64 3、配置my.ini 在D:mysql-5.7.13-winx64目录下新建my.ini文件,输入以下配置代码: [mysqld] port = 3306 base…

springboot嘉应房地产公司质量管理系统毕业设计源码453100

目 录 摘要 1 1 绪论 1 1.1研究背景及意义 1 1.2国内外研究现状及发展趋势 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 嘉应房地产公司质量管理系统 系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1数据增加流程 3 2.3.2数据修改流程 4 2.3.3数据删除流程 4…

Python提取pdf中的表格数据(附实战案例)

14天阅读挑战赛 今天给大家介绍一个Python使用工具,那就是从pdf文件中读取表格数据,主要用到第三方库 pdfplumber。 pdfplumber简介 pdfplumber是一款基于pdfminer,完全由python开发的pdf文档解析库,不仅可以获取每个字符、矩形…

[spark]transformation算子

1.sample算子 1)说明 sample算子:对rdd中的数据进行抽样。一个非常重要的作用就是开看rdd中数据的分布,进行各种调优与优化。 数据倾斜:数据分布的不均匀,shuffle会将相同key的数据汇总到一台机器上,就会…

水库水雨情监测系统 水雨情自动测控平台 水库雨水情监测及视频监控解决方案_设备_水位_远程

平升电子水库水雨情监测系统 水雨情自动测控平台 水库雨水情监测及视频监控解决方案_设备_水位_远程辅助水利管理部门实现水库雨水情信息“全要素、全量程、全覆盖”自动测报。系统具备水库水位、雨量、现场图像/视频等水文信息采集、传输、处理及预警广播等功能,有…

12-敏感的资料怎么存在K8S-Secret

12-敏感的资料怎么存在K8S-Secret 前言 今天的学习笔记将介绍Kubernetes另一个组件secret。secret协助开发者将一些敏感信息,像是数据库账密、访问其它server的access token、ssh key,用非明文的方式(opaque)存放在Kubernetes中…

【数据结构与算法分析】0基础带你学数据结构与算法分析06--树(TREE)

目录 前言 树的属性 树的实现 树的遍历与应用 深度有限遍历 (DFS) 广度优先遍历 (BFS) Not all roots are buried down in the ground, some are at the top of a tree. — Jinvirle 前言 Tree 是一些结点的集合,这个集合可以是空集;若不是空集…

中国锚杆行业竞争格局及投资风险分析报告

锚杆的概念 锚杆(又称土锚杆、土钉)是在天然土层侧壁钻孔,放置拉杆,注浆锚固而成。根据所用材料,拉杆可分为粗钢筋、高强度钢丝束、钢绞线等。通过计算确定了侧墙上锚杆的截面积、层数、间距和长度。钻孔直径应由设计确定。常用的孔道灌浆有水…

【QT + OsgEarth】(四)加载国界线矢量图

效果图 实现过程 获取国界线矢量图在.earth文件中加载矢量图文件在Qt程序中获取图层节点并控制参数 加载矢量图文件 < image > 标签定义要栅格化的shp文件 driver&#xff1a;使用agglite&#xff0c;将矢量文件栅格成为栅格文件< features > 子标签读取shp文件…

亿可控_第3章 指标数据持久化与设备详情展示

亿可控_第3章 指标数据持久化与设备详情展示 文章目录亿可控_第3章 指标数据持久化与设备详情展示第3章 指标数据持久化与设备详情展示学习目标1. InfluxDB入门及介绍1.1 InfluxDB简介1.2 InfluxDB相关概念1.3 InfluxDB的基本操作1.3.1 InfluxDB数据库操作1.3.2 InfluxDB数据表…

SANGFOR深信服短信插件

设置说明 第一步&#xff1a;先配置短信通知服务器&#xff08;以下以HTTP为例&#xff09;。 步骤1、设置短信通知服务器&#xff0c;在[系统管理/系统配置/高级配置/通知设置]&#xff0c;点击<新增短信通知服务器>&#xff0c;勾选启用&#xff0c;可启用短信通知服…

mdio bcm5482访问

查看硬件原理图&#xff0c;5482通过mdio访问自己的寄存器&#xff0c;M4通过cpld对5482进行初始化操作(复位/解复位&#xff09; 可以看到bcm5482的MDC和MDIO用的是port P 的pin4和pin5,所以基地址为GPIO_PORTP_BASE. 对应的分别是引脚4和引脚5&#xff0c;所以由此可以封装出…

SHEIN算法工程师面试题7道|含解析

8本电子书免费送给大家&#xff0c;见文末。 1、数据处理的常用方法有哪些&#xff1f; 对于离群点 当作缺失值进行处理删掉离群点所在的样本实用统计值进行填充 对于缺失值 可以用均值或均位数进行填充可以用特定值&#xff0c;如-1可以用np.nan表示 对于类别特征 编码方…

SPI示例学习

Service Provider Interface 它是从Java 6开始引入的&#xff0c;是一种基于ClassLoader来发现并加载服务的机制。 服务发现机制&#xff1a;通过在ClassPath路径下的META-INFO/services文件夹中查找文件&#xff0c;并自动加载文件里所定义的类。 SPI机制可以很好的解决不同…

到了2023年,PMP项目管理师证书含金量会如何?考试难度大么?

先介绍一下PMP PMP考试是由PMI(美国项目管理协会Project Management Institute)组织和出题,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。1999年&#xff0c;PMP考试在所有认证考试中第一个获得ISO9001国际质量认证,从而成为全球最权威的认证考试之一。 pmp考…

Oracle技术分享 数据库序列间断场景

文档课题&#xff1a;模拟数据库序列间断场景. 1、概念 Gaps insequence values can occur when: a、Arollback occurs 应用出现回滚&#xff0c;但序列不会回滚 b、Thesystem crashes c、Asequence is used in another table 2、实际操作2.1、系统crash SQL>selec…

云原生时代下 K8s CGroup/CRI 的优劣势

目录前言一、CGroup1.1 基本概念1.2 cgroupfs 驱动1.2.1 基本概念1.2.2 什么是 cgroup v21.2.3 cgroup v2 使用要求1.3 systemd cgroup 驱动1.3.1 基本概念1.3.2 kubelet 设置 cgroup 驱动二、CRI2.1 Containerd2.1.1 基本概念2.1.2 配置 CGroup 驱动2.2 CRI-O2.2.1 基本概念2.…

【LeetCode每日一题】【单调队列】2022-10-26 862. 和至少为K的最短子数组 Java实现

文章目录题目链接题目思路前缀和暴力法优化一优化二另一种写法题目链接 https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/ 题目 思路 https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/solution/liang-zhang-tu-miao-dong-dan-dia…

【电子通识】芯片资料(数据手册/规格书)查询常用网站和方法

目录 1.AlldataSheet 网站&#xff08;建议使用&#xff09; 2.ICpdf 网站 3.CIC中国IC网 网站 4.datasheet&#xff08;不建议使用&#xff09; 5.半导小芯 &#xff08;建议使用&#xff09; 6.立创商城 &#xff08;建议使用&#xff09; 在做硬件的芯片选型、产品维修…

MySQL体系结构

MySQL体系结构初识MySQLOLTPOLAPSQL数据库术语MySQL体系结构连接池缓冲组件执行select语句的过程总结后言初识MySQL 按照数据结构来组织、存储和管理数据的仓库&#xff1b;是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 MySQL是关系型数据库&…