资源描述:
《浙江大学07年计算机考研》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、浙江大学二OO七年攻读硕士学位研究生入学考试试题(由林子整理,QQ :170479150)第一部分操作系统(共40分)试题1(5分):请简要比较进程(process)与程序(programs)。试题2(5分):请简要比较进程(process)与线程(threads)。试题3(5分):请简要比较请求实存管理(actualmemorymanagement)与虚存管理(virtualmemorymanagement)。试题4(5分):请简要比较请求页面调度(demandpaging)与请求分段调度(demandsegmentation)。试题5(10分):考虑某个系统在如下时刻的状
2、态。AllocationMaxAvailableABCDABCDABCDP0001200121520P110001750P213542356P300140656使用银行家算法回答下面的问题:a.Need矩阵是怎样的?b.系统是否处于安全状态?如安全,请给出一个安全序列。c.如果从进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。试题6(10分):理发店有一位理发师、一把理发椅及三把供等候理发的顾客做的椅子。如果没有顾客,理发师就去睡觉。如果顾客来时所有的椅子都有人,那么顾客就离去。如果理发师在忙而有空闲的椅子,那么顾客就回坐在其中的一
3、个空闲的椅子上。如果理发师在睡觉,顾客会唤醒他。请利用信号量(semaphores),写个程序来协调理发师和顾客进程。第2部分程序设计(共40分)一、选择(每小题2分,共8分)1.下列程序的运行结果是什么?Main(){chars[]=”Zhejiang”;intx=3,y=3;printf(“%d,%d”,(++x,y++),sizeof(s));}A)39B)49C)43D)382.设x、y、z均为int类型,若x&&y‖z的值为1,则A)若z为0,则x和y必为1B)若z为0,则x和y均不为0C)x、y、z必都为1D)若x和y均为1,则z必为03.下列程序的结果是什么?M
4、ain(){inta[][4]={1,3,5,7,9,11,13,15,17,19,21,23};int(*p)[4];p=a;printf(“%d”,*(*p+2));}4.下列程序prog.c编译后执行命令行“prog123456ABC”,其运行结果是什么?Main(intargc,char*argv[]){printf(“%c”,*(++argv[2]));}A)3B)4C)5D)6二、程序填空。下列函数inverse将一单向链表h就地逆转。请将空缺的部分填上。如,若h为a->b->c->d,调用h=inverse(h)后h为:d->c->b->a。(6分)struct
5、node{intinfo;structnode*next;};structnode*inverse(structnode*h){structnode*p1,*p2,*p3;p1=NULL;while(_2A_){p3=p2->next;p2->next=_2B_;p1=p2;p2=p3;}returnp1;}一、程序理解(每题5分,共15分)1.写出下列程序的运行结果。Inta[]={1,2,3,21.22,23,11,12,13}Intf(inta[],intn){if(n==0)return(a[0]);elseif(f(a,n-1)>a[n])returnf(a,n-1
6、);elsereturn(a[n]);}main(){printf(“%d”,f(a,8))}2.写出下列程序的运行结果。Voidf(chars[],intstart,chart[]){intm,n,k,i,j;n=0;m=0;k=0;for(i=0;s[i]!=’ ’;i++)m++;for(i=0;t[i]!=’ ’;i++){n++;if(t[i]>=’0’&&t[i]<=’9’)k++;}for(i=m+n-k,j=m;i>start;i--,j--)s[i]=s[j];for(i=0;i’9’)s[start++]
7、=t[i];}main(){chars[30]=”abc123d4ef”,t[]=”1a2b3c”;f(s,6,t);printf(“%s”,s);}3写出下列程序的运行结果。#includeintf(intn,intm){intn1,m1,result=0;if(n&&m){n1=n%10;m1=m%10;if(nl==m1)result=f(n/10,m/10)*10;elseresult=f(n/10,m/10)*10+((n1>m1)?n1:m1);returnresult