操作系统——处理机管理

2024-03-21 20:28

本文主要是介绍操作系统——处理机管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、多道程序设计

多道程序设计是指允许让多个计算问题同时装入一个计算机系统的主存储器,并允许他们共享资源、并发执行的程序设计技术。采用这一技术的系统叫做多道程序系统,简称多道程序。

1.单道程序的顺序执行:

程序的顺序性中:内部顺序性是指一个程序执行时,它的每一个指令必须是按顺序执行。外部顺序性是指对于多个程序,需要按照某种次序一个一个完成,不能有两个以上同时执行。程序的顺序执行即满足内部顺序性又满足外部顺序性。

程序顺序执行的特点:封闭性是指程序在顺序执行的情况下独占系统全部资源的情况。可再现性:顺序执行只要初始条件相同,运行结果也一定相同。

程序的顺序执行的封闭性和可再现性为调试带来便利,但资源的独占性不利于提高资源的利用率。

——————

2.多道程序的并发执行

满足“外部并发性”:即一个程序或计算的执行尚未结束,另一个程序或计算任务的执行已经开始。

在多道程序系统中,程序并发执行,然而对于只有一个处理机的计算机系统,每一个瞬间事实上只有一个程序在执行,由此可见程序的并发执行是指多个程序在宏观上同时进行。

资源共享性也是程序并发性执行明显区别于顺序执行的特征。可以极大提高资源利用率。

并发执行的缺点:由于资源共享性,程序之间产生了相互制约关系。二是失去了顺序执行的封闭性和可再现性,导致出现不确定性。

——————

二、进程的基本概念

3.进程的定义

进程的一些简单定义:

○进程是可以并发执行的计算部分

○进程是一个独立的可以调度的活动

○进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源

○行为的规则叫程序,程序在处理机上执行时的活动成为进程

较为重要的一条定义:○进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。

进程=程序+数据+执行

——————

4.进程的属性

动态性:①进程动态产生,动态执行,动态消亡。②进程有生命周期,在生命周期内进程动态变化。

并发性:多个进程实体可同时存在于主存中,且能在一个时间段内宏观上同时运行。

独立性:进程实体是一个能够独立运行、独立分配资源和独立接收调度的基本单位,而且它有自己的程序计数器和内部状态。

异步性:每个进程按各自独立的不可预知的速度向前推进。

交往性:一个进程在运行过程中可能会与其他进程发生直接的或间接的相互作用。

——————

5.进程与程序的关系

考虑动态性:程序可以作为一种软件资源长期保存,而进程是则是一个动态概念,即:程序是菜谱,进程是厨师烹饪的过程。

考虑并发性:进程具有并发特征,而程序没有。

考虑资源:资源分配是以进程为单位,而不是程序

考虑结构:程序由代码组成,而进程实体包括程序、数据和PCB

考虑生成性:进程可以生成新的进程,而程序不能生成新的程序

对应关系:一个程序多次执行可以对应多个进程,通过调用关系,一个进程也可以包括多个程序。

————

三、进程的状态及转换

6.进程的基本状态及其转换

五种状态:

进程的基本状态模型至少包含5种状态:初始状态、执行状态、阻塞状态、就绪状态和终止状态。其中绝大部分时间处于执行阻塞和就绪状态,因此这三个可以看做三个基本状态。

初始状态:进程刚被创建时还没正式提交给操作系统的处理机调度程序对其管理时的状态。

终止状态:进程执行结束后将退出执行被终止的状态

执行态:进程正在执行的状态

就绪态:进程由于操作系统的原因,没有占用CPU,但具备执行条件只要占用CPU就能执行的等待状态。

阻塞态:进程执行过程中执行了某种阻塞操作(如读写磁盘),必须等待阻塞操作结束后才能进行,这时操作系统把CPU分配给其他进程。这种由于阻塞而导致的等待状态叫做阻塞状态。

六种状态转换:

初始态→就绪态:操作系统完成对进程创建的必要操作后转换为就绪状态。

就绪态→执行态:进程被处理机调度选中而获得处理机时。

执行态→阻塞态:执行进程等待某个事件或某种资源,此时进程无法继续执行直到等待的条件满足。

阻塞态→就绪态:时间完成,即资源得到满足或者等待的事件已经发生。

执行态→就绪态:执行状态的继承被剥夺处理机时发生,可能是出现了优先级更高的进程等。

执行态→终止态:一个进程完成任务自然结束或出现无法克服的错误或被操作系统或其他进程终结。

——————

7.具有挂起状态的进程状态及其转换

随着系统的运行,更多的进程被不断创建,当系统资源不能满足进程运行的需求时
统必须把某些进程对换到磁盘中,暂时不让其参与进程调度,以达到减小系统负荷的目
这个过程称为“挂起”

导致挂起的原因:

①运行需要;②调节负荷需要;③用户请求;④父进程请求;⑤操作系统的需要。

转换关系如下图:

这篇关于操作系统——处理机管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833824

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

PMBOK® 第六版 规划进度管理

目录 读后感—PMBOK第六版 目录 规划进度管理主要关注为整个项目期间的进度管理提供指南和方向。以下是两个案例,展示了进度管理中的复杂性和潜在的冲突: 案例一:近期,一个长期合作的客户因政策要求,急需我们为多家医院升级一个小功能。在这个过程中出现了三个主要问题: 在双方确认接口协议后,客户私自修改接口并未通知我们,直到催进度时才发现这个问题关于UI设计的部分,后台开发人员未将其传递给

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

C++学习笔记----6、内存管理(四)---- 通常的内存陷阱(2)

3、Windows环境下使用Visual C++发现并修复内存渗露         内存渗露很难跟踪是因为你无法很容易地看着内存并且看到什么对象处于使用中,一开始在哪儿分配的内存。然而,是有程序可以为你做到这一点的。内存渗露检测工具有昂贵的专业软件包,也有免费下载的工具。如果你是在Microsoft Visual C++环境下工作,它的排错工具库有内建的对于内存渗露检测的支持。该内存检测默认没有