欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统作业(共13页).docx

    • 资源ID:13968408       资源大小:57.01KB        全文页数:13页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统作业(共13页).docx

    精选优质文档-倾情为你奉上第一次作业书上的作业1.1操作系统的两个主要目标是什么?答:(1) 为计算机用户提供一个环境让用户可以方便地在计算机硬件上执行程序(2) 以公平有效的方式分配计算机的资源用于解决特定的问题1.3多道程序设计的主要优点是什么?答:通过把各种不同的用户提出的对CPU和I/O设备的请求相互交替执行而更高效地使用CPU。它通过不断让CPU工作而提高CPU的利用率。2.2监督程序模式和用户模式之间的区别?答:通过只能在系统模式(或者称为监督程序模式)下执行特权指令可以保证操作系统时刻控制整个计算机系统,并保证关键数据的安全。2.3陷入与中断之间的区别?答:中断是一个系统中由硬件产生的用于改变执行流程的信号。一个中断控制程序来处理中断,执行完成后返回被中断的程序指令。陷阱是一个软件产生的中断。例如可以用陷阱提示I/O操作的完成,或者调用操作系统的系统调用,或者捕获算术运算错误。2.5下面哪些指令是特权指令?a)设置定时器的值;b)读时钟;c)清除内存;d)关闭中断;e)从用户模式切换到监督程序模式。答:a,c,d,e是特权指令补充作业1. 把下面的应用程序分为交互性和批处理两类:字处理、按月生成银行报表、计算圆周率到百万分位、飞行模拟器答:交互性:字处理、飞行模拟器批处理:按月生成银行报表、计算圆周率到百万分位2写出操作系统的五大功能。答:进程管理、内存管理、文件管理、设备管理、与用户之间的接口。第二次作业书上的作业4.2论述短期、中期、长期调度之间的区别答:短期调度从就绪队列中选择进程执行并把CPU分配给它。中期调度主要在分时系统中使用。将内存中的作业换出到外存中等到内存允许的情况下再换入到内存中执行。长期调度确定把哪个作业放到内存中执行。它们之间的主要区别是执行的频率不同。短期调度执行频率高而长期调度执行频率低。4.4两个进程进行上下文切换的操作3.2答:通常,操作系统必须保存当前运行进程的状态并恢复下一个要调度的进程的状态。保存一个进程的状态通常包括CPU所有寄存器的值和内存的分配情况。5.3用户级线程和内核级线程之间的区别?相互对比的优势在哪里?答:(1)内核不知道用户级线程的存在,但内核知道内核级线程的存在(2)内核调度内核级线程,而用户级线程则由线程库调度 在要体现系统灵活性的时候使用用户级线程好,因为用户级线程可以自己设计自己的调度。内核级线程则被内核知道,所以可以保证一个线程阻塞时可以调度一个进程的另一个线程,减少系统开销。补充作业1. 假设有一个进程,它的工作流程是先运行150ms,然后进行I/O,最后执行250ms结束。如果系统中的进程有三个状态,当时间片为200ms时,请写出进程A从被系统接纳到运行结束所经历的状态转换并说明原因。答:被系统接纳之后:就绪-运行(原因:被调度执行)、运行-阻塞(原因:执行I/O操作)、阻塞-就绪(原因:I/O操作完成)、就绪-运行(原因:被调度执行)、运行-就绪(原因:时间片到)、就绪-运行(原因:被调度执行)、结束。2. 图中程序的运行结果答:输出“value=5”。3. 图中程序运行完共有多少进程?答:一共有8个进程。第三次作业7.1什么是忙等待?答:所谓忙等待是不断测试等待一个条件满足。7.9吸烟者问题:有3个吸烟者和一个供应者。第一个吸烟者有自己的烟草;第二个吸烟者有自己的纸;第三个吸烟者有自己的火柴。供应者每次随机放两样东西到桌子上提供给3个吸烟者之中的一个以完成吸烟。请用信号量为吸烟者和供应者进程编写程序。semaphore a2=0;semaphore agent=1;provider()while(true)set i to value between 0 and 2;wait(agent);/put two items on table according to isignal(ai);Smoker(int i)while(true)wait(ai);smoke;signal(agent);补充作业1. 假设有三个进程R、W1、W2共享缓冲区B。B中只能存放一个数。R每次从输入设备中读一个整数放入B中。如果这个整数是奇数,由W1取出打印。如果这个整数是偶数,则由W2取出打印。规定仅当B中没有数据或数据已经被打印才会启动R去读数。W1、W2对B中的数据不能重复打印,当B中没有数据时也不能打印。要求用信号量操作写出R、W1、W2三个进程的程序。(请详细描述所使用变量的含义)semaphore S0=1(表示缓冲区中可以存放的数据数目)semaphore S1=0(表示W1可以打印的数据数目)semaphore S2=0(表示W2可以打印的数据数目)R:While (true) Read integer into item wait(S0); put item in B if (item%2= =1) signal(S1); if (item%2= =0) signal(S2); W1:While (true) wait(S1); Take item from B; signal(S0); Print item;W2:While (true) wait(S2); Take item from B; Signal(S0); Print item; 2有一个铁笼子,猎手放入老虎,农民放入猪,动物园等待取走老虎,饭店等待取走猪。笼子中只能放入一个动物。请使用信号量方法为猎手、农民、动物园、饭店进程编写程序。semaphore no=1,tiger=0;pig=0;hunter()wait(no);put in tiger;signal(tiger);farmer()wait(no);put in pig;signal(pig);zoo()wait(tiger);take tiger;signal(no);hotel()wait(pig);take pig;signal(no);3某寺庙,有小、老和尚若干。有一个水缸,由小和尚提水入缸供老和尚饮用。水缸可容10桶水。水取自一个井中,水井窄,每次只能容一个水桶。水桶总数为3。水缸每次进出也仅1桶水,不可以同时进行。请设置合适的信号量描述小和尚、老和尚取水、入水的算法。Semaphore bucket=3, well=1, jar=1, empty=10, full=0;Void littlemonk()while(1)wait(empty);wait(bucket);wait(well);取水;signal(well);wait(jar);放水;signal(jar);signal(bucket);signal(full);Void oldmonk()while(1)wait(full);wait(bucket);wait(jar);取水;signal(jar);signal(bucket);signal(empty);附加题1独木桥问题:某条河上只有一座独木桥,两边都有人要过河,为保证安全,一个方向有人过河另一个方向的人就要等待,并且允许一个方向上的人连续过河。请使用信号量实现正确的管理。semaphore s=1,s1=1,s2=1;int rc1,rc2;one()wait(s1);rc1+;if(rc1=1) wait(s);signal(s1);walk through;wait(s1);rc1-;if(rc1=0) signal(s);signal(s1);another()wait(s2);rc2+;if(rc2=1) wait(s);signal(s2);walk through;wait(s2);rc2-;if(rc2=0) signal(s);signal(s2);有人给出这样的独木桥问题的答案,看看有什么问题么?(1)定义两个信号量S1和S2,S1:=1,S2:=0。(2)假定开始时让河东的一个人先过桥,则用PV操作管理时的程序应如下: one()                       P(S1);            过桥;            V(S2);             another()                        P(S2);            过桥;            V(S1);            第四次作业6.3之b,c,db.各个进程的周转时间c.各个进程的等待时间d.最小的是SJF8.8 有3个进程共享4个资源,一次只能保留或者释放一个资源。每个进程最大需要2个单元。说明不会发生死锁。答:如果所有的资源都被占用并且还有一个或多个进程在无限制的等待更多的资源那么死锁就会发生。但是,如果所有的4个资源都被占用,那么一定有一个进程已经得到了所有的两个资源,那么这个进程就可以运行完并释放它占用的两个资源,这样就可以让其他的进程正确地工作完成。8.13a.Need矩阵的样子是0 0 0 00 7 5 01 0 0 20 0 2 00 6 4 2b.因为有一个执行次序是p3、p1、p2、p4、p0可以执行完,所以是安全状态。c.如果满足,则系统的available变成1 1 0 0allocation变成0 0 1 21 4 2 01 3 5 40 6 3 20 0 1 4这时的Need是0 0 0 00 3 3 01 0 0 20 0 2 00 6 4 2这时如果P0先归还它占有的(0 0 1 2),那么available的值是(1 1 1 2),可以找到一个执行次序p0,p2,p1,p3,p4保证所有进程都可以安全执行完,会处于安全状态,因此这个请求会被满足。第五次作业书上的作业9.2内部碎片与外部碎片之间的区别?答:一个作业占据了一个内存区域或者页,但是其中的一部分没有使用,把没有使用的部分成为内部碎片。内部碎片不会被操作系统或者其他进程使用,除非这个作业执行完并且释放它所占用的内存区域。外部碎片是在分区之间存在的不能够被使用的小的内存。9.5内存按顺序有100k,500k,200k,300k,600k,用首次适应、最佳适应和最差适应如何放置212k,417k,112k,426k的进程?答:(1) 首次适应算法 212K 放入 500K 的分区 417K 放入 600K 的分区 112K 放入 288K 的分区(产生新的分区 288K = 500K - 212K) 426K 必须等待(2) 最佳适应算法 212K放入300K的分区 417K放入500K的分区 112K放入200K的分区 426K放入600K的分区(3) 最差适应算法 212K放入600K 的分区 417K放入500K 的分区 112K放入388K 的分区 426K 必须等待在这个例子中,最佳适应算法是最好的。9.8假设一个有8个1k页面的逻辑地址空间,映射到一个32个页框的物理内存,问:逻辑地址多少位?物理地址多少位?a. 逻辑地址: 13 bitsb. 物理地址: 15 bits9.14为什么纯分段比纯分页更容易实现共享可充入模块。答:因为段是基于内存的逻辑划分而不是物理划分,因此任意长度的段都可以通过段表的一个表项来实现共享。而对于分页系统来说,只能对每个页实现共享,而页面的大小是固定不变的。9.16 有段表段基地址长度02196001230014290100313275804195296下面的物理地址是多少?a)0,430; b)1,10; c)2,500; d)3,400;e)4,122答:a. 219 + 430 = 649b. 2300 + 10 = 2310c.地址错误d. 1327 + 400 = 1727e.地址错误补充作业1在页面大小为4k的系统中,根据图中所示页表,下面的逻辑地址经过重定位之后的物理地址是什么?a)20;b)4100;c)8300第六次作业9.10 假设页表在内存保存的分页系统,a.如果一次访问内存用200ns,那么访问一个页内的一次数据访问用多少时间?b.如果加入TLB,有75%的命中率,那么内存有效访问时间是多少?a. 400 ns; 200 ns访问页表,200 ns访问内存中的字b. 有效访问时间 = 0.75 (200 ns) + 0.25 _ (400 ns) = 250 ns.5在一个虚拟存储管理系统中采用页式方法对内存空间进行管理,它有24位的虚拟地址空间,而实际的物理地址空间是16位,页框大小为2k。假设有两个进程A和B。其中A进程的0、2页已经调入到内存的2、3号页框;B进程的1、3页已经调入到内存的7、8号页框。请问:A进程的虚拟地址12FF可以转换成什么物理地址?B进程的虚拟地址17BA可以转换成什么物理地址?如果不能转换,操作系统会执行什么操作?答:A进程的12FF转换成物理地址为1AFFB进程的17BA无法转换成物理地址,因为这个页不在内存,需要发生缺页中断,调入这个页面答:(a) 49172 (b)57348 (c) 615482一台计算机为每个进程提供65536字节的地址空间,页面的大小为4k。一个程序有32768字节的正文,16386字节的数据,15870字节的堆栈,此程序是否能装入此地址空间?若页面大小为512字节呢?答:文本占8页,数据占5页,堆栈占4页。因此程序需要17页,而实际上只有65536/4k=16页的空间,不足。而如果页面有512字节,正文需要64页,数据需要33页,堆栈需要31页,一共128页,而实际上有65536/512=128页的空间,所以正好放入。3若两个进程共享一个页面,该页面可否对一个进程只读,对另一个进程可读写?如何实现?答:可以实现。在页表里面为每一页增加一个保护字段就可以了。第七次作业书上的作业14.2 假设一个磁盘驱动器有5000个柱面,从0到4999。驱动器正在为143的一个请求服务,且前面的一个请求在125。按照FIFO的顺序,即将到来的请求是86,1470,913,1774,948,1509,1022,1750,130。请按照FCFS、SSTF、SCAN、LOOK、C-SCAN、C-LOOK开计算磁头移动距离。答:a. FCFS : 143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130. 总寻道距离7081.b. SSTF : 143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774. 总寻道距离1745.c. SCAN :143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86. 总寻道距离9769.d.LOOK:143, 913, 948, 1022, 1470, 1509, 1750, 1774, 130, 86. 总寻道距离3319.e. C-SCAN : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 0, 86, 130. 总寻道距离9985f. C-LOOK : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 86, 130.总寻道距离3363.补充作业1什么是设备无关性?答:设备独立性是指应用程序独立于具体使用的物理设备。2以下各项工作由I/O软件的哪一层完成?a.为一个磁盘读操作计算磁道、扇区、磁头;b.向设备寄存器写命令;c.检查用户是否允许使用设备;d.将二进制整数转换成ASCII码以便打印答:a. 设备驱动程序;b. 设备驱动程序;c. 设备独立性软件;d. 用户空间的I/O软件。3为什么在要打印的文件通常都假脱机输出到磁盘上?答:打印机作为一个独占的设备无法保证多个用户共享,这样用户在打印时经常因为无法申请到打印机而等待。使用SPOOLing技术将打印机这样的独占设备变成了共享设备,用户需要打印的内容只要假脱机输出到磁盘上用户就可以认为打印成功,方便了用户的使用。第八次作业书上的作业12.4 为什么文件分配的位图必须保存在大容量存储器中,而不是主存中?答:因为如果保存在内存中,当系统崩溃时,这些空闲区间的信息将会被丢失,而如果保存在大容量存储器中就可以解决这个问题。补充作业1假设要为一个文件换一个名字。一种选择是使用操作系统提供的RENAME方法,另一种方法是:把文件复制为新文件,然后删除原来的文件以实现重命名。请问,这两种方法在实现上有什么不同? 答:RENAME方法是修改目录文件的文件名部分,而删除原来文件再重命名则需要再创立一个新文件,目录文件中增加一项,分配新空间;删除目录文件中的文件项目,然后回收占用的空间。2请解释使用索引节点有什么好处答:减小目录文件的大小,提高查找文件的效率3 在UNIX中open系统调用绝对需要么?如果没有会产生什么结果。答:如果没有open命令,那么每个read命令都需要确定要打开的文件名。系统必须找到文件的i节点,虽然这个数据放入cache可以减少一些时间,但是当数据变化的时候,i节点的数据需要刷新到磁盘上。4.UNIX系统中有关盘块的分配与释放是借助超级块中的栈来进行的。假如某个时刻系统状况如下图所示,若此时某个进程要删除文件A,并归还它所占用的盘块220,110,645,549,176。请说明过程,并给出删除完毕后有关数据及表目的更改情况。9719978627880s-nfrees-free0答:254917610019978627880230110645 附加题1. 考虑一个索引节点所表示的UNIX文件的组织。假设有12个直接块指针,在每个索引节点中有一个单重、双重和三重间接指针。此外,假设系统块大小和磁盘扇区大小都是8K,如果磁盘块指针是32位,其中8位表示物理磁盘,24位表示物理块,那么a.该系统支持的最大文件大小是多少?b.该系统支持的最大文件分区是多少?c.假设主存中除了文件索引节点外没有其他信息,访问在位置中的字节需要多少磁盘访问?答:a.通过用块大小除以指针大小得到盘块指针的数目:每块 8K/4 = 2K 这样I节点可以支持的最大文件容量是:12直接12+ 2K一次间接+ 2K+ (2K* 2K)2次间接+ 4M+ (2K *2K* 2K)3次间接+ 8G blocks乘以块的大小(8K), 是 96KB + 16MB + 32GB + 64TBb.在一个分区中识别一个块需要24位。所以: 224*8K = 16M*8K = 128 GBc.使用从(a)得到的信息, 发现直接块只能表示96KB, 而一次间接块表示16MB. 题目中要求的请求位置在13M 左右,使用一次间接块.就可以了。所以要用两次磁盘访问,一次访问一次间接块,另一次访问包含数据的盘块专心-专注-专业

    注意事项

    本文(操作系统作业(共13页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开