操作系统原理离线作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 230 260 1 0
2 120 272 1 1
3 160 280 1 1
采用NRU算法将淘汰页;
A. 0B. 1C. 2D. 3
12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间R M
0 126 279 0 0
1 230 260 1 0
a.时间片是1毫秒
b.时间片是10毫秒
6.01在生产者和消费者问题中,信号量mutex,empty,full的作用是什么?如果对调生产者进程中的两个wait操作和两个signal操作,则可能发生什么情况?
6.02一组合作进程,执行顺序如下图。请用wait、signal操作实现进程间的同步操作。
6.03在生产者和消费者问题中,多个生产者进程(Producer Process)和多个消费者进程(Consumer Process)共享一个大小为8的缓冲区,他们的信号量和共享变量设置如下:
8.5对下列问题,试比较连续内存分配方案、纯段式分配方案、纯页式分配方案中的内存组织方法:
a.外部碎片
b.内部碎片
c.共享跨进程代码的能力
8.9考虑一个分页式存储管理系统,其页表常驻内存。
(1)如果内存访问耗时200 ns,那么,访问内存中的数据需要多长时间?
(2)如果引入联想寄存器,而且75%的页面可以从关联寄存器中找到,那么,此时的有效访问时间为多少?(假设访问关联寄存器的时间可以忽略)
浙江大学远程教育学院
《操作系统原理》课程作业
姓名:
学号:
年级:
学习中心:
—————————————————————————————
一、单选题
6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是
A.224B. 212C. 210D. 232
7.在一段式存储管理系统中,某段表的内容如下:
(6)安装更快的硬盘,或安装更多的硬盘和控制器
(7)增加一个预取页面算法
(8)增加页面长度
}
else { /* parent process */
/* parent will wait for the child to compleBaidu Nhomakorabeae */
wait(NULL);
printf(" Parent :value= %d\n",value);/*LINE A*/
exit(0);
}
}
4.4在多线程程序中,以下哪些程序状态组成是被线程共享的?
0 126 279 0 0
1 230 260 1 0
2 120 272 1 1
3 160 280 1 1
采用FIFO算法将淘汰页;
A. 0B. 1C. 2D. 3
11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间R M
0 126 279 0 0
}
}
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)算法调度时进程的执行过程。
3 160 280 1 1
采用第二次机会算法将淘汰______页;
A. 0B. 1C. 2D. 3
二、综合题
1.4在所列的两种设置中,哪些功能需要操作系统提供支持?(a)手持设备(b)实时系统。
a.批处理程序
b.虚拟存储器
c.分时
1.17列出下列操作系统的基本特点:
a.批处理b.交互式c.分时d.实时e.网络f.并行式g.分布式h.集群式i.手持式
for (int j = 0; j < 50; j++)
A[i,j] = 0;
若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。
A.1B. 50C. 100D. 2500
10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间R M
Producer ProcessConsumer Process
……
1 itemp = rand(); // Generate a number1 wait(mutex);
2 wait(mutex);2 wait(full);
3 wait(empty);3 itemc=buf[nextc];
……
(4)上面的生产者和消费者同步算法有一个缺点,在有空缓冲区时,当消费者进程正在临界区时,生产者进程必须等待,反之亦然。您如何可以解决这个问题,以提高生产者和消费者进程之间并发?写出新的生产者进程和消费者进程的同步算法。
2.3讨论向操作系统传递参数的三个主要的方法。
2.12采用微内核方法来设计系统的主要优点是什么?在微内核中如何使客户程序和系统服务相互作用?微内核方法的缺点是什么?
3.2问:描述一下内核在两个进程间进行上下文功换的动作.
3.4如下所示的程序,说明LINE A可能会输出什么?
#include <stdio.h>
1itemp = rand(); // Generate a number1wait(full);
2wait(empty);2wait(mutex);
3wait(mutex);3itemc=buf[nextc];
4buf[nextp]=itemp;4nextc=(nextc+1)%8;
5nextp=(nextp+1)%8;5signal(mutex);
int main(int argc, char *argv[])
{
int pid;
pthread_t tid;
pthread_attr_t attr;
pid = fork();
if (pid == 0) {/* child process */
pthread_attr_init(&attr);
pthread_create(&tid, &attr, runner, NULL);
9.10对一个请求调页系统测得如下数据:
CPU利用率20%
用作页面交换的磁盘的利用率97.7%
其它I/O设备利用率5%
下列措施中,哪些会改善CPU利用率(如果有的话),请说明理由:
(1)安装一个更快的CPU
(2)安装一个更大容量的磁盘用作页面交换
(3)增加并发进程数
(4)减少并发进程数
(5)安装更多内存
6signal(mutex);6signal(empty);
7signal(full);7cout << itemc << endl;
}}
(1)生产者进程和消费者进程的临界区是哪些?
(2)信号量full、empty和mutex的初值是多少?
(3)如果对调生产者进程中的两个P操作即第2行和第3行,以及对调消费者进程中的两个P操作即第1行和第2行,如下所示。可能发生什么情况?
a.寄存值
b.堆内存
c.全局变量
d.栈内存
4.7由图4.11给出的程序使用了Pthread的应用程序编程接口(API),在程序的第c行和第p行分别会输出什么?
#include <pthread.h>
#include <stdio.h>
int value=0;
void *runner(void *param); /* the thread */
6.04有2个合作的进程P1、P2。他们从一台输入设备读入数据, P1进程读入数据a,P2进程读入数据b。输入设备是一台独享设备。两个进程做如下计算:
P1: x = a + b
P2: y = a * b
计算完成后结果的x、y由进程P1输出。用信号量实现P1、P2同步算法。
7.1假设有如下图所示的交通死锁情况:
int nextc=0, nextp=0, buf[8];
semaphore full; empty; mutex;
生产者进程和消费者进程问题的算法描述如下:
Producer Process:Consumer Process:
int itemp;int itemc;
while(1){while(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的利用率是多少:
pthread_join(tid, NULL);
printf(“CHILD: value = %d”, value); /* LINE C*/
}
else if (pid > 0) {/* parent process */
wait(NULL);
printf(“PARENT: value = %d”, value); /* LINE P */
P3 0 6 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6
请问:
(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算法响应这四个进程的内存申请时,请分别给出系统的内存分配动态。哪种算法最有效?
(1)说明产生死锁的4个必要条件在此处成立。
(2)给出一个避免死锁的简单规则。
7.11设有一系统在某时刻的资源分配情况如下:
进程号已分配资源最大请求资源剩余资源
A B C DA B C DA B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
A. 28字节B. 216字节C. 224字节D. 232字节
9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:
int A[50][50];
for (int i = 0; i < 50; i++)
8.12假设有下列段表:
段基地址段长度
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96
下列逻辑地址对应的物理地址是什么?
(1)0,430
(2)1,10
(3)2,500
(4)3,400
(5)4,112
9.5假设一个“按需调页”虚拟存储空间,页表由寄存器保存。在存在空闲页帧的条件下,处理一次缺页的时间是8毫秒。如果没有空闲页面,但待换出页面并未更改,处理一次缺页的时间也是8毫秒。如果待换出页面已被更改,则需要20毫秒。访问一次内存的时间是100纳秒。假设70%的待换出页面已被更改,请问缺页率不超过多少,才能保证有效访问时间小于或等于200纳秒?
#include <unistd.h>
#include <sys/types.h>
int value=8;
int main()
{
pid_t pid;
/* fork a child process */
pid = fork();
if (pid == 0) { /* child process */
value +=15;
2 120 272 1 1
3 160 280 1 1
采用LRU算法将淘汰页;
A. 0B. 1C. 2D. 3
13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间R M
0 126 279 0 0
1 230 260 1 0
2 120 272 1 1
段号段首址段长
0100K35K
1560K20K
2260K15K
3670K32K
若逻辑地址为(2,158),则它对应的物理地址为_____。
A. 100K+158 B. 260K+158C. 560K+158 D. 670K+158
8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是
相关文档
最新文档