考研408计算机统考分两部分,80分单项选择题和70分大题,满分150分。单项选择题总共80分,每小题2分,40小题。单项选择题,1-10题是数据结构部分;11-22题是计算机组成原理部分;23-32题是操作系统部分;33-40题是计算机网络部分。综合应用题70分,共7小题,41和42题是数据结构题,分值各为10分和15分;43和44题是计算机组成原理题,各占8分和13分;45和46题是操作系统题,各占7分和8分;47题是计算机网络题,分值为9分。为了方便大家更好的来备考,小编为大家整理了“2017年408计算机考研真题”,希望可以帮助大家更好的复习408计算机考研内容。
2017年考研408计算机统考考研真题
二、综合应用题(第41~47小题,共70分)
45、(7分)假定题44给出的计算机M采用二级分页虚拟存储管理方式,虚拟地址格式如下:
页目录号(10位) | 页表索引(10位) | 页偏移量(12位) |
请针对题43的函数f1和题44中的机器指令代码,回答下列问题。
(1)函数f1的机器指令代码占多少页?
(2)取第1条指令(pushebp)时,若在进行地址变换的过程中需要访问内存中的页目录和页表,则会分别访问它们各自的第几个表项(编号从0开始)?
(3)M的I/O采用中断控制方式。若进程P在调用f1之前通过scanf()获取n的值,则在执行scanf()的过程中,进程P的状态会如何变化?CPU是否会进入内核态?
46、(8分)某进程中有3个并发执行的线程thread1、thread2和thread3,其伪代码如下所示。
//复数的结构类型定义 typedef struct { float a; float b; } cnum; cnum x,y,z;//全局变量 //计算两个复数之和 cnum add(cnum p,cnum q) { cnum s; s.a=p.a+q.a; s.b=p.b+q.b; return s; } |
thread1 { cnum w; w=add(x,y); …… } thread2 { cnum w; w=add(y,z); …… } |
thread3 { cnum w; w.a=1; w.b=1; z=add(z,w); y=add(y,w); …… } |
请添加必要的信号量和P、V(或wait()、signal())操作,要求确保线程互斥访问临界资源,并且最大程度地并发执行。