中国科学技术大学 一九九一年招收硕士学位研究生入学考试试题 试题名称:编译原理和操作系统 编译原理部分(50分) 填空(10分) Chomsky定义的四种形式语言文法是 (1)______文法(又称_____文法) (2)______文法(又称_____文法) (3)______文法(又称_____文法) (4)______文法(又称_____文法) 程序设计语言的语法分析方法可分为两大类,____________和_____________;其中,前者采用__________分析方法;后者采用_______或_______分析方法; 逻辑表达式的计算有_________和_________两种方式,选择哪种计算方式取决于_________________. 在一遍扫描的编译程序中,我们必须采取________手段来解决转移目标不明确的困难. Lex是用于___________的工具;Yacc是用于___________的工具. 根据连接在文法符号上的属性间的依赖关系,属性被分为____________ , _____________互不相交的二大类. 参数传递方式有________ , __________ , ___________等几种. 简答题(4分) 整数和实数的算术运算是可兼容的,为什么编译器要区分它们? 什么是代码优化?举出至少三种用于代码优化的手段. 下列文法是否属于LR(1),若是,则给出分析表;若不是,指出原因(分析过程中可能遇到的麻烦),并考虑能否使其成为LR(1)文法,如何做?为什么? (10分) S ( ASES | AS | f E ( Ea | Eb A ( c | d 说明Pascal语言和C语言的变量定义对编译程序实现的影响.(8分) 例: Pascal的变量说明: VAR a, b, c : integer ; C的变量说明: int a, b, c; Pascal程序设计语言不允许越过父过程或函数调用其中的子过程或函数,例如: procedure A procedure B ┇ procedure C procedure D ┇ 在过程D中不允许调用过程B,试解释其原因(8分). 给出将二进制数直接翻译成十六进制数的翻译方案.假定属性hex用于存放十六进制位串,串并置采用算符‘||’.二进制数文法如下: S ( BS | B B ( 0 | 1 操作系统部分(50分) 填空(每空1分,共15分) 操作系统的基本特征是_________和__________. ______________是用户和外设、外存之间的接口. 产生死锁的原因是___________和____________. 有一个530字的程序.考虑如下访问内存的逻辑地址序列:10,11,104,107,73,526,185,245,246,309,458,364,442,247,248,434. 假定页面大小为100字,则其对应的页面走向序列为:_______________________________________________________. 如每个进程最多可分给300字内存空间,且采用LRU算法,则其缺页次数为________次,其缺页率为_________. 段表中设“改变位”的目的是____________________________________. 为了_________________________而引入多道程序设计. 逻辑设备是___________________________________. JCB的作用是___________________和_____________________________,它由_____________________建立. 临界资源是__________________________________________. 选择(四择一,每题1分,共5分) 软件共享的必要性是为了( ). A. 节约内存空间 B. 缩短运行时间 C. 减少内外存对换信息量 C. A和C 请求页面存储管理采用( ). A.动态定位,静态分配,静态链接 B.动态定位,动态分配,动态链接 C.动态定位,动态分配,静态链接 D.静态定位,静态分配,静态链接 用户的虚拟CPU功能( ). A.和物理CPU完全一样 B.可以执行所有机器指令以及软件“指令” C.不能执行特权指令 D.可以执行除特权以外的机器指令以及软件“指令” 虚拟存储管理中,段(或页)表需要( ),而快表中可以没有它. A.中断位 B.引用位 C.改变位 D.B和C OPEN操作的目的是为了( ). A.将制定的文件记录复制到内存中 B.将制定的 文 件 复制到内存中 C.将制定的文件说明复制到内存中 D.将制定的共享文件复制到内存中 判断并改正(前4题各1分,第5题6分,共10分) ( ) 虚拟存储器空间的大小由外存容量决定. ( ) 在生产速度和消费速度完全相同时,只要用单缓冲就可以完全并行工作. ( ) 进程间的同步与互斥工具也是一种通讯工具. ( ) 虚拟设备和物理设备一一对应. 设有n个环形缓冲区1,2,3,…,n和一个无穷序列,…,,… 甲进程序列顺序逐个的把信息写入环形缓冲区中,而乙进程则逐个的把缓冲区信息读出. 请叙述甲、乙二进程的相互制约关系 下列用P、V操作表示的同步算法有何错误. 初值 := 0 ; := n; 甲进程 乙进程 V() P() ┇ 读出 写入 ┇ P() V() 用P、V操作写出正确的同步算法. (10分) 叙述请求页面存储管理所需要的数据结构、软件支持和硬件支持. 叙述(或加说明画出)执行一条访内指令的过程. (10分) 设有四个进程、、、,有二组缓冲区:  : 由7个缓冲区组成;  : 由100个缓冲区组成. 、的功能: 不断的往中送初始信息; 的功能: 不断的取满缓冲区的信息加工后存入的空缓冲区中; 的功能: 不断的取满缓冲区的信息并打印. 请: 列出过程间的相互制约关系; 设置必要的信号量; 用P、V操作设计这四个进程的同步算法. (试题完)