ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:60.74KB ,
资源ID:4797956      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4797956.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(12级《实用操作系统》A卷及答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

12级《实用操作系统》A卷及答案.docx

1、12级实用操作系统A卷及答案北京信息科技大学信息管理学院2013-2014(2)期末考试试卷(A卷)课程名称:实用操作系统考试日期:2014 年7月2日 考试时间:考试地点: 考试形式:(闭卷)班级: 学号: 姓名: 成绩: 题号一二三四五六总分得分教师签字一、判断题(本题满分10分,每题1分,共含10道小题。)(填答案处,答案不填在此处不给分。正确 ,错误 )12345678910 1. 创建进程时,需要在内存中建立程序副本。2. 操作系统通过PCB记录文件在磁盘上的存储位置。3. 操作系统的内核通常运行在核心态,用户程序在用户态下运行。4. 现代操作系统,阻塞、挂起、排队,都是针对线程的的

2、,而不是针对整个进程的。5. 在解决互斥问题时,V操作用于请求一个资源,P操作用于释放一个资源。6. 在页式存储管理机制下,操作系统为一个进程分配的内存通常是连续的。7. 在虚拟存储器技术下,操作系统会将一部分程序页面调入内存(称为主存),而在硬盘上开辟一个空间(称为辅存)存放剩余的页面。8. 在虚拟存储管理中,可变分配、局部置换的置换策略是:当某进程待访问的页面不在主存,如果需要将主存中的某页置换到辅存时,可以在主存中选择任意进程的页换出。9. 操作系统安排文件向磁盘上存储时,连续的文件块可能被存储在磁盘上不连续的磁盘物理块中。10. 信号量初值可以为负值。二、填空题(本题满分10分,每空1

3、分,共含10道小题) (填答案处,答案不填在此处不给分)12345678910PV阻塞态IPDMA装入内存被执行102页表1. 为了实现互斥,程序中的临界区需要使用 1 函数和 2 函数在两端进行控制。2. 如果操作系统在运行某个进程时发现该进程申请访问一个已被占用的外设资源时,会阻塞该进程,把该进程的状态由运行态改为 3 。3. CPU中负责指明下一跳待执行指令的寄存器是 4 。4. 不经过CPU而直接在外部设备与内存之间进行数据传输的模式,被称为 5 访问模式。5. 静态地址重定向是在程序 6 的时候进行的,动态地址重定向是在程序指令 7 的时候进行的。6. UNIX System V系统

4、采用混合分配方式记录文件在磁盘上的位置。其文件目录表中的索引节点能直接索引 8 个磁盘块。7. 在一级页式存储管理方案中,为了获得一条指令或数据,需要访问内存 9 次。第一次访问 10 ,第二次访问指令或数据所在的内存。三、单项选择题(本题满分10分,每题1分,共含10道小题)(填答案处,答案不填在此处不给分)12345678910CACDAACBBD1. 在内存管理中,逻辑页号与物理页号的映射关系存储在 。A. 链表中 B. 内存分配表中 C. 页表中 D. 索引表中2. 原语最为完成一定功能的程序,它与一般程序的区别在于 。A. 程序中的所有操作必须一次执行完成 B. 程序中的所有操作应该

5、可以被回朔C. 原语在执行中可以被中断 D. 核心态的程序都必须用原语实现3. 在内存管理的方案中,内存块的大小 。A. 不能大于程序页的大小 B. 需要大于程序页的大小C. 需要等于程序页的大小 D. 不能等于程序页的大小4. 时间片轮转算法(RR),是 。A. 一种磁盘寻道算法 B. 一种内存剩余空间计算方法C. 一种阻塞队列排队算法 D. 一种进程调度算法5. 在计算机主板中,网络、USB、硬盘等接口控制器通常 。A. 设计在南桥芯片中 B. 设计在北桥芯片中C. 设计为独立电路芯片组中 D. 设计在中断控制器中6. 在虚拟存储管理中,可变分配、局部置换的置换策略是:当某进程待访问的页面

6、不在主存,如果需要将主存中的某页置换到辅存时, 。A. 需要在该进程占用的主存中选择置换页 B. 该进程占用的主存大小不可变C. 可以在主存中选择任意进程的页换出 D. 该进程占用的辅存大小不可变7. 下面哪个函数完成V()函数的功能A. CreateSemaphore() B. WaitForSingleObject()C. ReleaseSemaphore() D. CloseHandle()8. 对于记录型信号量,在执行一次V操作时,信号量的值应当A. 不变 B. 加1 C. 减1 D. 加指定数值9. 将一个程序创建为进程,需要A. 为该进程分配磁盘空间 B. 在内存中建一个该程序的副

7、本C. 扩大可用的内存容量 D. 为该进程提供分区表10. 为了对4G内存空间的计算机寻址,需要设计 A. 16位的地址总线。 B. 20位的地址总线。C. 24位的地址总线。 D. 32位的地址总线。四、计算题(本题满分24分,每题8分,共含3小题)1. (本题8分)设页式存储管理系统在2GB大小的内存管理中,内存块大小设定为8K。(1) 试写出地址结构格式(页号寻址位数、页内寻址位数)。(2分)(2) 若某进程大小为40K,该进程应被分为多少页(2分)(3) 若该进程被分配到第3115块开始的连续内存块中,试画出页表(4分)解:(1) 31 = 18 + 13(2) 5(3) 0 - 31

8、15、1-3116、2-3117、3-4118、4-31192. (本题8分)假设操作系统当前对25个并行运行的进程进行调度。每个进程分配的时间片为20ms,操作系统每次进行进程切换时需要耗费。(1) 试计算操作系统在此场景下为调度CPU完成多进程并行切换所花费的时间占系统整个时间的比例。(4分)(2) 试根据计算结果描述多进程并行运行的代价是什么。(4分)解:(1) / ( 20 + = %(2) 有%的CPU时间消耗在进程切换调度控制上。3. (本题8分)在UNIX操作系统采用的索引节点方式记录文件在磁盘的存储位置方法中,每个索引节点有13个地址项。其中前10个地址项用于直接寻址,后3个为

9、间接寻址的索引块指针。假如盘块的大小为4K,试计算:(1) 直接索引寻址最大支持的多大的文件(2分)(2) 一级间接索引寻址最大支持的多大的文件(3分)(3) 二级间接索引寻址最大支持的多大的文件(3分)解:(1) 4KB(2) 4K x 4K + 4K = 16MB + 4K(3) 4K x 4K x 4K + 4K x 4K + 4K = 64Gb + 16MB + 4K五、应用题(本题满分46分,共含6小题)1. (本题6分)进程控制块PCB是操作系统进行进程管理和内存管理中的重要数据结构。试:(1) 写出进程控制块中记录的主要内容。(2分)(2) 描述进程控制块在进程管理中的作用。(2

10、分)(3) 描述进程控制块在内存管理中的作用。(2分)解:(1) 进程名等基本信息、状态、页表基址、断点和现场.指针。(2) 感知进程的状态、暂存断点和现场、动态地址重定向、队列等。(3) 记录页表基址,在销毁进程时释放所占用的内存。2. (本题6分)设有5个进程之间有下图所示的同步关系。试在这5个进程中用P()、V()函数控制它们之间的同步。解:设P1对P2的同步控制信号量为s1、P2对P3的信号量为s2、P2对P4的信号量为s3、P2对P5的信号量为s4、P3对P4的信号量为s5Semaphore s1 = s2 = s3 = s4 = s5 = 0;P1 .code.V(s1); P2

11、P(s1);.code. V(s2); V(s3); V(s4) P3 P(s2); .code. V(s5); P4 P(s3); P(s5); .code.P5 P(s4); .code.3. (本题8分)在多用户并发访问情况下,服务器为每个用户连接建立一个进程。为了保证数据库数据的一致性,要求对数据库读写操作的限制条件是:(1)允许任意多的进程对数据库同时读访问;(2)一次只允许一个写进程对数据库进行写访问;(3)如果有一个进程正在进行写数据库操作,禁止任何读进程进行读操作。试写出数据库读进程和写进程的示意程序代码,通过信号量和P、V函数实现上述读写限制。解:参见教材P83读者-写者问题

12、4. (本题8分)假设操作系统提供Create()、Read()、Write()、Close()等API函数,使用户态下的用户程序通过这些API函数访问外部设备。(1) 请画图并描述操作系统如何进行设备访问控制,避免外部设备访问冲突的(4分)(2) 请画图并描述操作系统如何使用虚拟设备技术(SPOOLing)提高设备访问效率的。(4分)解:(1)BIOS在创建操作系统进程时将操作系统设置为核心态,使操作系统可以直接访问硬件。操作系统将各个IO驱动程序设置为核心态。在创建应用程序进程时,将所有用户进程设置为用户态。由于CPU拒绝执行用户态进程中访问IO的指令和调用核心态进程的指令,用户进程不能够

13、直接访问外设或调用外设驱动程序,只能通过调用操作系统提供的API函数访问外设。用户进程访问外设时,需要使用create()API函数向操作系统的设备管理进程申请,获得设备访问句柄后才能继续调用write()或read()API函数来访问外设。当用户进程申请访问某个外设,而该外设正被其它进程占用时,操作系统的设备管理进程就会阻塞该进程,直到外设被其它进程释放。因此,避免了进程间外部设备的访问冲突。(2)采用虚拟设备技术(SPOOLing)的操作系统,一旦有用户进程申请访问某个外设,操作系统设备管理进程就创建一个SP线程来虚拟要访问的外部设备。用户进程将把访问外设的任务交给SP线程来完成。SP线程

14、将执行外设申请、外设访问的操作。如果外设被其它进程占用,操作系统将阻塞SP线程,而不是用户进程。这种外设访问的模式可以大大提高外设访问和用户进程的执行效率。5. (本题8分)某针对4G内存空间的操作系统采用一级页式存储管理方案,设计内存块(页)的大小为8K。(1) 试画出该操作系统划分页面的地址空间(2分)(2) 设一个需要32K内存规模的进程,被连续存放在34821、34822、34823、34824内存块中。试画出内存分配后操作系统创建的页表。(2分)(3) 试画出实现动态地址重定向的方案示意图。(要求在画出各步地址计算、传输的位数,画出CPU中的基址寄存器)。(2分)(4) 试说明CPU

15、中的基址寄存器在动态地址重定向中的作用。(2分)(本题可以考试后再学习。关于内存管理的复习请参考本章的习题)6. (本题10分)阅读下列程序,(1)请对程序中各条语句的功能进行注释。(6分)HANDLE hHonk1,hHonk2; /开辟线程1和线程2的句柄变量。HANDLE hHonkSemaphore; /开辟信号量句柄变量。DWORD threadID; /开辟线程编号变量threadID。void Honk1Thread()WaitForSingleObject(hHonkSemaphore,INFINITE); /注释:P函数,如果有其它线程正在播放音乐,阻塞本进程。printf(

16、n Thread1 is working n);mciSendString(play C:,NULL,0,NULL); /注释:调用API函数播放一个音乐。MessageBox(NULL,Press any key to stop music ,music window,0); /注释:弹出提示窗口,等待用户按任意键继续执行后面的指令。mciSendString(close C:,NULL,0,NULL); /注释:关闭音乐播放ReleaseSemaphore(hHonkSemaphore,1,NULL); /注释:V函数,如果有其它线程被阻塞,唤醒该线程程。(如果hHonkSemaphore

17、信号量的阻塞队列中有被阻塞的线程或进程,唤醒头一个线程或进程)void Honk2Thread()WaitForSingleObject(hHonkSemaphore,INFINITE); /注释:P函数,如果有其它线程正在播放音乐,阻塞本进程。printf(n Thread2 is working n);mciSendString(play C:,NULL,0,NULL); MessageBox(NULL,Press any key to stop music ,music window,0);mciSendString(close C:,NULL,0,NULL); ReleaseSemap

18、hore(hHonkSemaphore,1,NULL); /注释:V函数,如果有其它线程被阻塞,唤醒该线程程。void main(void)hHonkSemaphore = CreateSemaphore(NULL, 1, 1, honkSemaphore); /注释:创建信号量honkSemaphore,初值为1,用于线程1和线程2的互斥。hHonk1=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk1Thread, 0, 0, &threadID); /注释:创建线程1hHonk2=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk2Thread, 0, 0, &threadID); /注释:创建线程2MessageBox(NULL,Press Enter to stop Main Function,Main window,0); CloseHandle(hHonk1); /注释:关闭线程1CloseHandle(hHonk2); /注释:关闭线程2(2)描述下列程序的用途和运行方式。(4分)本程序创建两个播放音乐的线程,由这两个线程分别播放音乐。该程序设置两个线程处于互斥的运行方式。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1