|
中科院计算机技术研究所1994年硕士生入学试题软件基础
操作系统部分(30分) 一、填充(每空一分,共14分) 1、采用单级文件目录的主要缺点是存在_______________问题。 2、在单道程序运行环境下,常用的作业调度算法有__________、__________、和__________。 3、特权指令是只能由_________________使用的指令。 4、存储器的保护机制(硬件)有___________保护和_________保护。 5、预防死锁中的预先分配法和标准(有序)分配法,它们分别破坏了产生死锁必要条件中的_____________条件和_____________条件。 6、在段式虚拟存储管理中,段表设置“改变位”的目的是为了___________________________________。 7、进程有三种基本状态,即[1]______________状态,[2]___________状态,[3]___________状态。当进程又[1]演变为[2]或[3]时,就会引起__________。
二、判断。(每题1分,共5分) 1、()有了动态重定位机构,作业地址空间的代码就可以原封不变的装入到给定的内存中。 2、()任一时刻,若有执行状态的进程,就一定有就绪状态的进程。 3、()文件系统中,设置OPEN操作的目的是为了将文件复制到内存中。 4、()临界段是不可中断的程序。 5、()作业的提交状态进入后备状态的过程是由作业调度程序完成的。
三、(5分) 分页式存储管理与分段式存储管理的主要区别是什么?
四、(6分) 以下是高级通讯原语SEND和RECEIVE不完整的框图。请填充以适当的P、V操作,并说明所用信号量的意义和初值。 SEND:RECEIVE: ↓↓ 申请一消息区(3) ↓↓ 消息送消息区(4) ↓↓ (1)从消息链上摘下一消息 ↓↓ 消息区挂入消息链(5) ↓↓ (2)消息送接收区 ↓↓ V(S2)释放消息区 ↓↓ 语言与编译部分(35分) 一、(7分) 把下面不确定的有限自动机化为确定的有限自动机。 图(9410.bmp)
二(8分) 有文法S—〉(L)|a L—〉L,S|S 给此文法配上语义动作子程序(或者说为此文法写一个语法制导定义),它输出配对括号的个数,如对于句子 (a,(a,a)),输出是2。
三、(15分) 为语言{a^(m)b^(m)|n>m>=0}写三个文法,它们分别是二义文法,LR(1)文法和非LR(1)且非二义的文法。不必证明所写 文法的正确性,但每个文法的产生式不能超过4个。
四、(5分) 右边是一个FORTRAN77程序,按语言的语义CALLSUB 程序的输出结果是什么?在静态存储分配情CALLSUB 况下,实际的输出结果是什么?两者是否有END 区别?说明理由。SUBROUTINESUB DATAI/10/ WRITE(*,*)I I=100 END 程序设计与数据结构部分(35分) 一、(8分) 下面的程序段是合并两条链(F和G)为一条链F的过程。作为参数的两条链都是按结点上NUMBER值的由大到小链接。 合并后新链仍按此方式链接。请填写下述空框,使程序正确工作。 typepointer=^node; node=recordnumber:integer; next:pointer end; procedurecombine(varf:pointer;g:pointer); varh,p:pointer; beginnew(h);h^.next:nil; p:=h; while(f<>nil)and(g<>nil)do iff^.number>=g^.number thenbegin p^.next:=__A__;P:=__B___;__C__ end elsebegin p^.next:=__D____;P:=___E___;____F__ end; iff=nilthen__G__; ifg=nilthen__H__; f:=h^.next;dispose(h) end;
二、(12分) 如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数 叫做等值数列段的长度。 现有由N个元素组成的整数数列A,编一程序求A中长度最大的所有等值数列段的始末位置,如果没有等值数列段,则 输出特殊标志。
三、(15分) 编一个程序,对输出的任意正整数N,打印出集合{0,1,…,n-1}的所有子集。例如,输出为3时,输出是 {} {0} {1} {0,1} {2} {0,2} (1,2} {0,1,2}
|