欢迎来到天天文库
浏览记录
ID:6094519
大小:57.00 KB
页数:5页
时间:2018-01-02
《操作系统试题答案(a)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、----------------------------上------------------------------装-----------------------------------------订----------------------------线---------------------------------西安邮电学院试题卷标准答案专用纸-------------------------密--------------------------------封-----------------------------装------------------
2、----------------订------------------------------线------------------------------------西安邮电学院2008----2009学年第二学期试题卷操作系统标准答案课程:高级操作系统类型:A卷专业、年级:题号一二三四五六七八九总分得分一、填空(每题1分)1.可移植操作系统接口2.进程管理、内存管理、虚拟文件系统、进程间通信、网络3.Intel8086实模式的寻址范围是1M,4GB4.物理内存条所提供的内存空间,应用程序员看到的内存空间5.进程环境的综合6.整个生命周期涉及的所有活动全面,Task
3、_struct7.1GB,3GB8.mm_sturct9.Fork10.用户,内核11.外设寄存器二、简述题1.举例说明从程序开发者的角度如何看操作系统从程序开发者的角度看,开发者不用关心如何在内存存放变量、数据,如何从外存存取数据,如何把数据在输出设备上显示出来等等。例如cp命令的C语言实现片段:inf=open(“/floppy/TEST”,O_RDONLY,0);out=open(“/mydir/test”,O_WRONLY,0600);do{l=read(inf,buf,4096);write(outf,buf,l);}while(l);close(outf)
4、;close(inf);在这段程序中,用到四个函数open(),close(),write()和read(),这些都是C语言函数库中的函数。进一步追究,这些函数都要涉及I/O操作,因此,它们的实现必须调用操作系统所提供的接口,也就是说,打开文件、关闭文件、读写文件的真正操作是由操作系统完成的。这些操作非常繁琐,操作系统不同,其具体实现可能不同,程序开发者不必关心这些具体操作。2.通过fork(),exec(),exit(),wait()几个系统调用,说明进程从产生到死亡的过程。我们用一些形象的比喻,来对进程短暂的一生作一个小小的总结:随着一句fork,一个新进程呱呱落
5、地,但这时它只是老进程的一个克隆。然后,随着exec,新进程脱胎换骨,离家独立,开始了独立工作的职业生涯。共页第页说明:1。标准答案务必要正确无误。人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个"}",从容地离我们而去;也可以是中途退场,退场有2种方式,一种是调用exit函数,一种是在main函数内使用return,无论哪一种方式,它都可以留下留言,放在返回值里保留下来;甚至它还可能被谋杀,被其它进程通过另外一些方式结束它的生命。进程死掉以后,会留下一个空壳,wait站好最后一班岗,打扫战场,使其最终归于无形。这就是进程完整的一生。3试叙述
6、伙伴算法的工作原理,并说明为什么伙伴算法可以消除外碎片?假设要求分配的块其大小为128个页面。该算法先在块大小为128个页面的链表中查找,看是否有这样一个空闲块。如果有,就直接分配;如果没有,该算法会查找下一个更大的块,具体地说,就是在块大小为256个页面的链表中查找一个空闲块。如果存在这样的空闲块,内核就把这256个页面分为两等份,一份分配出去,另一份插入到块大小为128个页面的链表中。如果在块大小为256个页面的链表中也没有找到空闲页块,就继续找更大的块,即512个页面的块。如果存在这样的块,内核就从512个页面的块中分出128个页面满足请求,然后从384个页面中
7、取出256个页面插入到块大小为256个页面的链表中。然后把剩余的128个页面插入到块大小为128个页面的链表中。如果512个页面的链表中还没有空闲块,该算法就放弃分配,并发出出错信号。4.系统调用与库函数、系统命令及内核函数有什么区别和联系?应用编程接口(API)其实是一个函数定义,比如常见的read()、malloc()、free()、abs()函数等,这些函数说明了如何获得一个给定的服务;而系统调用是通过软中断向内核发出一个明确的请求。从编程者的观点看,API和系统调用之间没有什么差别,二者关注的都是函数名、参数类型及返回代码的含义。然而,从设计
此文档下载收益归作者所有