操作系统原理离线作业.docx
- 文档编号:6536040
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:13
- 大小:178.04KB
操作系统原理离线作业.docx
《操作系统原理离线作业.docx》由会员分享,可在线阅读,更多相关《操作系统原理离线作业.docx(13页珍藏版)》请在冰豆网上搜索。
操作系统原理离线作业
浙江大学远程教育学院
《操作系统原理》课程作业
姓名:
学号:
年级:
学习中心:
—————————————————————————————
一、单选题
6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是
A.224B.212C.210D.232
7.在一段式存储管理系统中,某段表的内容如下:
段号段首址段长
0100K35K
1560K20K
2260K15K
3670K32K
若逻辑地址为(2,158),则它对应的物理地址为_____。
A.100K+158B.260K+158C.560K+158D.670K+158
8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是
A.28字节B.216字节C.224字节D.232字节
9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:
intA[50][50];
for(inti=0;i<50;i++)
for(intj=0;j<50;j++)
A[i,j]=0;
若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。
A.1B.50C.100D.2500
10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用FIFO算法将淘汰页;
A.0B.1C.2D.3
11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用NRU算法将淘汰页;
A.0B.1C.2D.3
12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用LRU算法将淘汰页;
A.0B.1C.2D.3
13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用第二次机会算法将淘汰______页;
A.0B.1C.2D.3
二、综合题
1.4在所列的两种设置中,哪些功能需要操作系统提供支持?
(a)手持设备(b)实时系统。
a.批处理程序
b.虚拟存储器
c.分时
1.17列出下列操作系统的基本特点:
a.批处理b.交互式c.分时d.实时e.网络f.并行式g.分布式h.集群式i.手持式
2.3讨论向操作系统传递参数的三个主要的方法。
2.12采用微内核方法来设计系统的主要优点是什么?
在微内核中如何使客户程序和系统服务相互作用?
微内核方法的缺点是什么?
3.2问:
描述一下内核在两个进程间进行上下文功换的动作.
3.4如下所示的程序,说明LINEA可能会输出什么?
#include
#include
#include
intvalue=8;
intmain()
{
pid_tpid;
/*forkachildprocess*/
pid=fork();
if(pid==0){/*childprocess*/
value+=15;
}
else{/*parentprocess*/
/*parentwillwaitforthechildtocomplete*/
wait(NULL);
printf("Parent:
value=%d\n",value);/*LINEA*/
exit(0);
}
}
4.4在多线程程序中,以下哪些程序状态组成是被线程共享的?
a.寄存值
b.堆内存
c.全局变量
d.栈内存
4.7由图4.11给出的程序使用了Pthread的应用程序编程接口(API),在程序的第c行和第p行分别会输出什么?
#include
#include
intvalue=0;
void*runner(void*param);/*thethread*/
intmain(intargc,char*argv[])
{
intpid;
pthread_ttid;
pthread_attr_tattr;
pid=fork();
if(pid==0){/*childprocess*/
pthread_attr_init(&attr);
pthread_create(&tid,&attr,runner,NULL);
pthread_join(tid,NULL);
printf(“CHILD:
value=%d”,value);/*LINEC*/
}
elseif(pid>0){/*parentprocess*/
wait(NULL);
printf(“PARENT:
value=%d”,value);/*LINEP*/
}
}
void*runner(void*param){
value=10;
pthread_exit(0);
}
5.4考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:
假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。
a.画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。
b.每个进程在每种调度算法下的周转时间是多少?
c.每个进程在每种调度算法下的等待时间是多少?
d.哪一种调度算法的平均等待时间对所有进程而言最小?
5.5下面哪些算法会引起饥饿
a.先来先服务
b.最短作业优先调度
c.轮转法调度
d.优先级调度
5.7考虑一个运行10个I/O约束(型)任务和一个CPU约束(型)任务的系统。
假设,I/O约束任务每进行1毫秒的CPU计算发射一次I/O操作,但每个I/O操作的完成需要10毫秒。
同时,假设上下文切换要0.1毫秒,所有的进程都是长进程。
对一个RR调度来说,以下情况时CPU的利用率是多少:
a.时间片是1毫秒
b.时间片是10毫秒
6.01在生产者和消费者问题中,信号量mutex,empty,full的作用是什么?
如果对调生产者进程中的两个wait操作和两个signal操作,则可能发生什么情况?
6.02一组合作进程,执行顺序如下图。
请用wait、signal操作实现进程间的同步操作。
6.03在生产者和消费者问题中,多个生产者进程(ProducerProcess)和多个消费者进程(ConsumerProcess)共享一个大小为8的缓冲区,他们的信号量和共享变量设置如下:
intnextc=0,nextp=0,buf[8];
semaphorefull;empty;mutex;
生产者进程和消费者进程问题的算法描述如下:
ProducerProcess:
ConsumerProcess:
intitemp;intitemc;
while
(1){while
(1){
1itemp=rand();//Generateanumber1wait(full);
2wait(empty);2wait(mutex);
3wait(mutex);3itemc=buf[nextc];
4buf[nextp]=itemp;4nextc=(nextc+1)%8;
5nextp=(nextp+1)%8;5signal(mutex);
6signal(mutex);6signal(empty);
7signal(full);7cout< }} (1)生产者进程和消费者进程的临界区是哪些? (2)信号量full、empty和mutex的初值是多少? (3)如果对调生产者进程中的两个P操作即第2行和第3行,以及对调消费者进程中的两个P操作即第1行和第2行,如下所示。 可能发生什么情况? ProducerProcessConsumerProcess …… 1itemp=rand();//Generateanumber1wait(mutex); 2wait(mutex);2wait(full); 3wait(empty);3itemc=buf[nextc]; …… (4)上面的生产者和消费者同步算法有一个缺点,在有空缓冲区时,当消费者进程正在临界区时,生产者进程必须等待,反之亦然。 您如何可以解决这个问题,以提高生产者和消费者进程之间并发? 写出新的生产者进程和消费者进程的同步算法。 6.04有2个合作的进程P1、P2。 他们从一台输入设备读入数据,P1进程读入数据a,P2进程读入数据b。 输入设备是一台独享设备。 两个进程做如下计算: P1: x=a+b P2: y=a*b 计算完成后结果的x、y由进程P1输出。 用信号量实现P1、P2同步算法。 7.1假设有如下图所示的交通死锁情况: (1)说明产生死锁的4个必要条件在此处成立。 (2)给出一个避免死锁的简单规则。 7.11设有一系统在某时刻的资源分配情况如下: 进程号已分配资源最大请求资源剩余资源 ABCDABCDABCD P0001200121520 P110001750 P213542356 P306320652 P400140656 请问: (1)系统中各进程尚需资源数各是多少? (2)当前系统安全吗? (3)如果此时进程P1提出资源请求(0,4,2,0),系统能分配给它吗? 8.3某系统有五个固定分区,其长度依次为100K,500K,200K,300K,600K。 今有四个进程,对内存的需求分别是212K,417K,112K,426K。 当分别用First-fit,Best-fit,Worst-fit算法响应这四个进程的内存申请时,请分别给出系统的内存分配动态。 哪种算法最有效? 8.5对下列问题,试比较连续内存分配方案、纯段式分配方案、纯页式分配方案中的内存组织方法: a.外部碎片 b.内部碎片 c.共享跨进程代码的能力 8.9考虑一个分页式存储管理系统,其页表常驻内存。 (1)如果内存访问耗时200ns,那么,访问内存中的数据需要多长时间? (2)如果引入联想寄存器,而且75%的页面可以从关联寄存器中找到,那么,此时的有效访问时间为多少? (假设访问关联寄存器的时间可以忽略) 8.12假设有下列段表: 段基地址段长度 0219600 1230014 290100 31327580 4195296 下列逻辑地址对应的物理地址是什么? (1)0,430 (2)1,10 (3)2,500 (4)3,400 (5)4,112 9.5假设一个“按需调页”虚拟存储空间,页表由寄存器保存。 在存在空闲页帧的条件下,处理一次缺页的时间是8毫秒。 如果没有空闲页面,但待换出页面并未更改,处理一次缺页的时间也是8毫秒。 如果待换出页面已被更改,则需要20毫秒。 访问一次内存的时间是100纳秒。 假设70%的待换出页面已被更改,请问缺页率不超过多少,才能保证有效访问时间小于或等于200纳秒? 9.10对一个请求调页系统测得如下数据: ●CPU利用率20% ●用作页面交换的磁盘的利用率97.7% ●其它I/O设备利用率5% 下列措施中,哪些会改善CPU利用率(如果有的话),请说明理由: (1)安装一个更快的CPU (2)安装一个更大容量的磁盘用作页面交换 (3)增加并发进程数 (4)减少并发进程数 (5)安装更多内存 (6)安装更快的硬盘,或安装更多的硬盘和控制器 (7)增加一个预取页面算法 (8)增加页面长度 9.14一页式虚拟存储系统,用于页面交换的磁盘的平均访问、传输时间是20毫秒。 页表保存在主存,访问时间1微秒。 也就是说,每引用一次指令或数据,需要访问两次内存。 为改善性能,我们可以增设一个关联寄存器。 如果页表项在关联寄存器里,则只要访问一次内存就够了。 假设80%的访问,其页表项在关联寄存器中;剩下的20%里,10%的访问(即总数的2%)会产生缺页。 请计算有效访问时间。 9.01在某请求分页管理系统中,一个作业共5页,作业执行时依次访问如下页面: 1,4,3,1,2,5,1,4,2,1,4,5,若分配给该作业的主存块数为3,分别采用FIFO、LRU,试求出缺页中断的次数及缺页率。 (要求画出页面置换情况表) 10.1假设有一个文件系统,它里面的文件被删除后,当连接到该文件的链接依然存在时,文件的磁盘空间会再度被利用。 如果一个新的文件被创建在同一个存储区域或具有同样的绝对路径名,这会产生什么问题? 如何才能避免这些问题? 10.9有些系统文件提供文件共享时候只保留文件的一个拷贝,而另外的一个系统则是保留多个拷贝,对共享文件的每一个用户提供一个拷贝,论述这种方法的相对优点。 11.6假设一个在磁盘上的文件系统,其中逻辑块和物理块大小为512字节。 假定每个文件的信息已经在内存中,对于三种分配策略中的每一种(连续、链接、索引),请回答下面这些问题。 (1)说明在这个系统中是如何实现从逻辑地址到物理地址映射的? (对于索引分配,假设文件的长度总是小于512块)。 (2)如果当前位于逻辑块10(即最后一次访问的逻辑块是10),且希望访问逻辑块4,必须从磁盘上读多少个物理块? 11.01考虑一个含有100块的文件。 假如文件控制块(和索引块,当用索引分配时)已经在内存中。 当使用连续、链接、单级索引分配策略时,各需要多少次磁盘I/O操作? 假设在连续分配时,在开始部分没有扩张的空间,但在结尾部分有扩张空间,并且假设被增加块的信息已在内存中: (1)在开始增加一块。 (2)在中间增加一块。 (3)在末端增加一块。 (4)在开始删除一块。 (5)在中间删除一块。 (6)在末端删除一块。 11.02有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区。 假设分配以扇区为单位。 (1)若使用位示图管理磁盘空间,问位示图需要占用多少空间? (2)若空白文件目录的每个表目占用5个字节,问什么时候空白文件目录大于位示图? 12.2假设一个磁盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143的一个请求提供服务,且前面的一个服务请求是在柱面125。 按FIFO顺序,即将到来的请求队列是 86,1470,913,1774,948,1509,1022,1750,130 从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱面数计)是多少? a.FCFS b.SSTF c.SCAN d.LOOK e.C-SCAN 12.14MTBF(平均无故障时间)是硬盘可靠性的一个指标。 虽然这个指标被称作“时间”,但实际上MTBF通常是以设备的正常工作小时数度量的。 (1)如果一个系统包含1000个磁盘驱动器,每个驱动器的MTBF是750000小时,下面的描述中哪一个最符合该系统发生一次磁盘故障的时间: 每1000年,每世纪,每十年,每个月,每个星期,每天,每小时,每分钟,每秒钟? (2)统计表明,一个20到21岁的美国公民平均死亡率为千分之一,由此推论20岁的MTBF时间(单位由小时转换为年),对于一个20岁的人来说,MTBF给出期望的寿命是多大? (3)某类磁盘驱动器,生产商保证的MTBF为1百万小时你能推算出它们的保质期是多少年吗? 12.01假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。 (1)请说明在上述条件下如何进行磁盘块空闲状态管理。 (2)设某单面磁盘旋转速度为每分钟6000转。 每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。 若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50、90、30、120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间? 要求给出计算过程。 (3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSACN更高效的磁盘调度策略? 若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。 13.3考虑单用户PC机上的下列I/O操作: (1)图形用户界面下使用鼠标 (2)在多任务操作系统下的磁带驱动器(假设没有设备预分配) (3)包含用户文件的磁盘驱动器 (4)使用存储器映射I/O,直接和总线相连的图形卡 在操作系统中使用缓冲技术,假脱机技术,Cache技术,或者它们的组合来实现上述操作。 实现时使用轮询I/O还是中断I/O? 为什么? 13.01驱动程序是什么? 为什么要有设备驱动程序? 用户进程怎样使用驱动程序? .
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 离线 作业