1、 试对分时系统和实时系统进行比较。
答: 都具有多路性,各个用户或终端相互独立,
分时系统多用于多用户,一般情况下人机交互程度比实时系统高,
实时系统及时性要求高,必须在规定的时间完成运算,分时系统一般不作要求 实时系统可靠性要求高,必须有可靠的错误处理系统,分析系统一般不作要求
2.。I/O控制可用哪几种方式实现?各有何优缺点?
1,作为请求I/O操作的进程实现;能很快占据处理机但要求系统和I/O操作的进程有良好的实时性。 2,作为当前进程的一部分 实现;不要求系统具有高的实时性,但I/O控制过程要由当前进程负责。 3,由专门的系统级I/O进程完成,增加了一个额外的进程开销,但用户不用关心I/O控制过程。 3.。什么是缓冲池?设计一个数据结构来管理缓冲池。
答:缓冲池指一个内存块的集合,由若干缓冲区组成,可供多个进程共享,既能用于输入又能用于输出。 缓冲池中的3个缓冲队列如下:
(1) 空缓冲队列:由系统中的空闲缓冲区组成;
(2) 输入队列:由装满输入数据的缓冲区组成队列,这些缓冲区中装满了输入数据等待CPU处理; (3) 输出队列:由装满输出数据的缓冲区组成,这些数据等待输出设备输出。 缓冲池中的4类工作缓冲区如下:
(1)收容输入工作缓冲区:用于收容来自输入设备的数据; (2)提取输入工作缓冲区:供CPU从中提取输入数据进行计算; (3)收容输出工作缓冲区:用于收容CPU要输出的计算结果; (4)提取输出工作缓冲区:供输出设备从中提取数据进行输出。
4、使用文件系统时,通常要显式地进行OPEN和CLOSE进行操作。试问
(1)、这样做的目的是什么?(2)、能否取消显式的OPEN和CLOSE操作?应如何做? (3)、取消显式的OPEN和CLOSE操作有什么不利?
答:(1)显式open操作完成文件的打开功能,将基本文件目录中内容读入用户活动的文件表中,并在系统文件中记录打开的次数;显式close操作完成文件的关闭功能,撤销用户活动文件表中的相应表项,改变系统活动文件的打开次数,如果需要将被改动过的文件目录信息写回基本文件目录中。 (2)可以取消显式得open和close操作,如果取消上述操作,系统在进行文件操作前需判断文件是否已打开,若未打开,应自动完成打开文件,已建立用户和文件间的联系;同时,应在系统结束时关闭已打开的所有文件,更新系统的基本文件目录。(3)取消显式OPEN和CLOSE操作使得文件的读写变得复杂。因为在每次读写前都要判断文件是否已打开,此外,系统在结束时要做一些额外的工作,已完成close应该完成的操作。
5.。进程与线程的主要区别是什么?进程是一个可拥有资源的独立单位,线程是轻进程,没有独立的资源,同一个进程的线程共享进程的资源。
6、按序分配是防止死锁的一种策略。什么是按序分配?为什么按序分配可以防止死锁?
答:按序分配资源:把系统中所有资源排一个顺序,对每一个资源确定编号,规定任何一个进程申请两个以上资源时,总是先申请编号最小资源,再申请编号大的资源。
原因:在采用这种策略时,总有一个进程占据了较高序号的资源,此后它继续申请资源必然是空闲的,因而进程可以一直向前推进。这种策略分配不会出现循环等待资源情况。 7、,试述缺页中断与一般中断的主要区别。
答:1两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而 一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。2,处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了, 或重新调度,去执行别的进程程序。
1
8、进程是什么?进程与程序有什么区别?
答:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 区别①进程更能直实地描述并发(程序不能)
②进程是由程序和数据两部分组成③程序是静态的,进程是动态的 ④进程是有生命周期的,有诞生有消亡,是短暂的,而程序是相对长久的
⑤一个程序可以有多个进程与之对应,也可能没有与之对应的进程,但是一个进程肯定有且
只有一个程序与之对应 ⑥进程具有创建其他进程的能力。 9.什么是操作系统?操作系统在计算机系统中的地位如何? 答:操作系统是计算机系统中的一个系统软件
地位:他是这样一些程序模块的集合----它们能有效地组织和管理计算机系统中的硬件及软件资源, 合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活,方便,有效地使用计算机,使整个计算机系统能高效地运行。
10.如果一个单处理机系统中有N个进程, 运行的进程最多1个,最少0个;就绪进程最多n-1个,最少0个;等待进程最多n个,最少0个. 11.为什么要在设备管理中引入缓冲技术?
答:缓冲技术是用来在两种不同速度的设备之间传输信息是平滑传输过程的常用手段.
引入缓冲的主要原因:①缓和cpu与I/O设备间速度不匹配的矛盾 ②减少对cpu的中断频率,放宽对cpu中断响应时间的限 ③提高cpu和I/O设备之间的并行性。 1、有一个仓库,可以存放A和B两 产品,但要求:
(1)、每次只能存放一种产品(A或B); (2)、-N < A产品数量 - B产品数量 < M。
其中,N和M是正整数。试用P、V操作描述产品A与产品B的入库过程。 int mutex=1,sa=M-1,sb=N-1; main() {
while(1)
{
取一个产品;
{
p(sa);
p(mutex); 将产品入库; if(取的是A产品)
}}}
}
else /* 取的产品是B */ {
p(sb); p(mutex); 将产品入库; v(mutex); v(sa); v(mutex); v(sb);
2.、设公共汽车上,司机和售票员的活动分别是:司机的活动:启动车辆;正常行车;到站停车。售票员的活动:关车门;售票;开车门。在汽车不断地到站、停站、行驶过程中,这两个活动有什么同 Int s1=0; Int s2=0; main() {cobegin Drive(); Busman(); Coend }
Drive() {while(1) {p(s1); 启动车辆; 正常行车; 到站停车; V(s2); } } Busman() {while(1) {关车门; V(s1); 售票; P(s2); 开车门; 上下乘客; }}} 2
3.用P、V操作实现下述问题的解。桌上有一个盘子,可以存放一个水果。父亲总是放苹果到盘子中,而母亲总是放香蕉到盘子中;一个儿子专等吃盘子中的香蕉,而一个女儿专等吃盘中的苹果。 答: Apple:表明盘子中是否有苹果,初值为0;Banana:表明盘子中是否有香蕉,初值为0;
mother() father () main () { P(dish); { P(dish); { 放香蕉 放苹果 father (); V(banana); V(apple); mother (); } } son (); daughter (); } daughter() son () { P(apple); { P(banana); 取苹果 取香蕉 V(dish); V(dish); } }
4.考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,…,n,有
0 < Need(i) ≤ m而且所有进程最大需求量之和小于m+n,那么该系统是死锁无关的。
答:令每个进程请求共享资源的最大量相等,且为x,(0 此刻,系统剩余的可用资源数为:m - n*(x-1)。当m – n*(x-1)≥1时,即x ≤ (m+n-1)/n时,系统不会出现死锁的。因此得出,系统中所有进程的最大需求量之和n×x ≤ (m+n-1) 时,系统是不会发生死锁的。所以,n个进程的最大需求量之和小于m+n时,系统与死锁无关。 5.若系统中有作业1、2、3几乎同时到达,已知它们的运行时间依次为a、b、c,且满足关系式a 答:采用短作业优先算法调度时,三个作业的总周转时间为:Tl = 3a + 2b + c 若不按短作业优先算法调度,不失一般性,设调度次序为:J2 、J1 、J3 。则三个作业的总周转时间为:T2=b+(b+a ) +(b+a + c ) = 3b + 2a + c 则令②-① 式得到:T2 - Tl = b- a> 0 可见,采用短作业优先算法调度才能获得最小平均作业周转时间. 3