一、处理器管理的概念

在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。进程是程序的一次执行过程。

处理器管理包括以下功能。

1.1. 进程控制

进程控制的主要任务就是为程序创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换。在操作系统中,通常是利用若干条进程控制原语或系统调用,来实现进程的控制。所谓“原语”是指用以完成特定功能的、具有“原子性”的一个过程。

1.2. 进程同步

进程同步的主要任务是对众多的进程运行进行协调。

协调方式有两种:

(1)进程互斥方式

进程在对临界资源访问时,应采用互斥方式,也就是当一个进程访问临界资源时,另一个要访问该临界资源的进程必须等待;当获取临界资源的进程释放临界资源后,其他进程才能获取临界资源。这种进程之间的相互制约关系称为互斥。

对于进程互斥,最简单的实现方式就是设置锁,通过加锁、解锁实现互斥。

(2)进程同步方式

相互合作的进程,由同步机构对它们的执行次序加以协调。也就是前一个进程结束,后一个进程才能开始;前一个进程没有结束,后一个进程就不能开始。这种进程之间的相互合作关系称为同步。

在系统中,进程的同步可以有多种实现方法,其中,最常用的方法是信号量机制。

1.3. 进程通信

进程通信的任务就是用来实现相互合作进程之间的信息交换。

(1)直接通信方式

当相互合作的进程处于同一台计算机系统时,通常采用直接通信方式。由源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从其消息队列中取出消息。

(2)间接通信方式

当相互合作的进程处于不同计算机系统时,通常采用间接通信方式。由源进程利用发送命令将信息发送到一个专门存放消息的中间实体中,然后由目标进程利用接收命令从中间实体中取出消息。这个中间实体通常称为“邮箱”,相应的通信系统称为电子邮件系统。

1.4. 处理器调度

一个批处理作业从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历下述三级调度。

(1)高级调度

它又称为作业调度、长程调度或宏观调度,它的功能是按照某种原则把外存上处于后备队列中的那些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

在批处理系统中有高级调度,而在分时系统中一般无高级调度。

(2)低级调度

它通常又称进程调度、短程调度或微观调度,它的功能是按照某种原则决定就绪队列中的哪个进程应获得处理机,再由分配程序执行处理机分配给该进程的具体动作。

进程调度是操作系统中最基本的调度,在批处理系统和分时系统中都必须配置它。

(3)中级调度

中级调度又称中程调度或交换调度。它负责内外存之间的进程对换,以解决内存紧张的问题,提高内存利用率和系统吞吐量。

上述三级调度的关系如下图所示。

二、程序执行

程序执行是指程序在计算机中的运行过程。程序的执行可以用前趋图表示,程序的执行方式有顺序执行和并发执行两种。

1. 前趋图

前趋图是一个有向无循环图。图中的每个节点可用于表示一条语句、一个程序段等;节点间的有向边表示在两个节点之间存在的前趋关系。如Pi→Pj,称Pi是Pj的前趋,而Pj是Pi的后继。在前趋图中,没有前趋的节点称为初始节点,没有后继的节点称为终止节点。应当注意的是,前趋图中不能存在循环。

在上图所示的前趋图中存在下述前趋关系:

P1→P2,P1→P3,P2→P4,P3→P4,P4→P5。

具有九个结点的前趋图

上图存在前趋关系:

Ii→Ci→Pi

p1→p2, p1→p3, p1→p4, p2→p5, p3→p5, p4→p6, p4→p7, p5→p8, p6→p8, p7→p9, p8→p9

也可以表示为:

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

2. 程序的顺序执行

(1)程序顺序执行的概念

一个程序通常可分为多个程序段,它们必须按照某种先后次序执行,仅当前一操作执行完后,才能执行后继操作。这里,我们用结点(Node)代表各程序段的操作,用I代表输入操作,C为计算操作,P为打印操作,用箭头表示其操作顺序

(2)程序顺序执行的特征

①顺序性。严格按照程序所规定的顺序执行。

②封闭性。程序在封闭的环境下执行,其执行结果不受外界因素的影响。

③确定性。程序执行的结果与它的执行速度无关,不会影响到最终结果。

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

3. 程序的并发执行

(1)程序并发执行的概念

在处理一批程序时,它们之间有时并不存在严格的执行次序,可以并发执行。

程序并发执行时的前趋图,如下图所示。

I2、C1可以并发执行

I3、C2、P1可以并发执行。

对于具有下述四条语句的程序段:

S1: a :=x十2

S2:b:=y十4

S3:c:=a十b

S4:d:=c+b

四条语句的前趋图:

(2)程序并发执行的特征

①间断性。在程序并发执行时,它们之间共享资源或相互合作,形成了相互制约的关系,表现为“执行—暂停执行—执行”的间断性活动规律。

②失去封闭性。程序并发执行时,多个程序共享系统中的各种资源,致使程序的运行失去了封闭性。这样,一个程序在执行时,必然会受到其他程序的影响。

③不可再现性。即使并发程序执行的环境和初始条件相同,程序多次执行或以不同的方式执行都可能获得不相同的结果。

④资源共享性。系统中的硬件资源(CPU、内存和I/O设备等)和软件资源(系统程序和数据集等)为多个用户或作业共同使用。

⑤程序和计算不再一一对应。

例如:购买飞机票问题。

假定一个飞机订票系统有两个终端,分别运行两个程序段P1和P2,该系统公共数据库中一些单元Aj(j=1,2,…)分别存放某月某日某次航班的余票数,而x1与x2表示P1和P2执行时所用的工作单元。飞机售票程序如下:

Process  Pi(i=1,2)

Var xi:integer;

{

按旅客订票要求找到Aj

xi =Aj

if  xi>=1

{ xi = xi-1;

Aj = xi;

输出一张票;

}

Else

{ 输出信息“票已售完!”;

}

}

由于P1、P2是两个可同时执行的并发程序,在该系统中,它们共享一批票数资源,因此,可能出现如下所示的运行情况:

P1:x1 =Aj

P2:x2 =Aj

P2:x2 =x2-1,Aj = x2 输出一张票

P1:x1 =x1-1,Aj = x1 输出一张票

显然,此时出现了把同一张票卖给两个旅客的情况,两个旅客各得一张票,但Aj的值实际上只减去1,造成余票数的不正确,这是不能允许的。为此,操作系统中必须对并发程序加以协调和控制,无论并发程序以怎样的速度向前推进,出现何种交叉情形,其程序的运行结果应当是唯一的、正确的。

4.并发与顺序的比较

操作系统之处理器管理的概念相关推荐

  1. 作业调度算法--高响应比优先 操作系统_处理器管理_编程题

    操作系统_处理器管理_编程题 作业调度算法–高响应比优先 输入N个作业,输入每个的作业名字,到达的时间,服务的时间,根据高响应比优先算法,计算出每个作业的完成的时间,周转的时间,带权周转的时间(其中保 ...

  2. 作业调度算法--短作业优先 操作系统_处理器管理_编程题

    操作系统_处理器管理_编程题 作业调度算法–短作业优先 输入N个作业,输入每个的作业名字,到达的时间,服务的时间,根据短作业优先算法,计算出每个作业的完成的时间,周转的时间,带权周转的时间(其中保留2 ...

  3. 从零入门 FreeRTOS 操作系统之任务的概念

    从零入门 FreeRTOS 操作系统之任务的概念 从系统的角度看,任务是竞争系统资源的最小运行单元.FreeRTOS 是一个支持多任务的操作系统.在 FreeRTOS 中,任务可以使用或等待 CPU. ...

  4. linux进程和程序的却别,操作系统:进程的概念和与程序的区别

    进程的概念和与程序的区别 1.进程的定义 进程是允许某个并发执行的程序在某个数据集合上的运行过程. 进程是由正文段.用户数据段及进程控制块共同组成的执行环境.正文段存放被执行的机器指令,用户数据段存放 ...

  5. 【操作系统复习】操作系统的概念、功能和目标

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 文章目录 一.概念 二.操作系统的功能和目标 2.1 作为系统资源的管理者 2.2 作为用户和计算机硬件之间的接口 ...

  6. 【王道操作系统笔记】操作系统的概念,功能和目标

    操作系统概念: 控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件. 计算机系统 的层次结构: 操 ...

  7. 从零了解进程(操作系统定位,进程的概念,特征,虚拟地址)

    目录 操作系统的定位 进程的概念 如何描述进程? 如何组织进程? 为什么要引入进程? 进程的特征 1.pid 2.内存指针 3.文件描述符 4.进程调度的相关属性 (1)进程的状态 (2)优先级 (3 ...

  8. 操作系统虚拟内存的基本概念(内存空间的扩充)

    一.虚拟内存的基本概念 (一)传统存储管理方式的特征.缺点 一次性[可用虚拟存储技术解决问题] :作业必须一次性全部装入内存后才能开始运行.这会造成两个问题: ①作业很大时,不能全部装入内存,导致大作 ...

  9. 操作系统0x08-内存管理概念

    3.1 内存管理概念 3.1.1 内存管理的基本原理和要求 程序的装入和链接 逻辑地址与物理地址 内存保护 3.1.2 覆盖与交换 覆盖 交换 3.1.3 连续分配管理方式 单一连续分配 固定分区分配 ...

最新文章

  1. StringBuider 在什么条件下、如何使用效率更高?
  2. UIBarButtonItem使用困惑
  3. Abiword对话框资源
  4. sqlserver中无ldf文件附加数据库
  5. 协议簇:Ethernet Address Resolution Protocol (ARP) 解析
  6. map flatmap mappartition flatMapToPair四种用法区别
  7. 微服务架构工作笔记002---了解Isito新一代微服务架构-服务网格
  8. php大作业含代码_目标检测 | 目标检测技巧大汇总(含代码与解读)
  9. javascript数据结构与算法 --- 高级排序算法
  10. HDOJ 2013_大二写
  11. 随机过采样与随机欠采样 代码
  12. Thread.MemoryBarrier 方法
  13. 再说setlocale——关于区域名称
  14. 自组织神经网络:自组织特征映射SOM网络
  15. 华为云服务器怎么更改系统版本,华为云服务器怎么更改系统版本
  16. RTSP数据的无插件播放与超图三维iClient3D的视频投射
  17. P1003 的解题思路
  18. 链路聚合的定义、链路聚合的概念和基本术语、链路聚合的特点
  19. 数据看板/商业智能分析仪表盘
  20. #彻底解决# opencv imdecode函数中打开图片,图片变色的问题

热门文章

  1. exynos 4412简介
  2. 全国计算机等级考试在线报名,全国计算机等级考试报名入口
  3. 线段树——你能回答这些问题吗?(经典应用)
  4. 基于matlab的头脑风暴优化(Brain Storm Optimization Algorithm,BSO)的多目标优化仿真
  5. 解决Ubuntu20.04网络配置的问题
  6. 2020CSP-J1初赛试卷
  7. 开源丨CloudBase CMS 内容管理系统!简单易用企业内容管理流
  8. 知识付费阿里云视频点播功能
  9. Java 文件(夹)加密解密工具(附带压缩功能)
  10. Unity角色动画之面部动画——SALSA插件