浙江大學(xué)1998年碩士研究生入學(xué)考試操作系統(tǒng)試題
來(lái)源:
時(shí)間:2007-06-06 14:33:15
浙江大學(xué)
1998年攻讀碩士學(xué)位研究生入學(xué)考試試題
試題1至4為選擇題,分別從供選擇的答案中選出一個(gè)唯一正確的,填入“ ”。
試題1(3分):下列選擇中, 不是操作系統(tǒng)關(guān)心的主要問題,
A、管理計(jì)算機(jī)裸機(jī) B、設(shè)計(jì)、提供用戶程序與計(jì)算機(jī)硬件系統(tǒng)的界面
C、管理計(jì)算機(jī)系統(tǒng)資源 D、高級(jí)程序設(shè)計(jì)語(yǔ)言的編譯器
試題2(5分):采用 不會(huì)產(chǎn)生內(nèi)部碎片。
A、分頁(yè)式存儲(chǔ)管理 B、分段式存儲(chǔ)管理
C、固定分區(qū)式存儲(chǔ)管理 D、段頁(yè)式存儲(chǔ)管理
試題3(5分):下列幾種關(guān)于進(jìn)程的敘述, 最不符合操作系統(tǒng)對(duì)進(jìn)程的理解。
A、進(jìn)程是在多程序并行環(huán)境中的完整的程序
B、進(jìn)程可以由程序、數(shù)據(jù)和進(jìn)程控制塊描述
C、線程(THREAL)是一種特殊的進(jìn)程
D、進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過(guò)程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。
試題4(5分):關(guān)于臨界區(qū)問題的一個(gè)算法(假設(shè)只有進(jìn)程P0和P1可能會(huì)進(jìn)入該臨界區(qū))如下(I為0或1),該算法 。
A、不能保證進(jìn)程互斥進(jìn)入臨界區(qū),且會(huì)出現(xiàn)“饑餓”(starvation)
B、不能保證進(jìn)程互斥進(jìn)入臨界區(qū)但不會(huì)出現(xiàn):“饑餓”
C、保證進(jìn)程互斥進(jìn)入臨界區(qū),但會(huì)出現(xiàn):“饑餓”
D、保證進(jìn)程互斥進(jìn)入臨界區(qū),不會(huì)出現(xiàn):“饑餓”
repeat
retry:if (turn≠-1) turn= i ;
if (turn≠ i) go to retry;
turn=-1;
Critical Section;(*臨界區(qū)*)
turn=0;
Remainder Section;
until false
試題5(10分):磁盤系統(tǒng)調(diào)度中,采用SCAN(“掃描”)調(diào)度算法為任務(wù)隊(duì)列67、65、124、14、122、37、183、98 服務(wù),試計(jì)算服務(wù)結(jié)束時(shí),磁頭總共移動(dòng)了幾個(gè)磁道,假設(shè)磁頭總第0道至第199道之間移動(dòng),開始服務(wù)時(shí),磁頭剛從60移到67。
試題6(10分):某操作系統(tǒng)(假設(shè)為“LINUX”)設(shè)定一個(gè)定時(shí)器,每隔10ms產(chǎn)生一次“時(shí)間到”中斷,該中斷的服務(wù)程序采用下述算法:
struct task_struct *p=current; /*指針P指向當(dāng)前運(yùn)行進(jìn)程的進(jìn)程控制塊PCB*/
/*ticks保存最近兩次中斷服務(wù)期間的中斷次數(shù),通常是1*/
p->counter=p->counter-ticks; /*counter記錄尚可運(yùn)行的時(shí)間段*/
if (p->counter<0) { /*如果PCB的counter變量小于0*/
p>counter = 0;
need resched = 1 ;} /*全程量need-resched置位表示應(yīng)進(jìn)行新一輪調(diào)度*/
“LINUX”若發(fā)現(xiàn)need-resched置位,則調(diào)用如下的schedule(),進(jìn)行新一輪調(diào)度;
void schedule(void)
{ need-resched = 0;
prev = current; /*指針prev指向當(dāng)前運(yùn)行進(jìn)程的PCB*/
cli(); /*move an exhausted process to be last. */
if (!prev->counter && prev->policy == SCHED_RR){
prev->counter=prev->priority. /*prioriry表示進(jìn)程的優(yōu)先權(quán)*/
move_last_runqueue(prev); } /*將當(dāng)前進(jìn)程搬到就緒進(jìn)程隊(duì)列未尾*/
p= init_task.next_run; /*指針P指向就緒進(jìn)程隊(duì)列中第一個(gè)PCB*/
sti(); c=-1000; next=idle_task;
while ( p!= &init_task) { /* 歷就緒進(jìn)程隊(duì)列中所有PCB*/
/*priority表示進(jìn)程的優(yōu)先權(quán)*/
/*下一個(gè)進(jìn)程*/
}
/“CPU從prev進(jìn) 切換到 進(jìn)程*/
試運(yùn)用操作系統(tǒng)進(jìn)程調(diào)度有關(guān)原理,分析“LINUX”的進(jìn)程調(diào)度策略。
試題7 :臨界區(qū) 要求設(shè)計(jì)若干進(jìn)程間的 ,以保證互斥訪問共享數(shù)據(jù),例如,如下所示面包房算法( )就是關(guān)于 試論述該算法采用thoose數(shù)據(jù)的必要性,并舉例說(shuō)明
結(jié)束
特別聲明:①凡本網(wǎng)注明稿件來(lái)源為"原創(chuàng)"的,轉(zhuǎn)載必須注明"稿件來(lái)源:育路網(wǎng)",違者將依法追究責(zé)任;
②部分稿件來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系我們溝通解決。
閱讀全文