操作系统原理教程第2章
《操作系统原理》课程教学大纲
附件1:《操作系统原理》课程教学大纲制定(修订)人: 李灿平、郭亚莎制定(修订)时间: 2006年 7 月所在单位: 信息工程学院一、课程基本信息三、教学内容及基本要求第一章绪论本章简要介绍操作系统的基本概念、功能、分类以及发展历史。
同时讨论研究操作系统的几种观点。
§1.1 操作系统的概念本节介绍操作系统的基本概念,什么是操作系统以及操作系统与硬件软件的关系。
本节重点:操作系统与硬件软件的关系。
本节要求学生理解什么是操作系统,掌握操作系统与硬件软件的关系。
§1.2 操作系统的历史本节按器件工艺介绍操作系统的发展历史。
本节重点:多道程序系统的概念。
本节要求学生了解操作系统的发展历史,理解多道程序系统概念。
§1.3 操作系统的基本类型本节介绍常见的操作系统的类型、特点及适用的对象。
本节重点:批处理操作系统、分时系统、实时系统。
本节要求学生掌握上述三大操作系统的特点及适用对象。
§1.4 操作系统功能本节简单介绍操作系统的五个功能。
处理机管理,存储管理,设备管理,信息管理(文件系统管理)和用户接口。
本节要求学生了解上述功能。
§1.5 计算机硬件简介本节简单介绍计算机硬件系统。
本节要求学生自修。
§1.6 算法的描述本节介绍操作系统管理计算机系统的有关过程所用的描述算法。
本节要求学生掌握本书所采用的描述算法。
§1.7 研究操作系统的几种观点本节介绍研究操作系统的几种观点。
系统管理的观点,用户界面观点和进程管理观点。
本节要求学生了解上述三种观点。
第二章操作系统用户界面本章主要讨论操作系统的两个用户接口,并以UNIX系统为例,简单介绍用户接口的使用操作方法。
§2.1 作业的基本概念本节介绍作业的基本概念,什么是作业及作业组织(结构)。
本节重点:作业的基本概念。
本节要求学生掌握作业的基本概念,了解作业的组织。
§2.2 作业的建立本节介绍作业的几种输入方式和作业的建立过程。
操作系统原理与应用(第2版)清大版第2章习题参考答案
1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。
程序这一静态概念已不足以描述程序的并发执行的特性。
为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。
有的系统也称为任务(task)。
2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。
程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。
3、能够看到。
进程控制块PCB表示进程的存在。
为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。
数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。
4、可再现性:程序重复执行时,必将获得相同的结果。
即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。
封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。
5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。
处于这种状态的进程的个数不能大于CPU的数目。
在单CPU机制中,任何时刻处于运行状态的进程至多是一个。
2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。
在操作系统中,处于就绪状态的进程数目可以是多个。
为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。
3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。
此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。
系统中处于这种状态的进程可以是多个。
同样,为了便于管理,系统要将它们组成队列,称为封锁队列。
封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。
6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。
全国计算机等级考试四级网络工程师操作系统原理部分
操作系统原理第一章操作系统概论1.1操作系统的概念操作系统的特征:并发性,共享性,随机性。
研究操作系统的观点:软件的观点,资源管理的观点,进程的观点,虚拟机的观点,服务提供者的观点。
操作系统的功能:1.进程管理:进程控制,进程同步,进程间通信,调度。
2.存储管理:内存分配与回收,存储保护,内存扩充。
3.文件管理:文件存储空间管理,目录管理,文件系统安全性。
4.设备管理5.用户接口UNIX是一个良好的、通用的、多用户、多任务、分时操作系统。
1969年AT&T公司Kenneth L.Thompson 用汇编语言编写了Unix第一个版本V1,之后Unix用C语言编写,因此事可移植的。
1.3操作系统分类1.批处理操作系统:优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统的效率。
缺点是用户不能直接与计算机交互,不适合调试程序。
2.分时系统:特点是多路性,交互性,独占性,及时性。
3.实时操作系统4.嵌入式操作系统5.个人计算机操作系统6.网络操作系统7.分布式操作系统8.智能卡操作系统1.4操作系统结构1.整体式结构2.层次结构3.微内核(客户机/服务器)结构:①可靠,②灵活(便于操作系统增加新的服务功能),③适宜分布式处理的计算机环境第二章操作系统运行机制2.1中央处理器寄存器:用户可见寄存器:数据寄存器(通用寄存器),地址寄存器,条件码寄存器。
控制和状态寄存器:程序计数器,指令寄存器,程序状态字。
目态到管态的转换唯一途径是通过终端和异常。
管态到目态的转换可以通过设置PSW指令(修改程序状态字)实现。
PSW包括:①CPU的工作状态代码②条件码③中断屏蔽码2.2存储体系存储器设计:容量,速度,成本存储保护:①界地址寄存器(界限寄存器):产生程序中断-越界中断或存储保护中断②存储键2.3中断与异常机制分类:中断:时钟中断,输入输出(I/O)中断,控制台中断,硬件故障中断异常:程序性中断,访管指令异常2.4系统调用系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。
操作系统教程第五版答案
操作系统教程第五版答案【篇一:华科操作系统教程(第五版)费祥林部分习题答案】>应用题t2、t4、第二章处理器管理应用题t1:只能在内核态运行的指令:(3)、(4)、(5)、(6)、(7)。
t11:(4)sjf调度算法t15:hrrf性能较好。
第三章同步、通信与死锁应用题:2、5(1)、38(1),t2、t5、t38(1)第四章存储管理二、应用题:3(3)、5、20、30t3(3)答:作业的物理块数为3时,fifo为9次,75%;lru为10次,83%;opt为7次,58%;作业的物理块数为4时,fifo为10次,83%,lru为8次,66%,opt为6次,50%。
其中fifo出现belady现象。
t5、【篇二:操作系统原理习题及答案(全书免费版)】、填空题1.用户与操作系统的接口有,两种。
【答案】命令接口,系统调用【解析】按用户界面的观点,操作系统是用户与计算机之间的接口。
用户通过操作系统提供的服务来有效地使用计算机。
一般操作系统提供了两类接口为用户服务,一种是程序一级的接口,即通过一组广义指令(或称系统调用)供用户程序和其他系统程序调用;另一种是作业一级的接口,提供一组控制命令供用户去组织和控制自己的作业。
2.用户程序调用操作系统有关功能的途径是。
【答案】利用系统调用命令【解析】系统调用命令是操作系统专门给编程人员提供的调用操作系统有关功能的途径,一般在汇编语言和c语言中都提供了使用系统调用命令的方法。
编程人员可以在这些语言中利用系统调用命令动态请求和释放系统资源。
3.unix系统是①操作系统,dos系统是②操作系统。
【答案】①分时(或多用户、多任务),②单用户(或单用户、单任务)【解析】 unix系统是一个可供多个用户同时操作的会话式的分时操作系统,dos系统是为个人计算机设计的一个单用户操作系统。
4.现代计算机中,cpu工作方式有目态和管态两种。
目态是指运行①程序,管态是指运行②程序。
第二章 进程管理作业题
操作系统原理第二章作业一、应用题1、进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关系?(1)若干学生去图书馆借书(2)两队学生进行篮球比赛(3)流水线生产的各道工序(4)商品生产和消费进程之间存在两种制约关系,即同步和互斥。
同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系,为一个进程等待另一个进程向它直接发送消息或数据时的一种制约关系。
互斥是由于并发进程之间竞争系统的临界资源引起的,为一个进程等待另一个进程已经占有的必须互斥使用的资源时的一种制约关系。
1)是互斥关系,同一本书只能被一个学生借阅,或者任何时刻只能有一个学生借阅一本书。
2)是互斥关系,篮球是互斥资源。
3)是同步关系,一个工序完成后开始下一个工序。
4)是同步关系,生产商品后才能消费。
2、设P、Q、R共享一个缓冲区,P、Q构成一对生产者-消费者,R既为生产者又为消费者,使用P、V操作实现其同步。
The P,V code Using Pascalvar mutex,full,empty:semaphore; full:=1; empty:=0; mutex:=1; cobeginProcedure P Procedure Q Procedure R begin begin begin while true while true if empty:=1 then p(empty); p(full); begin P(mutex); P(mutex); p(empty); Product one;consume one; P(mutex); v(mutex); v(mutex); product; v(full); v(empty); v(mutex);end end v(full); endif full:=1 thenbeginp(full); p(mutex);消费一个产品;v(mutex);v(empty); endcoend3、某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装配车间的任务是把A、B两种零件组装成产品,两个生产车间每生产一个零件后都要分别把他们送到专配车间的货架F1、F2上,F1存放零件A,F2存放零件B,F1和F2的容量均可以存放10个零件。
《操作系统原理》PPT课件 (2)教学文稿
void *runner(void *param)
{
int upper=atoi(param);
int i;
sum = 0;
if (upper >0)
for ( i = 1; i <=upper; i++)
sum +=i;
pthread_exit(0);
}
12
三、并发控制:互斥与同步 并发(Concurrent) 与并行(Parallel) 临界资源(critical resource)
2
二、OS的分类
批系统 (batch system) ➢ 成批提交作业,作业完成或无法继续执行时发生切换
交互(分时)系统(interactive, Time-sharing system) ➢ 多个用户(应用程序)分享计算机资源 Windows, Linux, …
实时系统(Real-time system) ➢ 满足应用的时间约束要求 VxWorks, QNX, …
《操作系统原理》PPT课 件 (2)
第一部分 操作系统概述
一、操作系统的功能
▪ 实现对计算机资源的管理 (CPU, 存储器,I/O设备) ▪ 控制应用程序的执行 ▪ 提供应用程序访问计算机资源的接口(系统调用) ▪ 实现对操作系统内核及应用程序的保护
操作系统给计算机一个灵活的大脑、 一个强健的心脏和突出的个性
,如此反复。请用信号量解决这些进程的同步互斥问题。
答:本题中需要定义下述变量和信号量:
data_type buffer[M]; /* data_type对应于所需要的数据类型,如int、float等
*/
int in=0; /* 用来指示下一个可存放数据的缓冲区 */
《操作系统原理》课程教学大纲
操作系统原理课程教学大纲(Princip1esofOperatingSystems)学时数:72学时其中:实验学时:12学时课外学时:0学时学分数:4.5适用专业:计算机科学与技术一、课程的性质、目的和任务性质:本课程是高等院校计算机科学与技术专业本科的一门学科基础课程,是必修课。
目的:通过操作系统原理的学习,了解操作系统的发展过程及种类,掌握操作系统设计中的相关基本概念和原理,以及在操作系统的设计与构造中涉及的资源共享、提高系统资源利用率等各方面基本知识,了解并掌握操作系统在发展过程及将来引入的新技术与方法。
任务:阐述计算机系统的核心软件——操作系统的基本概念、基本原理和实现技术。
主要包括操作系统的用户界面、操作系统的资源管理功能等,其中资源管理还包括进程管理、处理机管理、存储管理、设备管理、文件管理、网络与安全等方面内容,并将操作系统的一般原理与实际操作系统的分析与设计有机地结合。
二、课程教学的基本要求(一)掌握操作系统的基本原理、概念及主要功能(-)掌握进程概念、进程的同步与互斥、思索的预防与检测(H)掌握处理机的调度层次划分与调度、调度方法评价以及调度基本策略(四)掌握存储管理目标与几种存储管理策略(五)掌握设备与处理之间的数据传送方式、缓冲技术以及设备管理基本手段(六)掌握文件系统的物理及逻辑设备的空间组织与管理、多级目录结构、文件东共享实现以及文件系统的安全与防护(七)了解并掌握操作系统的安全与防护基本知识,了解一些病毒与黑客的常用手段以及一些基本应对措施(八)了解网络操作系统的基本概念,了解网络操作系统必须实现的一些基本技术(九)通过实验环节具备一定系统软件和应用软件的开发技能三、课程的教学内容、重点和难点第一章操作系统概论(4学时)一、基本内容(一)操作系统概观(二)操作系统的形成与发展(H)操作系统提供的服务与用户接口(四)流行操作系统简介二、基本要求(一)掌握操作系统的基本概念。
2024版全套课件《操作系统原理教程(第二版)
全套课件《操作系统原理教程(第二版)contents •操作系统概述•进程管理•内存管理•文件管理•设备管理•现代操作系统新技术目录01操作系统概述定义操作系统是一组控制和管理计算机软硬件资源、合理组织计算机工作流程以及方便用户使用的程序的集合。
功能提供用户与计算机硬件系统之间的接口;管理系统资源;提供软件的开发与运行环境。
早期操作系统实时操作系统网络操作系统和分布式操作系统个人计算机操作系统分时操作系统批处理操作系统手工操作方式、脱机输入/输出方式。
单道批处理系统、多道批处理系统。
具有交互性、多用户同时使用一台计算机、用户感觉独占计算机。
实时性、高可靠性。
网络资源共享、分布式处理。
单用户多任务、图形用户界面。
个人计算机操作系统分时操作系统按时间片轮转方式,将CPU 分配给多个终端用户。
网络操作系统控制和协调网络中计算机的运行,提供网络通信、资源管理、网络服务、网络管理、互操作等功能。
分布式操作系统统一管理和调度网络中的资源,实现资源的共享和协同工作,为用户提供透明、一致的使用界面。
自动、顺序、成批地处理作业。
批处理操作系统实时操作系统对随机发生的外部事件做出及时响应并对其进行处理。
提供丰富的应用程序接口和图形用户界面,支持多任务处理和多媒体功能。
02进程管理进程的概念与状态进程的定义进程是操作系统中进行资源分配和调度的基本单位,它是程序的执行过程,具有动态性、并发性、独立性、异步性和结构性等基本特征。
进程的状态进程在其生命周期内会经历多种状态,如创建状态、就绪状态、运行状态、阻塞状态和终止状态等。
这些状态之间会根据特定的条件进行转换。
进程控制块PCBPCB的定义进程控制块PCB是操作系统中用于描述进程状态和特性的数据结构,它是进程存在的唯一标识。
PCB的内容PCB通常包含进程标识符、处理机状态、进程调度信息和进程控制信息等内容。
其中,进程标识符用于唯一标识一个进程;处理机状态记录了进程在执行时的寄存器信息;进程调度信息用于支持操作系统的进程调度功能;进程控制信息则包含了进程的状态、优先级和资源需求等信息。
操作系统原理复习大纲
《操作系统原理》课程大纲一、课程性质及其设置目的与要求(一)课程性质、地位与任务随着计算机技术的迅猛发展,计算机的硬、软件资源越来越丰富,用户也要求能更方便、更灵活地使用计算机系统。
为了增强计算机系统的处理能力以及方便用户有效地使用计算机系统,操作系统已成为现代计算机系统中不可缺少的重要组成部分。
因此,操作系统原理计算机软件及其相关专业的主要专业必修课程。
本课程从操作系统实现资源管理的观点出发,阐述如何对计算机系统中的硬、软件资源进行管理,使计算机系统协调一致地、有效地为用户服务,充分发挥资源的使用效率,提高计算机系统的服务质量。
一个从事计算机科学技术的工作者,当他掌握了操作系统的工作原理和实现方法后,将有利于他利用计算机系统开发各种应用软件和系统软件,初步具备从事操作系统分析、扩展和设计的知识和能力。
(二)课程基本要求掌握操作系统对各种资源的管理方法和操作系统各部分程序之间的关系后,才能真正掌握操作系统的工作原理以及了解操作系统在整个计算机系统中的作用。
通过本课程的学习,要求:1.了解操作系统的组成部分,掌握操作系统的基本原理、基本概念,了解操作系统的基本设计方法。
2.理解操作系统的基本原理在UNIX/LINUX/Windows中的应用和实现技术。
(三)本课程与有关课程的联系操作系统是管理计算机系统资源和控制程序执行的一种系统软件,它直接扩充裸机(不配有任何软件的计算机)的功能,为程序的执行提供良好的环境。
所以,在学习操作系统之前应该先学习计算机组成原理、数据结构导论、高级语言程序设计、汇编语言程序设计等课程。
在这些先行课的基础上学习本课程符合循序渐进的规律,这样不仅容易理解课程内容,而且能正确地把操作系统的各部分程序有机地联系起来。
二、课程内容与考核目标第1章计算机硬件基础(一)课程内容1.计算机硬件系统2.CPU寄存器3.指令执行4.中断5.存储器的层次6.Caching7.I/O方式(二)学习目的与要求了解计算机硬件系统的组成与工作原理;各部件工作原理及特点;程序状态字,中断的原理与作用,各种I/O方式的过程与特点。
计算机操作系统原理-第二章用户界面知识点汇总及习题
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
操作系统原理教程(第3版)第二章课件
I3
I4
C1
C2
P1
C3
P2
C4
P3 时间轴: time P4
并发执行
程序并发执行的特征:
(1) 可能失去程序的封闭性和可再现性
程序在并发执行时,共享系统中的各种资 源,因而这些资源的状态将由多个程序决定 和改变,致使程序的运行失去了封闭性;其 程序运行的结果导致失去可再现性。
举例说明: 假如系统中有两道程序A和B,这两个 程序都正在打印机上输出。程序输出完成 后将打印机释放。 假定系统用变量N来记录打印机的可用 数量。假定 N 的当前值为 1 ,也即还有一 台空闲。
struct proc * u_procp;
/*指向该进程的 proc结构指针*/ int * u_ap; /*指向参数表的指针*/ union { /*系统调用返回值存放处*/ struct{ int r_val1; /*存第一个系统 返回值*/ int r_val2; /*系统返回值2*/ } r_reg; off_t r_off; /*ulimit系统调用返回值*/ time_t r_time;/*系统调用返回的时间值*/ } ur;
(3) 程序与CPU执行的活动之间不再一一对应 程序:是完成某一特定功能的指令序列,是静态 的概念; CPU执行的活动:是一个动态概念,它是程序的执 行过程。 程序在顺序执行 (即单道运行)时,程序与CPU执行 的活动是一一对应的。 并行执行(即多道程序)时,这种关系不再存在。
[例]分时系统,多个用户都调用C编译对自己的源程序进行编 译。系统实际只保留一个编译程序,多个用户通过共享执行 它完成各自源程序的编译工作。
2.1
进程的引入及其概念
1. 程序的顺序执行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超线程的工作
– 超线程处理器被视为两个分离的逻辑处理器,应用程序
不须修正就可使用这两个逻辑处理器. – 每个逻辑处理器都可独立响应中断.第一个逻辑处理器 可追踪一个软件线程,而第二个逻辑处理器则可同时追 踪另一个软件线程. – 由于两个线程共同使用同样的执行资源,因此不会产生 一个线程执行的同时,另一个线程闲置的状况.
要进行合理的控制和协调才能正确执行
资源共享关系 相互合作关系
进程的同步与互斥
进程同步与互斥的概念 进程同步机制应遵循的原则 利用锁机制实现同步
进程同步与互斥的概念
临界资源
– 在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访
问或使用,这种资源称为临界资源.
临界区
– 每个进程中访问临界资源的那段代码称为临界区
信号量的操作
(1)P操作:记为P(S),描述为:
– – – – – – – –
P(S) { S=S-1; if (S<0) W(S); } V(S) { S=S+1; if (S<=0) R(S); }
(2)V操作:记为V(S),描述为:
利用PV操作实现互斥 利用PV操作实现互斥
概念:
– 互斥信号量是根据临界资源的类型设置的.有几种
进程的定义
– 一个程序在一个数据集合上的一次运行过程.所以
一个程序在不同数据集合上运行,乃至一个程序在 同样数据集合上的多次运行都是不同的进程.
进程的特征
– – – – –
动态性 并发性 独立性 异步性 结构性
进程的状态
进程的三种基本状态 进程的其它两种状态 进程状态间的转换
进程的三种基本状态
就绪状态
– 【例2-5】有4位哲学家围着一个圆桌在思考和进餐,
每人思考时手中什么都不拿,当需要进餐时,每人需 要用刀和叉各一把,餐桌上的布置如图2-12所示,共 有2把刀和2把叉,每把刀或叉供相邻的两个人使用. 请用信号量及PV操作说明4位哲学家的同步过程. – 【例2-6】在南开大学和天津大学之间有一条弯曲的 小路,其中从S到T有一段路每次只允许一辆自行车通 过,但其中有一个小的安全岛M(同时允许两辆自行 车停留),可供两辆自行车错车时使用,如图2-14所 示.试设计一个算法使来往自行车可以顺利通过.
– 转调度程序重新调度,运行就绪队列中的其他进程.
进程的唤醒
引起进程唤醒的事件
– – – –
请求系统服务得到满足 启动某种操作完成 新数据已经到达 有新工作可做
进程唤醒的过程
– 从阻塞队列中找到该进程.
删除等待原因等等. – 把进程控制块插入到就绪队列.按照就绪队列的组织方式, 把被唤醒的进程的进程控制块插入到就绪队列中.
系
例如:
– 图2-1所示
程序的顺序执行
概念:
– 程序在执行时,必须按某种先后次序逐个执
行操作,只有当前一个操作执行完后,才能 执行后一个操作.
特征:
– 顺序性 – 封闭性 – 可再现性
程序的并发执行
概念:
– 是指在一个时间段内执行多个程序.
特征:
– 间断性 – 失去封闭性 – 不可再现性
程序并发执行的判断方法:
进程同步与互斥
进程的并发性 进程的同步与互斥 利用PV操作实现互斥与同步 管程的基本概念
进程的并发性
概念
– 在并发执行的系统中,若干个作业可以同时执行,
而每个作业又需要有多个进程协作完成.在这些同 时存在的进程间具有并发性
并发进程之间的关系
– 无关关系 :这些进程间彼此毫无关系,互不影响 – 相关关系 :这些进程间彼此往往相关,互相影响,
进程的其它两种状态
新状态
– 当一个新进程刚刚建立,还未将其放入就绪
队列时的状态,称为新状态.
终止状态
– 当一个进程已经正常结束或异常结束,操作
系统已将其从系统队列中移出,但尚未撤消, 这时称为终止状态.
进程状态间的转换
新状态→就绪状态 就绪状态→执行状态 执行状态→阻塞状态 执行状态→就绪状态 阻塞状态→就绪状态 执行状态→终止状态 如图2-5所示
– Bernstein条件 – 利用前趋图
Bernstein条件 Bernstein条件
原理:
– 不同运算(或程序)的读集与写集的交集和写集与
写集的交集的并集为空集时,这几个运算(或程序) 可以并发执行.
解释:
– 运算的读集是指在运算执行期间引用的所有变量的
集合; – 运算的写集是指在运算执行期间要改变的所有变量 的集合.
操作系统原理教程
第2章 处理器管理
本章教学目标
了解线程的基本概念 熟悉进程描述,进程通信和进程死锁 掌握进程控制,进程同步与互斥,进程 调度
本章主要内容
处理器管理概述 进程描述 进程控制 线程的基本概念 进程同步与互斥 进程通信 进程调度 进程死锁
处理器管理概述
处理器管理的功能 程序的执行
处理器管理的功能
整型信号量的概念
概念
– 信号量就是一种特殊变量,它用来表示系统中资源
的使用情况.而整型信号量就是一个整型变量.
说明:
– 当其值大于"0"时,表示系统中对应可用资源的数目; – 当其值小于"0"时,其绝对值表示因该类资源而被阻
塞的进程的数目; – 当其值等于"0"时,表示系统中对应资源已经都被占 用,并且没有因该类资源而被阻塞的进程.
进程的创建
引起进程创建的事件
– 用户登录 – 作业调度 – 提供服务 – 应用请求
进程创建的过程
– 为新进程分配唯一的进程标识符,并从PCB队列中申请一个空闲
PCB. – 为新进程的程序和数据,以及用户栈分配相应的主存空间及其它必 要分配资源. – 初始化PCB中的相应信息,如标识信息,处理器信息,进程控制信 息等.
类型的临界资源就设置几个互斥信号量.它代表该 类临界资源的数量,或表示是否可用,其初值一般 为"1".
例题
– 【例2-4】在一个只允许单向行驶的十字路口,分别
有若干由东向西,由南向北的车辆在等待通过十字 路口.为了安全,每次只允许一辆车通过.当有车 辆通过时其它车辆必须等候,当无车辆在路口行驶 时则允许一辆车通过.请用PV操作实现保证十字路 口安全行驶的自动管理系统.
– 如果就绪队列可以接纳新进程,便将新进程加入到就绪队列中.
进程的撤消
引起进程撤消的事件
– 进程正常结束 – 在进程运行期间,由于出现某些错误和故障而使得进程被迫中止 – 进程应外界的请求而中止运行
进程撤消的过程
– 根据被终止进程的标识符,从PCB集合中检索该进程的PCB,读
出进程状态. – 若该进程处于执行状态,则立即终止该进程的执行. – 若该进程有子孙进程,还要将其子孙进程终止. – 将该进程所占用的资源回收,归还给其父进程或操作系统.
进程同步
– 进程同步是指多个相关进程在执行次序上的协调,这些进程相互合
作,在一些关键点上需要相互等待或相互通信.
进程互斥
– 进程互斥是指当一个进程进入临界区使用临界资源时,另一个进程
必须等待,当占用临界资源的进程退出临界区后,另一个进程才被 允许使用临界资源.
进程同步机制应遵循的原则
空闲让进 忙则等待 有限等待 让权等待
利用PV操作实现同步 利用PV操作实现同步
概念
– 同步信号量是根据进程的数量设置的.一般情况下,
处理器管理的主要任务
– 是对处理器进行分配,并对其运行进行有效
地控制和管理. 进程控制 进程同步 进程通信 进程调度
处理器管理的主要功能
– – – –
程序的执行
程序执行的描述
– 前趋图
程序的顺序执行 程序的并发执行
前趋图
概念:
– 前趋图是一个有向无循环图.
要求
– 每个结点可用于表示一条语句,一个程序段等 – 结点间的有向边表示在两个结点之间存在的前趋关
– 修改该进程控制块的相关内容.把阻塞状态改为就绪状态,
线Hale Waihona Puke 的基本概念1 线程的基本概念1线程的概念
– 线程是进程中的一个实体,是被系统独立调
度和执行的基本单位.
线程与进程的比较
– 调度单位不同 – 并发形式不同 – 拥有资源 不同
线程的基本概念2 线程的基本概念2
线程的类型
– 系统级线程:是依赖于系统控制的,即无论
作用
– 通过PCB,使得原来不能独立运行的程序(数据),
成为一个可以独立运行的基本单位,一个能够并发 执行的进程.进程控制块是进程存在的唯一标志.
进程控制块的内容
进程标识信息
– 进程标识符用于标识一个进程,一个进程通有外部标识符和
内部标识符两种
说明信息
– 说明信息是有关进程状态等一些与进程调度有关的信息.
进程的挂起状态
引入挂起状态主要 原因:
– 用户的需求 – 父进程的需求 – 操作系统的需求 – 对换的需求
引入挂起状态后的进程 状态转换
– 执行状态→静止就绪 – 活动就绪→静止就绪 → – 静止就绪→活动就绪 – 活动阻塞→静止阻塞 – 静止阻塞→活动阻塞 – 静止阻塞→静止就绪
进程控制
进程控制块PCB 进程的创建与撤消 进程的阻塞与唤醒
是用户进程中的线程,还是系统进程中的线 程,它们的创建,撤消,切换都是由系统控 制实现的. – 用户级线程 :是由用户控制,对于用户级线 程的创建,撤消,切换,都与系统控制无关, 完全由用户自己管理.
超线程
超线程的概念
– 超线程技术就是利用特殊的硬件指令,在一颗实体处理器中放入两
个逻辑处理单元,从而模拟成两个工作环境,让单个处理器都能使 用线程级并行计算,同时处理多项任务,提升处理器资源的使用率.