自考操作系统原理 第三章 处理器管理

合集下载

自考-操作系统概论- 处理器管理

自考-操作系统概论- 处理器管理
它使得OS可以捕获用户程序发出的系统功 能调用 及时处理设备的中断请求 防止用户程序中破坏性的活动等等
2.5 中断和中断处理
中断 中断类型 中断响应 中断处理
2.5.1 中断
中断:一个进程占有处理器运行时,由于自身或 者外界的原因〔出现了事件〕使运行被打断,让 操作系统处理所出现的事件,到适当的时候再让 被打断的进程继续运行的过程 中断源:引起中断发生的事件 中断请求:中断源向cPu发出的中断信号 中断响应:CPU收到中断请求后调用相应中断处 理程序的过程 中断处理程序:对出现的事件进行处理的程序
问题1.n: In Cn 讨P论n :
I1
(1) 哪些程序段的执行必须
是顺序的?为什么?
I2
C1
(2) 哪些程序段的执行是并
行的?为什么?
I3
C2
P1
I4
C3
P2
并发程序特征
〔1〕程序执行结果的不可再现性 并发程序执行的结果与其执行的相对速度有 关,是不确定的
〔2〕在并发环境下程序的执行是间断性的 执行—停—执行
进程的入队和出队(续)
无论单向链接还是双向链接,解决入,出 队问题,都是首先找到该队列的队首指针, 沿链找出要入队的进程以及它要插入的位 置,或找出要出队的进程,然后修改本进 程指针〔入队情况〕和相邻进程的有关指 针值即可
2.5 中断和中断处理
中断对于操作系统的重要性,就像机器中的 驱动齿轮一样,所以有人把操作系统称为是 由“中断驱动〞或“〔中断〕事件驱动〞
处理器和外围设备能够并行 分成三个可独立执行的程序模块:输入程序, 处理程序,打印程序 输入机,处理机,打印机并行工作 并发环境:
一定时间内,物理机器上有两个或两个以上的 程序同时处于开始运行但尚未结束的状态,并 且次序不是事先确定的

操作系统第3章

操作系统第3章
(4)可预言性(Predictability)。同 一个程序(作业)的每次运行应该花费大致 相同的时间和代价,不管系统的负载情况如 何。
2、面向系统的评价标准 (1)吞吐量。单位时间内完成的任务 (进程)数量。 从系统角度来看,处理器调度的目的是 最大化处理器的利用率。
吞吐量取决于每个进程的运行长度,但 它也受调度算法的影响。
为了提高处理器的利用率,人们提出了 多道程序的概念,允许在系统中同时存在 多个作业。 这时作业调度的任务是:从处于后备 状态的作业中选择一个或一批作业,让它 (它们)进入主机,为它们创建进程,准 备运行。
多道批处理系统中,作业调度的主 要工作是选择作业、创建进程。 为了充分发挥资源的作用,应合理 搭配作业,并控制系统中作业的数量。
3.4 常用的调度算法
下面列举几种常用的调度算法(主要是进 程选择算法)。 一、先来先服务(FCFS)
数据结构:一个单就绪队列,新就绪的进 程被加入到就绪队列的队尾。 选择算法:就绪队列的队头就是下一个要 运行的进程。
例:有三个进程P1、P2、P3,它们顺序 排在就绪队列中。各进程下一次的运行时间分 别为24、3、3。 FCFS调度的执行顺序如下:
P1 P2 P4 P3
抢占式SPN:
P1 P2 P4 P1 P3
3.4 常用的调度算法
三、轮转法(RR)
轮转法(Round Robin)是加了时间片限 制的FCFS算法。 数据结构与FCFS相同:单就绪队列。
基本思想:调度程序从就绪队列中的第一 个进程开始,轮流把CPU分配给队列中的每个 进程,每个进程每次可以运行一个时间片。
P1
0 24
P2
27
P3
30
各进程的就绪等待时间为:0、24、27。 平均等待时间为:(0+24+27)/3=

计算机操作系统课后习题答案第三章(第四版)

计算机操作系统课后习题答案第三章(第四版)

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

计算机操作系统的基本原理

计算机操作系统的基本原理

《计算机操作系统的基本原理》计算机操作系统是管理计算机硬件与软件资源的程序,是计算机系统的核心组成部分。

它为用户和应用程序提供了一个方便、高效、安全的操作环境。

本文将深入探讨计算机操作系统的基本原理。

一、操作系统的定义和功能操作系统是一种系统软件,它管理计算机的硬件资源和软件资源,控制程序的执行,提供用户与计算机之间的接口。

操作系统的主要功能包括以下几个方面:1. 处理器管理处理器是计算机系统的核心资源,操作系统负责合理地分配处理器时间,以提高系统的性能和效率。

它通过进程调度算法,决定哪个进程可以占用处理器,以及何时进行进程切换。

2. 内存管理内存是计算机系统中用于存储程序和数据的重要资源。

操作系统负责管理内存的分配和回收,确保各个进程能够安全地访问内存。

它还可以采用虚拟内存技术,将部分硬盘空间作为内存的扩展,以满足大型程序的运行需求。

3. 设备管理计算机系统中通常连接着各种外部设备,如硬盘、打印机、显示器等。

操作系统负责管理这些设备的驱动程序,实现设备的分配和回收,以及设备的输入输出操作。

它还可以提供设备的抽象接口,使得应用程序可以方便地使用各种设备。

4. 文件管理文件是计算机系统中存储信息的基本单位。

操作系统负责管理文件的存储、检索、更新和保护。

它提供了文件系统的结构和操作接口,使得用户和应用程序可以方便地创建、删除、读取和写入文件。

5. 用户接口操作系统为用户提供了两种类型的接口:命令行接口和图形用户接口。

命令行接口允许用户通过输入命令来操作计算机系统,而图形用户接口则提供了直观、方便的操作方式,用户可以通过鼠标和键盘来操作各种图形化的对象。

二、操作系统的结构操作系统的结构可以分为单体结构、层次结构和微内核结构等。

1. 单体结构单体结构是将操作系统的所有功能模块都集成在一个程序中,形成一个庞大的单体系统。

这种结构的优点是简单、高效,但是缺点也很明显,如可维护性差、扩展性差等。

2. 层次结构层次结构是将操作系统的功能模块按照层次进行划分,每个层次都提供特定的服务,并且只依赖于更低层次的服务。

操作系统处理器管理

操作系统处理器管理

信号机制
一种模拟硬件中断的简单通信机制(软件 中断)
– 内核向进程(进程发生异常,向其通知) – 进程向进程(进程间通信,发送某个事件)
signal, kill POSIX定义的信号类型(终端,Ctrl+C,2)
– Ctrl + Z,SIGSTOP
信号的检测与处理流程
发送信号 断点
执行信号处 理程序
应用程序 继续执行
从内核 返回用 户空间
进程
进程是现代操作系统中最基本、最重要的概念 两个角度看进程概念:
– 从理论角度看,进程是对正在运行的程序活动规律的 抽象
– 从实现角度看,进程是一种数据结构
为什么引入进程?
– 刻画系统的动态性、发挥系统的并发性,提高资源利 用率(并发程序设计的工具)
– 解决共享性,正确描述程序的执行状态(标识程序的 多次运行)
– 按使用者分:
特权指令,仅供操作系统内核调用 非特权指令
处理器状态
特权指令的执行限制,使处理器必须能区分当前 运行的程序是操作系统还是普通应用程序 处理器状态:
– 管理状态(特权状态、系统状态、特态、管态),能 执行所有机器指令
– 用户状态(目标状态、用户模式、常态、目态),只 能执行非特权指令
– 程序段、数据段、共享存储区、用户栈
寄存器上下文
– 程序状态字寄存器、栈指针寄存器、控制寄存器、 通用寄存器
系统级上下文
– 进程控制块、主存管理信息(如页表)、核心栈
进程的描述
进程控制块的结构
– 每个进程都有且只有一个进程控制块
进程标识信息(外部标识+内部标识)
进程现场信息 (通用寄存器、PSW寄存器、各种指针)
PCB

自考操作系统概论笔记

自考操作系统概论笔记

一、操作系统概论1.计算机系统: 硬件由中央处理器、存储器、输入输出控制系统、各种输入输出设备组成、软件由系统软件、支撑软件、应用软件组成;✧ 2.操作系统: 是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件;主要作用有: 1.管理计算机系统资源;2.为用户提供方便的使用接口;3.扩充硬件;✧操作系统按功能分为: 处理器管理、存储管理、文件管理、设备管理;✧操作系统的类型: 批处理操作系统、分时操作系统、实时操作系统;✧微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统3.处理器的工作状态:特权指令: 不允许用户程序中直接执行的指令称特权指令;管态和目态: 能执行特权指令时称管态, 否则称目态4.程序状态字:用来控制指令执行顺序并且保留和指示与程序有关的系统状态, 分成程序基本状态、中断码、中断屏蔽位三个部分;操作系统与用户程序的接口: 系统调用操作系统与用户的接口: 操作控制命令;二、处理器管理✧多道程序设计: 是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。

1、多道程序技术运行的特征: 多道、宏观上并行、微观上串行。

✧多道程序设计不仅提高了处理器的利用率, 而且降低了完成计算所需的总时间、从而提高了单位时间内的算题能力, 也提高了吞吐量。

✧进程的概念: 把一个程序在一个数据集上的一次执行称为一个进程。

✧为什么要引入进程: 1.提高资源的利用率;2.正确描述程序的执行情况进程的属性:1.进程是动态的, 它包含了数据和运行在数据集上的程序2.多个进程可以含有相同的程序3.多个进程可以并发执行4.进程有三种基本状态: 等待态、就绪态、运行态。

每个进程在执行过程中的任一时刻当且仅当处于上述三种基本状态之一。

(运行态-等待态、等待态-就绪态、运行态-就绪态、就绪态-运行态)✧进程的三个特性: 动态性、并发性、异步性。

进程控制块: 是对进程进行管理和调度的信息集合。

计算机专升本中的操作系统原理

计算机专升本中的操作系统原理

计算机专升本中的操作系统原理计算机专升本中的操作系统原理是计算机专业学生在学习和掌握计算机操作系统时所必备的基础知识。

操作系统是计算机系统的重要组成部分,它负责管理和控制计算机硬件资源,提供良好的用户界面和运行环境。

本文将从操作系统的定义、功能、分类以及主要原理等方面进行详细介绍。

一、操作系统的定义操作系统是一种系统软件,是计算机系统的核心,负责管理和控制计算机硬件资源,并提供用户与计算机之间的接口。

操作系统是计算机与应用程序之间的代理,它承担着各种任务,如分配和管理内存、管理文件和输入输出设备、调度进程和线程等。

二、操作系统的功能1. 资源管理:操作系统负责管理计算机的硬件资源,包括处理器、内存、硬盘、输入输出设备等。

通过资源管理,操作系统可以高效地利用资源,提高计算机的性能和运行效率。

2. 进程调度:操作系统根据一定的调度算法,合理地分配和调度进程的运行,确保各个进程能够按照一定的顺序执行,提高系统的整体效率和响应速度。

3. 内存管理:操作系统负责对计算机内存的分配、回收和管理。

通过内存管理,操作系统可以有效地利用有限的内存资源,提供给应用程序足够的内存空间。

4. 文件管理:操作系统负责对计算机文件的组织、存储和管理。

通过文件管理,操作系统可以提供方便的文件操作接口,使得用户能够方便地进行文件的读写和管理。

5. 设备管理:操作系统负责对计算机输入输出设备的管理和控制。

通过设备管理,操作系统可以为用户提供方便、高效的输入输出操作接口,使得用户能够方便地与设备进行交互。

三、操作系统的分类操作系统可以根据其功能和特点进行分类,常见的操作系统分类包括:1. 批处理操作系统:批处理操作系统是最早的操作系统,主要用于处理大量的批处理作业。

它通过将一批作业按顺序放入内存,自动依次执行,并输出结果。

2. 分时操作系统:分时操作系统是为了满足多用户同时共享计算机资源的需求而设计的。

它允许多个用户通过终端同时登录系统,并以交互的方式使用计算机资源。

自考操作系统原理设备管理

自考操作系统原理设备管理

自考操作系统原理设备管理1. 简介本文档是关于自考操作系统原理中设备管理的概述和详细讲解。

设备管理是操作系统中的一个重要模块,负责管理和协调计算机系统中的各种外部设备。

在本文档中,将对设备管理的基本概念、设备分配、设备控制和设备中断等方面进行详细解析,帮助读者更好地理解和掌握该知识点。

2. 设备管理的基本概念2.1 设备与设备管理设备是指与计算机系统相互连接的外部设备,包括输入设备(如键盘、鼠标)、输出设备(如显示器、打印机)和存储设备(如硬盘、光盘)。

设备管理是操作系统对这些外部设备的组织、分配和控制的过程。

2.2 设备管理的目标设备管理的主要目标是提高计算机系统的效率和可靠性,保证每个进程可以正常访问所需的设备资源。

具体而言,设备管理应该实现以下几个方面的功能:•设备分配:将设备分配给进程,并进行合理的调度和控制。

•设备控制:对设备进行初始化、打开、关闭等操作,并确保设备的正常工作。

•设备中断处理:及时响应设备的中断请求,并进行相应的处理。

•设备驱动程序管理:管理设备驱动程序的加载和卸载,与设备控制程序之间的交互。

•设备状态监控:实时监控设备的状态,并及时报告异常情况。

3. 设备分配设备分配是指将可用的设备资源分配给各个进程使用的过程。

通常情况下,操作系统会维护一个设备分配表,记录每个设备的使用情况和分配情况。

设备分配可以通过两种方式实现:独占设备分配和共享设备分配。

3.1 独占设备分配独占设备分配是指将设备完全分配给某个进程使用,其他进程无法同时使用该设备。

这种设备分配方式可以保证每个进程获得足够的设备资源,但会造成资源的浪费。

3.2 共享设备分配共享设备分配是指将设备分时地分配给多个进程使用。

操作系统会根据进程的优先级和请求情况,动态地分配设备资源给每个进程。

这种设备分配方式可以提高资源的利用率,但可能会引发设备竞争和冲突的问题。

4. 设备控制设备控制是指操作系统对设备进行初始化、打开、关闭等操作的过程。

操作系统概论第三章答案汇总

操作系统概论第三章答案汇总

、单项选择题1.基址寄存器和界限寄存器是属于 (2.存储管理实际管理的是( B. 全部主存储器3.页式存储管理中,若不使用快表,则采用二级页表时,每访问一个操作数要访问主存7、处理器不能直接访问的存储器是 B 、高速缓冲存储器C 、主存储器8、若页式存储管理中的地址格式为则它的最大页号和最大页内地址是(C 、 256 和 655359.价格昂贵、存取速度最快,但容量较小的存储器是10.程序状态字寄存器是属于(11.处理器中仅设置一个界限寄存器的存储管理方式是( B. 可变分区存储管理 D.单用户连续存储管理12•处理器不能直接访问的存储器是(第三章A. 指令寄存器B •通用寄存器 C.控制寄存器 D.时钟寄存器A.辅助存储器C. 主存储器中的用户区D. 主存储器中的系统区()A.1次B.2次C.3次D.4次4.可用来长期存储大量信息的存储器是 A.寄存器 B.高速缓冲存储器 C.主存储器D.辅助存储器5.可变分区存储管理的主存分配算法中,查找次数最少的是 A.随机适应分配算法 B.最先适应分配算法 C.最优适应分配算法D.最坏适应分配算法6.页式存储管理中,作业运行时,该作业的页表是放在 (A.磁盘中B.主存系统区中C.主存用户区中D.用户程序中A 、寄存器 D 、光盘2316 15A 、256 和 65536B 、 255和65535 255 和 65536A.寄存器B.高速缓冲存储器C.主存储器D.辅助存储器 A.指令寄存器B.通用寄存器C.控制寄存器D.时钟寄存器A.页式存储管理 C.固定分区存储管理A .寄存器B •高速缓冲存储器C .主存储器D •辅助存储器A .磁盘B .磁带C .主存储器 14.处于运行状态的操作系统程序应放在(A •寄存器中 C. 主存储器中15、 存储管理中的地址转换(重定位)指的是( A 、将绝对地址转换成逻辑地址 C 、将逻辑地址转换成绝对地址D 、将物理地址转换成相对地址16、页式管理系统中,页面调度算法淘汰最近使用次数最少的算法是 ()A 、FIFOB 、FILOC 、LRUD 、LFU17、可以采用静态重定位方式转换地址的管理内存方案是( )A 、页式管理 C 、可变分区管理18•计算机主存储器中,存储单元的编址单位是 A .二进制位 C .字19. 计算机系统中,存取速度最快的存储器是 A .寄存器 C .高速缓冲存储器 20.减少可变分区存储管理中碎片的措施是 (A .增大分区长度 C .采用移动技术21. 可变分区存储管理中,通常分配最快的算法是13•断电停机后,存储信息随之消失的存储器是 ( ) D . U 盘 )B .高速缓冲存储器中 D •辅助存储器中 )B 、将物理地址转换成逻辑地址 ( )B .主存储器D .辅助存储器B 、页式虚拟管理A .最先适应分配C.最坏适应分配22•硬件中可没有地址转换机构的存储管理方式是(A、页式虚拟C、可变分区23•空闲区表中起始地址按从小到大排列的分配算法是( )A .随机分配B .最先适应C.最优适应 D .最坏适应24•有20位地址的页式存储管理中,如页面长度为2048字节,则作业可使用的最大页面数为())B.增加分区数目D .减少分区长度( )B .最优适应分配D .随机分配)B、固定分区D、页式C . 1024D . 409625•采用两级页表的页式存储管理中,按给定的逻辑地址进行读写时,通常需访问主存()A.1次B.2次C.3 次.D.4 次26.淘汰过去一段时间里被访问次数最少的页的算法是()A. LRU C.FIFO 27.在回收内存时可能出现下述情况:释放区只与插入点前一空闲分区 F1相邻接,此时应( )。

Windows操作系统-处理机管理(上)解析

Windows操作系统-处理机管理(上)解析
PCB Table Index Table Ready PCB Table
Ready Blocked
Blocked
7
进程和进程控制
进程的定义和描述
进程上下文(context) 进程上下文是对进程执行活动全过程的静态描述。进 程上下文由进程的用户地址空间内容、硬件寄存器内 容及与该进程相关的核心数据结构组成。
4
进程和进程控制
进程的定义和描述
进程控制块 进程控制块(PCB, process control block)是由OS维护的 用来记录进程相关信息的一个数据结构。
•每个进程在OS中的登记表项(可能有总数目限制),OS据此 对进程进行控制和管理(PCB中的内容会动态改变)
•处于核心段,通常不能由应用程序自身的代码来直接访问, 而要通过系统调用访问
New Admit Ready Event Occurs Dispatch Timeout Running Release Exit
Blocked
11
进程和进程控制
进程的状态转换 ——五状态进程模型
进程状态转换
创建(Create)新进程:创建一个新进程,以运行一个程序。 提交(Admit):收容一个新进程,进入就绪状态。由于性能、内存、进程 总数等原因,系统会限制并发进程总数。 调度运行(Dispatch):从就绪进程表中选择一个进程,进入运行状态; 释放(Release):由于进程完成或失败而中止进程运行,进入结束状态;
进程的特征
•动态性--具有动态的地址空间 •独立性--各进程的地址空间相互独立 •并发性--宏观上各进程同时运行 •结构化--进程的地址空间是结构化的
3
进程和进程控制
进程的定义和描述
进程与程序的区别

操作系统原理第3章 处理器调度

操作系统原理第3章 处理器调度


2014-11-4
《计算机操作系统》- 第3章
18/98
低级调度 3.1.2 -模型 进程调度模型
只有进程调度的调度队列模型
时间片完 进程调度 进程完成
交互用户 事 件 出 现
就 绪 队 列
CPU
阻 塞 队 列
等待事件
2014-11-4
《计算机操作系统》- 第3章
19/98
低级调度 3.1.2 -模型 进程调度模型

高级调度-作业调度 中级调度 低级调度-进程调度 调度的本质 进程调度的概念
要点

2014-11-4
《计算机操作系统》- 第3章
4/98
3.1 处理器调度的层次
内容

高级调度-作业调度 中级调度 低级调度-进程调度 调度的本质 进程调度的概念
要点

2014-11-4
《计算机操作系统》- 第3章
2014-11-4 《计算机操作系统》- 第3章 10/98
高级调度-概念与模型

作业调度概念:

按照操作系统预先规定的策略,从磁盘的作业后备队 列中选择作业调入内存,为作业分配所需要的资源并 建立与作业相对应的进程。
当作业运行的准备工作完成后,作业调度启动作业运 行。 在作业运行结束后,作业调度归还并释放作业占用的 资源,结束作业。
思考:“抢占”可能带来的问题及原因?
2014-11-4 《计算机操作系统》- 第3章 23/98
本章目录



3.1 3.2 3.3 3.4 3.5 3.6 3.7
处理器调度的层次 评价调度算法的准则 调度算法 线程调度 实时调度 多处理器调度 Windows 2000/XP系统的处理器调度
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可能延长程序执行时间 两道计算问题A和B

A:计算50ms,打印100ms,计算50ms,打印100ms B: 计算50ms,输入80ms,计算100ms,打印100ms A执行总共需要300ms,占用处理机100ms B执行总共需要330ms,占用处理机150ms

如果两道程序分别单独执行(顺序)

僵死状态

UNIX进程树

系统启动后,首先把UNIX的核心程序装入主存。 核心程序完成自身初始化工作后,创建系统的第一个进程 -0号进程。0号进程始终在核心态运行,功能是进程进程 调度和让进程在主存与磁盘上进行交换,故也称0号进程 为交换进程。 0号进程创建1号进程,1号进程被称为初始化进程。1号进 程在用户态运行。1号进程为每个用户创建一个login进程, 分别处理各用户的登录过程。 若用户注册登录成功,login进程为用户创建shell进程。
B 输入 处理 打印 A B A A B A B
处理机的利用率为 (100+150)/400= 250/400= 62.5% A总共花费300ms B总共花费350ms,比单道时多花20ms
采用多道程序设计应注意的问题

并行道数和系统效率不成正比

首先,主存空间限制同时装入的程序数量 其次,外设的数量也是制约条件 第三,多个程序同时要求同一资源
处理器管理
什么是多道程序设计

让多个计算问题同时装入一个计算机系统的主存储器并行执 行,这种程序设计技术称为多道程序设计。这种计算机系 统称为多道程序设计系统,简称为多道系统。

采用多道程序设计技术要注意下面三方面问题:

存储保护:保证各道程序互不侵犯 程序浮动:程序放在主存的任意区域都能正确执行,甚至在执 行过程中改变存储区都不受影响,这种技术称为程序浮动。 资源的分配和调度:竞争处理器、外围设备


进程的基本状态

进程有三种基本调度状态


就绪状态(ready):进程已获得除处理机外的所需资源,只要分配 处理器就可执行。 运行状态(running):进程已获得处理机,正在执行。 等待/阻塞状态(blocking):进程在运行过程中,因等待某一事件 (如等待某一输入输出操作完成)而暂停的状态称为阻塞状态,

进程控制块是进程存在的标识,一个刚被创建的进程其初始 状态是就绪态。
进程的创建和撤销

进程的撤销

当一个进程完成了特定任务后,系统收回这个进程所占的工作区和 取消其进程控制块,就撤销了该进程。

操作系统中往往设计一些能完成特定功能且不可中断的过程,这些不 可中断的过程称为原语。用于进程控制的原语有:

为什么要采用多道程序设计

程序的顺序执行 假设一个程序由输入、处理、输出组成,分别用时t0,t1, t2
t0 1 1 t1 t2 t0 2 2 t1 t2
输入 处理
打印
1
2
为什么要采用多道程序设计

程序的并行执行 现代计算机中的硬件使得处理机与外设具备了并行工作的 能力。
t0 1 1 t1 2 2 t2
t0 t1
第n条指令, 暂停 第1条指令

正确描述程序的执行情况

如何描述t1时刻P程序的状态呢?
编译a.c 编译b.c
第1条指令
正在等待I/O操作完成?还是开始编译 b.c?
引入进程后,P为a.c服务时的进程称为Pa, P为b.c服务时的进程称为Pb。 Pa的状态是 等待I/O, Pb的状态是开始执行
proc[ ]
text[ ] 请求正文段 X_caddr X_iptr X_count 主存 页表 file inode
p_addr
p_textp p_spt
磁盘文件
正文段
数据段

进程执行时的非共享程序和程序执行时用到的数据。 UNIX的数据段划分为三部分


用户栈区:进程在用户态的工作区 用户数据区 系统工作区
标识信息 说明信息
现场信息

管理信息
进程名/编号 进程状态 等待原因 进程程序存放位置 进程数据存放位置 通用寄存器内容 控制寄存器内容 程序状态字寄器内容 进程优先级 队列指针
进程的创建和撤销

每个进程都有生命周期,即从创建到消亡。 进程的创建

当系统为一个程序分配了一个工作区和建立了一个进程控制 块后就创建了一个进程。

进程基本控制块

进程基本控制块proc结构的主要信息:



标识信息:包括用户标识和进程标识 进程非常驻主存部分的信息: 通过这些信息可以找到进 程的非常驻部分 有关进程调度的信息:状态、标志、优先级 其他信息
进程扩充控制块

进程控制块的信息

标识 现场保护 主存管理 文件读写 系统调用 进程控制与管理

就绪状态


UNIX进程状态

睡眠状态

为了等待某事件让出处理机便进入睡眠状态,进程睡眠时可 能驻留在内存,也有可能被换到磁盘”对换区“中。

创建状态

使用系统调用fork创建进程,创建过程中,处于变迁阶段的 状态称为创建状态,创建状态是进程的初始态,最终会变为 就绪态。
进程消亡前的暂时状态,进程可以调用exit终止自己,进程 终止时变处于僵死状态,它是进程的最后状态,不会发生转 换。回收资源时,进程就消亡。


处理机的利用率为 (100+150)/(300+330) = 250/630 = 39.7%
采用多道程序设计应注意的问题

两道计算问题A和B

A:计算50ms,打印100ms,计算50ms,打印100ms B: 计算50ms,输入80ms,计算100ms,打印100ms
0 50 100 180 150 200 300 400
运行 选中 落选 就绪 等待的时间发生 等待 等待某一事件
进程的三个特性

动态性:执行过程中状态不断发生变化 并发性:进程可同时执行,轮流占用处理器 异步性:执行速度不可预知
进程控制块

为了标识进程,记录各 个进程执行时的情况, 操作系统在创建进程时 为每个进程设置一个进 程控制块(Process Control Block,简称 PCB)。 不同的操作系统,进程 控制块记录信息的内容 与数量是不相同的。一 般情况下,进程控制块 应包含四类信息

进程可以并发执行

可重入代码(Reentry code),也叫纯代码(Pure code)是 一种允许多个进程同时访问的代码 可重入就是,一个函数没有执行完成,由于外部因素或内 部调用,又一次进入该函数执行。可重入代码,必须保证 资源的互不影响的使用,比如全局变量,系统资源等。 可重入最简单的理解就是任何变量都是局部变量。可重入 指函数在运行过程中,被中断打断后,待返回时仍然能够 正常运行。这就需要在编写代码时注意全局变量和公用资 源的使用
UNIX的进程控制块

为了节省进程控制块所占的主存空间,UNIX把每个进程 控制块分成两部分

进程基本控制块:常驻主存,记录了进程调度时必须使用的 一些信息,进程基本控制块的数据结构称为proc结构 进程扩充控制块:非常驻主存,进程不占用处理器时,不会 对这部分内容进行查询。这部分内容被存放在磁盘上(称为 “对换区”的存储区域),它随着用户程序和数据装入或调出 主存,它的数据结构称为user结构。

进程队列的链接
队首指针 PCBA PCBB PCBC 进程C 单向链接 0 队首指针 PCBA 进程A 向后指针 向前指针 PCBB 进程B PCBC 进程C 0 双向链接
进程A
进程B
0
进程队列的链接

一个刚被创建的进程,初始状态为“就绪态”,置于就绪 队列中。 如果一个进程被选中占用处理机,就从就绪队列中退出转 换为“运行态”。 运行过程中可能因为等待I/O传输,进入等待队列。 IO传输结束,进程又退出等待队列进入就绪队列。 一个进程从所在队列中退出称为出队,进入指定的队列中 称为入队,系统负责进程入队和出队的工作称为队列管理。
2、把B进程的向前指针送入C进 程的向前指针。
0
队首指针
PCBA 进程A
PCBC 进程C 0
0
出队过程-队尾进程出队
队首指针 PCBA 进程A PCBB 进程B PCBC 进程C 0 1、把B进程的向后指针改为0 2、把C进程的向前指针送入队 首指针。
0 PCBA 进程A PCBB 进程B 0
队首指针

程序是静态的文本,进程是动态的过程,进程包括程序和 程序处理的对象(数据集)。
为什么要引入进程

提高资源的利用率

把一个计算问题分成n个独立执行的程序模块,例如输入进 程、打印进程、处理进程,进程间可以并行工作,提高系统 的利用率
假设有编译程序P,将c语言的源文件编译为目标文件,使用 P编译a.c和b.c,两个并行
0
UNIX系统中的进程

UNIX不区分系统进程和用户进程,UNIX的进程既可以 执行用户程序,又可以执行用户程序。 UNIX的进程在执行用户程序时在用户态执行,执行操作 系统程序时在核心态执行。

UNIX进程的组成

UNIX的进程由三部分组成

进程控制块 正文段 :可供多个进程共享的程序 数据段:进程执行时的非共享程序和程序执行时用到的数据


创建原语:为一个程序分配一个工作区和建立一个进程控制块,并 设置该进程为就绪状态。 撤销原语:一个进程完成工作后,收回它的工作区和进程控制块 阻塞原语:进程运行过程中发生等待事件,把进程改为等待态 唤醒原语:当进程等待的事件发生时,把进程的状态改为就绪态
相关文档
最新文档