[考研类试卷]综合模拟试卷11及答案与解析.doc

上传人:appealoxygen216 文档编号:849083 上传时间:2019-02-22 格式:DOC 页数:4 大小:28KB
下载 相关 举报
[考研类试卷]综合模拟试卷11及答案与解析.doc_第1页
第1页 / 共4页
[考研类试卷]综合模拟试卷11及答案与解析.doc_第2页
第2页 / 共4页
[考研类试卷]综合模拟试卷11及答案与解析.doc_第3页
第3页 / 共4页
[考研类试卷]综合模拟试卷11及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、综合模拟试卷 11 及答案与解析一、简答题1 简述 UNIX 中 shell 命令解释器的工作原理。2 简述 Minix 中实现文件和路径名管理的主要方法。二、应用题3 给定一个全局数组 an、6n,然后是 T1T a-1 共 n 一 1 个线程,线程的代码如下: Ti() a=g(a,ai1); b=f(a); 其中 g 和 f 函数的作用是通过输入参数,进行一系列运算后返回。相当于 Ti 以 a 和 ai1为输入参数,a 和 b 为输出。要求使用 PV 原语,实现 T1T a-1 的并发互斥,尽量保证最大限度的并发(ai1为 Ti-1 线程的结果)。4 假设当前处于非抢占调度策略,进程只有

2、两种方式可以放弃 CPU,一个是主动调用系统调度函数 sysnc(),此时进程主动放弃 CPU;另一个方式是当进程执行IO 操作时,系统将调度下一个进程。试分析如下三种进程对,何日寸会出现不符合下列原则的情况,并说明原因:1)空闲则人;2) 有限等待;3)保证互斥。第一种:Thread1()sysnc();一一一一 criticalseetion 一一一一g=g 十 b;f=ga;临界区不能被打断一一一一 critiealseetion 一一一一Thread2()一一一一 criticalseetion 一一一一g=g+b;f=ga;一一一一 criticalseetion 一一一一第二种:T

3、hreadl()sysnc();一一一一 critiealseet:ion 一一一一g=g+b;f=ga;一一一一 critirlalsectinn 一一一一Thread2()一一一一 criticalsection 一一一一g=g+b;f=ga;一一一一 eriticalsection 一一一一sysnc();第三种:ThreadI()sysnc();criticalsectiong=g+b:fstring=printf();调用 IO;f=g-a:一一一一 criticalsection 一一一一Thread2()sysnc();一一一一 criticalsection 一一一一g=g+b

4、;f=ga;criticalsection综合模拟试卷 11 答案与解析一、简答题1 【正确答案】 UNIxshelI 也叫做命令行界面,它是 UNIx 操作系统下传统的用户和计算机的交互界面。用户直接输入命令来执行各种各样的任务。当然微软的windows 操作系统也提供了这样的功能,它们是 windows9x 下的 commanDcom和基于 windowsNT 的各种系统下的 cmDexe。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称为 Shell 是因为它隐藏了操作系统低层的细节。同样地,UNIX 下的图形用户界面 GNOME 和 KDE,有时也被叫做虚拟 Sh

5、ell或者图形 Shell。UNIX 操作系统下的 shell 既是用户交互的界面,也是控制系统的脚本语言。当然在这点上也有别于 windows 下的命令行,虽然后者也提供了很简单的控制语句。在 windows 操作系统下,可能有些用户从来都不会直接使用shell,然而在 UNIX 系列操作系统下, Shell 仍然是启动系统和控制其他实用工具的脚本解释程序。shell 本身是一个用 C 语占编写的程序,它既是一种命令语言,又是一种程序没计语苦,它是用户使用 UNIX 的纽带。作为命令语言,它可以交互式地解释和执行用户输人的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言

6、中才有的控制结构,包括循环等,从标准输入或文件中读人的命令进行解释执行。2 【正确答案】 Minix 文件系统本质上是一个运行于 Minix 用户态的 C 程序。用户程序通过给义件系统发送消息来进行文件的读写,文件系统完成之后回复消息。Minix 文件系统可以说足一个网络文件服务器程序,只是这个程序和调用者运行在同一台机器上而已。Minix 文件系统在设计时考虑了以下儿个方面。首先,Minix文件系统是可以在独立于 Minix 文件系统之外进行修改、测试和试验的。其次,Minix 文件系统可以很容易地在任意带有 c 编译器的机器上编译、运行。唯一需要注意的是不同操作系统之间消息的传递机制可能是

7、不同的。二、应用题3 【正确答案】 这个操作实际上是一个生产者消费者问题,T i 看成是 Ti+1 的生产者,Ti+1 看成是 Ti 的消费者。设置一个数组 emptyn,初始 empty0始终为 1,其他为0,用来表示 ai中的数据是否产生完毕, mutex 标志 a 是否被访问,初始为 1,则使用 PV 操作后: Ti() Wait(mutex) ; Wait(emptyi1); a=g(a,ai1); b=f(a);signal(emptyin); signal(mutex);4 【正确答案】 第一种线程对:不符合有限等待原则。当第一个线程调用 sysnc:释放 CPU 后,第二个线程获

8、得 CPU 会一直执行,线程没有释放 CPU 的过程,这样它一直占用 CPU,使得线程 1 在释放 CPU 之后一:直处于等待状态,即出现无限等待的情况(还有可能是线程 2 先占用 CPU,这样它就一直占用并不释放,使得线程 1 永远无法执行)。第二种线程对:不符合空闲则人的原则。这是由于线程 2中调用了 sysnc 操作释放 CPU,这时调用线程 1,而线程 1 也是释放 CPU 使得可能出现关键区空闲却没有线程访问的情况。第三种线程对:不符合保证互斥原则。在两个线程运行的过程中,第二个线程会先释放 CPU,此时第一个运行。但是在第一个运行的过程中它会释放 CPU(但这时它已经在访问关键区了)。线程 2 进入关键区运行,直至释放 CPU,此时线程 1 继续运行。但是这时关键区中的数据是被线程 2 访问后的结果,使得线程 1 的结果与预计结果不同,并未保证访问关键区这个操作是个原子操作。并未保证互斥,可能出现同时访问关键区。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1