精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>教育园地>>● 考研论坛>>◇ 考 研 题 库 ◇>>计算机类>>中科院计算机技术研究所1994年硕士生入学试题 软件基础

主题:中科院计算机技术研究所1994年硕士生入学试题 软件基础
发信人: caeser_zy(^*^金牛座BB仔)
整理人: jasminwen(2003-04-13 18:15:46), 站内信件
中科院计算机技术研究所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分)
右边是一个FORTRAN 77程序,按语言的语义 CALL SUB
程序的输出结果是什么?在静态存储分配情 CALL SUB
况下,实际的输出结果是什么?两者是否有 END
区别?说明理由。 SUBROUTINE SUB
DATA I/10/
WRITE(*,*) I
I=100
END


程序设计与数据结构部分(35分)
一、(8分)
下面的程序段是合并两条链(F和G)为一条链F的过程。作为参数的两条链都是按结点上NUMBER值的由大到小链接。
合并后新链仍按此方式链接。请填写下述空框,使程序正确工作。
type pointer= ^ node;
node =record number:integer;
next :pointer
end;
procedure combine(var f:pointer; g:pointer);
var h,p : pointer;
begin new(h); h^. next :nil;
p:=h;
while (f<> nil) and (g<> nil) do
if f^. number >=g^.number
then begin
p^.next:=__A__; P:=__B___; __C__
end
else begin
p^. next:=__D____; P:=___E___; ____F__
end;
if f=nil then __G__;
if g=nil then __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}

中科院计算机技术研究所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分)
右边是一个FORTRAN 77程序,按语言的语义 CALL SUB
程序的输出结果是什么?在静态存储分配情 CALL SUB
况下,实际的输出结果是什么?两者是否有 END
区别?说明理由。 SUBROUTINE SUB
DATA I/10/
WRITE(*,*) I
I=100
END


程序设计与数据结构部分(35分)
一、(8分)
下面的程序段是合并两条链(F和G)为一条链F的过程。作为参数的两条链都是按结点上NUMBER值的由大到小链接。
合并后新链仍按此方式链接。请填写下述空框,使程序正确工作。
type pointer= ^ node;
node =record number:integer;
next :pointer
end;
procedure combine(var f:pointer; g:pointer);
var h,p : pointer;
begin new(h); h^. next :nil;
p:=h;
while (f<> nil) and (g<> nil) do
if f^. number >=g^.number
then begin
p^.next:=__A__; P:=__B___; __C__
end
else begin
p^. next:=__D____; P:=___E___; ____F__
end;
if f=nil then __G__;
if g=nil then __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}




----
    

[关闭][返回]