编译原理部分
1、(5%) 给出下述NFA M的五元组表示, 并将其确定化
2、(5%) 构造一个不具有ε-转移的NFA M’ , 使得L(M’)=L(M)
3、(10%) 证明文法G[A]是LR(1)文法.
G[A]:A->BA|ε
B->aB|b
4、(5%) 证明合并不存在冲突(移进/归约、归约/归约)的LR(1)项目集的同心集不会产生新的移进/归约冲突.
5、(5%) 对目标代码运行时的存储空间采用基于过程活动记录的栈式分配方案, 举例说明象PASCAL这样的语言如何实现对非局部变量的访问.
6、(15%) 文法G[R]: R->R+R | R·R | R*| (R) | a | b | ε
(1)证明文法 G[R] 生成字母表 Σ={a, b} 上的所有正规表达式(用+代替”|”, 连接符·没有省略)
(2)证明此文法是二义的
(3)根据正规式的三个运算符(+,·, *) (或, 连接, 闭包) 的优先性和结合性约定重新构造一个等价的LL(1) 文法
7、(5%) 找出下列流图中的回边和回边组成的循环.编译中利用流图完成什么工作?
操作系统部分
一、名次解释(10分)
多道程序、多重处理、进程、线程、虚存
二、画出NT操作系统的线程状态转移图(10分)
三、UNIX系统与Linux系统等中都提供pipe文件功能,简述pipe() 的工作原理。(10分)
四、设周期性任务P1,P2,P3的周期T1,T2,T3分别为100,150,350;执行时间分别为20,40,100。试计算后回答是否可以用频率单调调度算法进行调度?(10分)
五、I/O控制可用那几种方式实现?各有何优缺点?(10分)