当前位置:文档之家› 操作系统大作业

操作系统大作业

操作系统大作业
操作系统大作业

操作系统实验报告

进程调度实验

一.实验题目

用C语言编写和调试一个进程调度程序,模拟进程调度过程。调度算法采用优先数算法和先来先服务算法。

二.目的要求

1.把理论与实践紧密结合,加深对进程的概念及进程调度算法的理解。取

得较好的学习效果

2.加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概念、

基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代

操作系统的基本能力。

3.培养学生的系统程序设计能力。

三.实验内容

设计一个有N个进程并行的进程调度程序。其中:

1)进程调度算法:采用最高优先数优先的调度算法分配处理机和先来先服

务算法来排队,总的过程采用时间片轮转算法。

2)每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:

进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态。

3)进程的优先数及需要的运行时间可以事先人为地指定。进程的到达时间

为进程输入的时间。

4)进程的运行时间以时间片为单位进行计算。

5)每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)

三种状态之一。

6)就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来

表示。

7)果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,

则撤消该进程;如果运行一个时间片后进程的已占用CPU时间还未达所

需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数

减1(即降低一级),然后把它插入相应优先级就绪队列等待CPU。

8)每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的

PCB,以便进行检查。

9)重复以上过程,直到所要进程都完成为止。

四.整体功能设计

五.进程调度流程图:

EXIT

六.C语言编程实现及数据结构

6.1 C程序见报告后面的代码

6.2 数据结构

6.2.1 在实验中共有8个进程。进程优先级为1到3,进程状态为:

“wait”,“run”,“finish”中的一种。

6.2.2 实验中PCB数据结构:

#define finish -1

#define wait 0

#define run 1

typedef struct PCB0{

char name[20]; //进程名

int priorit; //优先权

int reach_time; //到达时间

int all_time; //需要运行时间

int used_time; //已用时间

int state; //进程状态

struct PCB0*next;

}PCBS;

6.3 实验中使用到的进程PCB:

PCBS

{"a1",3,0,6,0,wait,NULL},

{"a2",1,5,5,0,wait,NULL},

{"a3",1,12,4,0,wait,NULL},

{"a4",3,13,5,0,wait,NULL},

{"a5",2,15,5,0,wait,NULL},

{"a6",2,18,3,0,wait,NULL},

{"a7",3,21,5,0,wait,NULL},

{"a8",1,22,4,0,wait,NULL};

七.使用说明

只需把程序开始的PCBS类型的数组初始化为要将进行调度的作业队列即可。再运行程序,程序会把运行过程中各PCB的状态输出到桌面上的“pcb.txt”中。可能有些电脑的桌面位置与程序里设置的位置不同,这时只需改变相关路径就行了。

八.结果分析

作业进入内存时按优先级在相应优先级队列中排队,在本程序中有三个优先级,所以设置了三个就绪队列。

给不同优先级的进程在分配处理机时,高优先级队列中的进程优先分配到处理机。在分配给它的时间片用完后,如果它不是最低优先级,则把

它降一级,并插入到相应优先级队列队尾,如果它是最低优先级,则直接把它插入到队尾。

给同一优先级队列中的进程分配处理机时,按先来先服务的方式分配处理机。

从实验过程输出的进程调度信息中,可以明显的看出上述处理机分配原则。这种分配方式下,高优先级的进程经过几次运行后优先级都会递减到1, 用这种方法能保证每个进程都能分配到处理机,但是,由于优先级递减和先来先服务,使得一些高优先级耗时长的进程不利。

因为最后所有进程都在最低优先级队列里排队,一方面使最低优先级队列过长,另一面使这种调度方式接近基于时间片的先来先服务调度方式。

所以,可以在进程控制块PCB中设置一项,利用该项确定该进程的优先级是否需要递减。这就可以改进原始调度方式的一些缺点,但这又可能使得低优先级的进程长时间得不到响应,使系统实时性降低。

九.设计体会

通过本次实验使我对进程调度的两种方式---先来先服务算法和最高优先数优先的调度算法有了比以前更深入的理解。

通过本次操作系统实验还使我复习了C语言的使用,特别是C中函数和指针的使用。为了模拟作业从进入内存到运行完毕的过程,程序中使用链表作为数据结构,使用到了两级指针。

我认为操作系统课程是一个实践性很强的课程,为了将理论用于实践必须培养学生的系统程序设计能力,因此,操作系统实验是的一个非常重要的环节。通过操作系统上机实验,既可以加深对理论的理解,又可以加强将算法用程序设计语言表达的能力。

十.C语言代码

运行环境:visual studio 2008

// OS2.cpp : 定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include"stdio.h"

#include"string.h"

#include"stdlib.h"// For _MAX_PATH definition

#include"malloc.h"

#define N 8

#define finish -1

#define wait 0

#define run 1

//定义进程结构体

typedef struct PCB0{

char name[20]; //进程名

int priorit; //优先权

int reach_time; //到达时间

int all_time; //需要运行时间

int used_time; //已用时间

int state; //进程状态

struct PCB0 *next;

}PCBS;

//子函数区域开始

//链表创建

PCBS *joblistcreate(PCBS *PCB)

{

PCBS *head=NULL,*last=NULL,*p0=NULL;

p0= PCB;

//开辟节点

int i=1;

head=p0;

last=p0;

p0=&PCB[1];

while(i

last->next=p0;

last=p0;

//开辟下一个节点

if(i

p0=&PCB[i+1];

i++;

}

return head;

}

//进程插入

void pushpro(PCBS **head,PCBS **head1,PCBS **last1) {

PCBS *p=NULL;

if(*head1==NULL)

{

*head1=*head;

*last1=*head;

*head=(*head)->next;

(*last1)->next=NULL;

}

else

{

p=*head;

*head=p->next;

(*last1)->next=p;

*last1=p;

(*last1)->next=NULL;

}

}

//删除进程

void pro_over(PCBS **head,PCBS **last)

{

PCBS **p0=NULL;

p0=head;

(*head)=(*p0)->next;

if((*head)==NULL)

(*last)=NULL;

}

//进程循环

void proloop(PCBS **head,PCBS **last,PCBS **head1,PCBS **last1)

{

PCBS *p;

p=*head;

if(*head==*head1)

{

if(*head1==*last1)

return;

else

{

*head=(*head)->next;

(*last1)->next=p;

(*last1)=p;

(*last1)->next=NULL;

return;

}

}

*head=(*head)->next;

if((*head)==NULL)

(*last)=NULL;

if((*head1)==NULL)

{

*head1=p;

*last1=p;

}

else

{

(*last1)->next=p;

*last1=p;

(*last1)->next=NULL;

}

}

//链表打印

void listprint(PCBS *head,FILE *fp) {

char state[10];

PCBS *p0=NULL;

p0=head;

while(p0!=NULL)

{

switch(p0->state)

{

case -1:

strcpy(state,"finish");

break;

case 0:

strcpy(state,"wait");

break;

case 1:

strcpy(state,"run");

break;

}

fprintf(fp,"进程名%s ,优先级%d , 状态%s

\n",p0->name,p0->priorit,state);

p0=p0->next;

}

}

//打印此刻的运行进程,等待进程

void status(PCBS *head3,PCBS *head2,PCBS *head1,int time,FILE *fp) {

//打印此刻的运行进程,等待进程

fprintf(fp,"############------time = %d------############\n",time-1);

listprint(head3,fp);

listprint(head2,fp);

listprint(head1,fp);

//运行进程

void running(PCBS **head,PCBS **last,PCBS **head1,PCBS **last1,int time,FILE *fp,PCBS *L3,PCBS *L2,PCBS *L1)

{

PCBS **p0=NULL;

p0=head;

(*head)->used_time=(*head)->used_time+1;

(*head)->state=run;

status(L3,L2,L1,time,fp);

if((*head)->priorit>1)

(*head)->priorit=(*head)->priorit-1;

if((*head)->used_time>=(*head)->all_time)

{

(*head)->state=finish;

pro_over(head,last);

}

else

{

(*head)->state=wait;

proloop(head,last,head1,last1);

}

}

//子函数区域完

int _tmain(int argc, _TCHAR* argv[])

{

int time=0; //系统时钟

FILE *fp; //文件指针

PCBS

PCB[]={{"a1",3,0,6,0,wait,NULL},{"a2",1,5,5,0,wait,NULL},{"a3",1,12,4,0,wait, NULL},{"a4",3,13,5,0,wait,NULL},{"a5",2,15,5,0,wait,NULL},

{"a6",2,18,3,0,wait,NULL},{"a7",3,21,5,0,wait,NULL},{"a8",1,22,4,0,wait,NULL} }; //系统作业队列

puts("\n*********************************\n");

printf(" START !\n");

//文件写入

if((fp=fopen("C:\\Users\\Administrator\\Desktop\\pcb.txt","at+"))==NULL) printf("\nerro!\n");

fprintf(fp,"program running imformation!\n");

//建立作业队列

PCBS

*head=NULL,*last=NULL,*head1=NULL,*last1=NULL,*head2=NULL,*last2=N ULL,*head3=NULL,*last3=NULL;

PCBS *p0=NULL;

//创建作业队列

head=joblistcreate(PCB);

while(head!=NULL||head1!=NULL||head2!=NULL||head3!=NULL)

{

printf(" time=%d\n",time);

//查看有无进程进入,若有则插入相应队列

if((head)&&(head->reach_time<=time))

{

switch(head->priorit)

{

case 3:

pushpro(&head,&head3,&last3);

break;

case 2:

pushpro(&head,&head2,&last2);

break;

case 1:

pushpro(&head,&head1,&last1);

break;

}

}

time++;

//从最高优先级摘下一个进程并执行

if(head3!=NULL)

{

running(&head3,&last3,&head2,&last2,time,fp,head3,head2,head1);

continue;

}

else if(head2!=NULL)

{

running(&head2,&last2,&head1,&last1,time,fp,head3,head2,head1);

continue;

}

else if(head1!=NULL)

{

running(&head1,&last1,&head1,&last1,time,fp,head3,head2,head1);

continue;

}

}

puts("进程调度信息已写入桌面上文件---pcb.txt 中!");

printf(" NORMAL TERMINATION !\n");

fclose(fp);

return 0;

}

2020批次操作系统大作业

20200415批次操作系统 1.现代操作系统一般都提供多任务的环境,试回答以下问题。 (1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? (2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语? (3) 当进程的状态变迁时,相应的数据结构发生变化吗? (1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? 答:为支持进程的并发执行,系统必须建立“进程控制块(PCB)”, PCB的组织方式常用的是链接方式。 (2)为支持进程的状态变迁,系统至少应该供哪些进程控制原语? 答:进程的阻塞与唤醒原语和进程的挂起与激活原语。 (3)当进程的状态变迁时,相应的数据结构发生变化吗? 答:创建原语:建立进程的PCB,并将进程投入就绪队列。; 撤销原语:删除进程的PCB,并将进程在其队列中摘除; 阻塞原语:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进 程投入阻塞队列; 唤醒原语:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进 程从则色队列摘下,投入到就绪队列中。 现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题: 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构 正确答案 为支持多进程的并发执行,系统为每个进程建立了一个数据结构:进程控制块(PCB),用于进程的管理和控制。PCB中记录了有关进程的一些描述信息和控制信息,包括进程标识符、进程当前的状态、优先级、进程放弃CPU时的现场信息,以及指示组成进程的程序和数据在存储器中存放位置的信息、资源使用信息、进程各种队列的连接指针和反映进程之间的隶属关系的信息等。 现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题: 为支持进程状态的变迁,系统至少应提供哪些进程控制原语

《操作系统》练习题及参考答案

《操作系统》练习题及参考答案 一、单项选择题(每小题1分,共15分) 1.操作系统是一种() A.系统软件 B.系统硬件 C.应用软件 D.支援软件 2.MS—DOS的存贮管理采用了() A.段式存贮管理 B.段页式存贮管理 C.单用户连续存贮管理 D.固定式分区存贮管理 3.用户程序在目态下使用特权指令将引起的中断是属于() A.硬件故障中断 B.程序中断 C.外部中断 D.访管中断 4.MS—DOS中用于软盘整盘复制的命令是() https://www.doczj.com/doc/3c6801309.html,P B.DISKCOPY C.SYS D.BACKUP 5.位示图方法可用于() A.盘空间的管理 B.盘的驱动调度 C.文件目录的查找 D.页式虚拟存贮管理中的页面调度 6.下列算法中用于磁盘移臂调度的是() A.时间片轮转法 B.LRU算法 C.最短寻找时间优先算法 D.优先级高者优先算法 7.在以下存贮管理方案中,不适用于多道程序设计系统的是() A.单用户连续分配 B.固定式分区分配 C.可变式分区分配 D.页式存贮管理 8.已知,作业的周转时间=作业完成时间-作业的到达时间。现有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1 A.T1+T2+T3 B.(T1+T2+T3) C.T1+T2+T3 D. T1+T2+T3 9.任何两个并发进程之间() A.一定存在互斥关系 B.一定存在同步关系 C.一定彼此独立无关 D.可能存在同步或互斥关系 10.进程从运行状态进入就绪状态的原因可能是() A.被选中占有处理机 B.等待某一事件 C.等待的事件已发生 D.时间片用完

11.用磁带作为文件存贮介质时,文件只能组织成() A.顺序文件 B.链接文件 C.索引文件 D.目录文件 12.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是() A.2 B.1 C.3 D.0.5 13.多道程序设计是指() A.在实时系统中并发运行多个程序 B.在分布系统中同一时刻运行多个程序 C.在一台处理机上同一时刻运行多个程序 D.在一台处理机上并发运行多个程序 14.文件系统采用多级目录结构后,对于不同用户的文件,其文件名() A.应该相同 B.应该不同 C.可以相同,也可以不同 D.受系统约束 15.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是() A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区 二、双项选择题(每小题2分,共16分) 1.能影响中断响应次序的技术是()和()。 A.时间片 B.中断 C.中断优先级 D.中断屏蔽 E.特权指令 2.文件的二级目录结构由()和()组成。 A.根目录 B.子目录 C.主文件目录 D.用户文件目录 E.当前目录 3.驱动调度算法中()和()算法可能会随时改变移动臂的运动方向。 A.电梯调度 B.先来先服务 C.扫描 D.单向扫描 E.最短寻找时间优先 4.有关设备管理概念的下列叙述中,()和()是不正确的。 A.通道是处理输入、输出的软件 B.所有外围设备的启动工作都由系统统一来做 C.来自通道的I/O中断事件由设备管理负责处理 D.编制好的通道程序是存放在主存贮器中的 E.由用户给出的设备编号是设备的绝对号

操作系统复习题及答案

1操作系统概述自测题 1 选择题 1.以下_____操作系统中的技术是用“时间”来换取“空间”的。 A.虚拟存储器 B.缓冲技术 C.SPOOLing技术 D.快表 2.设计实时操作系统必须首先考虑系统的______。 A.效率 B.可移植性 C.可靠性 D.使用的方便性 3.一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的______特点。 A.并发性 B.共享性 C.虚拟性 D.不确定性 4.下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统? A.实时 B.批处理 C.分时 D.分布式 5.操作系统中,以下______采用了以“空间”换“时间”的技术。 A.终端技术 B.缓冲技术 C.通道技术 D.虚拟存储技术 6.按照所起的作用和需要的运行环境,操作系统属于_______。 A.支撑软件 B.用户软件 C.应用软件 D.系统软件 7.操作系统的主要功能是存储器管理、设备管理、文件管理、用户接口和______。 A.进程管理 B.用户管理 C.信息管理 D.操作系统管理 8.操作系统的最基本的两个特征是资源共享和_______。 A.多道程序设计 B.程序的并发执行 C.中断 D.程序顺序执行

9.采用多道程序设计技术可以提高CPU和外部设备的______。 A.稳定性 B.可靠性 C.利用率 D.兼容性 10.在计算机系统中,操作系统是_______。 A.处于裸机之上的第一层软件 B.处于硬件之下的底层软件 C.处于应用软件之上的系统软件 D.处于系统软件之上的用户软件 11.操作系统是对_____进行管理的软件。 A.软件 B.硬件 C.计算机资源 D.程序 12.从用户的观点,操作系统是______。 A.用户与计算机之间的接口 B.控制和管理计算机资源的软件 C.合理地组织计算机工作流程的软件 D.是扩充裸机功能的软件,是比裸机功能更强、使用方便的虚拟机 13.操作系统的基本类型是_____。 A.批处理系统、分时系统和多任务系统 B.实时系统、分时系统和批处理系统 C.单用户系统、多用户系统和批处理系统 D.实时系统、分时系统和多用户系统 14.为了使系统中的所有用户都得到及时的响应,操作系统应该是___. A.实时系统 B.批处理系统 C.分时系统 D.网络系统 15.如果分时系统的时间片一定,那么____会使响应时间越长。 A.用户数越少 B.用户数越多 C.内存越少 D.内存越多

操作系统大题

操作系统大题 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

1.假设有一磁盘含有64000块,块号记为1~64000,现用2000个32位(Bit)的字作该盘的 位示图,试问第59999块对应于位示图中第几字的第几位(字、位均从0开始);而第1599字的第17位对应于磁盘的第几块 2.页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。假设主 存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字如页号从1开始,字号和字内位号(从高位到低位)均从1开始,试问:第2999页对应于何字何位;99字19位又对应于第几页 3.进程P1使用缓冲区buffer向进程P2,P3,P4发送消息,要求每当P1向buffer中发消 息时,只有当P2,P3,P4进程都读取这条消息后才可向buffer中发送新的消息。利用P、V原语描述如下图所示进程的动作序列。 4. 有如下图所示的工作模型: 三个进程P0、P1、P2和三个缓冲区B0、B1、B2,进程间借助相邻缓冲区传递消息:P0每次从B0中取出一条消息经加工后送入B1中,P1每次从B1中取出一条消息经加工后送入B2中,P2每次从B2中取出一条消息经加工后送入B0中。B0,B1,B2分别可存放3,2,2个消息。初始时B0中有2个消息, B1 ,B2中各有1个消息。用P、V操作写出P0,P1,P2的同步及互斥流程。 5.在一个生产车间中,有3个工人共同协作生产某种产品,工人1负责生产零件A并放入车间的货架,工人2负责生产零件B并放入车间的货架,工人3从货架上获取零件,并将1个零件A和一个零件B组装成成品运出车间,车间的货架上最多共可以存放1000个零件,为了保证合理的库存和零件配比,当某种

大工19秋《操作系统》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议? 2.《操作系统》课程设计,从以下5个题目中任选其一作答。 《操作系统》课程设计 注意:从以下5个题目中任选其一作答。 总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术要求) 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东101410013979浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:页面置换算法FIFO算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法数据结构、主要函数代码、测试案例)章节。 (2)算法思路:FIFO为先进先出算法,简单介绍该算法 的基本思想,100字左右即可。 (3)算法数据结构:列出主要用的数据结构,比如存储页 面号序列page[],存储装入物理块中的页面memery[]等, 只需要列出数据结构名称即可。 (4)主要函数代码:列出先进先出页面置换算法的代码。 不需要列出主函数。 (5)给出一个测试案例即可,比如设置物理块个数为3, 页面序号7 0 1 2 3 0 4 2 3,代码应列出算法 置换的具体细节。 题目二:页面置换算法LRU算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法数据结构、主要函数代码、测试案例)章节。 (2)算法思路:LRU为最近最久未使用算法,简单介绍

操作系统习题及答案

第一章引言 (一)单项选择题 1操作系统是计算机系统的一种( B )。A.应用软件B.系统软件c.通用软件D.工具软件 2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机(D ) A.使用方便B.高效工作 C.合理使用资源D.使用方便并高效工作 3.允许多个用户以交互方式使用计算机的操作系统是( A )。A.分时操作系统B.批处理单道系统C.实时操作系统D.批处理多道系统 4.下列系统中( C )是实时系统。A.计算机激光照排系统B.办公自动化系统 C.化学反应堆控制系统D.计算机辅助设计系统 5.操作系统是一种系统软件,它( D )。A.控制程序的执行B.管理计算机系统的资源C.方便用户使用计算机D.管理计算机系统的资源和控制程序的执行 6.计算机系统把进行( C )和控制程序执行的功能集中组成一种软件,称为操作系统A.CPU管理B.作业管理C.资源管理D.设备管理 7.批处理操作系统提高了计算机系统的工作效率,但( D )。 A.不能自动选择作业执行B.无法协调资源分配c.不能缩短作业执行时间D在作业执行时用户不能直接干预8.分时操作系统适用于( B)。A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享 9.在混合型操作系统中,“前台”作业往往是指( C )。A.由批量单道系统控制的作业B.由批量多道系统控制的作业c.由分时系统控制的作业D.由实时系统控制的作业 10.在批处理兼分时的系统中,对( B)应该及时响应,使用户满意。A.批量作业B.前台作业c.后台作业D.网络通信 11.实时操作系统对可靠性和安全性要求极高,它( C )。A.十分注重系统资源的利用率B.不强调响应速度c.不强求系统资源的利用率D.不必向用户反馈信息 12.分布式操作系统与网络操作系统本质上的不同之处在于( D )。A.实现各台计算机之间的通信B.共享网络个的资源c.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务 13.SPOOL技术用于( B)。A.存储管理B.设备管理C.文件管理D.作业管理14.( B )为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。A处理器管理B.存储管理c.文件管理D.作业管理 (二)填空题 1. 计算机系统是按用户要求接收和存储信息,自动进行_数据处理____并输出结果信息的系统。 2.计算机是由硬件系统和_软件系统______系统组成。3.软件系统由各种_程序______和数据组成。4.计算机系统把进行_资源管理______和控制程序执行的功能集中组成一种软件称为操作系统。5.操作系统使用户合理_共享资源_____,防止各用户间相互干扰。6.使计算机系统使用方便和_高效工作______是操作系统的两个主要设计目标。7.批处理操作系统、分时操作系统_______和实时操作系统是基本的操作系统。8.用户要求计算机系统中进行处理的一个计算机问题称为__作业_____。9.批处理操作系统按照预先写好的_作业说明书______控制作业的执行。10.在多道操作系统控制下,允许多个作业同时装入_内存______,使中央处理器轮流地执行各个作业。11.批处理操作系统提高了计算机系统的_工作效率______,但在作业执行时用户不能直接干预作业的执行。12.在分时系统中,每个终端用户每次可以使用一个由_时间片______规定的cPu时间。13分时系统具有同时性、独立性、及时性和__交互性_____等特点。14.在批处理兼分时系统中,往往把由分时系统控

操作系统复习题及参考答案1-4

中南大学网络教育课程考试复习题及参考答案 操作系统1 一、判断题: 1.资源共享是现代操作系统的一个基本特征。() 2.信号量机制中,P、V操作必须成对出现。() 3.若进程资源分配图中含有环,则一定有进程处于死锁状态。() 4.绝对装入方式需要对内存地址进行重定位。() 5.“分页对换”和“分段对换”是为了支持虚拟存储系统。() 6.通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的。() 7.程序的并行执行是现代操作系统的一个基本特征。() 8.一个进程被唤醒意味着重新占有了CPU。() 9.进程在运行过程中,请问和释放资源顺序不当,同样可以引起死锁。() 10.分段存储管理的引入是为了满足用户(程序员)在编程和使用上多方面的要求。() 11.系统中的各个部件,如CPU、存储设备等的连接都是由总线设备来实现的。() 12.在文件的索引存取方法中,允许随意存取文件中的一个记录。() 13.程序在并发执行时会失去封闭性。() 14.由于用户的响应时间要求,因此要求设置大的时间片长度。() 15.预防死锁是指在资源动态分配过程中,用某种方法去防止系统进入不安全状态。() 16.内存的单一连续分配模式只能用在单用户、单任务的OS中。() 17.虚拟存储器的“虚拟”是指用户可使用的内存容量比实际的内存容量大的多。() 18.在文件系统支持下,用户也需知道文件存放的物理地址。() 19.在单CPU环境下可以实现“多道程序系统”。() 20.程序与进程最主要的区别在于程序是静态实体,而进程是动态实体。() 21.死锁与程序的死循环一样。() 22.内存固定分区分配模式只能用在单用户、单任务的OS中。() 23.采用LRU置换算法时,当驻留集增大时,页故障率一定不会增加。() 24.通道与CPU共享内存。() 二、填空题: 1.操作系统的基本任务是( )。 2.从资源分配的角度看,P(wait)操作意味着向系统( )一个资源,V(signal)操作意味着( )一个资 源。 3.一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历下 述三级调度()、()、()。 4.产生死锁的四个必要条件是()、()、()和()。 5.()称之为“页内碎片”。 6.文件按其用途可分为:用户文件、()和()。 7.分时系统的四个主要特征是()、()、()、()。 8.进程调度分为以下两种方式()、()。 9.死锁的必要条件之一是“互斥”,该条件是指()。 10.根据链接时间的不同,可把链接分为()、()、()三种。 11.I/O控制方式主要分为()、()、()。 12.直接存储器DMA方式是专对()设备进行I/O控制的。 13.多道批处理系统的优缺点主要有()、()、()。 14.程序的并发执行的特征有()、()、()。 15.调度队列模型分为()、()、()。 16.程序的装入分为()、()、()。 17.缓冲区可工作在()、()、()和提取输出四种工作方式下。

计算机操作系统期末考试题及答案

2016学年度计算机操作系统期末考试题及答案 一、单项选择题(每题1分,共20分) 1。操作系统得发展过程就是(C) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序C、管理程序,原始操作系统,操作系统D、管理程序,操作系统,原始操作系统 2.用户程序中得输入、输出操作实际上就是由( B)完成。 A、程序设计语言 B、操作系统C、编译系统D、标准库程序 3.进程调度得对象与任务分别就是( C ). A、作业,从就绪队列中按一定得调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定得调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动得地址转换机制就是( A) A、动态重定位B、段式地址转换C、页式地址转换D、静态重定位 5。在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( C )进行排列。A、地址从大到小B、地址从小到大C、尺寸从小到大D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑得就是(B)。 A、灵活性与可适应性B、系统效率与吞吐量C、交互性与响应时间D、实时性与可靠性 7。当进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 A、等待 B、就绪C、运行D、完成 8。文件得保密就是指防止文件被(C)。 A、篡改 B、破坏 C、窃取 D、删除 9.若系统中有五个并发进程涉及某个相同得变量A,则变量A得相关临界区就是由( D)临界区构成。 A、2个 B、3个 C、4个D、5个 10.按逻辑结构划分,文件主要有两类:(A)与流式文件。 A、记录式文件B、网状文件C、索引文件D、流式文件 11.UNIX中得文件系统采用(D)。 A、网状文件B、记录式文件C、索引文件D、流式文件 12.文件系统得主要目得就是(A )。 A、实现对文件得按名存取B、实现虚拟存贮器C、提高外围设备得输入输出速度D、用于存贮系统文档 13.文件系统中用(D )管理文件. A、堆栈结构B、指针C、页表D、目录 14。为了允许不同用户得文件具有相同得文件名,通常在文件系统中采用( B)。A、重名翻译B、多级目录C、约定D、文件名 15.在多进程得并发系统中,肯定不会因竞争(C)而产生死锁。 A、打印机 B、磁带机C、CPU D、磁盘 16.一种既有利于短小作业又兼顾到长作业得作业调度算法就是( C )。 A、先来先服务 B、轮转 C、最高响应比优先 D、均衡调度 17.两个进程合作完成一个任务.在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程得

计算机操作系统”课程设计大作业

华南理工大学 “计算机操作系统”课程设计大作业 1)给出数据定义和详细说明; struct block_s{ /* 该块的实际长度,不包括block_s的大小。 */ int length; /* 申请该块的作业,为0表示该块空闲。 */ int owner; /* 当该块是空闲块时,offset表示下一空闲块的偏移,offset为TOTAL_BYTE表示该块是最后一个空闲块。 当该块非空闲块时,offset表示作业实际申请的大小。 */ int offset; }; 2)给出实现思想和设计流程; 该算法遍历空闲链表,找第一个大小能满足要求的块。 然后,若找到的块足够大,再把该块切成两块,返回第一块给调用者;把第二块加到空闲区链表中。

该算法遍历整个空闲链表,找一个大小能满足要求的块。并且该块是所有能满足要求的空闲块中,大小最小的块。 然后,若找到的块足够大,再把该块切成两块,返回第一块给调用者;把第二块加到空闲区链表中。 3)调试完成源程序; #include "stdio.h" #include #include #define n 10 /*假定系统允许的最大作业为n,假定模拟实验中n值为10*/

#define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ #define minisize 100 struct { float address; /*已分分区起始地址*/ float length; /*已分分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用"0"表示空栏目*/ }used_table[n]; /*已分配区表*/ struct { float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用"0"表示空栏目,用"1"表示未分配*/ }free_table[m]; /*空闲区表*/ allocate(char J,float xk) { /*采用最优分配算法分配xk大小的空间*/ int i,k; float ad; k=-1; for(i=0;i=xk&&free_table[i].flag==1) if(k==-1||free_table[i].length

操作系统练习题_及答案解析

操作系统练习题 第一章引言 (一单项选择题 1操作系统是计算机系统的一种( 。A.应用软件 B.系统软件c.通用软件D.工具软件 2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作 3.允许多个用户以交互方式使用计算机的操作系统是( 。A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统 4.下列系统中( 是实时系统。A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统 5.操作系统是一种系统软件,它( 。A.控制程序的执行 B.管理计算机系统的资源 C.方便用户使用计算机 D.管理计算机系统的资源和控制程序的执行 6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统 A.CPU管理 B.作业管理 C.资源管理 D.设备管理 7.批处理操作系统提高了计算机系统的工作效率,但( 。 A.不能自动选择作业执行 B.无法协调资源分配 c.不能缩短作业执行时间 D在作业执行时用户不能直接干预 8.分时操作系统适用于( 。A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享 9.在混合型操作系统中,“前台”作业往往是指( 。A.由批量单道系统控制的作业 B.由批量多道系统控制的作业 c.由分时系统控制的作业D.由实时系统控制的作业

10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。A.批量作业B.前台作业c.后台作业D.网络通信 11.实时操作系统对可靠性和安全性要求极高,它( 。A.十分注重系统资源的利用率B.不强调响应速度 c.不强求系统资源的利用率 D.不必向用户反馈信息 12.分布式操作系统与网络操作系统本质上的不同之处在于( 。A.实现各台计算机之间的通信B.共享网络个的资源 c.满足较大规模的应用 D.系统中若干台计算机相互协作完成同一任务 13.SPOOL技术用于( 。A.存储管理B.设备管理C.文件管理 D.作业管理 14.( 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。 A处理器管理 B.存储管理 c.文件管理 D.作业管理 (二填空题 1. 计算机系统是按用户要求接收和存储信息,自动进行_______并输出结果信息的系统。 2.计算机是由硬件系统和_______系统组成。 3.软件系统由各种_______和数据组成。 4.计算机系统把进行_______和控制程序执行的功能集中组成一种软件称为操作系统。 5.操作系统使用户合理_______,防止各用户间相互干扰。 6.使计算机系统使用方便和_______是操作系统的两个主要设计目标。 7.批处理操作系统、_______和实时操作系统是基本的操作系统。 8.用户要求计算机系统中进行处理的一个计算机问题称为_______。

操作系统复习题含答案

一、什么是操作系统?你都用过什么操作系统?各有什么特点? 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。DOS系统都是以命令的方式运行指令,有的也支持鼠标,甚至也可以做成菜单方式,但跟windows的亲和性相比是无法相比的。windos系列的操作系统主要特点就是简单,图形操作,不需要死记命令,适合非专业人士使用。unix系列由于是开源的,所以操作复杂,功能强大,可以按自己的需求设计与改造,适合专业人士,不适合初学者。 二、试说明操作系统系统的主要功能模块及其主要任务? 处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。 进程同步:为多个进程(含线程)的运行进行协调。 进程通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需 的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给 它,并设置运行现场,使进程投入执行。 内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 设备管理主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 文件管理的主要功能是文件存储空间的管理,目录管理,文件的读写管理和文件的共享与保护。主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。 三、什么是多道程序设计技术?试叙述多道程序运行的特征。 所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。多道程序技术运行的特征:多道、宏观上并行、微观上串行。 四、在一个分时操作系统中,用户提交了一个作业,作业的内容包括:①请求内存(memory);

操作系统简答及大题

1、请举例说明单用户单任务的操作系统与多用户多任务的操作系统之间的区别? 2、死锁产生的4个必要条件是什么?它们是彼此独立的吗? 3、当系统中的地址空间非常大时(例如32位),会给页表的设计带来什么问题?请给出一个方案并分析其优缺点。 4、文件在磁盘上存放的形式有几种?它们与存取方法有何关系? 5、试比较进程与程序的异同。 6、脱机命令接口和联机命令接口有什么不同? 1、答案:DOS是单用户单任务的操作系统,通常这种操作系统没有进程调度,内存管理也比较简单,只划分为系统区和用户区,是单道的程序运行环境。Unix是多用户多任务的操作系统,有进程管理,内存管理也比较复杂。它们都具有设备管理系统和文件管理系统,但功能也有差别。 2、互斥,请求和保持,不剥夺,环路等待。 不是相互独立的,前三个条件是必要条件,而环路等待实际上是在前三者基础上的一种可能的结果,是死锁的一种现象。 3、会导致页表过长从而很难找到一块连续的存储空间存放页表,此外如果页表中的行不连续也会加大访问页表的查找时间。 可以用多级页表解决这个问题,将页表分页,离散地存储在不同区域,同时建立另一张页表映射原来页表的每一页。优点是不需要大块的连续空间,但并没有减少页表的空间,同时也增加了访存次数。 4、三种存储结构的特点略。 5、答案:进程与程序是紧密相关而又完全不同的两个概念:1)每个进程实体中包含了程序段和数据段这两个部分,因此他们是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而进行、由撤销而消亡,即它具有一定的生命周期。而程序只是一组指令的有序集合,并可以永久的驻留在某种介质上,其本身不具有运动的含义,是静态的。3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。而程序的并发执行具有不可再现性,因此程序不能正确并发执行。4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位,而程序不可能在多道环境下独立运行。5)进程与程序不一一对应,同一个程序多次运行,将形成不同的进程;同一个程序的一次执

计算机控制系统大作业 - 副本

计算机控制系统大作业 农电2013级 (答题纸作答,附图粘在答题纸上,答案要求全部手写)1、简述开环控制系统、闭环控制系统的定义。(6分) 如果系统的输出端与输入端之间不存在反馈,也就是控制系统的输出量不对系统的控制产生任何影响,这样的系统称开环控制系统。 由信号正向通路和反馈通路构成闭合回路的自动控制系统,称为闭环控制系统。 二者相比,开环控制系统的结构要简单的多,同时也比较经济。闭环系统也具有一系列优点,由于闭环控制系统拥有反馈通路,不管出于什么原因(外部扰动或系统内部变化),只要被控制量偏离规定值,就会产生相应的控制作用去消除偏差。因此,它具有抑制干扰的能力,对元件特性变化不敏感,并能改善系统的响应特性。 2、简述计算机控制系统的组成与基本工作原理。(10分) 计算机控制系统由控制部分和被控对象组成,其控制部分包括硬件部分和软件部分,这不同于模拟控制器构成的系统只由硬件组成。计算机控制系统软件包括系统软件和应用软件。系统软件一般包括操作系统、语言处理程序和服务性程序等,它们通常由计算机制造厂为用户配套,有一定的通用性。应用软件是为实现特定控制目的而编制的专用程序,如数据采集程序、控制决策程序、输出处理程序和报警处理程序等。它们涉及被控对象的自身特征和控制策略等,由实施控制系统的专业人员自行编制。 计算机控制系统的工作原理: 实时数据采集:对来自测量变送装置的被控量的瞬时值进行检测和输入 实施控制决策:对采集到的被控量进行分析和处理并按已定的控制规律决定将要采取的控制行为。 实时控制输入:根据控制决策,实时的对执行机构发出控制信号,完成控制任务 3、列举计算机控制系统的典型型式。(6分) (1)操作指导控制系统优点:结构简单,控制灵活,安全。缺点:由人工操作,速度受到限制,不能控制多个对象。 (2)直接数字控制系统(DDS)优点:实时性好,可靠性高,适应性强。 (3)监督控制系统(SCC)优点:生产过程始终处于最优工况。 (4)分散控制系统(DCS)优点:分散控制、集中操作、分级管理、分而自治和综合协调。 (5)现场总线控制系统(FCS)优点:与DCS相比,降低了成本,提高了可靠性。国际标准统一后,可实现真正的开放式互联系统结构。 4、什么是串模干扰,有哪些抑制方法(12分) 所谓串模干扰就是干扰源Vc串联于信号源Vs之中。或者简单地认为它是与被测信号迭加在一起的干扰。在输入回路中它与被测信号所处的地位完全相同。串模干扰也称横向干扰或差模干扰。

操作系统大题总结解答

处理机的执行模式与执行状态 大多数处理器都至少支持两种执行模式,一种是同操作系统有关的模式,另一种则是同用户程序有关的模式。较低特权的模式称为用户模式。较高特权的模式称系统模式、控制模式或内核模式。 内核模式能执行所有的指令,访问所有的内存; 用户模式则只能执行有限的指令,访问规定的内存 处理器往往有一个或多个寄存器来保存处理器模式信息——程序状态字(PSW ) 为了防止操作系统及其关键数据(如PCB )遭到用户程序有意或无意的破坏,通常将处理机的执行状态分为两种:核心态与用户态 核心态又称管态、系统态,是操作系统管理程序执行时机器所处的状态。 它具有较高的特权,能执行一切指令,能访问所有的寄存器和存储区。 用户态又称目态,是用户程序执行时机器所处的状态。 它具有较低的特权,只能执行规定的指令和只能访问指定的寄存器和存储区。 信号量练习2.某电话亭每一时刻最多只能容纳一个人打电话。来打电话的人,如果看到电话亭空闲,则直接进入电话亭打电话;如果看到电话亭里正有人在打电话,则在外面排队等候,直到轮到自己,再进入电话亭打电话。请用信号量来表达打电话的进程对电话机的互斥使用逻辑。 该电话亭每次只能容纳一个人打电话(进程)使用,所以是一个临界资源,资源量为1,各进程要互斥使用。 用信号量来表达资源的数量: semaphore mutex=1;(或empty=1) main( ) { Cobegin Pi ( );//(i=1,2,3,4,……); Coend } 练习3.某电话亭共有3台电话机,即能容纳3个人(3个进程)同时打电话。来打电话的人,如果看到电话亭有空闲机子,则直接进入电话亭打电话;如果看到电话亭人满,则在外面排队等候,直到轮到自己再进入电话亭打电话。请用信号量机制表达打电话的进程对电话机资源的使用限制。 用信号量来表达空闲的电话机数: 资源量的初值为3(表示开始时有3台空机子可用) semaphore empty=3; main ( ) { Cobegin Pi ( ); i=1,2,3,…… Coend } 4.生产者-消费者问题 一个说明空缓冲单元的数目,用empty 表示,其初值为有界缓冲区的大小n ,另一个说明满缓冲单元的数目,用full 表示,其初值为0。而有界缓冲区是一个临界资源,必须互斥使用,因此还需要另外设置一个互斥信号量mutex ,其初值为1。semaphore full=0; //第一步:定义信号量, semaphore empty=n; //并为信号量赋初值 semaphore mutex=1; main( ) // 第二步:编写主函数, { cobegin //在其中调用各个进程 produceri ( ); //i=1,2,…m P i( ) // i=1,2,3…… { P(mutex); 打电话; ……… 打完电话 走出电话亭 V(mutex); } Pi ( ) i=1,2,3,… { P(empty); 打电话; 打电话完毕 出电话亭 V(empty); }

操作系统作业题及答案

《操作系统》课程作业 (2013年春) 姓名: 学号: 专业: 年级: 学校: 日期:

作业一:作业管理 1、有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序 A、B、C构成如下: A:输入32秒,计算8秒,输出5秒 B:输入21秒,计算14秒,输出35秒 C:输入12秒,计算32秒,输出15秒 问:(1)三道程序顺序执行的总时间是多少? (2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。 2、假设一个单CPU系统,以单道方式处理一个作业流,作业流中有2道作业,共占用CPU 计算时间、输入卡片数和打印输出行数如下: 其中,卡片输入机速度为1000张/分钟,打印机输出速度为1000行/分钟,试计算:(1)不采用spooling技术,计算这两道作业的总运行时间(从第1道作业输入开始到最后一个作业输出完毕)。 (2)如采用spooling技术,计算这2道作业的总运行时间(不计读/写盘时间),并给出相应的示意图。

作业二:进程管理 1、 请写出两程序S1和S2可并发执行的Bernstein 条件。 2、 有以下5条语句,请画出这5条语句的前趋图。 S1:y=x+1 R(x) W(y) S2:c=f-w R(f,w) W(c) S3:d=r-y R(r,y) W(d) S4:x=a+b R(a,b) W(x) S5:r=c+y R(c,y) W(r) 3、 设在教材第62页3.6.4节中所描述的生产者消费者问题中,其缓冲部分为m 个长度相等 的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)和接收过程remove(data)。 P P P i P .. .. 1 2 i k 4、 设有k 个进程共享一临界区,对于下述情况,请说明信号量的初值、含义,并用P ,V 操作写出有关互斥算法。 (1) 一次只允许一个进程进入临界区; (2) 一次允许m (m

计算机操作系统大题整理教学内容

计算机操作系统大题 整理

四、应用题(每小题8分,共40分) 1.在一单道批处理系统中,一组作业的提交时间和运行时间见下表所示。 作业提交时间运行时间 1 8.0 1.0 2 8.5 0.5 3 9.0 0.2 4 9.1 0.1 计算以下二种作业调度算法的平均周转时间T和平均带权周转时间W。先来先服务调度算法。(2)短作业优先调度算法。 2.考虑某个系统在某时刻的状态如下表所示。 Allocation Max Available ABCDABCD1520 P0 00120012 P1 10001750 P2 13542356 P3 00140656 使用银行家算法回答下面的问题: (1)求Need矩阵。 (2)系统是否处于安全状态?如安全,请给出一个安全序列。 (3)如果进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。 (2) 安全,安全序例为:P0,P2,P1,P3……(3分) (3)能立刻被满足,满足的安全序列为: P0,P2,P1,P3……(3分)3.桌子上有一只盘子,每次只能向其中放入一只水果。爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,儿子专等吃盘子中的桔子,女儿专等吃盘子中的苹果。只有盘子为空时,爸爸或妈妈就可向盘子中放一只水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。用信号量机制解决该问题。 答:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l; 信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。(2分) father(){ 。while(1) { 。P(S); 。放苹果。V(Sa); 。} } 。mather(){。while(1) { 。P(S); 。放苹果。V(So);。} } 。son(){ 。while(1) { 。P(So); 。从盘中取出桔子; 。V(S); 。吃桔 子; 。}。} 。daughter(){ 。while(1) { 。P(Sa); 。从盘中取出苹果; 。 V(S); 。吃苹果; 。}。} 4.设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框,在时刻260前的该进程访问情况见下表。 页号页框号装入时间访问位 071301 142301 222001 391601 当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟(Clock)置换算法,当前指针指向2号页框。该逻辑地址对应的物理地址是多少?要求给出计算过程。 答:(1) 17CAH=0001 0111 1100 1010B,且页的大小为1KB,故页号为000101B=5…(2分) (2)采用FIFO置换算法,与最早调入的页面即0号页面置换,其所在的页框号为7,于是对应的物理地址为:0001 1111 1100 1010B=1FCAH…(3分) (3)采用Clock置换算法,首先从当前位置(2号页框)开始顺时针寻找访问位为0的页面,当指针指向的页面的访问位为1时,就把该访问位清“0”,指针遍历一周后,回到2号页框,此时2号页框的访问位为0,置换该页框的页面,于是对应的物理地址为:0000 1011 1100 1010B=0BCAH。(3分) 5.某文件系统采用多级索引的方式组织文件的数据存放,假定在文件的i_node 中设有13个地址项,其中直接索引10项,一次间接索引1项,二次间接索引1项,三次间接索引1项。数据块的大小为4KB,磁盘地址用4个字节表示,这个文件系统允许的最大文件长度是多少? 答:直接索引对应盘块大小=10×4KB=40KB (2分) 一次间接索引对应盘块大小=1K×4KB=4MB (2分) 二次间接索引应盘块大小=1K×1K×4KB=4GB (2 三次间接索引应盘块大小=1K×1K×1K×4KB =4TB 一个文件最大=40KB+4MB+4GB+4TB (1分) 四、应用题(每小题8分,共40分) 1.在一单道批处理系统中,一组作业的提交时间和 运行时间见下表所示。 计算以下二种作业调度算法的平均周转时间T和平 均带权周转时间W。 先来先服务调度算法。(2)短作业优先调度算 法。 答:1.(1)FCFS调度的情况如下表: T=(1.0+1.0+0.7+0.7)/4=0.85 (2分) W=(1.0+2.0+3.5+7.0)/4=3.375 (2分) (2)SJF调度的情况如下表: T=(1.0+1.3+0.2+0.2)/4=0.675 (2分) W=(1.0+2.0+3.5+7.0)/4=1.65 (2分) 2.桌上有一空盘,允许存放一只水果。爸爸可向盘 中放苹果,也可向盘中放桔子,儿子专等吃盘中的 桔子,女儿专等吃盘中的苹果。规定当盘空时一次 只能放一只水果供吃者取 用,请用P、V原语实现爸爸、儿子、女儿三个并 发进程的同步。 答:在本题中,应设置三个信号量S、So、Sa,信 号量S表示盘子是否为空,其初值为l;信号量So 表示盘中是否有桔子,其初值为0;信号量Sa表示 盘中是否有苹果,其初值为0。 father(){ 。while(1) { 。P(S); 。将水果放入盘 中; 。if(放入的是桔子)V(So); 。 else V(Sa);。}。 } 。son(){。while(1) { 。P(So); 。 从盘中取出桔子; 。V(S); 。吃桔子; 。}。} 。 daughter(){ 。while(1) { 。P(Sa); 。从盘中取出苹 果; V(S); 。吃苹果; 。}。} (2分) 若干个等待访问磁盘者依次要访问的磁道为20, 44,40,4,80,12,76,假设每移动一个磁道需要 3ms时间,移动臂当前位于40号磁道,请按下列算 法分别计算为完成上述各次访问总共花费的寻道时 间。(1)先来先服务算法;(2)最短寻道时间优 先算法。 答:先来先服务算法: 访问序列:20,44,40,4,80,12,76 访问时间 = (20+24+4+36+76+68+64*3ms=876ms 最短寻道时间优先算法: 访问序列:40,44,20,12,4,76,80 访问时间 =(0+4+24+8+8+72+4)*3ms=360ms 4.某文件系统采用多级索引的方式组织文件的数据 存放,假定在文件的i_node 中设有13个地址项, 其中直接索引10项,一次间接索引1项,二次间接 索引1项,三次间接索引1项。数据块的大小为 2K,磁盘地址用4个字节表示。 问:这个文件系统允许的最大文件长度是多少? 答.直接索引对应盘块大小=10×2KB=20KB (2分) 一次间接索引对应盘块大小=512×2KB=1MB (2分) 二次间接索引应盘块大小=512×512× 2KB=512MB (2分) 三次间接索引应盘块大小=512×512×512× 2KB =256GB (1分) 一个文件最大=20KB+1MB+512MB+256GB (1分) 5.某进程已分配到4个页框,如下表所示。当进程 访问第4页时,产生缺页中断。请分别用FIFO、 LRU和改进的CLOCK算法,决定缺页中断服务程 序选择换出的页面。 答.FIFO 换出进入内存时间最久的页面,装入时 间20最久,故第3页换出。(2分) LRU 最近最长时间未用的页,第1页最近被访 问时间最久,故第1页换出。(3分) 改进的CLOCK 表中第1页的访问位为0,和修改 位都为0,故第1页换出。(3分) 四、解答题(共20分) 1.什么是操作系统?它的主要功能是什么?(共8分) 答:操作系统是控制和管理计算机系统内各种硬件 和软件资源、有效地组织多道程序运行的系统软件 (或程序集合),是用户与计算机之间的接口。(3分) 操作系统的主要功能包括:存储器管理、处理机管 理、设备管理、文件管理以及用户接口管理。(5分) 2.操作系统中存储器管理的主要功能是什么?什么 叫虚拟存储器?(共8分) 答:存储器管理的主要功能是:内存分配,地址映 射,内存保护,内存扩充。(4分)虚拟存储器是用户 能作为可编址内存对待的存储空间,在这种计算机 系统中虚地址被映象成实地址。或者:简单地说, 虚拟存储器是由操作系统提供的一个假想的特大存 储器。 3.什么是文件的逻辑组织和物理组织?(共4分) 答:文件的逻辑组织——用户对文件的观察和使用是从自身处理文件中数 据时采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的 文件组织形式称为文件的逻辑组织。文件的物理组织——文件在存储设备 上的存储组织形式称为文件的物理组织。 五、应用题(共20分) 1.(8分)某分时系统的进程出现如下图所示的状态变化。 试问:(1)你认为该系统采用的是哪一种进程调度算法? (2)写出图中所示的每一个状态变化的原因(从①到⑥)。 解:(1)该分时系统采用的进程调度算法是时间片轮转法。(2分) (2)状态变化的原因如下: ①进程被选中,变成运行态;②时间片到,运行的进程排入就绪队列尾 部;③运行的进程启动打印机,等待打印;④打印工作结束,阻塞的进程 排入就绪队列尾部;⑤等待磁盘读文件工作;⑥磁盘传输信息结束,阻塞 的进程排入就绪队列尾部。 2.(12分)在一个请求分页存储管理系统中,一个作业的页面走向为4、 3、2、1、 4、3、 5、4、3、2、1、5,当分配给该作业的物理块数分别为 3、4时,试计算采用下述页面淘汰算法时的缺页次数(假设开始执行时主 存中没有页面),并比较所得结果。 (1)最佳置换法(OPT)(2)先进先出法 (FIFO) 解:(1)根据所给页面走向,使用最佳页面置换算法时,页面置换情况如 下: 因此,缺页次数为7;(计算过程1分,结果正确1分,共2分) 因此,缺页次数为6。(计算过程1分,结果正确1分,共2分) 由上述结果可以看出,增加分配给作业的内存块数可以降低缺页次 数。 (2)根据所给页面走向,使用先进先出页面置换算法时,页面置换情况如 下: 因此,缺页次数为9。(计算过程1分,结果正确1分,共2分) 因此,缺页次数为10。(计算过程1分,结果正确1分,共2分) 由上述结果可以看出,对先进先出算法而言,增加分配给作业的内存块数 反而出现缺页次数增加的异常现象。(2分) 一、填空题(每空1分,共10分) 1.操作系统的主要功能是处理机管理、存储器管理、设备管理、文件管 理和用户接口管理。 2.进程由程序、相关的数据段、PCB(或进程控制块)组成。 3、对于分时系统和实时系统,从可靠性上看实时系统更强;若从交互性 来看分时系统更强。 4、产生死锁的原因主要是竞争资源和进程间推进次序非法。 5、一台计算机有10台磁带机被m个进程竞争,每个进程最多需要三台磁 带机,那么m为≤4时,系统没有死锁的危险。 6、实现SPOOL系统时必须在磁盘上辟出称为输入井和输出井的专门区 域,以存放作业信息和作业执行结果。 7、虚拟存储器具有的主要特征为多次性、对换性和虚拟性。 8、按用途可以把文件分为系统文件、用户文件和库文件三类。 为文件分配外存空间时,常用的分配方法有连续分配、链接分配、索引分 配三类 1.通常所说操作系统的四大模块是指处理机管理、存储管理、设备管 理、文件管理。 2.进程实体是由进程控制块(PCB),程序段和数据段这三部分组成。 3.文件系统中,空闲存储空间的管理方法有空闲表法和空闲链表法、位 示图和成组链接法。 4.若P、V操作的信号量s初值为8,当前s的值为-6,则表示有6个等 待进程。 5.产生死锁的原因是竞争资源、进程推进顺序非法。 6.目前常用的外存分配方法有连续分配、连接分配和索引分配三种。 7.采用页式存储管理方式,未使用快表,CPU每存取一次数据访问内存 次数是2次。 8.一个文件系统中,其FCB占64B,一个盘块大小为1KB,采用一级目 录,假定文件目录中有3200个目录项,则查找一个文件平均需要100次访 问磁盘。 1.进程的三个基本状态是阻塞状态、就绪状态、执行状态。 2.产生死锁的四个必要条件是:连续条件、请求和保持条件、链接条件 和环路等待条件。 3.若P、V操作的信号量s初值为6,当前s的值为-5,则表示有5个等 待进程。 4.目前常用的外存分配方法有连续分配、链接分配和索引分配三种。 5.采用段式存储管理方式,未配置快表,CPU每存取一次数据访问内存 次数是2次。 6.一个文件系统中,其FCB占64B,一个盘块大小为1KB,采用一级目 录,假定文件目录中有3200个目录项,则查找一个文件平均需要100次访 问磁盘。 7.实现SPOOLing系统时必须在磁盘上开辟出称为输入井和输出井的专门 区域,以存放作业信息和作业执行结果。 二、单项选择题(每小题2分,共40分) 1.下面对进程的描述中,错误的是(进程是指令的集合) 2.如果分时操作系统的时间片一定,那么 (就绪进程数越多) 则响应时间 越长。 3.在页式存储管理方案中,采用 (页表) 实现地址变换。 4.当已有进程进入临界区时,其他试图进入临界区的进程必须等待,以 保证对临界资源的互斥访问,这是下列(忙则等待)同步机制准则。 5.定义:作业的周转时间=作业的完成时间-作业到达时间。现有三个 作业同时到达,每个作业的计算时间均为1小时,它们在一台处理机上按 单道方式运行,则平均周转时间为(3小时) 6.位示图法可用于(分页式存储管理中内存空闲块的分配和回收) 7.下列进程状态的转换中,哪一个是不正确的(就绪→阻塞) 8.在一个可变式分区管理中,最坏适应分配算法宜将空闲区表中的空闲 区按(地址递减)的次序排列。 9.用V操作唤醒一个等待进行程时,被唤醒进程的状态转换为(就绪) 10.使用户所编制的程序与实际使用的物理设备无关,这是由设备管理的 (设备独立性)功能实现的 11.假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有 一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用 SCAN调度(电梯调度)算法得到的磁道访问序列是。(110,170,180, 195,68,45,35,12) 12.以下(管程)技术是操作系统中用来解决进程同步的。 13.设备的打开、关闭、读、写等操作是由(设备驱动程序)完成的。 14.单处理机系统中,可并行的是(II、III 和 IV) I 进程与进程 II 处理 机与设备 III 处理机与通道 IV 设备与设备 15.为了对紧急进程或重要进程进行调度,调度算法应采用(优先级法) 16.死锁的预防采取措施是(破坏产生死锁的四个必要条件之一) 17. 按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先 调度,这种调度算法是指(先来先服务法) 18.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为 空),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配 15MB,分配30MB,释放15MB,分配6MB,此时主存中最大空闲分区 的大小是(15MB) 19.设有四个进程共享一个资源,如果每次只允许一个进程使用该资源,则 用P、V 操作管理信号量时S的可能取值是(1,0,-1,-2,-3)。 20. 目录文件存放的信息是(所有子目录文件和数据文件的FCB) 1.(网络操作系统)不是基本的操作系统。 2.不是分时系统基本特征的是 (实时性) 3.操作系统分配资源以(进程)为基本单位。 4.产生系统死锁的原因可能是由于(多个进程竞争,资源出现了循环等待) 5.临界区是指并发进程中访问临界资源的那段 (代码) 6.在页式管理中,页表的始址存放在 (寄存器中) 7.在以下存储管理方案中,不适用于多道程序设计系统的是 (单一连续分 配) 8.(单一连续分配)是进程存在的唯一标志。 9.在进程状态转换时,下列哪一种状态是不可能发生的 (等待态·运行态) 10.进程从运行状态进入就绪状态的原因可能是 (时间片用完) 精品资料

相关主题
文本预览
相关文档 最新文档