河北科技大学硕士学位研究生2014——2015学年第1学期《操作系统与驱动开发》课程期末考试试卷学院信息学院专业电路与系统姓名程莉学号 2201414007 题号一二三四五六总分得分一.单项选择题(每小题1分,共10分)1.操作系统的 D 管理部分负责对进程进行调度。
A.主存储器B.控制器C.运算器D.处理机2.分时操作系统通常采用 B 策略为用户服务。
A.可靠性和灵活性B.时间片轮转C.时间片加权分配D.短作业优先3.很好地解决了“零头”问题的存储管理方法是 A 。
A 页式存储管理B 段式存储管理C 多重分区管理D 可变式分区管理4.用WAIT、SIGNAL操作管理临界区时,信号量的初值应定义为 B 。
A.-1B.0C.1D.任意值5.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完6.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数B 。
A.9B.10C.11D.127.虚拟存储器管理系统的基础是程序的 B 理论。
A.全局性B.局部性C. 动态性D.虚拟性8.从用户的角度看,引入文件系统的主要目的是 DA.实现虚拟存储B.保存系统文档C.保存用户和系统文档D.实现对文件的按名存取9.操作系统中采用多道程序设计技术提高CPU和外部设备的 AA.利用率B.可靠性C.稳定性D.兼容性10.缓冲技术中缓冲池在 C 中。
A.主存 B. 外存 C. ROM D. 时间片轮转二.填空(每空0.5分,共15分)。
11.进程存在的唯一标志是PCB 。
12.通常进程实体是由程序块、进程控制块和数据块三部分组成。
13.磁盘访问时间由寻道时间、旋转延迟时间和传输时间组成。
14.作业调度是从后备作业队列中选一些作业,为它们分配资源,并为它们创建进程。
15.文件的物理组织有顺序、链接和索引。
16.若一个进程已经进入临界区,则其它欲要进入临界区的进程必须___等待____。
17.信号量的物理意义是,当信号量值大于零时其值表示可分配资源的个数;当信号量值小于零时,其绝对值表示等待使用该资源的进程的个数。
18.静态重定位在程序装入时进行;而动态重定位在程序运行时进行。
19.分区管理中采用“最佳适应”分配算法时,宜把空闲区按长度递增次序登记在空闲区表中。
20.所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。
21.把逻辑地址映射为物理地址的工作称为地址映射。
22.设备管理中采用的数据结构有设备控制表、控制器控制表、通道控制表、系统设备表等四种。
23.从资源管理(分配)的角度,I/O设备可分为独占设备、共享设备和虚拟设备三种。
24.设备与控制器之间的接口信号主要包括数据、状态和控制。
25.DMA控制器由三部分组成,分别为主机与DMA控制器的接口、 DMA控制器与块设备的接口和 I/O控制逻辑。
三.名词解释(每小题2.5分,共10分)。
26.虚拟存储器答:虚拟存储器是指在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。
27.死锁答:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
28.进程答:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
29.设备独立性答:为了提高操作系统的可适应性和可扩展性,在现代操作系统中都毫无例外地实现了设备独立性,也称为设备无关性。
设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
四.简答题(每小题4分,共20分)。
30.简述死锁的产生原因和产生死锁的四个必要条件。
答:产生死锁的原因主要是:(1)因为系统资源不足。
(2)进程运行推进的顺序不合适。
(3)资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。
其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
31.用图形描述进程的三种基本状态转换图,并解释状态转换原因答:三种基本状态是就绪、执行和阻塞状态,其转换图如下:进程三种状态的转换原因:1、处于就绪状态的进程当进程角度程序为之分配了处理机后该进程便由就绪状态变为执行状态;2、当前进程因发生某事件而无法执行如访问已被占用的临界资源就会使进程由执行状态转变为阻塞状态;3、当前进程因时间片用完而被暂停执行该进程便由执行状态转变为就绪状态32.简述分段和分页存储管理的主要区别。
答:页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。
分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
33.试说明什么是SPOOLing系统,并说明其组成。
答:SPOOLing (即外部设备联机并行操作),即Simultaneous Peripheral Operation On-Line 的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
其组成:1、输入井输出井2、输入缓冲区和输出缓冲区3、输入SPi和输出SPo34.试说明设备驱动程序的作用。
答:设备驱动程序的功能有如下几点:1、接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。
2、检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
3、发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。
4、及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。
5、对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。
五.设计题(45分)在Windows XP 系统下,开发了一种采用虚拟仪器技术的基于PCI 总线的4½数字电压表。
其硬件框图如下图所示。
其中ICL7135是一款经典的4½数字电压表芯片,其外围电路简单,使用方便。
而PCI9054也是一款常用的PCI 桥路转接芯片。
在两者之间采用FPGA 芯片完成局部端总线与ICL7135的接口逻辑。
上位机通过PCI 总线控制ICL7135的启动/保持,以及采样速率。
ICL7135的转换结果通过PCI 总线送达上位机显示。
PCI9054FPGA ICL7135PCI 总线电压输入通过查阅资料解决如下问题:(1)Windows XP 系统下,设备驱动的机制是什么?其设备驱动程序有什么特点?(10分) (2)Windows XP 系统下,开发设备驱动程序的一般过程是什么?有哪些开发工具?(10分) (3) 以本应用为例,要求在工程中开发本虚拟仪器的驱动程序,给出详细的开发方案(包括开发工具与环境、开发过程、各功能的实现方法、提供的接口函数等)。
(25分,可加页) 答:(1)机制:NT 内核框架设备驱动程序特点:1、支持即插即用和电源管理。
即插即用是指外部设备可以在系统运行时添加或删除,操作系统可以在任何时候分配血药的硬件医院。
因而可以动态配置设备。
电源管理是指设备对系统电源的使用情况是动态变化的。
2、支持类驱动、微驱动程序分层结构。
多个驱动层之间相互联系,既可以接收来自上城驱动的服务,也可以向下层传递IRP 请求。
类驱动程序是针对一个特定类设备的驱动程序,处理这一类设备的IRP 请求。
3、 提供系统总线驱动程序。
WIN 提供了系统总线驱动程序,通过系统总线驱动程序,设备驱动程序实现物理设备的底层控制和资源配置。
4、支持WMI WMI是一种向系统管理员报告管理信息的协议,这个协议能测量和管理消耗在本地或网络中客户机上的资源信息。
(2)一般过程:1、驱动开发环境的搭建1)DDK驱动开发包,提供了很多有用的工具用于驱动程序的开发和调试2)驱动程序的编译,在VC环境下开发驱动程序。
2、驱动程序的结构1)驱动程序的头文件和入口点2)创建设备例程卸载驱动例程3)编写驱动程序开发工具:DDK(Device Development Kit),设备开发包的意思。
一般指windows设备驱动程序开发包。
WinDriver是一个用于驱动开发的工具包。
它具有跨平台特性。
DriverStudio是一套用来加速微软Windows 设备驱动程序的开发和调试的核心工具。
DriverStudio 能加速开发,调试,测试,调整和配置你的VXD,WDM和Windows NT驱动程序。
NI-VISAVISA是个通用的仪器驱动标准,国际上有专门的联盟,制定这个标准,很多大型的仪器厂商的产品都遵循这个标准,无论是USB、串口、GPIB或是以太网。
(3)开发方案:开发环境:WDM编程环境开发工具:WDM驱动程序开发工具为了简化驱动程序的开发,缩短开发周期,常用的方法是使用Numage公司提供的开发工具Driver Studio,这是一个开发工具包(包含VtoolsD,Driver Works和SoftICE等开发工具)。
其中的Driver Works是Compuware公司开发的工具,它提供了一系列类。