首页 > 系统相关 >半期复习——第二章:进程管理(2.1 2.2)

半期复习——第二章:进程管理(2.1 2.2)

时间:2023-04-16 10:56:14浏览次数:77  
标签:状态 半期 P4 PCB P1 进程 2.2 2.1 执行

2.1 前趋图和程序执行

一、前趋图

图(a)所示的前趋图,

关系: P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6 →P8,P7→P9,P8→P9

或表示为二元关系< P, → >

P={P1,P2,P3,P4,P5,P6,P7,P8,P9 }

→= { (P1,P2), (P1,P3), (P1,P4 ), (P2,P5 ), (P3,P5 ), (P4,P6 ), (P4,P7 ), (P5,Ps ), (P6,P8 ), (P7,P9 ), (P8,P9 )}  

二、程序的顺序执行

      1.顺序性:处理机的操作严格按照程序所规定的顺序执行

      2.封闭性:程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素影响

      3.可再现性:只要程序执行时的环境和初始条件相同,都将获得相同的结果

三、程序的并发执行

       1.间断性:相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律

      2.失去封闭性:资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性

      3.不可再现性:程序在并发执行时,由于失去了封闭性,导致不可再现性。虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同

 

2.2 进程的描述

一、定义

      进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

二、特征

      1.结构特征——PCB

      程序段、相关的数据段和PCB三部分构成了进程实体。

      所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB。

      2.动态性(最基本):进程由创建而产生,由调度而执行,由撤消而消亡;而序是一组有序指令的集合,其本身并不具有运动的含义,因而是静态的。

      3.并发性:指多个进程实体同存于内存中,且能在一段时间内同时运行。而程序没有建立PCB,不能参与并发运行。

      4.独立性:指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为独立的单位参与运行。

      5.异步性:指进程按各自独立的、不可预知的速度向前推进。

三、进程的基本状态及转换

      1.三种基本状态

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

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

         ③阻塞状态(Blocked):正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态。

      2.转换

      3.进程五种状态

          ①New:进程已经创建,但未被OS接纳为可执行进程,并且程序还在辅存,PCB在内存 

          ②Exit:执行状态的进程执行完毕,或出现诸如访问地址越界、非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态,被OS从执行状态释放

四、进程的挂起与唤醒

    1.挂起:将内存中暂时不能运行的进程,或暂时不用的数据和程序,换出到外存。进程被交换到外存,状态变为挂起状态 。

    2.引入挂起状态的原因

        ①终端用户的请求

        ②父进程请求

        ③负荷调节的需要。当实时系统中的工作负荷较重,把一些不重要的进程挂起,以保证系统能正常运行。

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

    3.挂起进程的特征

        ①不能立即执行 

        ②可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行。

        ③使之挂起的进程为:自身、其父进程、OS

        ④只有挂起它的进程才能使之由挂起状态转换为其他状态 

    4.状态转换

    *Ready Suspend静止就绪

     Blocked Suspend静止阻塞

五、进程管理中的数据结构

    1.进程控制块PCB的作用

        ①作为独立运行基本单位的标志,是进程存在的唯一标志,常驻内存 

        ②能实现间断性运行方式

        ③提供进程管理需要的信息

        ④提供进程调度需要的信息

        ⑤实现与其他进程的同步和通信   

    2.PCB中的信息(pid,处理机状态,进程调度信息,进程控制信息)

    3.PCB的组织方式

        ①线性方式:将系统中的所有PCB组织在一张线性表中,将该表的首地址存放在一个专用区域中

        ②链接方式:把具有同一状态的PCB,用其中的链接字链接成一个队列,排成就绪队列,若干个阻塞队列以及空白队列。

        ③索引方式:系统根据所有进程的状态建立几张索引表

六、Linux进程控制块

 

标签:状态,半期,P4,PCB,P1,进程,2.2,2.1,执行
From: https://www.cnblogs.com/05-ReFrain-19/p/17321957.html

相关文章

  • 半期复习——第一章:操作系统引论
    1.1操作系统的目标和作用一、目标(4)  1.方便性:操作系统使计算机更易于使用。   2.有效性(2):操作系统允许以更有效的方式使用计算机系统资源。提高系统资源利用率;提高系统的吞吐量。  3.可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能。  ......
  • 二叉树遍历(102.144.94.145)
    102.二叉树的层序遍历BPS/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):val(x),left(nullptr)......
  • Plugin 'maven-surefire-plugin:2.12.4' not found(已解决)
    今天按照视频教程配置maven插件(maven-surefire-plugin)时,老师说这是maven内部的插件,可以不用写<groupId></groupId>标签,然后就报红:Plugin'maven-surefire-plugin:2.12.4'notfound也就是说这个插件找不到,于是添加<groupId>org.apache.maven.plugins</groupId>,刷新maven即可解决,......
  • 解决nvm升级node v18.14.0时/lib64/libm.so.6: version 'GLIBC_2.27' not found (requ
    安装v18.14.0时的报错和解决方法1.报错[root@devops03~/.nvm]#nvminstallv18.14.0Downloadingandinstallingnodev18.14.0...Downloadinghttps://npm.taobao.org/mirrors/node/v18.14.0/node-v18.14.0-linux-x64.tar.xz...#######################################......
  • fastjson 1.2.24 反序列化漏洞(审计分析)
    环境JDK8u181Fastjson1.2.24POC跟进parse方法跟进到底层deserialze方法Poc中传入的dataSourceName:ldap://192.168.3.229:8084/vnSYPYwMs值这里实际对应setDataSourceName方法,调用此方法并传入ldap跟进setDataSourceName方法,这里只是简单赋值 步出......
  • android: 平台版本对应api及占比统计(android studio 2022.1.1)
    一,查看平台版本对应的api官方文档地址:https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element.html?utm_campaign=adp_series_sdkversion_010616&utm_source=medium&utm_medium=blog&hl=zh-cn#ApiLevels如图: 二,查看各版本的支持比率:启动androi......
  • 2.1万字,30张图详解操作系统常见面试题(收藏版)
    耗时两周,新版的操作系统常见知识点/问题总结总算搞完了,手绘了30多张图。大家可以用来复习操作系统或者准备操作系统面试。对于大部分公司的面试来说基本够用了,不过,像腾讯、字节这种大厂的面试还是要适当深入一些。这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如用......
  • 每日打卡-2.2
    一.问题描述设计一个类people,有保护数据成员:age(年龄,整型),name(姓名,string),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;voidsetValue(intm,stringstr)给age和name赋值;voiddisplay()输出age和name。设计一个学生类student,公有继承类people,有私有成员:ID(......
  • 低代码开发重要工具:jvs-rules规则引擎v2.1.7集成说明
    JVS规则引擎jvs-rules是将业务设置与业务功能解耦的重要工具,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据传入,数据加工,并根据业务规则做出业务判断。特别是在金融公司、保险行业、咨询等,复杂的业务逻辑规则是相关领域有非常广泛的应......
  • 全面的VCL界面控件DevExpress VCL v22.2.5全新发布
    DevExpressVCL Controls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpressVCLv22.2.5正式版下载更......