操作系统期末考点概要

  • 格式:wps
  • 大小:42.00 KB
  • 文档页数:6

名词解释: 时间片:将主机CPU的时间划分割成若干个片段,每个时间片段称为时间片(time slice),时间片就是分时系统的时间单位。 并发:并发(Concurrence)是指两个或多个事件在同一时间间隔内发生 系统调用:系统调用就是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段。 进程:进程是正在执行的程序, 即在并发环境下一个程序在一个数据集合上的一次执行过程。 进程控制块:进程控制块是由操作系统维护,用来记录进程相关信息的数据结构。进程的组成中,程序段和数据段是进程存在的物质基础,是进程的实体,进程控制块是进程存在的唯一标志。 上下文切换:在多进程并发执行中,将CPU切换到另一个进程需要保存原来进程的关联状态并装入新进程的关联状态。这一任务称为上下文切换(context switch)。 临界资源:临界资源是指在一段时间内仅允许一个进程使用资源。如打印机、输入机、磁带机和指针等,临界资源可以互斥共享。 进程的互斥:多个进程访问临界资源时在操作时间上相互排斥,这种相互排斥关系叫做进程的互斥 逻辑地址:逻辑地址就是指令在程序中的地址,源程序经编译(或解释)后编排的地址。逻辑地址也叫虚拟地址 物理地址:物理地址就是进程中的指令和数据在内存中的地址,即指令和数据存放在内存中的内存单元地址。物理地址也叫实地址。 重定位:为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时内存中的物理地址的技术就叫重定位。重定位技术包括静态重定位和动态重定位。 碎片:碎片一般可分为内碎片和外碎片。前者是指分区内不可利用的内存空间,后者是指分区之间难以利用的小空闲分区。

简答题:

1.叙述操作系统在计算机系统中的地位和作用?

(1)操作系统的地位:操作系统是软件系统中最重要的.最基础的系统。它是配置在裸机上的第一层软件,是对硬件系统的第一次扩充。它在计算机系统中占有特殊地位,其他所有软件都将依赖与操作系统的支持,取得它的服务。操作系统是支撑各种应用软件的平台,操作系统为用户提供良好的工作环境。 (2)操作系统的作用:从一般用户的观点,可把操作系统作为用户与计算机系统之间的接口;从资源管理观点,则可把操作系统作为计算机系统资源的管理者和竞争资源的仲裁者;操作系统必须提高计算机资源的利用率;操作系统是计算机系统的调度指挥中心;操作系统是计算机系统功能的扩充。 2操作系统有哪些特征?其特征之间的关系是什么? (1)操作系统具有并发性.共享性.虚拟性.不确定性四大特征。 (2)操作系统四大特征之间的关系。这四大特征之中,最为重要的是并发性,其他三个特征都是以并发为前提的。并发和共享是操作系统两个最基本的特征,这两者之间又是互为条件的。资源共享是以进程并发执行为前提条件,若系统不允许进程并发执行,自然不存在资源共享问题。若系统不能对资源共享实施有效的管理,也必将影响进程的并发执行,甚至根本无法并发执行。 3.什么是系统调用?如何实现系统调用? (1)系统调用就是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求

操作系统服务的一种手段。(2)实现系统调用需要完成以下三个工作:1)执行访管指令(或陷入指令),引起访管中断,使处理机从目态进入管态,并向操作系统提出任务请求。2)在管态下由操作系统完成用户程序提出的请求。3)操作系统完成所做请求后,应返回到用户程序,即从管态又回到原来目态。 4.多道程序设计与分时技术的区别与联系? (1)多道程序设计是指在计算机内存中可以同时装入多道程序运行,多道程序交替运行,合理搭配,共享系统中的各种硬件和软件资源,从而使系统资源得到充分的利用。 (2)分时系统是基于主从式多终端的计算机体系结构。分时系统是将计算机CPU的运行时间分割成一个个微小的时间片,把这些时间片依次轮流地分配给各个终端用户的程序执行,每个用户程序仅仅在它获得的CPU时间片内执行。当时间片用完,用户又处于等待状态,此时CPU又为另一个用户服务。 多道程序设计技术不是基于时间片,而是基于程序的I/O中断。当正在执行的程序A因I/O而暂定执行时,CPU立即转去执行另一道程序B;当第二道程序B又因I/O而暂定执行时,CPU又转去执行第三道程序C。显然,多道程序设计技术提高了CPU的利用率,同时也显著改善了内存和I/O设备的利用率,从而也使系统的吞吐量获得大幅度提高。 联系:多道程序设计和分时技术都是为了提高资源的利用率和系统吞吐量,共享系统资源。多道程序设计和分时技术都是微观上串行的,宏观上并行。 5.何谓用户接口?通常在操作系统和用户之间提供哪几种类型的接口? 由操作系统提供的方便用户使用计算机的接口。操作系统的用户接口有三类:命令行接口、图形用户接口和程序接口。 6.试说明进程和程序的区别与联系? ⑴程序是有序代码的集合,是一个静态的概念。进程是程序的一次执行过程,是一个动态概念。进程不可以在计算机之间迁移,而程序通常对应着文件,可以复制。 ⑵进程是一个状态变化的过程,是有生命期的。而程序是永久的,可以长久保存。 ⑶进程与程序的组成不同。进程由程序段、数据段和进程控制块组成,而程序仅是代码的有序集合。⑷进程与程序是密切相关的。通过多次执行,一个程序可对应多个进程。但进程与它本身所执行的程序只能是一对一的关系。⑸进程更能真实地描述并发,而程序不能。 ⑹进程可创建其他进程,而程序并不能形成新的程序。 7.为什么PCB是进程存在的唯一标志? PCB是由操作系统维护,用来记录进程相关信息的数据结构。它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。 进程块随着进程的创建而创建,即创建一个进程,就是为进程配备一个PCB;操作系统是根据进程控制块来对并发执行的进程进行控制和管理的;PCB随着进程的撤消而撤消,即撤消一个进程,就是撤消进程的PCB,。在进程的生命期中操作系统是通过PCB对进程进行管理和控制,系统使根据进程的进程控制块而不是任何别的什么来感知到该进程的存在的,所以说进程控制块PCB是进程存在的唯一标志。 8.在单机系统中,如果系统中有N个进程,运行状态的进程最多几个?最少几个?就绪状态的进程最多几个?最少几个?等待状态的进程最多几个?最少几个? 运行状态的进程最多有1个,最少0个。就绪状态的进程最多有N个,最少0个,等待状态的进程最多N个,最少0个。 9.进程的状态有没有这样的状态转换,等待状态→运行状态,就绪状态→等待状态。为什么? 没有这样的状态转换。等待状态的进程是在运行过程中,因等待某一事件而暂时无法执行,或者说进程的运行受到了阻塞。当进程等待的事件发生时,进程只能从等待状态转变为就绪状态。在就绪状态下,通过处理机调度。进程才有可能进入运行状态。 在运行过程中,因等待某一事件而暂时无法执行,进程才有可能进入等待状态。 10.在生产者和消费者过程中,为什么说signal操作的顺序无关紧要,而wait操作的顺序不可颠倒? 每个程序中的多个wait操作顺序不能颠倒,应先执行对资源信号量的wait操作,然后再执行对互斥信号量的wait操作,否则可能引起死锁。 11.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,什么是临界资源?什么是临界区? 临界资源是单行道,从A地到B地的行车过程为临界区。 12.在公共汽车上,司机的活动:启动汽车、行车、到站停车。售票员的活动:关车门、售票、开车门。请写出司机与售票员之间的同步算法。 为了安全起见,显然要求:罐车门后才能启动车辆;到站停车后才能开车门。所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0。用PV操作实现司机进程和售票员进程同步的算法描述如下: semaphore s1=1,s2=0; void main(){parbegin(driver(),conductor());} void driver(){do{wait(s1);Starts the automobile;Driving;Parking;signal(s2); }while(true);} void conductor(){do{Sell ticket;wait(s2);Opening the door;Closing the door; signal(s1);}while(true);} 13.有一阅览室,读者进入时必须先在一张登记表中进行登记,该表为每一座位列一表目,包括座号和读者姓名,读者离开时要消掉登记信息,阅览室中共有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(){do{wait(s1);wait(mutex);register;signal(mutex);signal(s2); enter into the reading room;}while(true);} void register_off(){do{wait(s2);wait(mutex);register off;signal(mutex);signal(s1); leave the reading room;}while(true);} 14.进程通信类型有几种方式?写出用于进程通信的原语格式?那种方式适合计算机网络通信?

①共享存储器方式。②管道通信方式。③消息传递的通信方式。 消息传递的通信方式适合计算机网络通信。通信方式通信原语一般应用格式如下: 客户机端:send(server-socket,&m1)receive(client-port,&m2) 服务器端:receive(server-port,&m1)send(m1.source-socket,&m2)