1、1 第一章:网络操作系统概论 一、思考题 1、什么是计算机系统?计算机系统是怎样构成的? 答:计算机系统是一种按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。计算机系统包括硬件系统和软件系统两部分。 2、什么是操作系统?请说明操作系统在计算机系统中的作用和地位? 答:操作系统是计算机系统中的一个系统软件。它能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,方便用户使用,并能使计算机系统高效地运行。 操作系统是硬件和软件的桥梁,是计算机资源的管 理者。硬件资源在操作系统的管理下调配有序、协调工作;操作系统又是人机交互的接口,人们通过命令
2、或系统调用来控制计算机的运行。所以,离开了操作系统,计算机就难以高效地运转。 3、操作系统管理计算机系统的哪些资源? 答:操作系统管理计算机系统的资源有硬件资源和软件资源。硬件资源主要有处理机、主存储器、辅存储器以及各种类型的输入 /输出设备;而各种程序和数据则是计算机的软件资源。 4、请从资源管理的角度说明操作系统的主要功能 ? 答:从资源管理的角度看,操作系统的主要功能是组织和管理计算机系统中的硬件和软件资源。操 作系统根据用户对各种资源的需求情况,资源的当前分配和使用情况以及有关的资源进行调度,并对资源进行有效的组织和管理。 5、操作系统有哪些基本特征? 答:操作系统的基本特征有并发性、
3、共享性和随机性。并发性是指在计算机系统中同时存在若干个运行着的程序,宏观上并行微观上串行。共享性指操作系统程序与多个用户和谐共用系统中的各种资源,对资源的共享一般有两种方式:互斥共享和同时共享。随机性是指操作系统处什么样的状态之中是无法确切知道的,它强调了操作系统的设计与实现时要充分考虑各种各样的可能性。 6、叙述各操作系统的工 作方式及特点? 答:操作系统的类型主要有批处理操作系统、分时操作系统、实时操作系统、桌面操作系统、嵌入式操作系统、网络操作系统、分布式操作系统七大类。 批处理操作系统:将单个的客户作业组成一批作业输入计算机中处理。批处理操作系统分为单道批处理和多道批处理系统。单道系统
4、每次只将一个作业调入内存,占用处理机直至结束;多道系统将多个作业调入内存,处理机以切换方式进行服务,极大提高了作业处理能力。批处理系统不适合交互式作业。 分时系统指用户通过终端设备与计算机交互来运行各自的作业,并且共享一个计算机系统 而互不干扰。系统采用时间片的方式处理用户的请求。 实时操作系统能使计算机在规定的时间内及时响应外部事件的请求,同时完成事件的处理。主要特征是及时性、实时性、高可靠性、高过载防护性。 桌面操作系统主要用于个人办公、处理文稿等事务,更多地被人们在桌面上直接使用。 嵌入式操作系统广泛应用在当代电子、电器和智能机械设备上,它很灵活,能够通过装卸某此模块来达到系统所要求的功
5、能。 网络操作系统是基于计算机网络的,其目标是相互通信及资源共享。 分布式操作系统将大量的计算机通过网络连结在一起, 可以获得极高的运算能力及广泛的数据共享。 7、比较批处理系统、分时系统以及实时操作系统之间的相同点和不同点。 答: 相同点:这三类操作系统均为现代计算机系统中普遍使用的操作系统,操作系统本身以及它所管理的对象都是并发的系统,是一个极其复杂和庞大的软件系统。 2 不同点:批处理操作系统的特点是成批处理,用户不能干预自己作业的远行;分时系统的特点是多路性、交互性、独占性和及时性;实时操作系统的特点是能在严格的时间范围内对外部请求做出反应,以及具有高度可靠性。 8、在什么情况下应该采
6、用批处理方式?在什么情况下应该 考虑分时策略? 答:批处理方式适合将零散的作业组成一批一次处理;分时策略主要考虑到多用户及交互性。 批处理系统适用于追求系统资源利用率高、作业吞吐率高的计算机系统。分时系统适用于需要提供交互式快速服务的计算机系统。 9、现代的通用操作系统把批处理方式和分时方式二者结合起来,为什么要这样做?这样的结合有什么特点? 答: 这样的操作系统结合了批处理和分时两种系统的特点,该系统把处理终端用户的交互式的、比较小的但需要及时处理的作业作为“前台作业”予以优先处理;把需要较长运行时间、需要调用其他外部设备、比较大型但无 须终端用户干预的且不需要立即处理的作业作为“后台作业”
7、进行批处理。这样,使整个计算机系统忙闲结合,能更有效地利用计算机系统的资源。 10、实时操作系统有哪些主要特征? 答:及时性、实时性、高可靠性、高过载防护性。 11、 在如下应用场合中,应该选用什么类型的操作系统呢?请说明原因。 1) 导弹控制 2) 国家统计局 3) 汽车发动机点火控制 4) 火车订票系统 5) 互联网电子游戏 答:导弹控制实时操作系统;国家统计局批处理或分时操作系统;汽车发动机点火控制实时操作系统;火车订票系统网络操作系统 ;网络电子游戏网络操作系统。 12、网络操作系统和分布式操作系统都是配置在计算机网络上的操作系统,它们之间有什么本质上的不同? 答:共同点是均可共享资源
8、及相互通信,主要区别在于分布式操作系统还能够共享运算处理能力。 13、网络操作系统有什么特点?一般采用什么结构? 答:主要特点有两个方面:一是运行在核心态的内核;二是运行在用户态的并以客户机 /服务器方式运行的进程层。网络操作系统一般采用客户机 /服务器结构模式。 14、为什么说客户机 /服务器结构适宜在网络操作系统上使用? 答:这种结构将操作系统分成若干 个小的并且自包含的分支,每个分支运行在独立的用户进程中,不同的进程可以运行在不同的处理机或计算机上,从而使操作系统自然地具有分布式处理的能力。所以说适应在网络操作系统上使用。 二、名词解释 1、 计算机系统 : 计算机系统是一种按用户的要求
9、接收和存储信息、自动进行数据处理并输出结果信息的系统。 操作系统 : 操作系统是计算机系统中的一个系统软件。它能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,方便用户使用,并能使计算机系统高效地运行。 并发: 3 共享 : 2、 批处理操作 系统,分时操作系统,实时操作系统,网络操作系统,分布式操作系统,嵌入式操作系统 3、 整体式结构 : 先确定操作系统的总体功能,然后将总功能分解为若干个子功能,再按照功能将大的模块分解为小的模块。此时操作系统是一个有多种功能的系统程序,可以看成一个整体模块。 层次式结构: 把操作系统的所有功能模块,按功能流图的调
10、用次序,分别将这些模块排列成若干层,各层之间的模块只能是单向依赖或单向调用关系。 微内核结构 : 微内核提供一组最基本的服务,并具有很好的扩展性,也可向安装模块提供一个接口,就这是采用客户机 /服务器结构,也称 为微内核结构的操作系统。 第二章: 网络操作系统基本功能 一、思考题 1、什么是进程?给出进程的定义? 答:进程是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配的一个独立单位。进程分为系统进程和用户进程。 2、操作系统中为什么要引入进程?进程和程序有什么区别和联系? 答:程序是静态的,为了深刻描述程序动态执行的过程,操作系统需要引入进程的概念,以掌控程序执行过
11、程中的动态变化。进程和程序的主要联系是:进程是由程序、数据和进程控制块三部分组成,一个进程的运行目标是执行它所对应的程序 ,如果没有程序,进程就失去了存在的意义。它们的区别是:程序是静态的,而进程是动态的。进程是程序的一个执行过程,而进程是为了程序的一次执行而暂时存在的。 3、进程有哪些基本状态?它们的变化关系是怎样的? 答:进程的基本状态有运行状态、就绪状态和等待(阻塞或封锁)状态三种。它们的变化关系主要有:就绪状运行态(获得 CPU);运行态就绪态(时间片用完);运行态等待态(等待事件发生);等待态就绪态(被阻塞的原因消失)。 4、系统中有 n(n1)个进程,在任一时刻,处于运行、就绪和等
12、待状态的进程最多 、最少各有几个? 答:在单处理机系统中,任一时刻,处于运行状态的进程最多只有一个,最少为 0 个;处于就绪状态的进程最多有 n 1 个,最少为 0 个;处于等待状态的进程最多有 n 个,最少有 0 个。 5、进程控制块 PCB的作用是什么?其主要内容有哪些?进程能否修改访问自己的进程控制块内容? 答:操作系统利用 PCB 来描述进程的基本情况以及进程的运行变化过程, PCB 是进程存在的唯一标志。进程控制块的内容可以分成调度信息和现场信息两大部分。调度信息供进程调度时使用,描述了进程当前所处的状况,包括进程名、进程号、存储信息、优先级 、当前状态、资源清单、家族关系、消息队列
13、指针和当前打开文件等。现场信息刻画了进程的运行情况,由于每个进程都有自己专用的工作存储区,其它进程运行时不会改变它的内容,所以 PCB中的现场信息只记录那些可能会被其它进程改变的寄存器,如程序状态字、时钟、界地址寄存器等。一旦中断进程的运行,必须把中断时刻的上述内容记入进程控制块的现场信息。所以进程可以修改访问自己进程控制块的内容。 6、什么是临界区?什么是相关临界区?对相关临界区的管理要求有哪些? 答:若系统中的某些资源一次只允许一个进程使用,这类资源称为临界资源, 而在进程中访问临界资源的那一段程序称为临界区。如果有若干进程共享某一临界区,则该临界区称为相关临界区。对相关临界区的管理要求是
14、实行互斥,保证在同一时刻只有一个进程访问临界区。对相关临界区的调度原则可归纳为:有空让进、无空等待、多中择一、有限等待、让权等待。 7、若用 PV操作管理某一组相关临界区,其信号量 S 的值在 -1,1之间变化,当 S = -1, S=0, S=1 时,它4 们各自的物理含义是什么? 答:当 S 1 时,表示该类资源可以分配;当 S 0 时,表示该类资源已被占用,无可分配资源;当 S -1时,表示该类资源不 可分配且有一个进程请求该资源。( PV 操作只做 +-1 运算, P 操作请求资源,执行一次将 S-1。 V操作释放资源,执行一次将 S+1)。 8、两个并发执行的进程 A和 B的程序如下
15、: 进程 A Repeat N:=N+5; Until false; 进程 B Repeat 打印 N 的值; N:=0; Until false; 其中, N 为整数,初值为 4。若进程 A先执行了三个循环后,进程 A和进程 B又并发执行了一个循环,写出可能出现的打印值,并回答正确的打印值应该是多少?请用 P, V操作进程管理,使进程 A和 B并发执行时不会出现 与时间有关的错误。 答: A执行三个循环之后, N 的值为 19,又与 B并发执行一个循环,则 N 的值为 24。如用 P、 V操作管理,进程如下: 进程 A 进程 B Repeat Repeat N:=N+5; P(N); V(N
16、); 打印 N 的值 ; p(N); V(N); Until false; N:=0; Until false; 9、为什么要引入线程?线程和进程之间的区别和联系是什么? 答:线程可以提高系统内程序并发执行的级别,可以进一步提高系统效率。线程和进程之间 的联系是:线程是进程中的一个实体,是 CPU 调度和分派的基本单位。区别是进程是一个资源的拥有者,而线程自己基本上不拥有系统资源,只拥有少量在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 10、进程调度和作用是什么?引起进程调动的因素有哪些? 答:在多道程序设计环境中,进程数往往多于处理机数,这将导致多个进程互
17、相争夺处理机。进程调度的作用是记录系统中所有进程的执行状况,根据一定的调度算法,从就绪队列中选出一个进程来,把 CPU分配给它。引起进程调度的因素主要有:正在执行的进程运 行完毕、正在执行的进程进入等待状态、进程的进间片用完、就绪队列中某个进程优先级高于正在运行进程的优先级。总之,当一个进程让出处理机,就调度另一个进程占用处理机以运行。 11、在一个单处理机的多道程序设计系统中,现有两道作业并发,其中一道以计算为主,另一道以输入 /输出为主,应该如何赋予它们的优先数?为什么? 答:优先数指用数字代表进程优先级的高低,优先级高的进程可以优先占用处理机。以计算为主的作业,要占用大部分的处理机时间,
18、而以输入 /输出为主的作业,占用处理机的时间相对较少,所以在赋予优先数时,以计算为主的 作业的优先级要高于以输入 /输出为主的作业。 12、若就绪队列中的进程按优先数自大到小顺序排列,当有进程加入到就绪队列时,应按它的优先数排入相应的位置,试就单向链接的方式写出实现进程入队的程序。 答:在单向链接中,同一队列中的进程通过进程控制块中的队列指针联系起来,前一进程的进程控制块中的指针值是它下一个进程控制块的地址,队列中最后一个进程的进程控制块中的指针值置为“ 0”。所以,5 在写程序时就修改队列中进程控制块的指针值。(答案待改进) 13、当进程调度选中一个进程后,怎样才能让它占用处理机? 答:当进
19、程调 度选中一个进程后,把 CPU 分配给该进程,即把选中进程的进程控制块内有关的现场信息,如程序状态字、通用寄存器等内容送入处理机相应的寄存器中,从而让它占用 CPU 运行。进程调度实际上完成了将一台物理的 CPU转变成多台虚拟 CPU的工作。 14、存储管理的主要功能有哪些? 答:存储管理的主要功能应包括: 1、内存的分配和回收; 2、存储共享; 3、存储保护; 4、“扩充”内存容量。 15、虚拟存储器是什么?为什么要引入虚拟存储器? 答:虚拟存储器是指利用大容量的外存来扩充内存,产生一个比实际内存空间大得多的、逻辑的虚拟内 存空间。引入虚存技术,可以有效地支持多道程序系统的实现和大型程序
20、运行的需要,从而增强系统的处理能力。实现虚存的硬件支持: 1、足够大的外存; 2、有一定容量的内存; 3、最主要的是硬件提供实现虚 /实地址映射的机制。 16、有一个虚拟存储系统,分配给某进程 3 页内存,开始时候内存为空,页面访问序列如下: 6, 5, 4, 3, 2, 1, 5, 4, 3, 6, 5, 4, 3, 2, 1, 6, 5 1) 若采用先进先出页面置换算法( FIFO),缺页次数为多少? 2) 若采用最近最少使用页面置换算法( LRU),缺页次数为多少? 3) 若采用理想页数置换算法( OPT),缺页次数为多少? 1)若采用先进先出页面置换算法( FIFO),缺页次数是多少?
21、 答:顺序: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5 页 1: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5 页 2: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 页 3: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 中断: . . . . . . . . . . . . . . . . . 2)若采用最近最少使用页面置换算法( LRU),缺页次数是多少?(将使用的页面排在最前面) 答:顺序: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5 页 1: 6 5 4 3 2 1 5 4 3 6
22、 5 4 3 2 1 6 5 页 2: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 页 3: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 中断: . . . . . . . . . . . . . . . . . 3)若采用理想页面置换算法( OPT),缺页次数是多少? 答:顺序: 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5 页 1: 6 5 4 3 2 1 1 1 3 6 6 6 3 2 1 1 1 页 2: 6 5 4 4 4 4 4 4 4 4 4 6 6 6 5 6 页 3: 6 5 5 5 5 5 5 5 5 5 5 5 5
23、 5 5 中断: . . . . . . . . . . . 17、有一个虚拟存储系统采用最近最少使用页面置换算法( LRU),每个程序占 3 页内存,其中一页用来存放程序和变量 i,j(不作他用 )。每一页可存放 150 个整数变量。程序 A和程序 B如下。 6 程序 A: VAR C: ARRAY1.150,1.100 OF integer; i,j : integer; FOR i:= 1 to 150 DO FOR j:= 1 to 100 DO Ci,j :=0 ; 程序 B: VAR C:ARRAY 1.150,1.100 OF integer; i,j :integer; FOR
24、 j:= 1 to 100 DO FOR i: = 1 to 150 DO CI,j : = 0; 设变量 i,j 放在程序页中,初始时,程序及变量 i,j 已在内存,其余两页为空。矩阵 C 按行序存放。 1) 试问当程序 A和程序 B执行完后,分别缺页多少次? 2) 最后留在内存的各是矩阵 C 的哪一部分? 18、什么是异常现象(或者 Belady 现象)?请找出一个异常现象的例子。 答:当用 FIFO 法 进行页面置换,分配给进程的物理页面数增加时,缺页次数反而增加,这一现象称为异常现象。具体的例子如: 123412512345,当页面数为三时,缺页 9 次,当页面数为四时,缺页 10 次
25、。 19、虚拟页式存储管理中,页面置换算法所花的时间属于系统开销,这种说法对吗? 答:这种说法正确。对一个页面的调度非常频繁的现象称为抖动,这将严重影响虚拟存储系统的性能,进而影响整个系统的性能,所以页面置换算法的优劣很重要,其所花的时间属于系统开销。 20、缺页中断的处理过程是软硬件配合完成的,请叙述缺页中断处理过程? 答:若在 页表中发现所要访问的页面不在内存,则产生缺页中断,其处理过程如下: 1、根据逻辑地址查页表的驻留位,判断该页是否在内存; 2、该页标志为 0,形成缺页中断。保留现场。 3、操作系统处理缺页中断,寻找一个空闲页面。 4、若有空闲页,则把磁盘上读出的信息装入该页面中。
26、5、修改页表及内存分配表,表示该页已经在内存。 6、如果内存中无空闲页,则按某种算法选择一个已在内存的页面,把它暂时调出内存。若该页被修改过,则要把信息重写到磁盘上。当一页被暂时调出内存后,重复 4、 5 步。 7、恢复现场,重新执行被中断的指令。 21、何谓系统的 “抖动”现象?为什么会出现这一现象?当系统发生“抖动”时,应该采取什么措施来加以克服? 答:对一个页面的调度非常频繁的现象称为抖动, 发生这一现象的原因是主要是置换算法不当,以及内存空间不足,解决的办法是优化页面置换算法,增加系统内存。 22、什么是文件和文件系统?文件系统的功能是什么? 答:文件可以被解释为一组带标识的、在逻辑上
27、有完整意义的信息项的序列,程序和数据都可以是文件。所谓文件系统,是操作系统中统一管理信息资源的一种软件,它管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用 。从用户的角度看,文件系统负责为用户建立文件、读写文件、修改文件、复制文件和撤销文件,还负责对文件的存取控制。 23、什么是文件的逻辑结构?有哪几种典型的文件逻辑结构?什么是文件的物理结构?有哪几种典型的物理结构?这些结构各自有哪些特点? 答:文件的逻辑结构就是用户所看到的文件的组织形式,有三川典型的文件逻辑结构:无结构的字符流式7 文件、定长记录文件和不定长记录文件构成的记录树。文件的物理结构就是文件在实际的存储
28、空间存储时的结构,常用的文件物理结构有顺序结构、链接结构和索引结构。 24、怎样确定文件的存储 方式?请总结文件的存储方式、文件物理结构和存储设备类型之间的联系。 答:文件的存取方式就是文件的逻辑结构和物理结构之间的映射或变换机制,常用的存取方法有顺序存取和随机存取两种方式。至于选择哪一种文件的存取方式,即取决于用户使用文件的方式,也与文件所使用的存储介质有关。存取方式、物理结构和设备类型之间的联系如下图: 存储介质 磁带 磁盘 物理结构 连续结构 连续 链接 索引 存取方式 顺序 顺序 顺序 顺序 随机 随机 25、设备管理的目标和功能是什么? 答: 设备管理的目标是:选择和分配输入输出设备
29、以便进行数据传输操作;控制输入输出设备和 CPU 或内存之间交换数据;为用户提供一个友好的透明窗口;提高设备和设备之间、 CPU和设备之间以及进程和进程之间的并行操作,以使操作系统获得最佳效率。 设备管理的功能是提供和进程管理系统的接口;进行设备分配;实现设备和设备、设备和 CPU 等之间的并行操作;进行缓冲区管理。 26、什么是设备的静态分配方式?什么是设备的动态分配方式?各有什么特点? P79 答:设备分配的总原则是充分发挥设备的使用效率,尽可能地让设备忙碌但又要避 免死锁。设备分配方法有静态和动态两种。静态分配方式是在用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器。这
30、种方式不会出现死锁,但设备使用效率较低。动态分配在进程执行过程中根据执行需要进行,这种方式有利于提高设备的利用率,但如果方法不当可能造成死锁。 27、请说明 SPOOLing 技术的基本思想,回答 SPOOLing 系统由哪些部分组成?简述它们的功能,并回答SPOOLing 系统中输入井和输出井的作用是? 答: SPOOLING 技术是多道程序设计系统中处理独占 I/O 设备的一种方法,它可以提高设备 利用率并缩短单个程序的响应时间,又称为虚设备技术。 SPOOLING 系统主要包括输入程序模块(将作业预先输入到后援存储器中,预输入)、输出程序模块(作业执行时不必直接启动外部设备输出数据,只需
31、将这些数据写入输出井)、作业调度程序三个部分。输入井指预先输入的后援存储器,如磁盘等。输出井指是专门用于存放将要输出信息的磁盘等。 28、什么是移臂调度?什么是旋转调度?各有哪些主要的调度算法? 答:移臂调度是根据访问者指定的柱面位置来决定执行次序的调度,其目的是尽可能减少操作中的寻道时间,常用的算法有先来先服务算法、 最短寻找时间优先算法、电梯调度算法和单向扫描算法。旋转调度是根据延迟时间来决定执行次序的调度。 29、假设一个活动头磁盘有 200 道,编号从 0199。当前刺头正在 54 道上服务,并且刚刚完成了 39 道的请求。现有如下访盘请求序列(磁道号): 86、 147、 91、 1
32、73、 95、 148、 101、 26、 169、 80、 129、 22 试给出采用下列算法后磁头移动顺序和移动总量(总磁道数)。 1) 最短寻道时间优先磁盘调度算法。 2) 扫描法磁盘调度算法(假设沿磁头移动方向不再有访问请求时,磁头沿相反方向移动)。 1)最短寻道时间优 先磁盘调度算法的磁头移动顺序和移动总量? 26 22 80 86 91 95 101 129 147 148 169 173 2)扫描法磁盘调度算法(假设磁头移动方向不再有请求,磁头沿相反方向移动)? 8 扫描法总是从 0 号柱面开始向里道扫描( 0 在最外面) 22 26 80 86 91 95 101 129 14
33、7 148 169 173 二、名次解释 1、用户接口、命令接口、系统调用 2、进程 3、可再入程序 4、进程 状态、进程控制块、进程队列、进程控制 5、进程同步、进程互斥、临界区、信号量及 P, V操作 6、线程,死锁 7、调度时机 8、处理机利用率,吞吐量、响应时间、处理机调度 9、先进先出调度算法、时间片轮转、优先调度算法、多级队列反馈法 10、存储体系、存储共享、存储保护 11、地址转换、地址重定位、地址映射 12、虚拟存储器 13、页式存储、请求分页、缺页中断 14、抖动(颠簸),页面置换 15、先进先出置换算法,最近最少使用置换算法,理想页面置换算法 16、 Belady 异常现象
34、 17、文件、文件目录、文件系 统 18、文件的逻辑结构、文件的物理结构 19、文件的存取方式,文件的操作 20、文件的保护、文件的共享 21、输入输出设备分类 22、字符设备,块设备 23、独占设备、共享设备 24、虚拟设备 25、缓冲技术 26、 SPOOLing 技术(假脱机技术) 27、磁盘调度,移臂调度 28、先来先服务磁盘调度算法、最短寻找时间优先磁盘调度算法,电梯调度算法 29、旋转调度 第三章:网络操作系统的通信 一、选择题 1、计算机网络作为一个信息处理系统,其构成的基本模式是( B) A.对象模式 B.对等模式和客户机 /服务器模式 C.对称多处理模式 D.进程模式 2、网
35、络上任一结点主机所拥有的资源都作为网络公用资源,可被其他结点主机上的网络用户共享,这种模式称为( D) A客户机 /服务器模式 B.主从模式 C.对象模式 D.对等模式 3、消息缓冲通信中的临界资源是( D) A.消息缓冲队列 B.接收区 C.发送区 D.消息缓冲区 4、消息发送原语中一般要包含要发送消息的内存指针和( C) A.发送者 B.接收者 C.接收消息的内存指针 D.投递员 9 5、信箱可以由操作系统创建,还可以由( C)创建 A.邮件服务器 B.邮件管理器 C.用户 D.客户机 6、客户机 /服务器间通信时,首先要获取( D) A.协议簇 B.网络端口号 C.信箱号 D.IP 地址
36、 7、网络端口号用于识别接收者( B) A.客户机 B.进程 C.用户 D.信箱 8、最常用的网络通信基础协议是( ABC) A.TCP/IP B.IPX/SPX C.NetBEUI D.HTTP 9、( C)协议不具备路由和跨网段操作功能 A.TCP/IP B.IPX/SPX C.NetBEUI D.HTTP 二、填空题 1、在操作系统中 ,通信分为 低级通信 和 高级通信 。 2、 高级 通信不仅适用于本机,还适用于网络。 3、低级通信一般包括 信号 、 信号量 等,高级通信有 消息队列 、 共享内存 、 套接字 和 邮箱通信 网络上主要使用高级通信技术。 4、采用对等工作模式的网络,各结
37、点主机都处于平等地位,没有 主从 之分。 5、对于同步通信原语而言,进行调用 send 原语将消息发出后便处于 阻塞 状态。 6、网络通信软件的任务是根据通信协议来控制和管理 线程 的通信。 7、实现在一个操作下将一个消息发送给 多个接收者的通信机制称之为 多播 的机制。 8、消息缓冲通信时,当 发送者 要发信息时,执行 send 系统调用命令,产生 自愿性中断 进入操作系统核心。操作系统为发送者分配一个 空缓冲区 ,并将所发送的消息内容从发送者空间 复制到 该缓冲区中,然后将缓冲区连接到 接收者 的 消息队列 末尾。 9、消息缓冲通信时,当 接收者 执行到 receive 系统调用命令时,也
38、产生 自愿性中断 ,进入操作系统核心;操作系统将 消息内容 从 消息缓冲区 复制到 接收者 空间中,然后收 回 空闲 缓冲区 。 10、信箱是一种数据结构,逻辑上可分为两部分: 信箱头 和信箱体。 11、信箱在创建时必须建立信箱头,其中包含 信箱名称 、 信箱大小 、 创建者的进程名等。 12、进程不能向 满 的信箱发邮件,接收者不能从 空 信箱收邮件。 13、网络通信协议是对计算机之间 通信 的信息 格式 ,能被收 /发双方接受的传送信息内容的一组定义。 14、常用的网络协议分为 基础型 协议和 应用型 协议。 15、原语的设计上,通信原语分为 同步原语和异步原语 、 缓冲原语和非缓冲原语
39、和 可靠原语 和非可靠原语 。 16、对于同步通信原语而言、进程调用 send 原语将消息发出后便于 阻塞 状态。 17、为了将信息安全可靠地传送到对方,一般采用 可靠 原语。在客户机 /服务器模型上可以采用 确认 的方法。在具体应答时一般用 请求确认 或 超时重传 来完成。 18、实现流媒体传输有 实时流媒体 和 顺序流媒体 。流媒体播放方式主要有 单播 、 多播 和 点播与广播 。 三、应用题 1、在某小河上沿南北方向架设了一个独木桥,桥上只能承载一个人,无论是由南向北过桥还是由北向南过桥,均必须一个一个一次地过桥。请用信号量和 P、 V操作设 计一个南北双方人们过桥的程序。 2、请编写一
40、个火车票订票代理访问票额数据库的程序,要保证票额不能超售或一票二售。 3、某学校的托福考试考试考点已经报满,但是尚有部分晚到的学生希望能候补。请编写一个等候空闲名额的程序,要保证公平,先到先得。 4、请写出消息传递机制的发送原语和接收原语中有哪几个关键参数,并写出发送者和接收者的算法代码。 5、写出服务器向客户机用户发出收费通知的算法程序。 6、某景点与浏览车停车场相距较远,游客可以在停车场免费搭乘环保交通车到达景区,浏览完毕再返回停车场。已知景区内交通车总量为 M,游客总数为 N,约定: 1)每辆交通车限乘一位游客。 2)如果有空闲的交通车,应当允许想游览的游客乘坐。 10 3)无空闲交通车
41、时,游客只能排队等待。 4)若没有想游览的游客,空闲的交通车就原地等待。 试利用 P、 V操作实现游客进程与交通车进程的同步操作。 7、在某大学训练营地只有一间浴室,他们制定了一个简单的规则来使用这间浴室:当浴室没人时,第一个洗澡的人可以随意进入,若进入的是男生,那么将门口的写有“男”字的木牌翻过来,后来的人看到木牌后,若他是男生便可以直接进入,若是女生,则只能在门口等候;若第一个来的是 女生,就将写有“女”字的木牌翻过来,依次类推。当最后一个洗澡的人离开浴室时,若是男生就将“男”字木牌扣回去,若是女生就扣“女”字木牌。请设计一个程序,能够让男生和女生协调地使用该浴室。 对于上述问题,当现在浴
42、室内有男生,而男生又源源不断进入,可能造成女生长期等候,这显得很不公平,那么请修改程序,当有女生来到并在门口等候时,后来的男生就不能越过女生进去,而是在女生后面排队。反之亦然。 8、对于如下四个进程,为满足同步关系,特设置同步信号量 S1,S2,S3 和 s4,初值均为 0。 a,b,c 和 x,y,z 均为共享存储区 , Proc1 a:= 1, b: = 2; V(s1); P(s4); C=a+b+c+x+y+z; Proc2 P(s1); Z=a+b; V(s2); Proc3 x: = 8; y:=7; P(s2); Z=z+x+y; V(s3); Proc4 P(s3); C=a+
43、y; X=5; V(s4); 请问:上述四个进程运行结束后, a,b,c,x,y,z 的值各是多少? 9、某大学的学生选课系统规定,学生在每学期预选的课程不能超过 15 门,总计学分数不能超过 35 分。张同学选了 15 门课以后,觉得有更好的课程需要选,很希望加选,但是,系统的限制使得她不能在增加课程了,必须先退掉一门课,再去选新课。当她考虑再三将课程 ci退掉后,再去选课程 Cj 时发现课程 Cj已经满额,而张同学想选回原来的课程 Ci 时发现也已经没有空额了。选课系统为了解决这个问题,特地使用了一个专有函数 exchange_course(user,ci,cj)来交换新课和旧课,可将课程 ci 换成 cj。 下面给出了一种实现方法,请问是否正确?若正确请说明原因,若不正确请修改。要有注释说明。 Exchange_course(user,ci,cj)