操作系统的原理与应用的答案.doc_第1页
操作系统的原理与应用的答案.doc_第2页
操作系统的原理与应用的答案.doc_第3页
操作系统的原理与应用的答案.doc_第4页
操作系统的原理与应用的答案.doc_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统复习思考题答案第1章 操作系统概论1.1名词解释多道程序设计:是指在计算机内存中可以同时装入多道程序执行,多道程序交替执行,合理搭配,共享系统中的各种硬件和软件资源,从而使系统资源得到充分的利用。分时技术:主计算机采用时间分片的方式轮流地为各个终端上的用户服务,及时地对用户的服务请求予以响应。实时:实时含有立即、及时的意思。响应时间是实时系统最关键指标。用户接口:由操作系统提供的方便用户使用计算机的接口。用户接口有三类:命令行接口、图形用户接口和程序接口。时间片:将主机CPU的时间划分割成若干个片段,每个时间片段称为时间片(time slice),时间片就是分时系统的时间单位。并发:并发(Concurrence)是指两个或多个事件在同一时间间隔内发生。虚拟:虚拟(Virtual)是指把一个物理实体,变为若干个逻辑上的对应物。物理实体是实的,而后者是虚的,是逻辑上的。共享:共享(Sharing)是指多个用户或多个进程共享系统的软硬件资源。不确定性:不确定性是指同一个程序在同样一个数据集下,在同样一个计算机硬件环境下执行,每次执行的次序和所需的时间都不相同。操作系统的不确定性不是指程序执行结果的不确定性。程序执行结果不确定性的原因往往是由于程序设计本身的错误或由于各程序段之间的配合不当而引起的。虚拟机:将操作系统分成若干个层次,每一层次完成特定的功能,构成一个逻辑上的虚拟机,并为上层提供服务支持,构成上层的运行环境。从另一个角度看,在虚拟机中,系统为CPU配备了一定资源,虚拟机是支持多任务并发运行在单个物理CPU上的一种系统。系统调用:系统调用就是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段。1.2选择题操作系统负责为用户和用户程序完成所有C.的工作;A.硬件无关和应用有直接关系 B.硬件无关和应用无直接关系C.硬件有关和应用无直接关系 D.硬件有关和应用有直接关系从用户的观点看,操作系统是A.。A.用户与计算机之间的接口 B.合理地组织计算机工作流程的软件C.控制和管理计算机资源的软件 D.由若干层次的程序按一定的结构组成的下列选择中,D.不是操作系统关心的主要问题。A.管理计算机裸机 B.设计、提供用户程序与计算机硬件系统的界面C.管理计算机系统资源 D.高级程序设计语言的编译器配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机是一台逻辑上的计算机,称为C.计算机。A.并行 B.真实 C.虚拟 D.共享操作系统中采用多道程序设计技术提高了CPU和I/O设备的A.。A.利用率 B.可靠性 C.稳定性 D.兼容性几年前一位芬兰大学生在Internet上公开发布了以下一种免费操作系统B.,经过许多人的努力,该操作系统正不断完善,并被推广。A.Windows XP B.Linux C.UNIX D.OS2允许多个用户以交互方式使用计算机的操作系统称为B.;允许多个用户将多个作业提交给计算机集中处理的操作系统称为A.;计算机系统能及时处理过程控制数据并做出响应的操作系统称为D.;具有网络功能的操作系统称为E.。A.批处理操作系统 B.分时操作系统C.多机操作系统 D.实时操作系统 E.网络操作系统为方便用户,操作系统负责管理和控制计算机系统的B.。A.软件资源 B.硬件和软件资源 C.用户有用资源 D.硬件资源下面关于操作系统的叙述中正确的是A.。A.批处理作业必须具有作业控制信息。B.分时系统不一定都具有人机交互功能。C.从响应时间的角度看,实时系统与分时系统差不多。D.由于采用了分时技术,用户可以独占计算机的资源。10.导弹控制系统应选择安装实时操作系统;学校图书馆计算机管理应选择安装D.;计算机语言学习系统应选择安装B.;工业过程控制系统应选择安装C.。A.批处理操作系统 B.分时操作系统 C.实时操作系统D.网络操作系统 E.分布式操作系统11.操作系统与用户间接口不仅需要智能化、多媒体化、个性化,也还需要A.。A.键盘命令 B.汇编指令 C.机器指令 D.通道命令1.3 综合题分别从资源的观点,虚拟机的观点及用户的观点叙述什么是操作系统?资源的观点操作系统作为计算机系统的资源管理者。一个计算机系统包含硬件资源和软件资源。归纳起来可以将资源分为四类:CPU、内存、设备及文件(程序和数据)。相应地,操作系统的主要功能也正是针对这四类资源进行有效管理的。即CPU管理、存储管理、设备管理和文件系统。虚拟机的观点虚拟机(virtualmachine)的观点从功能分解的角度出发,将操作系统分成若干个层次,每一层次完成特定的功能,构成一个逻辑上的虚拟机,并为上层提供服务支持,构成上层的运行环境。通过逐个层次功能的扩充最终完成操作系统的功能。在虚拟机中,系统为CPU配备了一定资源,虚拟机是支持多任务并发运行在单个物理CPU上的一种系统。服务的观点操作系统的使命就是为用户服务,为计算机系统服务。操作系统是服务的提供者,为用户提供一个良好的工作环境,向用户提供各种各样的服务,使得用户能够灵活、方便、有效的使用计算机,为计算机系统服务就是提高整个计算机系统资源利用率。“操作系统的工作是与硬件相关、与应用无直接关系”的说法正确吗?正确。操作系统的目标是什么?方便性、有效性、可扩充性、开放性和标准化、可靠性、可移植性叙述操作系统在计算机系统中的地位和作用? (1)操作系统的地位:操作系统是软件系统中最重要的.最基础的系统。它是配置在裸机上的第一层软件,是对硬件系统的第一次扩充。它在计算机系统中占有特殊地位,其他所有软件都将依赖与操作系统的支持,取得它的服务。操作系统是支撑各种应用软件的平台,操作系统为用户提供良好的工作环境。 (2)操作系统的作用:从一般用户的观点,可把操作系统作为用户与计算机系统之间的接口;从资源管理观点,则可把操作系统作为计算机系统资源的管理者和竞争资源的仲裁者;操作系统必须提高计算机资源的利用率;操作系统是计算机系统的调度指挥中心;操作系统是计算机系统功能的扩充。试从独立性、同时性、交互性和及时性四个方面来比较批处理系统、分时系统和实时系统。 (1)批处理系统、实时信息处理系统与分时系统具有同时性,均指系统按分时原则为多个终端用户服务;而实时控制系统的多路性则体现在经常对多路的现场信息进行采集及对多个对象或多个执行机构进行控制。 (2)实时信息处理系统与分时系统具有相同的独立性,均指每个终端用户在向系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统的独立性则体现在系统中不同信息的采集或不同对象的控制相互独立、互不干扰。批处理系统用户不能独立地操作系统, (3)实时信息处理系统对及时性的要求与分时系统相类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性则是以实时任务的性质或控制对象所要求的开始截至时间或完成截至时间来确定的。批处理系统的部分用户作业及时性差。 (4)实时信息处理系统虽也具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序,它不像分时系统那样能像终端用户提供数据处理、资源共享等服务。批处理系统无交互能力。操作系统有哪些特征?其特征之间的关系是什么? (1)操作系统具有并发性.共享性.虚拟性.不确定性四大特征。 (2)操作系统四大特征之间的关系。这四大特征之中,最为重要的是并发性,其他三个特征都是以并发为前提的。并发和共享是操作系统两个最基本的特征,这两者之间又是互为条件的。资源共享是以进程并发执行为前提条件,若系统不允许进程并发执行,自然不存在资源共享问题。若系统不能对资源共享实施有效的管理,也必将影响进程的并发执行,甚至根本无法并发执行。什么是系统调用?如何实现系统调用? (1)系统调用就是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段。 (2)实现系统调用需要完成以下三个工作:1)执行访管指令(或陷入指令),引起访管中断,使处理机从目态进入管态,并向操作系统提出任务请求。2)在管态下由操作系统完成用户程序提出的请求。3)操作系统完成所做请求后,应返回到用户程序,即从管态又回到原来目态。何谓作业、作业步、作业流? 用户在一次数据处理中,要求计算机所做的全部工作的总和称为作业。作业由三部分组成:用户程序、数据和作业说明书。 在处理作业过程中,所经过的步骤称为作业步,如某作业经历编译、链接、执行等作业步。 在批处理系统中,常把一批作业按某种次序一个接一个输入到系统中,形成一个作业流。在一个多道程序系统中,一个作业从提交给系统到退出系统,通常要经历哪几个阶段和哪些状态? 当操作员把用户作业的全部信息利用输入设备输入到外存中的过程称为作业的提交状态;由“作业注册”程序为进入系统的作业建立作业控制块(Job Control Block,JCB),并把它加入到后备作业队列中,随时等候作业调度程序调度,此时作业处于后备状态;作业从提交状态到后备状态的转换过程也就是作业的注册过程。作业调度程序从后备作业队列中选择若干个符合调度原则的作业,给他们分配内存等必要的资源,创建一组相应的进程,这些作业就进入了执行状态;经过CPU的执行,有些作业正常结束或因错误而终止,此时作业进入完成状态,其作业控制块由系统输出程序撤消,系统回收资源,将作业执行的结果信息加入输出井中,通过有关的输出设备输出。10.什么是多道程序设计技术?引入多道程序设计技术的起因和目的是什么? 多道程序设计技术是指在计算机内存中可以同时装入多道程序执行,多道程序交替执行,合理搭配,共享系统中的各种硬件和软件资源,从而使系统资源得到充分的利用。 在早期批处理系统中,内存只存放一道程序,称为单道批处理系统。这种系统的管理很简单,对CPU的利用率极低。其原因是CPU经常要与外界交换数据,即进行I/O操作。而CPU的速度很快,外部设备的速度很慢,因此CPU除了花很少时间执行程序外,大部分时间在等待外设的I/O操作。 引入多道程序设计技术的目的是为了提高CPU等资源的利用率和系统吞吐量,共享系统资源。当正在执行的程序A因I/O而暂定执行时,CPU立即转去执行另一道程序B;当第二道程序B又因I/O而暂定执行时,CPU又转去执行第三道程序C。显然,多道程序设计技术提高了CPU的利用率,同时也显著改善了内存和I/O设备的利用率,从而也使系统的吞吐量获得大幅度提高。11.多道程序设计与分时技术的区别与联系? (1)多道程序设计是指在计算机内存中可以同时装入多道程序运行,多道程序交替运行,合理搭配,共享系统中的各种硬件和软件资源,从而使系统资源得到充分的利用。 (2)分时系统是基于主从式多终端的计算机体系结构。分时系统是将计算机CPU的运行时间分割成一个个微小的时间片,把这些时间片依次轮流地分配给各个终端用户的程序执行,每个用户程序仅仅在它获得的CPU时间片内执行。当时间片用完,用户又处于等待状态,此时CPU又为另一个用户服务。 多道程序设计技术不是基于时间片,而是基于程序的I/O中断。当正在执行的程序A因I/O而暂定执行时,CPU立即转去执行另一道程序B;当第二道程序B又因I/O而暂定执行时,CPU又转去执行第三道程序C。显然,多道程序设计技术提高了CPU的利用率,同时也显著改善了内存和I/O设备的利用率,从而也使系统的吞吐量获得大幅度提高。 联系:多道程序设计和分时技术都是为了提高资源的利用率和系统吞吐量,共享系统资源。多道程序设计和分时技术都是微观上串行的,宏观上并行。12.试论叙操作系统的功能?CPU管理:主要功能是进程控制、进程同步与互斥、CPU调度、进程通信、死锁检测与处理等。存储管理:主要功能是内存分配、内存保护、地址映射、内存扩充。 设备管理:主要功能是充分利用各种设备资源,包括缓冲管理、设备独立性、虚拟设备、设备的分配、设备驱动、设备的控制等。文件系统:主要功能是按名存取文件,文件存储空间的分配和回收、目录管理、文件的存取控制、文件的安全与维护、文件逻辑地址与物理地址的映像、文件系统的安装、卸除和检查等。网络功能包括网络设备驱动程序,基于消息传递的网络通信,网络通信原语的应用格式,端口和套接字的概念,利用套接字进行网络通信等。网络通信协议的实现涉及到操作系统内部的多种功能,将网络通信协议作为操作系统的一项功能,一并设计有利于提高网络通信的效率和可靠性。 内置网络是网络操作系统的一大特点。通信和网络功能紧密地与内核结合在一起为用户提供了完善的、强大的网络功能。用户接口:由操作系统提供的方便用户使用计算机的接口。操作系统的用户接口有三类:命令行接口、图形用户接口和程序接口。13.试论叙操作系统形成与发展的主要动力?推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量。推动分时系统形成和发展的主要动力是用户需要,即人机交互、共享主机和便于用户上机。分时系统是为了满足用户需求所形成的一种操作系统。实时系统是另一类特殊的多道程序系统,它主要应用于需要对外部事件进行及时响应并及时处理的领域。推动操作系统发展的动力如下:不断提高计算机资源利用率的需要。方便用户使用计算机。计算机器件的不断更新换代。计算机体系结构的不断发展。14.操作系统经历了哪些发展阶段?手工操作阶段单道批处理阶段多道批处理系统分时系统实时系统到80年代已趋于成熟,但它仍沿着两个方向继续向前发展,一个是随着计算机系统结构的发展,形成多CPU操作系统、网络操作系统和分布式操作系统;另一个则是把操作系统应用于微机,形成微机操作系统、嵌入式操作系统。15.何谓用户接口?通常在操作系统和用户之间提供哪几种类型的接口? 由操作系统提供的方便用户使用计算机的接口。操作系统的用户接口有三类:命令行接口、图形用户接口和程序接口。16.操作系统具备六大功能,如果缺少了其中的某个功能将会对系统的运行产生什么样的影响?CPU管理、存储管理、设备管理、文件系统是操作系统的核心,如果缺少任何一个功能构成操作系统。缺少网络功能,用户无法与其他计算机实时沟通。缺少用户接口,用户无法使用计算机。17.预测未来会有什么样的新型操作系统问世?并阐明预测的理由?第2章 进程管理复习思考题2.1名词解释进程:进程是正在执行的程序, 即在并发环境下一个程序在一个数据集合上的一次执行过程。进程控制块:进程控制块是由操作系统维护,用来记录进程相关信息的数据结构。进程的组成中,程序段和数据段是进程存在的物质基础,是进程的实体,进程控制块是进程存在的唯一标志。上下文切换:在多进程并发执行中,将CPU切换到另一个进程需要保存原来进程的关联状态并装入新进程的关联状态。这一任务称为上下文切换(context switch)。原语:原语(primitive)是机器指令的延伸,是由若干条机器指令构成的,用以完成特定功能的一段程序。原语在执行过程中不能被分割。临界资源:临界资源是指在一段时间内仅允许一个进程使用资源。如打印机、输入机、磁带机和指针等,临界资源可以互斥共享。共享资源:是指允许多个进程同时访问的资源。如CPU、内存和硬盘等。临界区:每个进程访问临界资源的那段程序从概念上分离出来,称之为临界区。超时:由于用完时间片或高优先级进程就绪等原因导致进程暂停运行。事件:进程同步:进程同步是指两个或两个以上进程要协作完成一个任务,他们之间就要互相配合与协调,即一个进程的某些动作与协作进程的某些动作之间在时序上要有一定的制约关系。进程的互斥:多个进程访问临界资源时在操作时间上相互排斥,这种相互排斥关系叫做进程的互斥wait操作:执行一次wait操作,意味着申请一个单位的资源,定义如下:s.value减一;若s.value=0,则进程继续运行;若s.value0,则进程继续运行;若s.value=0,则从该信号量等待队列WQr中唤醒队首进程。信号量:信号量是仅能由P操作、V操作改变的结构体变量。信号量的值大于等于零时代表一类可用资源个数,其值小于零时其绝对值代表被阻塞进程的个数。管程:关于共享资源的数据结构以及一组针对该资源的操作过程所构成的软件模块。一个管程就是一个基本程序单位,可以单独编译。2.2选择题在进程的生命周期中,该进程与它本身所执行的程序个数是A.的关系。对于一个可执行的程序文件,该程序与执行它的进程是B.的关系。A.一对一 B.一对多 C.多对一 D.多对多进程和程序的一个本质区别是D.。A.前者分时使用CPU,后者独占CPU B.前者存储在内存,后者存储在外存C.前者在一个文件中,后者在多个文件中 D.前者为动态的,后者为静态的进程的并发执行是指若干个进程D.。A.同时执行 B.CPU运行时间是重叠的C.CPU运行时间是不可重叠的 D.共享系统资源若P、V操作的信号量S初值为2,当前值为1,则表示有B.等待进程。A.0个 B.1个 C.2个 D.3个下列的进程状态转换中C.转换是不可能发生的。A.运行就绪 B.执行等待 C.等待运行 D.等待就绪下面对进程的描述中,错误的是D.。A.进程是动态的概念 B.进程运行需要CPUC.进程是有生命期的 D.进程是指令的集合下面的叙述中正确的是D.。A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。B.信号量的值表示该类可用资源的数量。C.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状态有关的信息。D.进程同步是指某些进程之间在执行次序上的相互制约关系。在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次B.。A.等待活动 B.运行活动 C.单独操作 D.关联操作下面所述步骤中,A.不是创建进程所必需的。A.由调度程序为进程分配CPU B.建立一个进程控制块C.为进程分配内存 D.将进程控制块链入就绪队列10.在进程管理中,当C.时,进程从阻塞状态变为就绪状态。A.进程被进程调度程序选中 B.等待某一事件C.等待的事件发生 D.时间片用完11.对进程的管理和控制使用B.。A.指令 B.原语 C.信号量 D.信箱通信12.操作系统通过B.对进程进行管理。A.进程标识符 B.进程控制块 C.进程启动程序 D.进程控制区13.程序的顺序执行通常在A.的工作环境中,具有以下特征C.;程序的并发执行在B.的工作环境中,具有如下特征D.。A.单道程序 B.多道程序 C.程序的可再现性 D.资源共享14.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态是C.。A.从就绪变为运行 B.从运行变为就绪C.从运行变为阻塞 D.从阻塞变为就绪15.信箱通信是一种B.通信方式。A.直接通信 B.间接通信 C.低级通信 D.信号量16.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为D.。A.进程互斥 B.进程同步 C.进程制约 D.进程通信17.下面关于管程的叙述中错误的是B.。 A.管程是一个基本程序单位,可以单独编译。 B.管程中有数据结构,但不包含对数据的操作。 C.管程外可以调用管程内部定义的一些函数,但函数的具体实现外部不可见。 D.管程是关于共享资源的数据结构以及一组针对该资源的操作过程所构成的软件模块。2.3综合题试说明进程和程序的区别与联系?程序是有序代码的集合,是一个静态的概念。进程是程序的一次执行过程,是一个动态概念。进程不可以在计算机之间迁移,而程序通常对应着文件,可以复制。进程是一个状态变化的过程,是有生命期的。而程序是永久的,可以长久保存。进程与程序的组成不同。进程由程序段、数据段和进程控制块组成,而程序仅是代码的有序集合。进程与程序是密切相关的。通过多次执行,一个程序可对应多个进程。但进程与它本身所执行的程序只能是一对一的关系。进程更能真实地描述并发,而程序不能。进程可创建其他进程,而程序并不能形成新的程序。引入进程,对操作系统产生那些影响?进程是正在执行的程序, 即在并发环境下一个程序在一个数据集合上的一次执行过程。由于多个程序并发执行产生了一系列新特征,为了准确地描述并发程序的执行,必须引入进程的概念。操作系统引入进程,可以实现多个进程的并发执行,提高了系统资源的利用率,提高了系统的吞吐量。但由于每个进程配备进程控制块PCB,增加了内存的空间开销。进程之间的切换、同步等需付出时间开销,引入进程会带来额外的时空开销,增加了操作系统的复杂性。为什么PCB是进程存在的唯一标志?PCB是由操作系统维护,用来记录进程相关信息的数据结构。它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。进程块随着进程的创建而创建,即创建一个进程,就是为进程配备一个PCB;操作系统是根据进程控制块来对并发执行的进程进行控制和管理的;PCB随着进程的撤消而撤消,即撤消一个进程,就是撤消进程的PCB,。在进程的生命期中操作系统是通过PCB对进程进行管理和控制,系统使根据进程的进程控制块而不是任何别的什么来感知到该进程的存在的,所以说进程控制块PCB是进程存在的唯一标志。在单机系统中,如果系统中有N个进程,运行状态的进程最多几个?最少几个?就绪状态的进程最多几个?最少几个?等待状态的进程最多几个?最少几个? 运行状态的进程最多有1个,最少0个。就绪状态的进程最多有N个,最少0个,等待状态的进程最多N个,最少0个。进程的状态有没有这样的状态转换,等待状态运行状态,就绪状态等待状态。为什么?没有这样的状态转换。等待状态的进程是在运行过程中,因等待某一事件而暂时无法执行,或者说进程的运行受到了阻塞。当进程等待的事件发生时,进程只能从等待状态转变为就绪状态,在就绪状态下,通过处理机调度。进程才有可能进入运行状态。在就绪状态下,通过处理机调度。进程只能进入运行状态。在运行过程中,因等待某一事件而暂时无法执行,进程才有可能进入等待状态。同步机构应遵循的四条准则是什么?为什么要同时满足这四条准则,如违背了其中的基本准则,其后果是什么?空闲让进。当无进程处于临界区时,允许一个申请进入临界区的进程进入临界区。以有效的利用临界资源。忙则等待。当一个进程进入临界区时,其他申请进入临界区的进程必须等待。以保证诸进程互斥地访问临界资源。有限等待。进程在临界区内仅停留有限的时间,对要求进入临界区的进程,应能在有限的时间内进入临界区。以避免陷入“死等”状态。让权等待。处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权。以避免进程陷入“忙等”和浪费处理机资源。多个进程无法同步,产生同步错误。或使系统“死等”、忙等”和浪费处理机资源。例举一些日常生活中类似进程的例子?在进程概念中体现出的两个独立且无关的属性是什么? 传统进程具有两个属性,即操作系统进行资源分配的基本单位和CPU调度或执行程序的基本单位。试说明什么是进程的同步与互斥? 进程同步是指两个或两个以上进程要协作完成一个任务,他们之间就要互相配合与协调,即一个进程的某些动作与协作进程的某些动作之间在时序上要有一定的制约关系。 多个进程访问临界资源时在操作时间上相互排斥,这种相互排斥关系叫做进程的互斥10.如何进行进程之间的上下文切换? 在多进程并发执行中,将CPU切换到另一个进程需要保存原来进程的关联状态并装入新进程的关联状态。这一任务称为上下文切换(context switch)。进程关联状态的保存是由PCB完成的,保存关联状态包括CPU寄存器的值、进程状态和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要运行的新进程的已保存的关联状态。上下文切换时间是系统额外开销,因为切换时系统并不能执行进程的指令,无法使进程向前推进。11.在多进程并发环境中,试论述进程与进程之间、进程与资源之间关系? (1)进程之间的关系:系统中多个进程并发执行,由于资源共享及进程间合作而产生进程之间的相互制约,进程间的相互制约有间接相互制约和直接相互制约两种不同的方式。1)间接制约关系 这种制约主要源于资源共享,这是不相关的进程由于共享同一资源而引起的,即共享某类资源的进程之间由操作系统协调与控制使用该资源的次序而产生相互制约。这种制约是进程-资源-进程之间存在的约束,故称为间接制约。2)直接制约关系 这是相关进程之间为完成同一任务,进程某种操作之间在次序上存在制约关系。如果协作进程的某个操作没有完成,那么进程就会在工作到某些点上等待这个动作的完成,之后才能继续执行下去。称这些并发执行的进程间存在着制约关系。这种制约是进程与进程之间因共同目的而存在的直接约束,故称为直接制约。总之,进程之间的这种相互依赖又相互制约 相互合作又相互竞争的关系,需要进程之间存在某种形式的通信。(2)进程是系统的工作单元,资源是计算机系统的基本结构元素,资源是为进程服务的,进程的执行需要资源的支持。进程和资源之间关系的操作系统的重要关系,操作系统的主要研究和处理进程和资源之间的关系。12.在结构体型信号机制中,试描述wait、signal操作的数据结构?并说明wait、signal操作的物理意义?信号量的描述如下:struct semaphore int value;ProcessQueue *WQr; ;wait操作描述和定义如下:void wait(semaphore s) -s.value;if(s.value0) block(s.WQr);/*阻塞该进程*/signal操作描述和定义如下:void signal(semaphore s) +s.value;if (s.value=0时,表示该类可用资源的数量。当s.value0时,表示该类可用资源已经没有资源可以分配,s.value的绝对值表示信号量阻塞队列中被阻塞进程的数量。13.在生产者和消费者过程中,为什么说signal操作的顺序无关紧要,而wait操作的顺序不可颠倒?每个程序中的多个wait操作顺序不能颠倒,应先执行对资源信号量的wait操作,然后再执行对互斥信号量的wait操作,否则可能引起死锁。14.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,什么是临界资源?什么是临界区?临界资源是单行道,从A地到B地的行车过程为临界区。15.在公共汽车上,司机的活动:启动汽车、行车、到站停车。售票员的活动:关车门、售票、开车门。请写出司机与售票员之间的同步算法。为了安全起见,显然要求:罐车门后才能启动车辆;到站停车后才能开车门。所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0。用PV操作实现司机进程和售票员进程同步的算法描述如下:semaphore s1=1,s2=0;void main()parbegin(driver(),conductor();void driver()dowait(s1);Starts the automobile;Driving;Parking;signal(s2);while(true);void conductor()doSell ticket;wait(s2);Opening the door;Closing the door;signal(s1);while(true);16.有一阅览室,读者进入时必须先在一张登记表中进行登记,该表为每一座位列一表目,包括座号和读者姓名,读者离开时要消掉登记信息,阅览室中共有100个座位,试问:为了描述读者的动作,应设置几个进程?试用C语言,利用wait操作和signal操作写出这些进程间的同步算法。为了描述读者的动作,应设置2个同步进程,一个是登记信息进程,一个是消掉登记信息进程。设三个信号量:座位信号量s1=100,读者数量s2=0, 登记表是临界资源,互斥信号量mutex=1。semaphore s1=100,s2=0, mutex=1;void main()parbegin(register(),register_off();void register()dowait(s1);wait(mutex);register;signal(mutex);signal(s2); enter into the reading room;while(true); void register_off()dowait(s2);wait(mutex);register off;signal(mutex);signal(s1);leave the reading room;while(true);17.引入管程机制的好处是什么?由于管程的良好封装特征,因此可增强模块的独立性。按资源管理的观点,可把系统分解成若干模块,用数据表示抽象系统资源;同时利用共享资源和专用资源在管理上的差别,按不同的管理方式定义模块的类型和结构,使同步操作相对集中,从而增加了模块的相对独立性。引入管程可提高代码的可读性,便于修改和维护,正确性易于保证。由于采用集中式同步机制,一个操作系统或并发程序由若干个这样的模块所构成,一个模块通常较短,模块之间关系清晰,有利于正确性的保证。18.试用管程机制解决读者与写者问题?19.试用管程机制解决哲学家进餐问题?#define N 5 /* 哲学家人数*/ #define LEFT (i-1+N)%N /* i的左邻号码 */ #define RIGHT (i+1)%N /* i的右邻号码 */ typedef enum THINKING, HUNGRY, EATING phil_state; /*哲学家状态*/ monitor dp /*管程*/ phil_state stateN; semaphore mutex =1; semaphore sN; /*每个哲学家一个信号量,初始值为0*/ void test(int i) if ( statei = HUNGRY &stateLEFT(i) != EATING & stateRIGHT(i) != EATING ) statei = EATING; V(si); void get_forks(int i) P(mutex); statei = HUNGRY; test(i); /*试图得到两支筷子*/ V(mutex); P(si); /*得不到筷子则阻塞*/ void put_forks(int i) P(mutex); statei= THINKING; test(LEFT(i); /*看左邻是否进餐*/ test(RIGHT(i); /*看右邻是否进餐*/V(mutex); 哲学家进程如下:void philosopher(int process) while(true) think(); get_forks(process); eat(); put_forks(process); 20.进程通信类型有几种方式?写出用于进程通信的原语格式?那种方式适合计算机网络通信? 共享存储器方式。管道通信方式。消息传递的通信方式。消息传递的通信方式适合计算机网络通信。通信方式通信原语一般应用格式如下:客户机端:send(server-socket,&m1)receive(client-port,&m2)服务器端:receive(server-port,&m1)send(m1.source-socket,&m2)其中:&m1、&m2:请求包和应答包的地址;server-socket:服务器的套接字;server-port: 服务器的端口;client-port:客户机的端口;m1.source-socket客户机的套接字。第3章 线程机制3.1 名词解释任务:所谓的任务是指一个具有开始时间和完成时间的操作,任务是系统的基本工作单元。多任务处理:同一个时间内计算机系统中如果允许多个进程同时处于运行状态,这便是多任务。多重处理:对于有多个CPU的计算机,同时在每一个CPU上执行进程称为多重处理。线程:线程不能独立存在,必须存在于进程中,各线程间共享进程空间的数据。线程是指进程内部的一个可独立执行的实体。线程是CPU运行的基本单位。会话:一个会话是一组与用户接口(键盘、显示器、鼠标)相关联的一个或多个进程。一个会话代表了一个交互式的用户应用程序。用户线程:用户线程仅存在于用户空间中,在用户层通过线程库来实现。线程库提供对线程创建、调度和管理的支持而无需内核支持。内核线程:内核线程由操作系统内核直接支持的,线程创建、调度和管理都是在内核中进行的。多线程:多线程是指把执行一个应用程序的进程划分成可以同时运行的线程。线程是可分派CPU的工作单元。3.2 选择题1.下面的叙述中错误的是D.。A.操作系统既能进行多任务处理又能进行多重处理B.多重处理是多任务处理的子集C.多任务是指在同一时间内同一系统中同时运行多个进程D.单CPU的计算机上也可以进行多重处理2.下面的叙述中正确的是B.。A.在一个已有进程中创建一个新线程比创建一个新进程所需的工作量多B.在同一个进程中的线程间的通信比较简单C同一个进程中的两个线程间切换与不同进程中的两个线程间切换所需的工作量差不多D.同一进程内的线程间切换由于许多上下文相同而简化3. 一个B.是一组与用户接口(键盘、显示器、鼠标)相关联的一个或多个进程,代表了一个交互式的用户应用程序。A.任务 B.会话 C.进程 D.线程4.进程和线程的一个本质区别是D.。A.前者有地址空间,后者没有地址空间 B.前者存储在外存,后者存储在内存C.前者在一个文件中,后者在多个文件中 D.前者是拥有资源的基本单位,后者是程序执行的基本单位。5.多B.之间可以并发执行,多A.之间也可以并发执行,而且同一B.内的多个A.之间也可并发执行。A.线程 B.进程 C.会话 D.资源6.下面对多线程的描述中,错误的是C.。A.多线程适合多机系统B.如果对一个交互式应用程序采用多线程,即使其部分阻塞或执行较冗长的操作,那么该程序仍能继续执行,从而保证对用户的响应时间C.不允许一个应用程序在同一地址空间内有多个不同的活动线程D.不管系统有多少CPU,单线程进程只能运行在一个CPU上7. A.就是一个或多个线程和相关系统资源(如包含数据和代码的存储器空间、打开的文件和I/O设备等)的集合。A.进程 B.任务 C.会话 D.线程8.关于用户线程的叙述中错误的是D.。A.用户线程切换不需要内核模式特权,不需要为了用户线程管理而切换到内核模式B.线程库提供对用户线程的调度C.操作系统不需要对底层内核进行修改以支持用户线程D.用户线程是CPU调度的基本单位9.关于内核线程的叙述中错误的是B.。A.CPU调度可以为一个进程中的多个内核线程分配多个CPUB.如果进程中的一个内核线程被阻塞,则整个进程都必须等待C.一个内核线程阻塞时,CPU调度立即调度该其他内核线程执行D.内核线程由操作系统内核直接支持3.3综合题1.如何理解多任务处理和多重处理?如果你正在使用一台只有一个CPU的计算机,操作系统可以进行多进程并发执行,实现多任务处理。如果你正在使用一台有多个CPU的计算机,操作系统既能进行多任务处理又能进行多重处理。可以认为多重处理是多任务处理在多机系统中的一个特例,多重处理是多任务处理的子集。2.操作系统引入线程的目的是什么?PCB增加了内存的空间开销,进程之间的切换需付出CPU的时间开销。在进一步提高进程的并发性时,人们发现进程切换开销所占的比重越来越大,同时进程间通信的效率也受到限制。线程的引入正是为了以小的开销来提高进程内的并发程度。把进程的两个属性分离,即作为程序的执行单位,不同时作为独立分配资源的单位。对拥有资源的单位,不对之进行频繁切换。这就需要引入线程的概念。3.如何理解线程是程序执行的基本单位的含义?有了线程的概念后,程序的执行单位就由传统的进程变为线程,而进程则是作为资源的分配单位存在。线程的执行依赖进程提供的环境,并且使用进程的资源。同一进程内的不同线程之间的通信也变得简单了,因为它们都共享同一地址空间内的所有资源。拥有资源的进程不需要频繁切换,引入线程减少了多个进程的并发执行时系统所付出的空间和时间的开销,使系统具有更好的并发性。4.进程与线程的主要区别是什么?资源和调度方面。线程是程序执行的基本单位,进程是拥有资源的基本单位。地址空间资源。不同进程的地址空间是相互独立的,而同一进程的各线程共享同一地址空间。通信关系。进程之间的通信比须使用操作系统提供的进程通信机制,而同一进程中的各线程间可以通过直接读/写全局变量来进行通信,甚至无需操作系统的干预。并发性。多进程之间可以并发执行,多线程之间也可以并发执行,而且同一进程内的多个线程之间也可并发执行。系统开销。由于创建进程或撤消进程时,系统都要为之分配或回收资源,操作系统所付出的开销远大于创建或撤消线程时的开销。在进行进程上下文切换时,涉及到整个当前进程CPU环境的保存及新调度到进程的CPU环境的设置。而线程上下文切换时,只需保存和设置少量寄存器内容,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,同一进程中的线程上下文切换要更快。5.引入线程之后,进程的概念发生了哪些变化?引入线程之后,进程还是一个正在执行的程序的概念,进程是指一个或多个线程和相关系统资源的集合。系统资源包含数据和代码的存储器空间、打开的文件和I/O设备等。6.线程有几种类型?请说明每种类型的优缺点?操作系统通过两种不同方法支持线程,这两类线程就是用户层的用户线程和内核层的内核线程。在多机系统中,内核线程是CPU调度的基本单位。调度可以为一个进程中的多个内核线程分配多个CPU,使多个内核线程达到并行,提高了程序的执行速度和系统效率;一个多用户线程的应用程序不能充分利用多CPU技术。内核一次只把一个进程分配给一个CPU,因此一个进程中只有一个用户线程可以执行,无法享用多CPU带来的好处。如果进程中的一个内核线程被阻塞,内核可以调度同一个进程中的另一个内核线程;如果进程中的一个用户线程阻塞,则整个进程都必须等待,即使还有其他用户线程可以在应用程序内运行。系统调用。在用户线程调用一个系统调用时,由于内核把系统调用看作是整个进程的行为,于是使该进程等待,而调度另一个进程执行,同样是在内核完成系统调用返回时,进程才能继续执行;如果系统中设置的是内核线程,则CPU调度是以线程为单位的。当一个内核线程调用一个系统调用时,内核把系统调用只看作是该内核线程的行为,当该内核线程阻塞时,CPU调度便调度同一进程中的其他内核线程执行。这样就提高了执行效率。如果采用轮转调度算法,每个进程轮流执行一个时间片。进程P1中包含了10个用户线程,另一个进程P2中含有1个用户线程。这样一来,进程P2中线程的执行时间将是进程P1中各线程执行时间的10倍;如果系统中设置的是内核线程,情况就不一样了,它的调度是以内核线程为单位进行的,这样,进程P1可以获得的CPU时间是进程P2的10倍。8.多线程技术有那些优点?使用多线程技术编程具有如下四类主要优点:用户交互能力强,及时响应。如果对一个交互式应用程序采用多线程,即使其部分阻塞或执行较冗长的操作,那么该程序仍能继续执行,从而保证对用户的响应时间。例如,多线程网页浏览器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论