浙江大学1998年硕士研究生入学考试操作系统试题
来源:
时间:2007-06-06 14:33:15
浙江大学
1998年攻读硕士学位研究生入学考试试题
试题1至4为选择题,分别从供选择的答案中选出一个唯一正确的,填入“ ”。
试题1(3分):下列选择中, 不是操作系统关心的主要问题,
A、管理计算机裸机 B、设计、提供用户程序与计算机硬件系统的界面
C、管理计算机系统资源 D、高级程序设计语言的编译器
试题2(5分):采用 不会产生内部碎片。
A、分页式存储管理 B、分段式存储管理
C、固定分区式存储管理 D、段页式存储管理
试题3(5分):下列几种关于进程的叙述, 最不符合操作系统对进程的理解。
A、进程是在多程序并行环境中的完整的程序
B、进程可以由程序、数据和进程控制块描述
C、线程(THREAL)是一种特殊的进程
D、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
试题4(5分):关于临界区问题的一个算法(假设只有进程P0和P1可能会进入该临界区)如下(I为0或1),该算法 。
A、不能保证进程互斥进入临界区,且会出现“饥饿”(starvation)
B、不能保证进程互斥进入临界区但不会出现:“饥饿”
C、保证进程互斥进入临界区,但会出现:“饥饿”
D、保证进程互斥进入临界区,不会出现:“饥饿”
repeat
retry:if (turn≠-1) turn= i ;
if (turn≠ i) go to retry;
turn=-1;
Critical Section;(*临界区*)
turn=0;
Remainder Section;
until false
试题5(10分):磁盘系统调度中,采用SCAN(“扫描”)调度算法为任务队列67、65、124、14、122、37、183、98 服务,试计算服务结束时,磁头总共移动了几个磁道,假设磁头总第0道至第199道之间移动,开始服务时,磁头刚从60移到67。
试题6(10分):某操作系统(假设为“LINUX”)设定一个定时器,每隔10ms产生一次“时间到”中断,该中断的服务程序采用下述算法:
struct task_struct *p=current; /*指针P指向当前运行进程的进程控制块PCB*/
/*ticks保存最近两次中断服务期间的中断次数,通常是1*/
p->counter=p->counter-ticks; /*counter记录尚可运行的时间段*/
if (p->counter<0) { /*如果PCB的counter变量小于0*/
p>counter = 0;
need resched = 1 ;} /*全程量need-resched置位表示应进行新一轮调度*/
“LINUX”若发现need-resched置位,则调用如下的schedule(),进行新一轮调度;
void schedule(void)
{ need-resched = 0;
prev = current; /*指针prev指向当前运行进程的PCB*/
cli(); /*move an exhausted process to be last. */
if (!prev->counter && prev->policy == SCHED_RR){
prev->counter=prev->priority. /*prioriry表示进程的优先权*/
move_last_runqueue(prev); } /*将当前进程搬到就绪进程队列未尾*/
p= init_task.next_run; /*指针P指向就绪进程队列中第一个PCB*/
sti(); c=-1000; next=idle_task;
while ( p!= &init_task) { /* 历就绪进程队列中所有PCB*/
/*priority表示进程的优先权*/
/*下一个进程*/
}
/“CPU从prev进 切换到 进程*/
试运用操作系统进程调度有关原理,分析“LINUX”的进程调度策略。
试题7 :临界区 要求设计若干进程间的 ,以保证互斥访问共享数据,例如,如下所示面包房算法( )就是关于 试论述该算法采用thoose数据的必要性,并举例说明
结束
特别声明:①凡本网注明稿件来源为"原创"的,转载必须注明"稿件来源:育路网",违者将依法追究责任;
②部分稿件来源于网络,如有侵权,请联系我们沟通解决。
阅读全文