模拟进程创建、终止、阻塞、唤醒原语,操作系统原理

模拟进程创建、终止、阻塞、唤醒原语,操作系统原理
模拟进程创建、终止、阻塞、唤醒原语,操作系统原理

操作系统原理

题目:模拟进程创建、终止、阻塞、唤醒原语院(部):管理工程学院

专业:信息管理与信息系统

班级:信管112

姓名:王楷仁

学号:2011021686

实验题目一:模拟进程创建、终止、阻塞、唤醒原语

一、题目类型:必做题目。

二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进

程控制功能的理解,掌握操作系统模块的设计方法和工作原理。

三、实验环境:

1、硬件:pc机及其兼容机。

2、软件:Windows OS,Turbo C或C++、VC++、https://www.360docs.net/doc/4314870359.html,、Java等。

四、实验内容:

1、设计创建、终止、阻塞、唤醒原语功能函数。

2、设计主函数,采用菜单结构(参见后面给出的流程图)。

3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供

随时查看各队列中进程的变化情况。

五、算法流程图

六、程序清单

#include

#include

struct pcb

{

char name[10];

int status;

int order;

int wtime;

int ytime;

}pcb[11];//该结构体用于存储已经输入的进程

struct ghost

{

char name[10];

int status;

int order;

int time;

}ghost[11];//该结构体用于优先级调度时,进程的优先级排序

char a_name[10];

int i=0,y,a=0,x,z,jilu;

void insert();

void block();

void rouse();

void stop();

void outPut();

void control();//实验二添加函数

void order_control();//实验二添加函数

void time_control();//实验二添加函数

void insert()

{

jilu=0;//jilu是一个用于判断的变量,在重复时进行判断跳过

if(i>=10)

printf("进程已经存在10个,无法继续添加进程\n");

else

{

printf("请输入插入pcb的数据:\n");

printf("1、进程名:");

scanf("%s",&pcb[i].name);

printf("2、该进程的优先级(1-10):");

scanf("%d",&pcb[i].order);

printf("3、运行时间");

scanf("%d",&pcb[i].time);

for(y=0;y

{

if (strcmp(pcb[i].name,pcb[y].name)==0)

{

printf("您输入的进程名已经存在,请重新输入!\n");

jilu=y+1;

}

if(jilu>0)jilu=0;

else

{

printf("输入已经完成\n您输入的数据为:\n进程名: %s\n优先级: %d\n运行时间: %d\n",pcb[i].name,pcb[i].order,pcb[i].time);

printf("------------------------------------------------------------------\n");

strcpy(ghost[i].name,pcb[i].name);

ghost[i].order=pcb[i].order;

ghost[i].time=pcb[i].time;

pcb[i].status=1;

ghost[i].status=1;

pcb[i].wtime=pcb[i].time;

pcb[i].ytime=0;

i++;

}

}

}

void block()

{

int m;

printf("\n请输入您要改变状态的进程的进程名: ");

scanf("%s",&a_name);

for(y=0;y<=i;y++)

{

if(strcmp(pcb[y].name,a_name)==0)

{

a=1;

if(pcb[y].status==0)

{

printf("您要修改的进程已经是阻塞状态,无法更改\n");

}

if(pcb[y].status==2)

{

pcb[y].status=0;

for(m=0;m<=i;m++)

{

if(strcmp(ghost[m].name,a_name)==0)

{

ghost[m].status=0;

}

}

printf("操作已完成,进程成功改为阻塞状态\n");

}

}

}

if(a==0)

{

printf("对不起!您查找的进程名不存在\n");

}

a=0;

}

void rouse()

{

int m;

printf("\n请输入您要改变状态的进程的进程名: ");

scanf("%s",&a_name);

for(y=0;y<=i;y++)

{

if(strcmp(pcb[y].name,a_name)==0)

{

a=1;

if(pcb[y].status==1)

{

printf("您要修改的进程已经是就绪状态,无法更改\n");

break;

};

if(pcb[y].status==0)

{

pcb[y].status=1;

for(m=0;m<=i;m++)

{

if(strcmp(ghost[m].name,a_name)==0)

{

ghost[m].status=1;

}

}

printf("操作已完成,进程成功改为运行状态\n");

break;

}

}

}

if(a==0)

{

printf("对不起!您查找的进程名不存在\n");

}

}

void stop()

{

printf("\n请输入您要改变状态的进程的进程名: ");

scanf("%s",&a_name);

for(y=0;y<=i;y++)

{

if(strcmp(pcb[y].name,a_name)==0)

{

a=1;

for(;y

{

pcb[y]=pcb[y+1];

}

i--;

printf("操作已完成,进程成功删除\n");

break;

}

}

if(a==0)

{

printf("对不起!您查找的进程名不存在\n");

}

a=0;

}

void outPut()

{

if(i==0)

{

printf("对不起,没有进程存在,无法显示\n");

}

else

{

printf("\n\n 已存在进程分别为:(状态:2表示正在运行,1表示就绪,0表示阻塞)\n");

for(y=0;y

{

if(pcb[y].status!=3)printf("进程%d 进程名: %s 状态: %d\n",y+1,pcb[y].name,pcb[y].status);

}

}

}

void control()

{

{

printf("进程调度子菜单\n0 :返回主菜单\n1 :优先级调度\n2 :时间片轮转调度\n 请输入您想要进行的操作的指令:");

scanf("%d",&x);

if(x==0)

break;

switch(x)

{

case 0:

break;

case 1:

order_control();

break;

case 2:

time_control();

break;

default:

printf("您输入的指令有误,请重新输入\n");

break;

}

}

}

void order_control()

{

int jishi;//用于CPU运行时间计时

jishi=0;

char panduan1,panduan2;//用于判断是否继续调度

struct ghost jiaohuan;

int gg,bl;

for(gg=0;gg

{

if(pcb[gg].status==2)

{

for(bl=0;bl

{

if(strcmp(ghost[bl].name,pcb[gg].name)==0)

{

ghost[bl].status=2;

}

}

}

}

for(x=0;x

{

for(y=x+1;y

{

if(ghost[x].order

{

jiaohuan=ghost[x];

ghost[x]=ghost[y];

ghost[y]=jiaohuan;

}

}

}//以上语句是根据优先级为进程排序

printf("\n\n按照优先级调度进程,具体内容为:\n");

for(x=0;x

{

if(ghost[x].status==1){

printf("正在运行的进程: %s\n优先级: %d\n运行时间: %d\n\n\n",ghost[x].name,ghost[x].order,ghost[x].time);

for(y=0;y<=i;y++)

{

if(strcmp(pcb[y].name,ghost[x].name)==0)

{

pcb[y].status=2;

ghost[x].status=2;

}

};//该语句用于更改另一个结构体进程的状态

printf("是否继续运行直至进程运行完毕(Y/N)");

scanf("%s",&panduan1);

if(panduan1=='Y'||panduan1=='y')

{

if(ghost[x].status==2)

{

jishi=jishi+ghost[x].time;

printf("CPU运行时间%d ,进程%s 运行完毕,正在关闭!\n",jishi,ghost[x].name);

for(y=0;y<=i;y++)

{

if(strcmp(pcb[y].name,ghost[x].name)==0)

{

pcb[y].status=3;

ghost[x].status=3;

}

};//该语句用于更改另一个结构体进程的状态

if(x==(i-1))

{

printf("所有进程全部运行完毕!\n-------------------------------------------------------\n");

}

else{

printf("--------------------------------------------------------------\n是否继续调度(y/n)");

scanf("%s",&panduan2);

if(panduan2=='N'||panduan2=='n')break;}

}}else break;

}

}printf("如果无输出内容,请检查就绪队列是否存在进程");

}

void time_control()

{

int z,kz1,kz2,kz3,kz4,kz5,kz6;//kz1表示时间片运行的时间计时,kz2表示CPU运行的总时间,kz3用于所有进程时间的输出kz4表示已完成的进程数kz5用于表示状态为就绪的进程的个数kz6用于更改ghost的状态值

z=0;kz2=0;kz4=0;kz5=0;

for(y=0;y

{

if(pcb[y].status==1)

{

kz5=kz5+1;

}

}

printf("\n\n请输入时间片长度: ");

scanf("%d",&x);

printf("\n\n按照时间片轮转调度进程,具体内容为:\n");

if(kz5!=0)

{

for(;kz4

{

for(y=0;y

{

if(pcb[y].status==1||pcb[y].status==2)

{

for(kz1=0;kz1

{

if(pcb[y].status==1||pcb[y].status==2){

kz2=kz2+1;

pcb[y].wtime=pcb[y].wtime-1;

pcb[y].ytime=pcb[y].ytime+1;

printf("CPU运行时间: %d ,正在运行进程: %s\n",kz2,pcb[y].name);

printf("进程名已运行时间未运行时间要求运行时间\n");

for(kz3=0;kz3

{

if(pcb[kz3].status==1||pcb[kz3].status==2)

{

printf("%s%12d%12d%12d\n",pcb[kz3].name,pcb[kz3].ytime,pcb[kz3].wtime,pcb[kz3].time);

}

}

if(pcb[y].wtime<=0&&pcb[y].status!=3)

{

printf("进程%s 运行完毕,正在关闭!\n-------------------------------------------------------------------\n",pcb[y].name);

kz4=kz4+1;

pcb[y].status=3;

for(kz6=0;kz6

{

if(strcmp(ghost[kz6].name,pcb[y].name)==0)

{

ghost[kz6].status=3;

}

}

kz1=x;

break;

}

printf("-------------------------------------------------------------------\n");

}}

}

}

}

}

printf("注意:如果未输出过程,请检查就绪列表是否存在进程\n"); }

void main()

{

char c;

for(;1;)

{

printf("系统主菜单\n");

printf("1、创建\n");

printf("2、阻塞\n");

printf("3、唤醒\n");

printf("4、终止\n ");

printf("5、显示\n");

printf("6、调度\n");

printf("0、退出\n");

printf("请输入操作指令: ");

if(scanf("%d",&x))

{

if(x==0)

break;

switch(x)

{

case 1:

insert();

break;

case 2:

block();

break;

case 3:

rouse();

break;

case 4:

stop();

break;

case 5:

outPut();

break;

case 6:

control();

break;

case 0:

break;

default:

printf("格式非法,请重新输入\n");

break;

}

}

else if(scanf("%c",&c))

{

printf("格式非法,请重新输入\n");

}

}

}

七、程序中使用的数据结构及符号说明

struct pcb

{

char name[10];

int status;

int order;

int time;

int wtime;

int ytime;

}pcb[11];//该结构体用于存储已经输入的进程

struct ghost

{

char name[10];

int status;

int order;

int time;

}ghost[11];//该结构体用于优先级调度时,进程的优先级排序void insert();//添加进程

void block();//阻塞进程

void rouse();//唤醒进程

void stop();//删除进程

void outPut();//输出

void control();//实验二添加函数

void order_control();//实验二添加函数

void time_control();//实验二添加函数

八、调试程序时出现问题及解决方法

问题一:

现象:使用阻塞功能后,输出功能无法正常显示进程状态。解决:在进程的结构体中添加控制进程状态的变量。

计算机操作系统原理复习题

课程成绩构成 笔试:70% 平时:30% 试卷构成: 名词解释五小题,共15分; 简答五小题,共35分; 综合题四小题,共50分。 第一章操作系统引论 1、设计现代操作系统的主要目标? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2、操作系统的作用? 答:(1)作为用户与计算机硬件系统之间的接口 (2)作为计算机系统资源的管理者 (3)实现了对计算机资源的抽象 3、操作系统发展的主要动力? 答:(1)不断提高计算机资源的利用率 (2)方便用户 (3)器件的不断更新换代 (4)计算机体系结构的不断发展 4、为什么说操作系统实现了对计算机资源的抽象? 答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。 5、单道批理?多道程序设计?多道批处理? 单道批处理系统定义:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直至磁带(盘)上的所有作业全部完成,系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业。 多道批处理系统定义:由多道程序设计技术组成的系统。

6、分时系统产生主要动力?关键技术?特征? 答:(1)推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。 (2)关键技术:为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。此后,用户可继续键入下一条命令,此即人—机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令, (3)特征:多路性;独立性;及时性;交互性。 7、实时任务划分?实时系统与分时系统比较? 实时任务划分:(1)按任务执行时是否呈现周期性来划分 (2)根据对截止时间的要求来划分。 比较:(1)多路性。实时信息处理系统的多路性主要表现在系统周期性的对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统的多路性则与用户情况有关,时多时少。 (2)独立性。实时信息处理系统的每个终端用户在向实时系统提出服务请求时是彼此独立操作,互不干扰。而分时控制系统中,对象的采集和对象的控制也是互不干扰。 (3)及时性。实时信息处理系统的及时性以人所能接受的等待时间来确定。分时系统的及时性是以控制对象所要求的开始截止时间或完成时间来确定的,一般为毫秒级。 (4)交互性。实时信息处理系统仅限于访问系统中某些特定的专用服务程序。分时系统能够向终端用户提供数据处理和资源共享等服务。 (5)可靠性。分时系统也要求可靠性,但实时系统要求更高度的可靠性。 8、操作系统定义?特征? 答:操作系统的定义:操作系统(operating system,简称OS)是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的软件和硬件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。 特征:(1)并发性(2)共享性(3)虚拟技术(4)异步性 9、是什么原因使操作系统具有异步性特征? 答:操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的不可预知性,即每个程序

操作系统原理模拟题

《操作系统原理》模拟题(补) 一.单项选择题 1.操作系统是计算机系统中的系统软件,它是一组这样的程序_____ C_______。 A.文件管理程序B.中断处理程序 C.资源管理程序D.命令处理程序 2.多道程序设计技术使存放在_____B_______中的若干个相互独立的程序可以相互穿插地运行。 A.磁盘B.内存C.磁带D.高速缓存 3.所谓程序的并发执行是指,多个程序的执行在时间上是_____C_______。 A.顺序的B.交替的 C.重叠的D.间断的 4.存放在磁带上的文件,采用的物理结构是______A______结构。 A.连续文件B.串联文件C.索引文件D.目录文件 5.在多道运行环境中,处理机正在执行用户程序时所处的状态称为目态。在此状态下,用户程序可以访问_____D_______。 A.整个主存区B.除操作系统以外的主存区 C.操作系统占用的主存区D.用户程序占用的主存区 6.当执行了一条进程等待原语后,将使进程的状态发生如下变化_____A_______。 A.由运行状态转变为等待状态B.由运行状态转变为就绪状态 C.由等待状态转变为就绪状态D.由就绪状态转变为运行状态 7.在操作系统中,将一次仅允许一个进程使用的资源称为临界资源,如下属于临界资源的是_______C_____。 A.高级语言编译程序B.磁盘存储介质 C.打印机D.私用数据 8.文件系统采用多级目录结构后,对于不同用户的文件,其文件名_____D_______。 A.应该相同B.受系统约束 C.应该不同D.可以相同,也可以不同 9.引入多道程序设计技术的主要目的是_____B_______。 A.减少存储器碎片B.减少处理机空闲时间 C.有利于代码共享D.充分利用外部设备 10.在分时系统中,为了控制程序的执行,用户在各自的终端上使用操作系统提供的用户界面是_____A_______。 A.系统调用B.作业控制语言C.高级语言D.键盘命令 11.进程和程序的一个最本质的区别是______D______。 A.分时使用或独占使用计算机B.顺序或非顺序执行机器指令 C.全部或部分拥有计算机系统资源D.动态或静态 12.所谓设备独立性是指,用户在编程时需要给出的是______A______。 A.设备逻辑名B.设备物理名 C.设备启动地址D.设备卡地址 13.Unix系统采用的文件目录结构是_____C_______。 A.一级目录结构B.二级目录结构 C.多级目录结构D.索引目录结构 14.对记录式文件,操作系统为用户存取文件信息的最小单位是_____B_______。

操作系统原理试题

操作系统原理试题1 一、填空题(19’) 1.操作系统的基本类型有▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。 2.在操作系统中,处理机的状态分为▁▁▁▁▁和▁▁▁▁▁两种。 3.进程的三种基本状态是▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。 4.N个进程互斥访问一变量,设置一信号灯S, 则S取值范围是▁▁▁▁▁。 5.在分区式存贮管理中,首次适应法中自由主存队列应按▁▁▁▁排序,最佳适 应法中自由主存队列应按▁▁▁▁▁排序,最坏适应法中自由主存队列应按▁▁▁▁▁排序。 6.常用的缓冲技术有▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。 7.按I/O控制器智能化程度的高低,可把I/O设备的控制方式分为四类▁▁▁▁、 ▁▁▁▁、▁▁▁▁和▁▁▁▁▁。 二、名词解释(9’) 1、响应时间 2、虚拟存储器 3、进程同步 三、简答题(36’) 1.什么叫重定位?动态重定位和静态重定位有什么区别?(7’) 2.什么叫进程?进程和程序有什么区别?(7’) 3.简述分段和分页的区别。(6’) 4.请详细说明可通过哪些途径预防死锁?(8’) 5.请详细说明请求分页系统的地址变换过程。(8’) 四、一单道批处理系统中,有如下四个作业,并采用短作业优先调度算法,试计算作业的平均周转时间和平均带权周转时间。(8’)(单位:小时) 五、系统盘块大小为512B(字节),盘块编号长4B,文件说明中可存放10个盘块编号。 关于文件大小有如下统计结果: 文件大小≤512B 占40% 512B<文件大小≤3KB 占30% 3KB<文件大小≤64KB 占20% 64KB<文件大小≤192KB 占8% 192KB<文件大小≤8MB 占2% 试为该系统设计文件的物理结构,使访问文件时具有尽可能小的平均访问磁盘次数,

操作系统原理模拟题

中国地质大学(北京)继续教育学院2012 年03课程考试 《操作系统原理》模拟题(补) 一.单项选择题 1.操作系统是计算机系统中的系统软件,它是一组这样的程序_____C_______。 A.文件管理程序B.中断处理程序 C.资源管理程序D.命令处理程序 2.多道程序设计技术使存放在_____B_______中的若干个相互独立的程序可以相互穿插地 运行。 A.磁盘B.内存C.磁带D.高速缓存 3.所谓程序的并发执行是指,多个程序的执行在时间上是_____C_______。 A.顺序的B.交替的 C.重叠的D.间断的 4.存放在磁带上的文件,采用的物理结构是______A______结构。 A.连续文件B.串联文件C.索引文件D.目录文件 5.在多道运行环境中,处理机正在执行用户程序时所处的状态称为目态。在此状态下,用 户程序可以访问_____D_______。 A.整个主存区B.除操作系统以外的主存区 C.操作系统占用的主存区D.用户程序占用的主存区 6.当执行了一条进程等待原语后,将使进程的状态发生如下变化_____A_______。 A.由运行状态转变为等待状态B.由运行状态转变为就绪状态 C.由等待状态转变为就绪状态D.由就绪状态转变为运行状态 7.在操作系统中,将一次仅允许一个进程使用的资源称为临界资源,如下属于临界资源的 是_______C_____。 A.高级语言编译程序B.磁盘存储介质 C.打印机D.私用数据 8.文件系统采用多级目录结构后,对于不同用户的文件,其文件名_____D_______。 A.应该相同B.受系统约束 C.应该不同D.可以相同,也可以不同 9.引入多道程序设计技术的主要目的是_____B_______。 A.减少存储器碎片B.减少处理机空闲时间 C.有利于代码共享D.充分利用外部设备 10.在分时系统中,为了控制程序的执行,用户在各自的终端上使用操作系统提供的用户 界面是_____A_______。 A.系统调用B.作业控制语言C.高级语 言D.键盘命令 11.进程和程序的一个最本质的区别是______D______。 A.分时使用或独占使用计算机B.顺序或非顺序执行机器指令 C.全部或部分拥有计算机系统资 源D.动态或静态 12.所谓设备独立性是指,用户在编程时需要给出的是______A______。 A.设备逻辑名B.设备物理名 C.设备启动地址D.设备卡地址 13.Unix系统采用的文件目录结构是_____C_______。 A.一级目录结构B.二级目录结构 C.多级目录结构D.索引目录结构 14.对记录式文件,操作系统为用户存取文件信息的最小单位 是_____B_______。

专升本《操作系统原理》-试卷-答案

专升本《操作系统原理》-试卷-答案

专升本《操作系统原理》 一、(共75题,共150分) 1. 操作系统的资源管理功能,通常可划分为()。(2分) A.二个部分 B.三个部分 C.四个部分 D.五个部分 .标准答案:C 2. 操作系统的一个主要特征是()。(2分) A.针对性 B.高效率 C.复杂性 D.共享 .标准答案:D 3. 批处理优于分时处理的一个优点是()。(2分) A.CPU的利用率较高 B.内存的利用率较高 C.一次能执行多个程序 D.能进行并发处理 .标准答案:A 4. 程序状态字PSW的一部分内容,在小型机中是放在()中。(2分) A.缓冲寄存器 B.指令计数器PC C.控制器 D.地址寄存器 .标准答案:B 5. 根据中断完成的功能,从内存取数据出错时引起的中断称为()。(2分) A.系统中断 B.机器故障中断 C.外部中断 D.程序性中断 .标准答案:B 6. ()是由系统功能调用来实现。(2分) A.文件复制 B.读文件的信息 C.执行下一条指令 D.读内存单元的数据 .标准答案:B 7. 操作系统的命令接口又可进一部分为()。(2分) A.联机用户接口和程序接口 B.联机用户接口和脱机用户接口 C.程序接口和图形接口 D.联机用户接口和图形接口 .标准答案:B 8. 下面()所列的内容属于临界资源。(2分) A.读写磁盘的磁头 B.扫描仪 C.CPU D.程序的私用数据 .标准答案:B 9. 进程的基本状态有三种,其中一个是()。(2分) A.开始态 B.就绪态 C.唤醒态 D.结束态 .标准答案:B 10. 对进程进行控制的原语包括()原语。(2分) A.执行 B.唤醒 C.就绪 D.淘汰 .标准答案:B 11. 动态分配是指在()时进行资源的分配。(2分) A.作业提出申请 B.作业开始执行 C.进程开始执行 D.进程运行中提出申请 .标准答案:D 12. 在资源/进程有向图中,由资源指向进程的有向边表示()。(2分) A.进程等待资源 B.进程申请资源 C.资源被该进程占有 D.该资源空闲 .标准答案:C 13. 批处理系统中,作业的状态可分为多种,其中一种为()。(2分) A.创建 B.后备 C.就绪 D.等待 .标准答案:B 14. 某作业的提交时间为7.00、执行时间为2.00、完成时间为11.00,它在系统中的 带权周转时间为()。(2分) A.1 B.2 C.3 D.4 .标准答案:B 15. 采用基址、限长的存储保护时,满足判别式()的就允许访问。(2分) A.0<访问的物理地址≤限长寄存器内容 B.0 ≤访问的物理地址<限长寄存器内容 C.0<访问的逻辑地址≤限长寄存器内容 D.0 ≤访问的逻辑地址<限长寄存器内容 .标准答案:C 16. 当分区采用最佳适应算法放置时,自由主存队列必须按()排序。(2分) 第2页共6页

操作系统原理期末试卷10套含答案7

操作系统原理期末试卷10套含答案7 一、单项选择题(每题2分,共20分) 1.以下著名的操作系统中,属于多用户、分时系统的是( B ). A.DOS系统B.UNIX系统 C.Windows NT系统D.OS/2系统 2.在操作系统中,进程的最基本的特征是( A ). A.动态性和并发性B.顺序性和可再现性 C.与程序的对应性D.执行过程的封闭性 3.操作系统中利用信号量和P、V操作,( C ). A.只能实现进程的互斥B.只能实现进程的同步 C.可实现进程的互斥和同步D.可完成进程调度 4.作业调度的关键在于( C ). A.选择恰当的进程管理程序B.用户作业准备充分 C.选择恰当的作业调度算法D.有一个较好的操作环境 5.系统抖动是指( D ). A.使用机器时,屏幕闪烁的现象 B.由于主存分配不当,偶然造成主存不够的现象 C.系统盘有问题,致使系统不稳定的现象 D.被调出的页面又立刻被调入所形成的频繁调入调出现象 6.在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的. A.段表B.页表 C. PCB D.JCB 7.在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构是( D ) A.单级目录B.二级目录

C.纯树型目录D.非循环图目录 8.SPOOLing技术可以实现设备的( C )分配. A.独占B.共享 C.虚拟D.物理 9.避免死锁的一个著名的算法是( C ). A.先人先出算法B.优先级算法 C.银行家算法D.资源按序分配法 10.下列关于进程和线程的叙述中,正确的是( C ). A.一个进程只可拥有一个线程 B.一个线程只可拥有一个进程 C.一个进程可拥有若干个线程 D.一个线程可拥有若干个进程 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因.每题2分,共10分) 1.简单地说,进程是程序的执行过程.因而,进程和程序是一一对应的.( ) 2.V操作是对信号量执行加1操作,意味着释放一个单位资源,加l后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,使该进程变为阻塞状态,而现进程继续进行.( ) 3.段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间.( ) 4.在采用树型目录结构的文件系统中,各用户的文件名必须互不相同.( ) 5.用户程序应与实际使用的物理设备无关,这种特性就称作与设备无关性.( ) 答案:1.(×)改正为:进程和程序不是一一对应的. 2.(×)改正为:V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为就绪状态,否则现进程继续进行. 3.(√) 4.(×)改正为:在采用树型目录结构的文件系统中,不同用户的文件名可以相同. 5.(√) 三、填空题(每空2分,共30分)

苏州大学操作系统原理期中考试试题

苏州大学操作系统原理期中考试试卷共6页 学院专业成绩 年级学号姓名日期 考试形式:闭卷时间: 120分钟 一、填空题(10分,每空1分) 1、在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是 2<=k<=m 。 2、操作系统的结构有多种,其中采用微内核结构的有 MACH 等;采 用模块化结构有 linux 等。 3、操作系统的最基本的设计目标是管理、分配硬件资源,在 此基础上,还需要考虑系统目标(面向系统)和用户目标 (面向用户)。 4、互斥资源是;共享资源 则是。 5、周转时间等于运行时间加等待时间。一般情况下响应时间 < 等待时间。 二、选择题(20分,每题2分) 1、以下不属于操作系统部件的是 B 。 (A)进程管理(B)数据库管理 (C)保护系统(D)命令解释器系统 2、当记录型信号量S的初值为 C 时,表示只允许一个进程访问临界资源, 此时的信号量转化为互斥信号量。 (A)-1 (B)0 (C)1 (D)2 3、信箱通信是一种 B 通信方式。 (A)直接通信(B)间接通信(C)信号量(D)低级通信 4、在操作系统中,可运行的最小单位是 C 。 (A)作业(B)进程(C)线程(D)超线程 5、一个阻塞进程被唤醒意味着 D 。 (A)该进程重新占有了CPU

(B)它的优先权变为最大 (C)其PCB移至等待队列队首 (D)进程变为就绪状态 6、对于给定的一组进程, C 算法可以获得最小的平均等待时间。(A)先到先服务调度(B)优先权调度 (C)最短作业优先调度(D)轮转法调度 7、分布式系统又被称为 B 。 (A)紧耦合系统(B)松耦合系统 (C)对等系统(D)网络操作系统 8、进程在就绪队列中等待调度的时间片总和称为 B 。 (A)运行时间(B)等待时间(C)响应时间(D)周转时间 9、银行家算法是一种 B 算法。 (A)死锁解除(B)死锁避免 (C)死锁预防(D)死锁检测 10、分时系统中,当用户数目为100时,为保证响应不超过1秒;此时的时间片最大应为 A 11、。 (A)10ms (B)20ms (C)50ms (D)100ms 三、(10分)CPU调度可发生在哪些情况下?哪些情况是可抢占式调度?哪些是非抢占式调度? 在有中断时或是时间片用完时 可剥夺式 (可抢占式preemptive):就绪队列中一旦有优先级高于当前执行进程优先级的进程存在时,便立即发生进程调度,转让处理机。 不可剥夺式 (不可抢占式non_preemptive):即使在就绪队列存在有优先级高于当前执行进程时,当前进程仍将占用处理机直到该进程自己因调用原语操作或等待I/O而进入阻塞、睡眠状态,或时间片用完时才重新发生调度让出处理机。

操作系统原理试卷及答案

课程名称:操作系统原理考试时间 专业年级学号姓名 一、单项选择(每小题2分,共26分)。 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.单一连续区存储管理 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.系统利用 SPOOLING技术实现()。 A.对换手段 B.虚拟设备 C.系统调用 D.虚拟存储 12.设备从磁盘驱动器中读出一块数据的总时间为()。 A.等待时间 + 传输时间 B.传输时间 C.查找时间 + 传输时间 D.延迟时间 + 查找时间 + 传输时间 13.如果允许不同用户的文件可以具有相同的文件名,通常采用()来保证按名存取的安全。 A.重名翻译机构 B.建立索引表 C.多级目录结构 D.建立指针 二、多项选择(每小题3分,共24分)。 1.操作系统有多种类型,允许多个用户以交互方式使用的操作系统,称为()。 A.批处理操作系统 B.分时操作系统 C.实时操作系统 D.微机操作系统 E.多处理机操作系统。 2.引入多道程序设计的主要目的在于()。 A.提高实时响应速度 B.充分利用处理机,减少处理机空闲时间 C.有利于代码共享 D.充分利用外围设备 E.减少存储器碎片 3.段式和页式存储管理的地址结构很类似,但是它们之间有实质上的不同,表现为()。 A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续 B.页式的地址是一维的,段式的地址是二维的 C.分页是操作系统进行的,分段是用户确定的 D.各页可以分散存放在主存,每段必须占用连续的主存空间 E.页式采用静态重定位方式,段式采用动态重定位方式 4.产生系统死锁的原因可能是由于()。 A.进程释放资源 B.多个进程竞争共享型设备 C.一个进程进入死循环 D.多个进程竞争,资源出现了循环等待 5.以下属于独享设备的是( )。 A.磁盘 B.磁带 C.打印机 D.扫描仪

操作系统原理试题

操作系统原理试题 一. 名词解释题 1. 中断 2. 进程控制块(PCB) 3. 虚时钟 4. 段式管理 5. 文件控制块(FCB) 6. 对换(SWAPPING) 7. 系统调用 8. 绝对路径名 9. 特别文件10. 虚设备技术 11. 管道 12. 中断接收 13. 恢复现场 14. 页式管理 15. 作业步 16. 字符流文件 17. 通道 18. 页面淘汰 19. 多道程序设计 20. 死锁 21. 当前目录 22. 快表 23. 作业调度 24. 原语 25. 中断屏蔽 26. 地址映射 27. 文件目录 28. 死锁避免 29. 原语 30. 作业控制块 31. CPU状态 32. 虚存 33. 磁盘调度 34. 缓冲技术 35. 中断 36. 进程调度 37. 虚设备 39. 死锁预防 40. 文件目录 41. 原语 42. 交换技术 43. 互斥区 二. 填空题 1. 分时系统追求的目标是_____. 2. 用户进程从目态(常态)转换为管态(特态)的唯一途径是____. 3. 从静态的观点看, 操作系统中的进程是由程序段、数据和____三部分组成. 4. 在系统内核中必须包括的处理模块有进程调度、原语管理和____. 5. 批处理操作系统中, 作业存在的唯一标志是____. 6. 操作系统中的一种同步机制, 由共享资源的数据及其在该数据上的一组操作组成, 该同步机制称为________. 7. 在可变分区存储管理中, 为实现地址映射, 一般由硬件提供两个寄存器, 一个是基址寄存器, 另一个是____. 8. 联想寄存器(相联存储器)的最重要、最独到的特点是____. 9. 在虚拟段式存储管理中, 若逻辑地址的段内地址大于段表中该段的段长, 则发生____中断. 10. 文件系统中若文件的物理结构采用顺序结构, 则文件控制快FCB 中关于文件的物理位置应包括____. 11. 在操作系统设计时确定资源分配算法, 以消除发生死锁的任何可能性, 这种解决死锁的方法是____. 12. 选择对资源需求不同的作业进行合理搭配, 并投入运行是由____来完成的. 13. 实时系统应具有两个基本特征: 及时性和______. 14. 磁带上的文件只能采用_____存取方式. 15. 不让死锁发生的策略可以分成静态和动态的两种, 死锁避免属于_____. 16. 在UNIX系统中, 文件分成三类, 即普通文件, 目录文件和_____. 17. 在磁盘调度策略中有可能使I/O请求无限期等待的调度算法是_____. 18. 进程获得了除CPU外的所有资源, 一旦获得CPU即可执行, 这时进程处于_____状态.

操作系统原理复习题

操作系统原理复习题 一、名词解释题 1. 中断 2. 进程控制块(PCB) 3. 虚时钟 4. 段式管理 5. 文件控制块(FCB) 6. 对换(SWAPPING) 7. 系统调用 8. 绝对路径名 9. 特别文件10. 虚设备技术 11. 管道 12. 中断接收 13. 恢复现场 14. 页式管理 15. 作业步 16. 字符流文件 17. 通道 18. 页面淘汰 19. 多道程序设计 20. 死锁 21. 当前目录 22. 快表 23. 作业调度 24. 原语 25. 中断屏蔽 26. 地址映射 27. 文件目录 28. 死锁避免 29. 原语 30. 作业控制块 31. CPU状态 32. 虚存 33. 磁盘调度 34. 缓冲技术 35. 中断 36. 进程调度 37. 虚设备 39. 死锁预防 40. 文件目录 41. 原语 42. 交换技术 43. 互斥区 二. 填空题 1. 分时系统追求的目标是_____. 2. 用户进程从目态(常态)转换为管态(特态)的唯一途径是____. 3. 从静态的观点看, 操作系统中的进程是由程序段、数据和____三部分组成. 4. 在系统内核中必须包括的处理模块有进程调度、原语管理和____. 5. 批处理操作系统中, 作业存在的唯一标志是____. 6. 操作系统中的一种同步机制, 由共享资源的数据及其在该数据上的一组操作组成, 该同步机制称为________. 7. 在可变分区存储管理中, 为实现地址映射, 一般由硬件提供两个寄存器, 一个是基址寄存器, 另一个是____. 8. 联想寄存器(相联存储器)的最重要、最独到的特点是____. 9. 在虚拟段式存储管理中, 若逻辑地址的段内地址大于段表中该段的段长, 则发生____中断. 10. 文件系统中若文件的物理结构采用顺序结构, 则文件控制快FCB 中关于文件的物理位置应包括____. 11. 在操作系统设计时确定资源分配算法, 以消除发生死锁的任何可能性, 这种解决死锁的方法是____. 12. 选择对资源需求不同的作业进行合理搭配, 并投入运行是由____来完成的. 13. 实时系统应具有两个基本特征: 及时性和______. 14. 磁带上的文件只能采用_____存取方式. 15. 不让死锁发生的策略可以分成静态和动态的两种, 死锁避免属于_____. 16. 在UNIX系统中, 文件分成三类, 即普通文件, 目录文件和_____. 17. 在磁盘调度策略中有可能使I/O请求无限期等待的调度算法是_____. 18. 进程获得了除CPU外的所有资源, 一旦获得CPU即可执行, 这时进程处于_____状态. 19. 为实现CPU与外部设备的并行工作, 系统必须引入_____硬件基础. 20. 操作系统为保证不经文件拥有者授权, 任何其它用户不能使用该文件所提出的解决措施是_____. 21. 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态, 这就称为_____. 22. 在操作系统的存储管理中, 存储共享的两个目的是_____和实现进程通信. 23. 在存储管理中, 为进程分配内存时, 取满足申请要求且长度最大的空闲区域, 这一算法称为_____.

操作系统原理模拟题

《操作系统原理》模拟题 一.单项选择题 1. ( C )不是Unix系统的特色。 A. "交互的分时系统" B. "以全局变量为中心的模块结构" C. "模块之间调用关系简明" D. "可以分成内核和外壳" 2. 关于Unix的用户标识,( C )是不正确的。 A. 一为实际的UID,一为有效的SUID B. UID与SUID可能不同 C. SUID比UID更能反映用户的真实身份 D. SUID表示用户临时具有执行某个程序的权力 3. 下列文件中,属于MS-DOS批处理文件的是( B ) A. ABC.EXE B. AB C.BAT C. D. ABC.SYS 4. 通道又被称为I/O处理器,它用于实现( A )之间的信息传输。 A. 主存与外设 B. CPU与外设 C. 外设与外设 D. CPU与辅存 5. 磁盘是可共享的设备,每一时刻( C )进程与它交换信息。 A. 允许有两个 B. 可以有任意多个 C. 最多有1个 D. 至少有1个 6. MS-DOS中用于复制系统的命令是( D ) A. CHKDSK B. DISKCOMP C. COPY D. SYS 7. 计算机系统中设置的访管指令,( C )执行。 A. 只能在目态 B. 只能在管态 C. 既可在目态又可在管态 D. 在目态和管态下都不能 8. 一个多道批处理系统,提高了计算机系统的资源利用率,同时( B )。 A. 减少各个作业的执行时间 B. 增加了单位时间内作业的吞吐量 C. 减少单位时间内作业的吞吐量 D. 减少了部份作业的执行时间

9. 操作系统实现文件管理后,允许用户对记录式文件进行存取的最小单位是( B )。 A. 文件 B. 记录 C. 数据项 D. 字符串 10. 文件系统采用多级目录结构可以( B )。 A. 节省存储空间 B. 解决命名冲突 C. 缩短文件传送时间 D. 减少系统开销 11. 在页式虚拟存储管理中,为实现地址变换,应建立( C )。 A. 空闲区表 B. 分区分配表 C. 页表 D. 段表 12. 产生死锁的主要原因是进程运行推进的顺序不合适( D ) A. 系统资源不足和系统中的进程太多 B. 资源的独占性和系统中的进程太多 C. 进程调度不当和资源的独占性 D. 资源分配不当和系统资源不足 13. 运行时间最短的作业被优先调度,这种企业调度算法是(C) A. 优先级调度 B. 响应比高者优先 C. 短作业优先 D. 先来先服务 14. 为了对文件系统中的文件进行安全管理,任何一个用户在进入系统时都必须进行注册,这一级管理是( A )安全管理。 A. 系统级 B. 用户级 C. 目录级 D. 文件级 15. 地址重定位的结果是得到(D) A. 源程序 B. 编译程序 C. 目标程序 D. 执行程序 16. 采用资源剥夺法可解除死锁,还可以采用( B )方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 17. 在分时操作系统中,进程调度经常采用( C )算法。 A. 先来先服务 B. 最高优先权

《操作系统原理》考题及答案

《操作系统原理》期末考试题 班级学号姓名 一、单项选择题(每题2分,共26分) 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.单一连续区存储管理 B.固定式区存储管理 C.可变分区存储管理 D.段式存储管理 7.在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与 相邻空闲区合并,修改空闲区表,使空闲区数不变且空闲区起始地址不变的情况是()。 A.无上邻空闲区也无下邻空闲区 B.有上邻空闲区但无下邻空闲区 C.有下邻空闲区但无上邻空闲区 D.有上邻空闲区也有下邻空闲区 8.系统“抖动”现象的发生不是由()引起的。 A.置换算法选择不当 B.交换的信息量过大 C.主存容量不足 D.请求页式管理方案 9.在进程获得所需全部资源,唯却CPU时,进程处于()状态。 A.运行 B.阻塞 C.就绪 D.新建 10.要页式存储管理系统中,将主存等分成()。 A.块 B.页 C.段长 D.段

进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态. A. 进程被进程调度程序选中B.等待某一事件 C.等待的事件发生D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态是。 A.就绪状态B.执行状态 C.阻塞状态D.撤消状态 答:B 3.P、V操作是。 A.两条低级进程通信原语B.两组不同的机器指令 C.两条系统调用命令D.两条高级进程通信原语 答:A 4.对进程的管理和控制使用。 A.指令B.原语 C.信号量D.信箱通信 答:B 5.进程的并发执行是指若干个进程。 A.同时执行B.在执行的时间上是重叠的 C.在执行的时间上是不可重叠的D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。 A.0个B.1个 C .2个D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是①;由运行状态变为阻塞状态的条件是②。 A.时间片用完B.等待某事件发生 C.等待的某事件己发生D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中,变化是不可能发生的。 A.运行一就绪B.运行一等待 C.等待一运行D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪B.等待 C.运行D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B..1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待B.就绪C.运行D.完成 答:B 12.进程间的同步是指进程间在逻辑上的相互关系。 A.联接B.制约 C. 继续D.调用 答:B 13.是一种只能进行P操作和V操作的特殊变量。 A.调度B.进程C.同步D.信号量 答:D 14.下面对进程的描述中,错误的是。 A.进程是动态的概念B.进程执行需要处理机 C.进程是有生命期的D.进程是指令的集合 答:D 15.下面的叙述中正确的是。 A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。 B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息D.进程同步是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行B.进程管理 C.进程创建D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切B.某些C.正确D.错误 答:A 19.通常,用户进程被建立后,。 A.便一直存在于系统中,直到被操作人员撤消 B.随着作业运行正常或不正常结束而撤消

操作系统原理模拟题A

《操作系统原理》模拟卷 1 一, 选择题 1. 在计算机系统中,操作系统是( ). A. 一般应用软件 B.核心系统软件 C.用户应用软件 D.系统支撑软件 2. 进程和程序的一个本质区别是( ). A.前者为动态的,后者为静态的 B.前者存储在内存,后者存储在外存 C.前者在一个文件中,后者在多个文件中 D.前者分时使用CPU,后者独占CPU 3. 进程在系统中是否存在的惟一标志是( ). A.数据集合 B.目标程序 C.源程序 D.进程控制块 4. 虚拟存储器的最大容量是由( )决定的. A.计算机系统的地址结构和外存空间 B.页表长度 C.内存空间 D.逻辑空间 5. 在请求分页存储管理方案中,若某用户空间为16个页面,页长1KB,现有页表如下,则逻辑地址0A1F(H)所对应的物理地址为( ). 0 1 1 5 2 3 3 7 4 2 A. 0E1F(H) B.031F(H) C.0A1F(H) D.021F(H) 6. 磁带机属于( )设备. A.顺序存取 B.直接存取 C.链接存取 D.随机存取 7. 在段式存储管理中,一个段是一个( )区域. A.定长的连续 B.不定长的连续 C.定长的不连续 D.不定长的不连续 二, 判断题。下述题中,在你认为正确的题后写上"对";在你认为是错误的题后写上"错"并予以改正(但要符合原义,改动应少). 1. 进程由PCB和其执行的程序,数据所组成.( 对) 2. 在采用树型目录结构的文件系统中,各用户的文件名必须互不相同.( 错) 在采用树型目录结构的文件系统中,各用户在不同目录中的文件名可以互不相同。

3. 虚拟存储器是利用操作系统产生的一个假想的特大存储器,是逻辑上扩充了内存容量,而物理内存的容量并未增加.( 对) 三, 填空题 1. 操作系统的特征是___并发性____,共享性和随机性. 2. 按照用户界面的使用环境和功能特征的不同,一般可以把操作系统分为三种基本类型,即:批处理系统,___分时系统___和实时系统. 3. 软件系统分为系统软件,___支持软件____和应用软件. 4. 多数计算机系统将处理器的工作状态划分为____管态____和目态.后者一般指用户程序运行时的状态,又称为普通态或_用户态__态. 5. 存储器一般分成高速缓冲器,__内存___和__外存___三个层次,其中_高速缓存器_是造价最高,存取速度最快. 6. 文件的物理结构有:顺序结构,__链接结构__和索引结构. 7. 通道是独立于CPU的,专门负责数据____输入输出__传输工作的处理单元. 四, 简答题 1.从资源管理的角度说明操作系统的主要功能. 进程管理(或者处理器管理)、存储管理、文件管理、作业管理和设备管理。 2.进程有哪几种基本状态试描绘出进程状态转换图. 进程有执行态、就绪态和阻塞态三种基本状态。三种基本状态的转换图如下图: 图中数字1的含义是:进程被调度进程选中,数字2的含义是:时间片用完,数字3的含义是:等待某事件发生,数字4的含义是:等待的事件已发生.

模拟进程创建、终止、阻塞、唤醒原语--附带注释课件

题目:计算机操作系统模拟 院系:信息学院 专业:计算机科学与技术 班级:2013级1班 辽宁大学

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:pc 机及其兼容机。 2、软件:Windows XP ,Turbo C 或C++、VC++等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 进程名 优先级 运行时间 状态 指针 2、系统总体结构: 系统主菜单 1…创建 2…阻塞 3…唤醒 4…终止 5…显示 0…退出 请输入您需要的功能(0-5): 进程名:用P1,P2标识。 优先级:为实验题目二做准备。 运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。 输入选择=? 创建 阻塞 唤醒 终止 显示 退出 开始 结束 0 1 2 3 4 5

另加实验二:模拟进程调度功能 /*PCB的组织方式:线性方式*/ #include "stdio.h" #include "string.h" #include "windows.h" typedef struct { char p_name[10];//进程名 char p_pro;//优先级1-3个级别1.低2.中3.高 char p_status;//运行状态0.阻塞1.运行2.就绪 int p_runtime;//运行时间 int p_wait;//等待时间 struct PCB *next;//指针,指向下一个PCB }PCB; void Run(PCB *head)//任何时候保证程序里面至少有一个进程在运行 { PCB *p=head->next;//直接将P指向第一个结点 while(p!=NULL)//遍历一遍链表,将所有就绪队列等待时间加1,防止前面结点因为唤醒又进入运行状态 { if(p->p_status=='2') { p->p_wait++;//将等待时间加1 } p=p->next; } p=head->next;//将P重置在第一个结点 while(p->p_status!='1' && p!=NULL) { if(p->p_status=='2')//防止线性链表前面的结点因为从阻塞唤醒后又进入运行状态 { p->p_status='1'; p->p_wait=2; } if(p->p_status=='1')//对上一个if进行处理 { return;

《操作系统原理》考题及答案

《操作系统原理》期末考试题 、单项选择题(每题 分,共分) 1. 操作系统是一种( )。 A. 系统软件 B. 系统硬件 C. 应用软件 D. 支援软件 2. 分布式操作系统与网络操作系统本质上的不同在于( )。 A. 实现各台计算机这间的通信 B. 共享网络中的资 源 C.满足较在规模的应用 D. 系统中多台计算机协作完成同一任务 3. 下面对进程的描述中,错误的是( A.进程是动态的概念 B. C.进程是指令的集合 D. 4?临界区是指并发进程中访问共享变量的( )段。 5. 要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的哪一条 。 A.互斥 B. 请求与保持 C. 不剥夺 D. 循环等待 6. 以下哪种存储管理不可用于多道程序系统中( )。 A.单一连续区存储管理 B.固定式区存储管理 C.可变分区存储管理 D.段式存储管理 7. 在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与 相邻空闲区合 并,修改空闲区表,使空闲区数不变且空闲区起始地址不变的 )。 进程执行需要处理机 进程是有生命期的 A.管理信息 B.信息存储 C. 数据 D. 程序

情况是()。 A.无上邻空闲区也无下邻空闲区 C.有下邻空闲区但无上邻空闲区 8. 系统“抖动”现象的发生不是由 A.置换算法选择不当 C.主存容量不足 9. 在进程获得所需全部资源,唯却 A.运行 B.阻塞 10. 要页式存储管理系统中,将主存等分成( A.块 B.页B. D. B. D. CPU 时,有上邻空闲区但无下邻空闲区 有上邻空闲区也有下邻空闲 区)引起的。 交换的信息量过大 请求页式管理方案 进程处于( C.就绪 )。 C. 段长 状态。 D.新建 D.段

相关文档
最新文档