1、5. 请描述“文件”的定义,并说明文件的三种物理结构。“文件”是一个抽象的机制,它提供在磁盘上保存和读取信息的方式。空间分配模式有连续分配,链表式分配以及i节点方式。二、编程计算题(本题共5小题,共计45分,选做4题,多做不得分) 草稿区 请在下面的表格中指定答题顺序,在对应的分值下列明题号。每格只许列出一个题号,否则做无效处理。 下表中必须写明所有题目的题号,如果填写不完全,视为不指定答题顺序。 如填写内容无效或者不填写表格,则按照默认的题面分值评分第一题(15分)第二题(12分)第三题(10分)第四题(8分)6. CPU利用率计算:有5个批处理作业A到E,他们几乎同时到达一个计算中心,估计
2、他们的运行时间分别为10,5,3,4,8分钟,其优先级(由外部设定)分别为4、3、5、2、1,其中5为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的时间开销。1)时间片轮转法(假设每个作业均公平共享CPU时间);2)优先级调度法;3)先来先服务(作业到达顺序为A、B、C、D、E); (本题默认分值:8分,列出计算公式与计算结果即可)评分标准:执行顺序正确,1分;计算过程正确1到2分,结果1分。1) 时间片轮转法:(4分)假设时间片为t,并且t为一个充分小的数值,以保证其能够被任何宏观时间整除。 进程C运行完各个进程消耗的总时间=5*5*t*(3/t) 进程D运行完各
3、个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t) 进程B运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t) 进程E运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t)+2*2*t*(8/t-5/t) 进程A运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t) +2*2*t*(8/t-5/t)+1*t*(10/t-8/t)平均周转时间 = 进程A运行完各个进程消耗的总时间/5 = 11
4、4/5 =22.82) 优先级调度法:执行顺序为:C A B D E作业CABDE等待时间3131822运行时间10548周转时间30平均周转时间 = (3+13+18+22+30)/5 = 17.23) 先来先服务:A B C D E15平均周转时间 = (10+15+18+22+30)/5 = 197. 进程同步互斥问题解决:消息机制是解决IPC问题的一种重要方法,它大大简化了使用信号量机制的代码复杂性和设计上的风险。请用消息机制来描述生产者-消费者问题的解决方法,并回答以下问题1) 简要描述消息机制中Send和Receive原语的内部处理流程(根据你的想法来设定)2) 请基于消息机制,用
5、伪代码来描述生产者-消费者问题的解决方案。15分)假设所有的消息都有同样的大小,建立一个类似于一块共享内存缓冲区的N个槽。消费者首先将N条空消息发送给生产者,当生产者向消费者传递一个数据项时,它取走一条空消息并送回一个填充了内容的消息;这样系统中总的消息数保持不变,所以消息都可以存放在事先确定数量的内存中。Send(dst, content) 关中断 /保证Send函数为原子操作; 将content放入dst进程的消息缓冲区中; 开中断 /恢复被关闭的中断情况;Scheduler() /调用进程调度函数,恢复用户进程运行;Receive(src, content) If (没有从src进程发送
6、来的消息) 等待src消息,睡眠;#define N 100 / 缓冲区中的槽数目Producer流程: While(TRUE) Item = produce_item() / 产生放入缓冲区中的产品 Receive(consumer, &m) / 等待消费者发送空缓冲区 Bulid_message(&m, item) / 建立一个待发送的消息 Send(consumer, &m) / 发送数据项给消费者 Consumer流程: For (I = 0; I = 1;3) D运行结束后,可用资源量为 (1 ,1 ,1+X ,2 ,1)且X = 1。4) 再次检查A、B和C进程,发现:a) 只有A
7、可以运行;b) 进程B和C需要等待第一类或第二类资源;c) 此时,在X = 1的条件下,A已经可以运行了。5) A运行完成后,可用资源量为(2 ,1 ,3+X ,3 ,2)且X 6) 再次检查B和C进程,发现:a) 只有C可以运行;b) 进程B需要等待第二类资源;= 1的条件下,C已经可以运行了。7) C运行完成后,可用资源量为(3 ,2 ,3+X ,4 ,2),此时,B可以运行了,且不对X提出新的要求。8) 因此,X的最小值为1。 初步分析:2分 执行顺序: 每个进程运行时对X的要求的分析:4分,每个进程1分 最终结果: 各部分的逻辑性和分析如果正确,可酌情给分,满分10分。10. 虚拟存储
8、管理问题:页面失效次数和页面置换算法是评估分页存储管理系统的重要因素,假设一个进程有4个页帧和8个页面,页面编号为07,该进程的页面访问序列为0172327103,请回答以下问题:1) 若使用LRU页面置换算法,请问会发生多少次页面失效?列出每次页面置换的结果;2) 若使用工作集页面置换算法,请问比较合理的工作集大小是多少?列出对应的页面失效次数和置换结果;12分)LRU方式:共7次。(5分,页面失效位置2分,物理页状态2分,结果1分)172物理页1物理页2NULL物理页3物理页4页面失效是否 工作集方式:由于物理页帧有4页,因此,选择最近使用的4个页面组成工作集。使用局部性原理,进行预读取。
9、共6次。三、系统分析题(本题共3小题,共计25分,选做2题,多做题目不得分) 第二题(10分)11. 在人机交互的过程中,通过一系列中断和进程间通信,大量的后台进程被调度执行,最终完成用户期望的操作。假设你在登陆南开大学校园BBS网站,从登陆界面中输入用户名和密码,到屏幕显示你登陆成功,这个过程中涉及到大量操作系统的后台操作,请简要分析并阐述这个过程中可能涉及到的操作系统后台操作。15分,请列出你所能想到的涉及中断处理、进程调度、内存管理、I/O管理的关键步骤)答案1. HCI:键盘中断响应; 中断处理2. 浏览器程序调用内核功能进行回显输出,载入显卡驱动程序,设置显示内容; I/O管理3.
10、HCI:鼠标中断响应;4. 浏览器进程使用系统调用,进行网络连接,与远端服务器进行数据交换 I/O管理5. 获得远端服务器的信息,存入内存,准备显示; 内存管理6. 载入显卡驱动程序,设置显示内容;将显示内存从字符串转换为点阵,开始输出; I/O管理每个2分,其中内容1分,所涉及中断、调度、内存和I/O正确得1分,满分10分。12. I/O设备管理系统设计:I/O设备管理在计算机系统中占据着非常重要的地位,任何一种新型I/O设备能够被计算机识别并正常使用,都需要进行一系列I/O软件系统的研发。假设你是一家I/O设备厂商的高级工程师,你所在的企业研发出一种新的摄像头,该设备通过USB接口与计算机
11、连接。你的任务是为这个I/O设备研发完整的软件系统,请回答以下问题:1)简要阐述I/O软件系统的层次划分,以及各个层次之间的关系2)简要设计你在每个I/O软件系统层次的研发内容,说明功能目标。1) I/O软件系统层次划分:(共2分,每个0.5分)a) 用户级I/O软件:产生I/O请求,对I/O进行格式化;b) 与设备无关的操作系统软件:执行对所有设备公共的I/O功能,并向用户软件提供统一接口;c) 设备驱动程序:接收来自其上方与设备无关软件发出的抽象读写请求,并监督执行过程;d) 中断处理程序:直接操控硬件,阻塞上层设备驱动程序直至I/O完成;2) 每个I/O软件系统层次的研发内容:(8分,每
12、个两分,主要体现系统思想和接口设计即可得分)a) 中断处理程序:设置中断向量,快速的完成中断所要求的功能,当I/O完成时唤醒驱动程序,清除外部中断处理请求;b) 设备驱动程序:设置设备寄存器,直接与外部设备以电信号进行交互;检查外部设备状态;c) 设备无关的操作系统组件:命名外部设备,保护多进程共享,统一的I/O接口组件,对高速、低速设备间进行缓冲,分配资源;d) 用户级I/O软件:产生I/O请求,对I/O进行格式化,假脱机;13. 文件系统设计:目录体系的复杂程度与灵活性是文件系统设计的关键所在,在简单的操作系统中往往只有一级目录,而在复杂的操作系统中,目录体系被设计成复杂的层次化结构。假设
13、提供给你一台32位的计算机,请你设计一个简单的目录体系,该目录体系只有一级目录结构,但是却能允许该目录下有任意多个文件,每个文件可以有任意长度的文件名。在这样的限定条件下,你能模拟实现层次化的文件系统吗?请简要阐述你的设计方案。10分)物理层次(3分) 考虑目录下可以有任意多个文件,故需要建立一个可变大小的索引区域:在各个存储块中存储下一存储块的磁盘块号,通过链表形式建立起索引区域。在索引区域中存储文件名称以及文件数据块首块号,当索引区域满之后,为索引区域分配新磁盘块并加入索引区域链表中,这样就可以实现目录下有任意多个文件以及文件拥有任意长度的文件名称的特性。同样也通过链表形式链接文件数据块,
14、在每个数据块中设置固定区域存储其下一存储块的磁盘块号。该层次需要实现的接口功能:(1分)为索引区域分配新块、释放索引区域指定块、为数据区域分配新块、释放数据区域指定块、将指定数据写入指定块;逻辑层次(5分) 使用“”作为各级目录的固定分隔符,并规定用户文件名中不许包含该字符。 将文件划分为两种类型:目录文件和数据文件。 对于目录文件: 其文件名为该目录所在绝对路径+“”+该目录名称; 其存储内容为:一个目录文件标识;该目录下所有目录文件以及数据文件的文件名列表;对于数据文件: 其文件名为该文件所在绝对路径+“”+该文件名称; 其存储内容为该文件的实际数据;添加/删除文件、打开/关闭文件、读/写文件;用户接口层次(2分) 目录文件的添加/删除/查看、数据文件的添加/删除/查看、目录切换
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1