第2章进程概念和基本状态
- 格式:ppt
- 大小:2.50 MB
- 文档页数:35
第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。
进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。
进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:·进程是动态的;程序是静态的。
·进程有独立性,能并发执行;程序不能并发执行。
·二者无一一对应关系。
·进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。
这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。
(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
引言概述:正文内容:一、进程概念1.进程定义:解释了进程的概念,即操作系统中正在运行的程序的抽象表示。
2.进程特点:介绍了进程的特点,包括并发性、独立性、动态性等。
3.进程的组成:详细说明了进程的组成部分,如程序代码、数据、程序计数器等。
二、进程状态转换1.进程状态定义:解释了进程状态的概念,包括就绪状态、执行状态和阻塞状态。
2.进程状态转换图:介绍了进程状态之间的转换关系,包括就绪态到执行态、执行态到阻塞态等转换过程。
3.进程状态转换的原因:详细说明了进程状态转换的原因,如系统调用、I/O请求等。
三、进程控制块1.进程控制块定义:解释了进程控制块的概念,即操作系统中用于管理进程的数据结构。
2.进程控制块内容:介绍了进程控制块中包含的信息,如进程标识符、程序计数器、寄存器值等。
3.进程控制块的作用:详细阐述了进程控制块在进程管理中的作用,如记录进程的状态、管理进程资源等。
四、进程调度1.进程调度策略:解释了进程调度的概念和目标,介绍了常见的调度策略,如先来先服务调度、短作业优先调度等。
2.进程调度算法:详细介绍了进程调度的几种常见算法,包括FCFS算法、SJF算法以及时间片轮转算法等。
3.进程优先级调度:阐述了进程优先级调度的概念和实现方式,包括静态优先级和动态优先级调度。
五、进程同步与通信1.进程同步问题:解释了进程同步的概念和需要,介绍了产生进程同步问题的原因,如资源竞争、进程间依赖等。
2.进程同步方法:详细阐述了几种常见的进程同步方法,包括互斥锁、信号量等。
3.进程通信机制:介绍了进程通信的概念和实现方式,包括管道、消息队列、共享内存等。
总结:通过本文的阐述,我们对王道操作系统第2章(二)的内容有了全面的了解。
我们详细介绍了进程概念、进程状态转换、进程控制块、进程调度以及进程同步与通信等方面的内容,并在每个大点中详细阐述了相关的小点。
操作系统进程管理是操作系统的重要组成部分,对于理解操作系统的运行机制具有重要意义。
第二章进程管理2.1 进程的基本概念2.1.1 程序的顺序执行及其特征1.程序的顺序执行程序是人们要计算机完成的一些指令序列,是一个按严格次序、顺序执行的操作序列,是一个静态的概念。
我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。
2.1.2 进程的定义与特征1.进程的定义人们对进程下过许多定义。
现列举其中的几种:⏹进程是程序的一次执行。
⏹进程是可以和别的进程并发执行的计算。
⏹进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。
⏹进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位⏹进程是动态的,有生命周期的活动。
内核可以创建一个进程,最终将由内核终止该进程使其消亡。
进程和程序是两个完全不同的概念,但又有密切的联系。
它们之间的主要区别是:⏹程序是静态的概念;而进程则是程序的一次执行过程。
它是动态的概念。
⏹进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。
⏹程序和进程无一一对应的关系。
⏹各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。
2.1.3 进程的基本状态及转换1.进程的三个基本状态进程通常至少有三种基本状态:(1)就绪状态(ready)进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。
(2)执行状态(running)外部条件满足,进程已获得CPU,其程序正在执行。
在单处理机系统中,只有一个进程处于执行状态。
(3)阻塞状态(blocked)进程因等待某种事件发生,而暂时不能运行的状态,称为阻塞状态,也称为等待状态。
系统中处于这种状态的进程可能有多个,通常将它们排成一个队列,也有的系统则根据阻塞原因的不同将这些进程排成多个队列。
2.进程状态的转换对于一个系统中处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,相应地,它由就绪态转变为执行状态。
操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。
操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。
本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。
一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。
进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。
1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。
进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。
1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。
进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。
1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。
调度算法可以采用先来先服务、短作业优先、轮转等多种方式。
1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。
一个进程可以包含多个线程,线程共享进程的资源。
1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。
线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。
1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。
线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。
二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。
2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。
一、进程定义1.进程是具有某一个功能的程序在某一个数据集合上的执行过程,是资源调度分派的独立单位。
调度:是从就绪队列中选择一个进程,不同的调度算法选择的结果不一样•分派:把CPU的使用权交给选择出来的进程•2.进程也是执行中的程序,它包括进程堆栈段(临时数据)、数据段(全局变量)、程序计数器3.进程的两个基本特性:动态性(进程实质是程序的一次运行活动,有生命过程)、并发性(系统中可同时存在多个进程,各自互相独立的向前推进)4.知道程序与进程的区别程序是完成所要求的功能时所应采取的顺序步骤,是执行指令的有序集合。
•进程是程序的一次运行活动,是一个动态概念•区别:程序是一个静止的概念,作为一种资源可以永久存放在磁盘上。
进程是程序执行的动态活动过程,随程序执行而诞生,随程序执行结束而消亡。
a.静止状态的程序和数据是相互独立的信息集合。
进程中的程序和数据是一个不可分割的实体。
b.一个程序可以对应多个进程c.•5.进程的组成部分:程序、数据、PCB(进程控制块)PCB进程控制块包含管理特定进程的有关信息:进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、IO状态信息•什么是PCB——PCB是操作系统内核中的数据结构,包含管理特定进程所需的信息(如上)•二、进程状态(新、就、运、等、停)(记法:ready三个入度一个出度,running三个出度,上被下主)CPU调度决策发生在以下四个黄色进程切换状态状态转换的说明新-就绪(抢占):新进程被允许后进入就绪队列•就绪-运行(抢占):当处理机空闲时,系统按照一定调度算法从就绪状态中选择一个使其占用处理机运行。
•运行-就绪(非抢占):分配给进程的时间片用完时,或出现一个更紧急的进程时•运行-等待(非抢占):运行的进程需要等待某一事件发生后,才能继续往下运行•等待-就绪(非抢占):处于等待的进程,如果其等待的事件已经发生,表示阻塞的原因已解除,则该进程从等待转为就绪•注意点:(被)抢占非抢占抢占(别人)非抢占第二章.1节进程基本概念2018年7月7日11:171.等待进程在等待原因解除后,虽然再次具备了运行条件,但不能直接运行,而要先转换成就绪,等待调度2.从运行态到就绪态的转换是被动的3.从运行态到等待的转换是主动的4.从等待到就绪的状态转换是由外部事件引起的三、调度——从就绪队列中选择一个进程,不同的调度算法选择的结果不一样1.三种调度(长期调度、短期调度、中期调度)•长期调度——作业调度,决定多道程序的度choose a job among several ones ready to be brought into memory(into ready queue)•短期调度——CPU调度,choose a job among several ones ready to run(into cpu)•中期调度medium-term scheduling将进程从内存或者CPU中移出,降低多道程序的度,作用机制:改善进程组合、释放内存四、上下文切换(context switch)1.任务——保存CPU当前的运行状态(旧进程状态存在PCB中)并加载新进程的保存状态2.上下文切换是系统的额外开销,切换时系统不能做其他工作五、创建进程1.父进程与子进程父进程可以与子进程并发执行,也可以等待子进程执行完毕,父进程再继续执行2.fork()创建一个新进程并拷贝父进程的程序和指令,exec()把子进程的内容更新成想要的3.父进程的返回值=子进程的标号(非0),子进程的返回值=0,作用是防止进程的无限创建六、生产者消费者问题——协作进程的通用范例Bounded buffer(有限缓冲)问题1.初始化一个有限缓冲空间,in=0,out=0;2.当in==out,缓冲区空当(in+1)%buffersize==out,缓冲区满。
第2章进程进程(process)的概念是操作系统中最基本,最重要的概念。
它是在多道程序设计出现后,为了刻划系统内部出现的情况,描述系统内部各作业的活动规律而引进的一个新概念。
2.1 进程介绍2.1.1 程序的顺序执行与特征传统程序概念是顺序执行的。
计算机原理中提到程序计数器PC(程序的地址寄存器,汇编语言中叫IP)概念。
CPU从PC中取出程序首地址,PC自动加1,指向下一条应执行指令的地址,这就决定了程序是顺序执行的,即使转移或调子程序后,仍是顺序执行(见右图)。
如果在进行计算时,按存储程序式计算机体系结构的方式,应经过这样几个步骤:2.1.2 程序的并发执行和资源共享引入多道程序设计之后,系统内的情况就不同了。
1.多道程序的特点首先是并行(parallel,硬件实现)并发(concurrence,软件实现)。
硬件上:利用通道(I/O处理机),主机与外设并行多通道,外设与外设并行。
软件上:同时把几个作业放入内存,这些程序段的执行在时间上是重叠的。
如果还用结点图表示如采用一定的技术(spooling),I2可以与C1同时进行。
C1申请I/O时(或时间片到),C2可以开始执行。
I3又同时可以开始。
从例中可以看出I1先于C1和I2;C1先于P1和C2;P1先于P2。
同时I2和C1,I3、C2和P1,I4、C3和P2是重叠的。
2.资源共享、程序并行带来了新问题①失去了程序的封闭性:假设一个飞机定票系统有两个终端,分别运行进程T1和T2。
进程执行:cobeginrepeat T1(x);repeat T2(x);coend进程定义:procedure T1(x1); | procedure T2(x2);var x1:integer; | var x2:integer;begin | begin按用户要求找到aj; | 按用户要求找到aj;x1:=aj; | x2:=aj;if x1>=1 then | if x2>=1 thenbegin | beginx1:=x1-1; aj:=x1; | x2:=x2-1; aj:=x2;输出一张票| 输出一张票end; | end;else 输出‚票售完‛| else 输出‚票售完‛end; | end;aj:=1 ,T1查询到x>=1,时间片到,轮到T2。