考研专业课论坛

行云流水 发表于 2008-7-29 05:35 PM

中科院计算机技术研究所1994年软件基础试题

  中科院计算机技术研究所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}

Powered by   © 2001-2007考研专业课论坛