06年os
一 简答
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
(1)叙述中断处理的过程,以及操作系统是如何支持这一过程的
答:中断就是cpu对外界突发事件的一种响应方式,cpu在接到外界的中断请求后,可以放下正在处理的事务,直接转向中断程序处执行,执行完后再接着执行被放下的事务。它实现了cpu和外设一定程度上的并行,然而频繁的中断也带来了不小的系统切换时间。
操作系统可以从对标示中断状态的中断字的操作中对中断加以控制,例如从它可以根据中断的优先级设置相应的屏蔽位。当cpu执行和返回中断时,需要保护和恢复现场,操作系统为其在内存开辟了系统堆栈区,以便保存程序执行时各寄存器的状态值。另外,对于预先定义好的中断程序,操作系统可以通过查找中断向量
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
找到其对应程序的入口地址。
(2)地址转换过程中快表(TLB)的作用特点和
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
答:引入快表主要是为了提高地址变换的速度。
以页式变换中的快表为例,它其实是页表的一个子集,里面保存了最近一段时间内访问的页面项,其表项包括了找到一页的所有特征,快表与页表本质上构成了一个二级存储体系结构。根据程序访问的局部性原理,快表中的页面在将来是很有可能被访问到的。在地址变换的过程中,快表和页表被同时查找,由于快表相对于页表很小,且一般采用sram制作,如果命中,则大大提高了查找速度。如果没有命中,则需要将被访问页面表项复写到快表中,这一过程可以这样进行:如果快表未满,则直接写入;如果快表已满,需要采用某种替换算法加以解决,而具体的算法可能增加快表的表项,例如在LRU算法中需要设置访问计数器。
(3)提出工作集模型是为了解决什么问题?举例说明该模型对软件编程人员的影响
答:工作集模型某个进程经常使用页面数的最小值。它的提出,一方面减少了程序缺页中断的次数,另一方面也提高了内存的使用效率。
其对编成人员影响大致有三个方面:
(i)作为一名计算机工作人员,要充分认识到程序访问局部性原理在各个方面的应用。
(ii)在编程时要把常用的函数模块化,要把它们尽量放在一起;在程序中尽量不出现大范围的跳转语句或明显不合常规的语法,以提高程序执行速度。
(iii)像cache的选取原则一样,要深刻的领悟“过犹不及”在整体
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
时的重要性,任何项目都要追求最高的性价比。
(4)设计一个支持多目录的文件系统,要求可以快速检索,给出详细的设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
答:(i)参考nuix的三级索引结构:在根目录块的前12项中直接存放文件地址;13项指向一级索引表,一级索引表给出256个磁盘地址;14项指向二级索引表,二级索引表给出256个一级索引表地址;15项指向三级索引表,三级索引表给出256二级索引表地址。
(ii)采用文件的目录项分解法,把文件名与文件号单独拿出,以便在一个磁盘块中存放更多的文件,从而减少平均访盘次数
(iii)把各文件在索引结构中尽量按照访问概率排放,把经常访问的文件放到直接索引项中。增加常驻内存的索引表数,考虑将多个索引表常驻内存。要对最近访问到的文件进行缓存。
(iv)可以对磁盘进行散列处理,通过硬件实现的散列函数实现文件查找。
二 计算题(两道均为类型题)
(1)有一个两道的批处理操作系统,作业调度采用最高相应比调度算法,进程调
度采用基于优先数的抢占式调度算法,有如下的作业序列:
作业 进入时间 估计运行时间 优先数
JOB1 10:00 40分钟 5
JOB2 10:20 30分钟 3
JOB3 10:30 50分钟 4
JOB4 10:50 20分钟 6
其中优先数数值越小优先级越高。
(i)列出所有作业进入内存时间及运行结束时间
(ii)计算作业平均周转时间和带权平均周转时间
答:
作业 进输入井时间 进内存时间 运行时间 结束时间 总耗时(m)
job1 10:00 10:00 10:00-10:20
11:40-12:00 12:00 120
job2 10:20 10:20 10:20-10:50 10:50 30
job3 10:30 10:50 10:50-11:40 11:40 70
job4 10:50 11:40 12:00-12:20 12:20 90
t=(120+30+70+90)/4=77.5 (m)
w=(120/40+30/30+70/50+90/20)/4=2.475
(2)现有如下访问序列,且磁头当前位于143道:
86,147,91,177,94,150,102,175,130
试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数)。
(i)最短寻道时间优先(SSTF)磁盘调度算法。
(ii)扫描法(SCAN)磁盘调度算法(假设沿磁头移动方向不再有访问请求时, 磁头沿相反方向移动。)
答:(i)SSTF
磁头移动顺序:143,147,150,130,102,94,91,86,175,177
移动总量:首先划分分成三段(143~150,150~86,86~177),然后计算,移动总量为(150-143)+(150-86)+(177-86)=162
(ii)SCAN
磁头移动顺序:143,147,150,175,177,130,102,94,91,86
移动总量:只需要划分成两段(143~177,177~86),移动总量为(177-143)+(177-86)=125
三 P,V操作题
(IPC经典问题)牙科医生问题:有一个牙科,里面有3个牙医,3个牙床,10把椅子,每个牙医可以在一张牙床前为患者看病。若没有患者前来,牙医们就在各自的牙床上睡觉,病人来后只需唤醒一人即可。若3张牙床上都有病人,病人来后找把椅子先坐下等,若10把椅子已经都有人坐,则走人。正确该同步互斥问题。
答:
semaphore seatNum=10; //表示可用的椅子数量
semaphore waitNum=0; //表示等待看病的人数
semaphore freeNum=3; //表示空闲的牙医数量
semaphore mutex=1; //用来对count保护
int count=0;
void Patient_i()
{
P(mutex);
if(count>=13)
{
V(mutex);
return; //离开
}
else
{
count++;
进入;
}
V(mutex);
P(seatNum);//先占个椅子
V(waitNum);
P(freeNum);
V(seatNum);
被看病;
P(mutex);
count--;
V(mutex);
return;
}
void Dentist_i()
{
while(true)
{
P(waitNum);
看病;
V(freeNum);
}
}