2018年五邑大学计算机学院408计算机学科专业基础综合之计算机操作系统考研强化五套模拟题
● 摘要
一、综合题
1. 时间邮戳定序机构和事件计数的作用是什么?
【答案】(1)时间邮戳定序机构(Timestamp Ordering Mechanism)
对时间邮戳定序机构最基本的要求是,在系统中应具有唯一的、由单一物理时钟驱动的物理时钟体系,确保各处理机时钟间的严格同步。该定序机构的基本功能是:
①对所有的特殊事件,如资源请求、通信等,加印上时间邮戳:
②对每一种特殊事件,只能使用唯一的时间邮戳;
③根据事件上的时间邮戳,定义所有事件的全序。
利用时间邮戳定序机构,再配以相应的算法,可实现不同处理机的进程同步。实际上,许多集中式和分布式同步方式,都是以时间邮戳定序机构作为同步机构的基础。
(2)事件计数(Event Counts)
在这种同步机构中,使用了一个称为定序器(Sequencers )的整型量,为所有特定事件进行排序。定序器的初值为0, 且为非减少的,对其仅能施加ticket (S )操作。当一个事件发生时,系统便为之分配一个称为编号(或标号)V 的序号,然后使ticket 自动加1,一系列的ticket 操作形成了一个非负的、増加的整数序列,然后把打上标号的事件送至等待服务队列排队。与此同时,系统将所有已服务事件的标号保留,并形成一个称为事件计数E 的栈。实际上,E 是保存已出现的某特定类型事件编号计数的对象(Object ), 其初值为0, 当前值是栈顶的标号。
2. 何谓拉型和推型文件服务器? 它们分别适用于何种场合?
【答案】(1)通常把传统文件服务器称为拉型服务器。因为它需要用户不断发出命令,把数据“拉”过来。多媒体文件服务器称为推型服务器,因为它不断将数据“推”给用户。
(2)拉型服务器适用于普通文件系统;推型服务器适用于多媒体文件系统。
3. 试叙述时间片调度算法的基本思路。
【答案】时间片轮转调度算法是系统把所有就绪进程按先后次序排队,CPU 总是优先分配给就绪队列中的第一个就绪进程,并分配它一个固定的时间片(如50ms )。当该运行进程用完规定的时间片时,被迫释放CPU 给处于就绪队列中的下一个进程,并分配给这个进程相同的时间片。每个运行完时间片的进程,当未遇到任何阻塞时,就回到就绪队列的尾部,并等待下次轮到它时再投入运行。于是,只要是处于队列中的进程,按此种算法迟早可以分得CPU 投入运行。
当某个正在运行的进程的时间片尚未用完,而此时由于进程需要I/O请求受到阻塞,这种情
况下就不能把该进程送回就绪队列的尾部,而应把它送到相应阻塞队列。只有等它所需要的I/O操作完毕之后,才能重新返回到就绪队列的尾部,等待再次被调度后投入运行。
4. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?
【答案】动态分区分配是根据进程的实际需要,动态地为之分配内存空间。为了实现对空闲分区的分配和链接,在每个分区的起始部分,设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部则设置一后向指针,通过前、后向链接指针,可将所有的空闲分区链接成一个双向链。当分区分配出去后,把状态位由“0”改为“1”,此时前后向指针已无意义。
5. 联机命令接口由哪几部分组成?
【答案】(1)键盘终端处理程序
在微机或终端上所配置的键盘终端处理程序应具有下述几方面的功能:①接收用户从终端上
打入的字符;②字符缓冲,用于暂存所接收的字符;③回送显示;④屏幕编辑;⑤特殊字符处理。
(2)MS-DOS 解释程序
为了方便与用户交互,通常把命令解释程序放在用户层,以用户态方式运行。
(3)Shell 解释程序
在UNIX 或Linux 系统中,Shell 是作为操作系统的最外层(也称为外壳),是用户及应用程序与操作系统的接口,它是命令语言、命令解释程序及程序设计语言的统称。
6. 为什么在访问文件之前,要用Open 系统调用先打开该文件?
【答案】设置系统调用open 的目的,是为了方便用户及简化系统的处理。open 的功能是把有关的文件属性从磁盘拷贝到内存中,以及在用户和指名文件之间建立一条快捷的通路,并给用户返回一个文件描述fd 。文件被打开后,用户对文件的任何操作都只须使用fd 而非路径名。
7. 通过一个例子来说明通常的优先级调度算法为什么不能适用于实时系统?
【答案】有两个周期性任务,任务A 的周期时间为20ms ,每个周期的处理时间为10ms , 任务B 的周期时间为50ms ,每个周期的处理时间为25ms 。如表1中所示第一行显示出了两个任务的到达时间、最后期限和执行时间图。其中任务A 的到达时间为0、20、40、…;任务A 的最后期限为20、40、60、…;任务B 的到达时间为0、50、100、…(注:单位皆为ms )。
为了说明通常的优先级调度不适用于实时系统,如表2所示增加了第二行。在第二行中假定任务A 具有较高的优先级,所以在t=0ms时,先调度A1执行,在A1完成后(t=10ms)才调度B1执行;在t=20mS时,调度A2执行;在t=30ms时,A2完成,又调度B1执行;在t=40ms时,调度A3执行;在t=50ms时,虽然A3已完成,但B1已错过了它的最后期限,这说明利用通常的优先级调度已经失败。
表1中到达时间,执行时间和最后期限
表2具有较高优先级
实时系统的调度算法很多,主要是基于任务的开始截止时间和任务紧急/松弛程度的任务优先
级调度算法,通常的优先级调度算法不能满足实时系统的调度实时性要求因此不适用于实时系统。
8. 有一计算机系统利用图所示的位示图来管理空闲盘块。盘块的大小为1KB ,现要为某文件分配两个盘块,试说明盘块的具体分配过程。
图 某计算机系统的位示图
【答案】分配两个盘块的过程如下:
(1)顺序扫描位示图,找到第一个值为0的二进制位,得到行号(2)将找到的二进制位转换成对应的盘块号。盘块号
(3)修改位示图,令并将该盘块分配出去。 列号
类似地,可使用相同的方法找到第二个值为0的二进制位,得到行号i=4, 列号j=7, 其对应的盘块号为55,令并将该盘块分配出去。
9. 如果希望把filel 的内容附加到原有的文件file2的末尾,应用什么命令?
【答案】如果把filel 的内容附加到原有的文件file2的末尾,则应用重定向命令如下:
10.在UNIX 系统内,被保护的CPU 环境中包含哪些数据项?
【答案】当用户程序处在用户态,且在执行系统调用命令即CHMK 命令之前,应在用户空间提供系统调用所需的参数表,并将参数表的地址送入R0寄存器。执行CHMK 命令后,处理机将由用户态转为系统态,并由硬件自动地将处理机状态长字(PSL )、程序计数器(PC )和代码操作数(code )压入用户核心栈,继而从中断和陷入向量表中取出
行。
的入口地址,转入执