操作系统期末考试记录
在生产者消费者的程序中,两个P V操作的次序可以颠倒吗?为什么?
不可以 v 是释放资源,P是申请资源 ,颠倒之后,会陷入死锁
请简述为什么静态重定位后的程序在内存中不能移动,动态重定位的程序在内存中可以移动
静态重定位后的代码发生率变化,由逻辑地址的程序变为了物理地址的程序,按物理地址方式运行,自然不能再移动 动态重定位是在程序运行过程中由硬件进行地址变换,程序代码没有发生变化,任然是逻辑地址的代码,按逻辑地址的方式运行
桌子上有一个盘子,每次只能向其中放入一个水果。爸爸专向盘中放苹果,妈妈专向盘子中放橘子,儿子专门吃盘子中的橘子,女儿专门等盘子中的苹 资果。只有当盘子为空时,爸爸或妈妈才向盘子中放一个水果,仅当盘子中有自己需要的水果时,儿子或者女儿可以从盘子中取出。
semaphore plate=1,apple=0, orange=0;
dad() {//父亲进程
while(1) {
prepare an apple;
P (plate) ;//互斥向盘中取、放水果
put the apple on the plate;//向盘中放苹果
V(apple) ;//允许取苹果
}
}
mom() {//母亲进程
while(1) {
prepare an orange;
P (plate);//互斥向盘中取、放水果
put the orange on the plate;//向盘中放橘子
V (orange) ;//允许取橘子
}
}
son() {//儿子进程
while(1) {
P (orange);//互斥向盘中取橘子
take an orange from the plate;
V (plate) ;//允许向盘中取、放水果
eat the orange;
}
}
daughter() {//女儿进程
while(1) {
P (apple) ;//互斥向盘中取苹果
take an apple from the plate;
V(plate) ;//运行向盘中取、放水果
eat the apple;
}
}
某分页系统的逻辑地址为16位,其中高6位为页号,低10位为页内地址。请问:
(1)这样的地址结构一页有多少字节?逻辑地址可有多少页?一个作业最大的使用空间是多少?
(2)逻辑地址2318,4096,850对应的页号、页内地址分别是多少?
(1)由于低10位为页内地址,寻址能力为2的10次方,于是一页有1024个字节 共有页面2的6次方=64页 ,所以一个作业最大使用空间是 64*1024 = 64KB (2) 分页系统中每一页都一样大(1KB)所以用逻辑地址除以页面大小,商为页号,余为页内地址 逻辑地址2318 ,页号为2,页内地址为270
n个进程共享m个同类资源,若每个进程都需要用该资源,而且这n个进程对该类资源的最大需求量之和小于m+n,说明该系统不会
用Max [i] 、Need [i] 和Allocation [i] 来分别表示第i个进程对该类资源的最大需求量、还需要量和已分配到的量根据题意它们将满足下述条件: 若系统已因竞争该类资源而进入死锁状态则意味着已有一个以上的进程因申请不到该类资源而无限阻塞而m个资源肯定已全部分配出去即 这样至少必须存在一个进程其Need i ≤0这显然与题意不符所以该系统不可能因竞争该类资源而进入死锁状态。
磁盘访问时间包括哪个几部分?
寻道时间:把磁头从当前磁道移动到目标磁道的时间; 旋转延迟时间:指定扇区移动到磁头的时间 传输时间:把数据从磁盘读出或写到磁盘所经历的时间
请简述静态重定位和动态重定位
静态重定位是由作业装入程序在装入作业时一次性集中完成的,而动态重定位是由硬件地址边变换机构在程序执行中随着指令的执行动态完成的
有一个教室,只有一个教师,有30张可供学生等待答疑的椅子,如果没有学生,则教师睡觉;如果有一学生进入教室发现教师睡觉
答疑时,学生进来后要么坐下等待(有空位的情况),要么离开(没有空位的情况)。定义信号量,写出信号量的初值以及信号量各种
义的信号量,请用P、V操作实现教师进程和学生进程的同步算法。
student = 0;
teacher = 0;
mutex = 1;
waiter = 0;
while(1) {
P(student);
P(mutex);
waiter--;
V(mutex);
V(teacher);
教师答疑;
}
while(1) {
P(mutex);
if(waiter<=30){
waiter++;
V(student);
V(mutex);
P(teacher);
学生询问;
}
Else V(mutex);
}
在经典的生产者消费者问题中为什么需要3个信号量,可以省略吗?为什么?
信号量full和empty用来保证某种事件的顺序发生或不发生。例如它们保证当缓冲区满的时候生产者停止运行,以及当缓冲区空的时候消费者停止运行。信号量mutex用于互斥,它用于保证任一时刻只有一个进程读写缓冲区和相关的变量。互斥是避免混乱所必需的操作。
简述并发和并行的概念
并发是指若干个事件或活动在同一时间段发生 并行是指若干个事件或活动在同一时刻发生
有四个并发进程:R1,R2,W1和W2,它们共享可以存放一个数的缓冲区。进程R1每次从磁盘读入一个数存放到缓冲区中,供进程W1打印输出;进程R2每
次从键盘读一个数存放到缓冲区中,供进程W2打印输出。当缓冲区满时,不允许再向缓冲区中存放数据;当缓冲区空时,不允许再从缓冲区中取出数据打印
输出。试用PV操作实现四个进程的协调运行。

在请求分页系统中,某用户的编程空间为16个页面,每页1K,分配的内存空间为8K。假定某时刻该用户的页表
(1)逻辑地址084B(H)对应的物理地址是多少?(用十六进制表示)
(2)逻辑地址5000(十进制)对应的物理地址是多少?(用十进制表示)
(3)当该用户进程欲访问24AOH单元时,会出现什么现象?
解: ( 1 ) 084BH 的页号 =2 ,查页表得物理块号 =4 ,所以物理地址为 104BH 。
( 2 )页号 =[5000/1024]=4 ,偏移量 =5000%1024=904 ,查表得物理块号 12 , 物理地址 =1024x12+904=13192
( 3 ) 24A0H 的页号为 9 ,而其页面当前不在内存,所以发生缺页中断,请求调页。
进程之间存在哪些制约关系,各是什么原因引起的?
进程之间存在两种制约关系即同步和互斥。同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系为一个进程等待另一个进程向它直接发送消息或数据时的一种制约关系。互斥是由于并发进程之间竞争系统的临界资源引起的为一个进程等待另一个进程已经占有的必须互斥使用的资源时的一种制约关系。
有3个并发执行的进程A,B,C,它们在执行时都要读共享文件F。限定:进程A和进程B可同时读文件F,进程B和进程C也可同时读文件F,但不允许进程
和进程C同时读文件F。请回答下列问题:
(1)用P V操作实现管理时应怎样定义信号量及其初值?
(2)写出用P V操作管理3个进程的程序。
信号量是在多线程环境下使用的一种措施,保证关键代码不被并发调用,在P V操作下,定义两个信号量,S1:1,S2:1
processA
begin
wait(S1);
read F;
signal(S1);
end;
ProcessB
begin
wait(S2);
read F;
signal(S2);
end;
ProcessC
begin
wait(S1);
read F;
signal(S1);
end;
QQ收藏2
什么是死锁?产生死锁的四个必要条件是什么?
当进程提出资源申请后,使得系统中的一些进程处于无休止的阻塞状态,在无外力条件下,永远不可能再继续前进 必要条件:互斥条件,请求和保持条件,不可被抢占性条件,循环等待条件
面包师有很多面包和蛋糕,由 n 个销售人员销售。每个顾客进店后先取一个号,并且等着叫号。当一个销售人员空闲下来,就叫下一个号。
请分别编写销售人员和顾客进程的程序。、
semaphore mutex_c = 1; //控制取号的互斥访问
semaphore mutex_s = 1; //控制
semaphore count_c = 0; //顾客取得的号数
semaphore count_s = 0; //销售人员呼叫的号数
semaphore sale = n; //销售人员数
semaphore customer = 0; //顾客数
void Customer() {
P(mutex_c); //申请访问取号资源
count_c++; //获得号码
V(mutex_c) //释放资源
V(customer);
P(sale); //等待销售人员
进行消费,然后离开;
}
void Sale() {
P(customer); //等待顾客
P(mutex_s); //申请叫号资源
count_s++;
呼叫号码为 count_s 的顾客;
V(mutex_s); //释放资源
V(sale);
}
对访问串:1,2, 3,4,1,2,5,1,2,3,4,5,指出在驻留集大小分别为3,4时,使用F]F0和LRu替换算法的缺页次数。
9 10 10 8
??在Unix 系统中,假设每个盘都有两个扇区,若每个盘快地址4个字节,则文件系统里面文件最大可以管理多少磁盘空间?
``
文件目录结构有哪几种?各有什么优缺点?
文件目录结构一般有一级目录结构、二级目录结构和多级目录结构。 一级目录结构的优点是简单,缺点是文件不能重名,限制了用户对文件的命名。 二级目录结构实现了文件从名字空间到外存地址空间的映射。其优点是有利于文件的管理、共享和保护;适用于多用户系统;不同的用户可以命名相同文件名的文件,不会产生混淆,解决了命名冲突问题。缺点是不能对文件分类;当文件较多时查找速度慢。 多级目录结构的优点是便于文件分类,可为每类文件建立一个子目录;查找速度快,因为每个目录下的文件数目较少;可以实现文件共享;缺点是实现起来相对比较复杂。
??某个硬盘的旋转速度为7200转每分钟,启动磁臂的时间为2ms,磁头移动每条磁道所花费的时间为0.1ms,假设每次访问数据的平均磁道数为35,平均数据量为1M,一个磁道有160个扇区,求出这个磁盘的平均访问时间。
``
在实现后台打印时,SPOOLing系统应为请求I/O的进程提供那些服务?
在请求后台打印时,SPOOLing应为请求I/O的进程提供的服务主要由SPOOLing的输出进程来承担,做三件事: 1 在输出井上请求一块缓冲区,将要打印的数据送入其中。 2 请求一张空白“用户请求打印表”,填入打印说明信息后挂入请求打印队列。 3 一旦打印机空闲,就从请求打印队列头某部取下一个请求打印表,根据表中要求将输入井的数据读入内存缓冲区,由打印机输出。
某博物馆最多容纳500人参观,有一个出入口,出入口一次仅允许一个人出入
semaphore mutex=1;//互斥使用出入口
semaphore empty=500;//博物馆中的五百个空位
void visitor()
{
while(true)
{
p(empty)//还有空位的时才能进入博物馆
p(mutex)
进门
v(mutex)
参观
p(mutex)
出门
v(mutex)
v(empty)//出门后释放一个空位
}
}
请分别计算FAT12和FAT32所能管辖的硬盘空间最大有多大(假设最大的簇有64个扇区)
``
在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:
对/100求的页面号,mod100求的页内地址
(1)按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;
缺页中断率为:5/10=50%
(2)按LRU调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3;缺页中断率为:6/10=60%`
有四个进程S1、S2、R1和R2,其中S1、S2向缓冲区BUFF发送消息,R1和R2从缓冲区中接收消息。发送和接收的规则如下:(1) 缓冲区BUFF任何时候只能存放2个消息;
(2) R1、R2每次同时取S1和S2存放在缓冲区中的消息;
(3)每个存放在缓冲区中的消息必须被R1和R2均接收后才能清除;
(4)缓冲区BUFF不能同时存放2个S1的消息或2个S2的消息。 请用信号量机制来实现这4个进程间的同步
请简述RAID和RAID0,RAID1,RAID3
冗余磁盘阵列,利用一台磁盘阵列控制器来统一管理和控制一组磁盘驱动器,组成一个大型磁盘系统
0:本级仅提供交叉并行存取;1:具有磁盘镜像功能;3:具有并行传输功能的磁盘阵列

浙公网安备 33010602011771号