进程与程序的关系
- 格式:doc
- 大小:25.50 KB
- 文档页数:1
第二章进程管理程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。
②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。
③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。
)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
)为什么要引入进程的概念1.进程的基本特征是什么(动态、共行、独立)•请叙述进程与程序的关系和差别2.进程有哪几种基本状态请画出各状态之间的状态变化图并说明状态转换的典型原因3.什么是PCB包含哪些主要内容其作用是什么(是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
)(为什么说PCB是进程存在的唯一标志)4.下列哪些情况是对的:⑴进程由自己创建⑷进程由于自己解除挂起⑵进程由于自己阻塞⑸进程由于自己唤醒⑶进程由于自己挂起⑹进程由自己撤消5.请解释忙等待与阻塞的区别。
6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容,⑴什么“事件”引起每次显着的状态变迁⑵当人们观察系统中所有进程时,我们能够看到由某一进下,进程变迁3能立即引起一进程的变迁1发生⑶在什么情况下,如果有的话,将发生下述因果变迁: 21;32; 41⑷在什么情况下,如果有的话,下述变迁不会立即引起其它变迁发生a) 1; b) 2; c) 3; d) 47.操作系统的内核是什么8.原语与非内核程序在执行上有什么不同9.什么是进程的控制包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的挂起,进程的激活,改变进程的优先级…等)10.什么是线程试说明进程与线程的关系与区别。
11.并发进程间的制约有哪两种引起制约的原因是什么12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗试举例说明.13.什么叫与时间有关的错误与时间有关的错误表现在哪些方面请举例说明之.14.什么是进程间的互斥什么是进程间的同步这两个概念有何区别15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程16.什么叫临界资源什么叫临界段对临界区的管理应符合哪些原则你能用什么工具去写进程间互斥的同步算法书写该算法时应注意什么问题17.下面是两个并发执行的进程,它们能正确运行吗若不能正确运行,请举例说明,并改正之(X是定义的公共变量).Cobeginvar x:integer;procedure P1 procedure P2var y,z:integer; var t,u:integer;begin beginx:=1; x:=0;y:=0; t:=0;if x>=1 then y:=y+1; if x<1 then t:=t+2;z:=y u:=tend; end;coend;18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,•什么是临界资源什么是临界段19.什么是信号量它有什么物理意义应如何设置初值请说明信号量的数据结构。
第一章绪论1、操作系统是一组控制和管理计算机硬件和软件资源、合理的对各类作业进行调度以方便用户的程序集合※2、操作系统的目标:方便性、有效性、可扩展性、开发性※3、操作系统的作用:作为计算机硬件和用户间的接口、作为计算机系统资源的管理者、作为扩充机器4、单批道处理系统:作业处理成批进行,内存中始终保持一道作业(自动性、顺序性、单道性)5、多批道处理系统:系统中同时驻留多个作业,优点:提高CPU利用率、提高I/O设备和内存利用率、提高系统吞吐量(多道性、无序性、调度性)6、分时技术特性:多路性、交互性、独立性、及时性,目标:对用户响应的及时性7、实时系统:及时响应外部请求,在规定时间内完成事件处理,任务类型:周期性、非周期性或硬实时任务、软实时任务※8、操作系统基本特性:并发、共享、虚拟、异步性并行是指两或多个事件在同一时刻发生。
并发是两或多个事件在同一时间间隔内发生。
互斥共享:一段时间只允许一个进程访问该资源同时访问:微观上仍是互斥的虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
异步是指运行进度不可预知。
共享性和并发性是操作系统两个最基本的特征※9、操作系统主要功能:处理机管理、存储器管理、设备管理、文件管理、用户管理第二章进程的描述和控制※1、程序顺序执行特征:顺序性、封闭性、可再现性※2、程序并发执行特征:间断性、失去封闭性、不可再现性3、前趋图:有向无循环图,用于描述进程之间执行的前后关系表示方式:(1)p1--->p2(2)--->={(p1,p2)| p1 必须在p2开始前完成}节点表示:一条语句,一个程序段,一进程。
(详见书P32)※4、进程的定义:(1)是程序的一次执行过程,由程序段、数据段、程序控制块(PBC)三部分构成,总称“进程映像”(2)是一个程序及其数据在处理机上顺序执行时所发生的活动(3)是程序在一个数据集合上的运行过程(4)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程特征:动态性、并发性、独立性、异步性由“创建”而产生,由“调度”而执行;由得不到资源而“阻塞”,由“撤消”而消亡※5、进程与程序关系※6、进程的三种状态:就绪、阻塞、执行转换:增加挂起:7、进程控制块(PCB)的作用:进程存在的唯一标志。
0250-0252操作系统试卷A一、简答题(每题5分,共30分)1.什么是虚拟设备?2.What’s the differrence between a process and a program?3.What’s Hyper-Treading technology?4.死锁的必要条件是什么?5.为什么将文件控制块分成主部和次部两部分?6.若系统有同类资源m个,被n个进程共享,问:当m>n和m<=n时每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?为什么?二、填空题(每空1分,共10分)1.操作系统的两个重要特性是: (1) 和 (2) 。
2.只能在管态下执行的指令称为 (3) 。
处理机状态由目态转换为管态的唯一途径是 (4) ,管态到目态的转换可以通过修改 (5) 来实现。
3.进程在其生存期内可以处于如下三种基本状态之一:运行态、就绪态和等待态。
当一个就绪进程 (6) 时,其状态由就绪变为运行,当一个运行进程被抢占处理机时,其状态由运行变为 (7) ,当一个运行进程因某事件受阻时,其状态由运行变为 (8) ,当进程所等待的事件已经发生时,该进程状态由 (9) 变为就绪。
4.线程是进程内的一个相对独立的 (10)。
三、计算题(每题10分,共40分)1.设某计算机系统采用虚拟页式存储管理方法,进程的虚拟地址空间为64KB,页面尺寸为4KB。
假设当前进程的页表如右图所示(页表以二进制形式表示),请将虚拟地址8196和2050转换为物理地址。
2.设某计算机系统采用虚拟页式存储管理方法,内存中为该进程分配4个物理页架, 开始时内存页架为空,假设进程在一段时间内的页面访问序列如下:6,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,请画图表示采用以下页面淘汰算法时的缺页中断次数:(1)最佳页面淘汰算法(OPT);(2)先进先出页面淘汰算法(FIFO);(3)使用过最久的先淘汰(LRU)。
操作系统总复习及相关习题第一章引论名词解释1操作系统操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
2管态当执行操作系统程序时,处理机所处的状态3目态当执行普通用户程序时,处理机所处的状态。
4多道程序设计在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。
这些作业共享CPU和系统中的其他资源。
5并发是指两个或多个活动在同一给定的时间间隔中进行。
它是宏观上的概念。
6并行是指两个或多个活动在同一时刻同时执行的情况。
7吞吐量在一段给定的时间内,计算机所能完成的总工作量。
8分时就是对时间的共享。
在分时系统中,分时主要是指若干并发程序对CPU时间的共享。
9实时表示“及时”或“既时”。
10系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。
每一个子功能称作一条系统调用命令。
它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。
11特权指令指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。
12命令解释程序其主要功能是接收用户输入的命令,然后予以解释并且执行。
13脱机I/O是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。
14联机I/O是指作业的输入、调入内存及结果输出都在cpu直接控制下进行。
15资源共享是指计算机系统中的资源被多个进程所功用。
例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对cpu进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。
简答题1什么是操作系统?它的主要功能是什么?答:操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
4.(可选)假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记(进入时登记,离开时去掉登记项),而且每次只允许一人登记或去掉登记,问:(1)应编写几个程序完成此项工作,程序的主要动作是些什么?应设置几个进程?进程与程序间的对应关系如何?(2)用P,V操作写出这些进程的同步通信关系。
答:编写两个进程,一个处理读者进入,一个处理读者离开,进程是程序的动态执行设置信号量full 为初值为0 ,空的信号量empty 初值为100, 互斥信号量mutex 初值为1进入离开P(empty) P(full)P(mutex) P(mutex)登记取消登记V(mutex) V(mutex)V(full) V(empty)进入离开5.进程A1、A2、…、A n1通过m个缓冲区向进程B1、B2、…、B n2不断地发送消息,发送和接收工作遵循如下规则:(1)每个发送进程每次发送一个消息,写入一个缓冲区,缓冲区大小与消息长度一样。
(2)对每一个消息,B1、B2、…、B n2都需要各接收一次,读到各自的数据区内。
(3)m个缓冲区都满时,发送进程等待;没有可读的消息时,接收进程等待。
试用P、V操作组织正确的发送和接收操作。
答:V ARmutex :Semaphore :{ 初值为1 ,实现对缓冲区的互斥}empty :Semaphore :{ 初值为n, 有多少缓冲}Full :Array[1..n] OF Semaphore :{ 初值为0, 每个接收进程当前可接收的缓冲区}Count :Array[1..n] OF INTEGER;{ 初值为0,n 个缓冲区被访问的次数} ReceivePointer:Array[1 …n] OF INTEGER{ 初值为0 ,该接收进程要取哪个} SendPointer :INTEGER;{ 初值为0, 发送进程下次要放到哪个缓冲区}发送进程(num :INTEGER) {num 为进程号}RepeatP(empty)P(mutex)向buff[sendPointer] 放消息sendPointer := (sendPointer+1 )mod kcount[sendPointer] :=0V(mutex)For i:=1 To n DoV(Full[i])Until FALSE接收进程(num:INTEGER ):{num 为接收进程号}RepeatP(Full[num])P(mutex)从buff[ReceivePoiner[num]] 中取消息V(mutex)Count[ReceivePoiner[num]] := Count[ReceivePoiner[num]]+1IF(Count[ReceivePoiner[num]]==n)THEN V(empty)Count[ReceivePoiner[num]]==0ReceivePoiner[num]] :=(ReceivePoiner[num])+1)mod nUntil FALSE6.爱睡觉的理发师问题[Dijkstra,1968]。
7.进程与程序的关系
程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。
而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
程序可以作为一种软件资料长期存在,而进程是有一定生命期的。
程序是永久的,进程是暂时的。
进程更能真实地描述并发,而程序不能;
进程是由进程控制块、程序段、数据段三部分组成;
进程具有创建其他进程的功能,而程序没有。
同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。
也就是说同一程序可以对应多个进程。
在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。