进程的基本概念(操作系统)

news2024/12/25 12:43:03

目录

一、程序的顺序执行及其特征

二、程序的并发执行及其特征

三、进程的特征与状态

1、进程的定义和特征

2、进程的三种基本状态

3、进程的三种基本状态的转换

4、 挂起状态

四、进程控制块(PCB)

1.  PCB作用: PCB是进程存在的唯一标志

2.进程控制块中的信息

1)进程标识符

2)处理机状态

3)进程调度信息

4)进程控制信息

3.进程控制块的组织方式

1)链接方式

 2)索引方式


 

一、程序的顺序执行及其特征


顺序执行包含两层含义:


在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性)

对于一个程序来说, 在若干个程序段之间,必须按照某种先后次序顺序执行; 对同一个程序段中的多条指令, 也是按某种顺序执行的。 ( 内部顺序性 )

程序的顺序执行主要是指第一种,即各个程序依次执行。

程序顺序执行的特征


1)顺序性: 处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在下一操作开始之前结束(或者说下一操作必须在当前操作结束后才能开始)。

2)封闭性:程序是在封闭的环境下执行的。即

程序运行时独占全机资源,资源的状态(除初始态外)只有本程序才能改变它。
程序一旦开始执行 , 其执行结果不受外界影响。
3)可再现性: 只要程序执行时的环境和初始条件相同,当程序重复执行时,都将获得相同的结果。

二、程序的并发执行及其特征


程序的并发执行包括两层含义:


对于一个程序来说,它的所有指令是按序执行的。( 内部顺序性
对于多个执行中的程序 ( 进程 ) 来说, 所有进程是交叉执行的。 ( 外部并发性 )

1间断性:程序在并发执行时,由于它们共享系统资源,以及为完成同一任务而相互合作,致使这些并发执行的程序之间形成了相互制约的关系。(互斥关系、同步关系)

2失去封闭性:程序在并发执行时,由于多个程序共享系统资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。——某程序的执行时,会受到其他程序的影响。

3)不可再现性——与时间有关的错误  程序在并发执行时,由于失去了封闭性,也将导致其失去可再现性。(如果我们换个时间认识,那可能结果会不同)

三、进程的特征与状态


1、进程的定义和特征


        进程是程序在一个数据集上的运行过程,是系统进行资源分配和调度的一个独立单位。 (传统OS中对进程的定义)

进程的特征:

1)结构特征:程序段、相关的数据段、PCB三部分构成了进程实体

2)动态性:进程的实质是进程实体的一次执行过程,故动态性是进程的最基本特征。

3)并发性:这是指多个进程实体同存于内存中,且能在一段时间内同时运行。

4)独立性 :在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

5)异步性 :是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。

2、进程的三种基本状态


1)就绪(Ready)状态:当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。

2)执行(Running)状态:进程已获得CPU,其程序正在执行

3)阻塞(Blocked)状态: 正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态(或等待状态)。

3、进程的三种基本状态的转换


引起进程状态转换的典型事件:

进程调度:就绪态->执行态

时间片完:执行态->就绪态

请求I/O:执行态->阻塞态

I/O完成:阻塞态->就绪态  

4、 挂起状态


有些系统除了进程的三种基本状态外,还有挂起状态

1引入挂起状态的原因

(1)终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停执行。

(2)父进程请求:希望考察和修改子进程,或协调各子进程间的活动时

(3)负荷调节的需要 实时系统中工作负荷较重时,系统可把一些不重要的进程挂起。

(4)操作系统的需要 :操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

2)具有挂起状态系统的进程状态的转换

活动(Active)就绪→静止(Suspend)就绪

活动阻塞→静止阻塞

静止就绪→活动就绪

静止阻塞→活动阻塞

四、进程控制块(PCB)


为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块。

进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构

1.  PCB作用: PCB是进程存在的唯一标志


        使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发进程进行控制和管理的。

例如:进程调度;现场保护和恢复;进程同步和通信。

2.进程控制块中的信息


        PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。具体包括下述四方面的信息:

1)进程标识符:


内部标识符(进程号)外部标识符()

父进程标识及子进程标识;用户标识

2)处理机状态:


        处理机状态信息主要由处理机的各种寄存器中的内容组成的。寄存器包括:通用寄存器、指令计数器、程序状态字(PSW)寄存器、用户栈指针。(保护、恢复现场)

当处理机被中断时,这些信息都必须保存到PCB中,以便该进程重新执行时,能从断点继续执行。

3)进程调度信息:


PCB中还存放一些与进程调度和进程对换有关的信息。包括:

进程状态 —— 作为调度和对换时的依据。
进程优先级 —— 由于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
进程调度所需的其它信息 —— 它们与所采用的进程调度算法有关。

事件——即阻塞原因。

4)进程控制信息:


程序和数据的地址 —— 指程序和数据所在的 内存或外存 首地址;
进程同步和通信机制 —— 如信号量、消息队列指针等,它们可能全部或部分地存放在 PCB 中;
资源清单 —— 是一张列出了除 CPU 外的、进程所需的全部资源及 已经分配到该进程的资源的清单;
链接指针 —— 它给出本进程( PCB )所在队列中下一个进程的 PCB 的首址。

3.进程控制块的组织方式


常用的组织方式有两种:链接方式索引方式

1)链接方式


把具有同一状态的PCB,用其中的链接字链接成一个队列。形成:就绪队列阻塞队列空白队列

 2)索引方式


系统根据所有进程的状态建立几张索引表。如,

  就绪索引表

  阻塞索引表等

 

索引表的首址记录在专用单元中;

▲每个索引表的表目中,记录具有相应状态的某个PCB的首址。  

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

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

相关文章

【力扣】正则表达式匹配--回溯法解剖

题目:10.正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 示…

maven配置阿里镜像,解决IDEA配置maven恢复默认配置问题

文章目录1.三个IDEA配置说明2.拷贝与修改settings.xml2.1 找到IDEA的mave配置文件settings.xml位置2.2 拷贝IDEA的settings.xml到.m2目录下2.3 打开settings.xml,配置本地库LocalRepository的路径2.4 删除默认镜像配置,配置阿里镜像2.5 保存文件3.验证是…

面试时,MySQL这些基础知识你回答的出来吗?

目录 【一】前言 【二】MySQL的并发控制 【三】数据库的事务 【四】隔离级别 【五】死锁 【六】存储引擎 6.1 InnoDB存储引擎 6.2 MyISAM存储引擎 【七】总结 【一】前言 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle…

一文就读懂RPC远程调用核心原理

rpc核心原理 什么是rpc? rpc的全称是Remote Procedure Call,即远程过程调用,是分布式系统的常用通信方法。 Remote,简单来说的话就是两个不同的服务之间,两个服务肯定是两个不同的进程。因此,我们就从跨进…

【微服务】微服务万字实战,带你了解工程原理

微服务实战1、前期准备1.1 技术选型1.2 模块设计1.3 微服务调用2、创建父工程3、创建基础模块3.1 导入依赖3.2 创建实体类4、创建用户微服务4.1 创建shop-user模块4.2 用户微服务启动类4.3 创建配置文件5、创建商品微服务5.1 创建shop_product模块5.2 商品微服务启动类5.3 创建…

刷题日记【第六篇】-笔试必刷题【最近公共祖先+求最大连续bit数+二进制插入+查找组成一个偶数最接近的两个素数】

目录 选择题模块 1.下面哪个标识符是合法的?(D) 2.以下描述正确的是(B) 3.下列程序的运行结果(B) 4.下列关于容器集合类的说法正确的是?(C) 5.ArrayList…

【MySQL进阶】深入理解InnoDB记录结构

【MySQL进阶】深入理解InnoDB记录结构 参考资料:《MySQL是怎么运行的:从根儿上理解MySQL》。 前言: 我们一般使用的MySQL关系型数据库,更是经典中的经典,虽说MySQL已经非常成熟,但对于MySQL的掌握程度&a…

腾讯Java888道高频面试真题笔记+Java面试宝典

这多半年你是否达到了你年初定的目标,今年企业招聘要求也是更加的严格,对于低学历,以及技术实力不过关的更是雪上加霜。也是由于种种缘由,从5月开始就一直有粉丝私信要博主整理一些干货来帮助他们提升下自己,为了响应粉丝要求&…

Non-Autoregressive Coarse-to-Fine Video Captioning【论文阅读】

Non-Autoregressive Coarse-to-Fine Video Captioning 发表:AAAI 2021idea:(1)针对推理阶段不能并行,推理效率低的问题使用一种双向解码(在bert中不使用sequence mask)。(2&#xf…

基于QD求解法的二分类SVM仿真

目录 1.算法概述 2.部分程序 3.算法部分仿真结果图 4.完整程序获取 CSDN用户:我爱C编程 CSDN主页:https://blog.csdn.net/hlayumi1234567?typeblog 擅长技术:智能优化,路径规划,通信信号,图像处理&…

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

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

【模型训练】YOLOv7行人检测

YOLOv7行人检测 1、YOLOv7算法行人检测模型训练2、YOLOv7模型模型评估3、模型和数据集下载1、本项目采用YOLOv7算法实现对行人的检测和识别,在一万多张行人检测数据集中训练得到,我们训练了YOLOv7模型,经评估我们得出了各个模型的评价指标; 2、目标类别数:1 ;类别名:pers…

笔试强训第15天(手套+ 查找输入整数二进制中1的个数)

选择 C barfoob_bar new B 会先创建一个B类对象,B类对象的构造需要调用B的构造函数,从而调用A的构造函数。A的构造函数中调用了 bar()函数,该函数虽然重写了,但这里不构成多态调用。因为虚表中的函数指针是在构造函数的初始化列表…

爱上源码,重学Spring IoC深入

回答: 我们为什么要学习源码? 1、知其然知其所以然 2、站在巨人的肩膀上,提高自己的编码水平 3、应付面试1.1 Spring源码阅读小技巧 1、类层次藏得太深,不要一个类一个类的去看,遇到方法该进就大胆的进 2、更不要一行…

【3D目标检测】SECOND: Sparsely Embedded Convolutional Detection

目录概述细节网络结构稀疏卷积方向分类损失函数概述 首先,本文是基于点云,并且将点云处理成体素的3D目标检测网络,提出的SECOND可以看做是VoxelNet的升级版。 提出动机与贡献 VoxelNet计算量比较大,速度比较慢(训练和…

第二节:数据类型与变量【java】

目录 📃前言 📗1.数据类型 📕2. 变量 2.1 变量概念 2.2 语法格式 📙3.整型变量 3.1 整型变量 3.2 长整型变量 3.3 短整型变量 3.4 字节型变量 📘4.浮点型变量 4.1 双精度浮点型 4.2 单精度浮点型 &#…

[SpringBoot] AOP-AspectJ 切面技术

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

python的编译器与解释器

作者介绍: 🐥作者:小刘在C站 👆每天分享课堂笔记,一起努力,共赴美好人生 🍁夕阳下,是最美的绽放 目录 一.为什么会有编译器和解释器 二.编译器和解释器的区别 三.python解释器种类…

RK3399应用开发 | 移植libdrm到rk3399开发板(2.4.113)

一、下载源码 下载地址:https://dri.freedesktop.org/libdrm/。 这里我下载最新的2.4.113版本: wget https://dri.freedesktop.org/libdrm/libdrm-2.4.113.tar.xz解压: xz -d libdrm-2.4.113.tar.xz tar -xf libdrm-2.4.113.tar二、编译环境安装 1. 更新python ubuntu安…

CalBioreagents 艾美捷重组BCOADC-E2蛋白说明书

艾美捷CalBioreagents 重组BCOADC-E2蛋白英文说明: PRODUCT DESCRIPTION: Branched Chain 2-Oxo-Acid Dehydrogenase Complex E2 protein, recombinant. CLINICAL INDICATION: Primary biliary cirrhosis CATALOG NUMBER: A268 SOURCE: Recombinant protein ex…