当前位置:文档之家› 操作系统原理课程设计B

操作系统原理课程设计B

操作系统原理课程设计B
操作系统原理课程设计B

课程设计报告

( 2013-- 2014年度第1学期)

名称:操作系统原理课程设计院系:

班级:软件

学号:

学生姓名

指导教师:

设计周数: 1

成绩:

日期:2013年月日

《操作系统原理课程设计B》课程设计

任务书

一、目的与要求

1. 理解和掌握操作系统的基本概念、基本组成与工作原理;

2. 理解和掌握操作系统中主要功能模块的工作原理及其实现算法;

3. 掌握软件模块设计技能;熟悉并能较好地利用软件开发环境独立编程、调试和分

析程序运行情况,逐渐形成创新思维和从事系统软件的研究和开发能力。

二、主要内容

采用某种程序设计语言,设计与开发一个仿真操作系统,要求具备进程调度、存储器管理、文件及设备管理等基本功能,具体内容包括:

1.模拟单处理器系统的进程调度,加深对进程的概念及进程调度算法的理解;

2.编写一个多线程程序,加深对现代操作系统中线程的理解;

3.编写和调试一个银行家算法程序,加深了解有关资源申请、避免死锁等概念,并体

会和了解死锁和避免死锁的具体实施方法;

4.用可变分区算法模拟主存的分配和回收,加深对存储器管理的理解,熟悉各种主存

分配方法;

根据个人情况选做其中三个。

三、进度计划

四、设计(实验)成果要求

至少完成主要内容中的3项,统一使用课程设计报告书,文字清楚、工整。

学生姓名:张迪

指导教师:

年月日

实验一多线程实验

实验目的及要求

实现多线程的一些操作,理解多线程间的协调工作方式,同时了解多线程和进程之间的关系以及他们的区别。

设计一个多线程的小程序,了解线程的启动,停止,睡眠,挂起等的基本功能。

实验正文

实验思路:本次多线程实验是猜字小游戏,系统线程随机给出一个数,系统进程等待,并且唤醒另一个进程,这个线程给出一个猜的数字,唤醒系统进程且等待,猜字线程和系统中的数比较,直到猜对就结束。

实验结果:

随机给你一个数为28,猜猜是多少

我第1次猜这个数:100

你猜大了

我第2次猜这个数是50

你猜大了

我第3次猜这个数是25

你猜小了

我第4次猜这个数是37

你猜大了

我第5次猜这个数是31

你猜大了

我第6次猜这个数是28

恭喜,你猜对了

我成功了

课程设计结论

通过本次实验,我了解了多线程的基本概念,知道线程间怎么协调工作,且知道了线程和进程的区别。而且编写程序时要一步一步来编写,这样才能达到自己想要的结果。

参考文献

张白一,崔尚森,面向对象程序设计—Java(第二版),西安电子科技大学出版社,2006,12

附录

流程图

程序

TwoThreadGuessNumber.java package com;

public class TwoThreadGuessNumber {

public static void main(String[] args) {

Number number = new Number();//调用Number

number.giveNumberThread.start();//启动电脑给出的线程

number.guessNumberThread.start();//启动猜数字的线程}

}

Number.java

package com;

import java.util.Scanner;

class Number implements Runnable {

final int smaller = -1, larger = 1, success = 10;

int realNumber, guessNumber, min = 0, max = 200;

int message=smaller;

Thread giveNumberThread, guessNumberThread;//创建线程

Number()

{

giveNumberThread = new Thread(this);

guessNumberThread = new Thread(this);

}

@Override

public synchronized void run()//synchronized为互斥锁,任一时刻只有一个资源访问

{

int count = 1;

while(true)

{

if (Thread.currentThread() == giveNumberThread)

{

if (count == 1)

{

realNumber = (int) (Math.random() * 100) + 1;

System.out.println("随机给你一个数为" + realNumber + ",猜猜是多少");

}

else

{

if (realNumber > guessNumber)

{

message = smaller;

System.out.println("你猜小了");

}

else if (realNumber < guessNumber)

{

message = larger;

System.out.println("你猜大了");

}

else

{

message = success;

System.out.println("恭喜,你猜对了");

}

}

try

{

notify();//唤醒猜字进程

wait();//系统给予的进程等待

} catch (Exception e) {

System.out.println("======"+e.getMessage());

}

}

else if (Thread.currentThread() == guessNumberThread)

{

if (count == 1)

{

guessNumber = (min + max) / 2;

System.out.println("我第"+ count + "次猜这个数:"+ guessNumber);

}

else

{

if (message == smaller)

{

min = guessNumber;

guessNumber = (min + max) / 2;

System.out.println("我第" + count + "次猜这个数是"

+ guessNumber);

}

else if (message == larger)

{

max = guessNumber;

guessNumber = (min + max) / 2;

System.out.println("我第" + count + "次猜这个数是"

+ guessNumber);

}

else if (message == success)

{

System.out.println("我成功了");

System.exit(0);//return;

}

}

try

{

notify();

wait();//Thread.sleep();

} catch (Exception e)

{ System.out.println("======"+e.getMessage());

}

}

count++;

}

}

}

实验二调度算法实验

实验目的与要求

实现进程调度算法,有先来先服务、短作业优先、响应比高优先,进一步理解了进程调度各种算法的概念及含义。

设计一个调度算法的程序,采用不同的调度算法对不同的进程进行调度,例如,为照顾为数众多的短作业,应采用短作业程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程,为了更公平,应用高响应比的算法,这样不会让各个作业等太久。实验正文

实验思路:设计程序模拟进程的先来先服务FCFS,短作业优先SJF调度过程和高响应比。假设有n个进程分别在T1, … ,T n时刻到达系统,它们需要的服务时间分别为S1, … ,S n。分别采用先来先服务FCFS和短作业优先SJF进程调度算法,高响应比优先调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,优先权,并且统计n个进程的平均周转时间和平均带权周转时间。

程序要求如下:

1)进程个数n;每个进程的到达时间T1, … ,T n和服务时间S1, … ,S n;选择算法1-FCFS,2-SJF。

2)要求采用先来先服务FCFS和短作业优先SJF分别调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;

3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B 开始运行”等等;

4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。

实验结果:

课程设计结论

通过此次课程设计,更深入的理解了各个进程调度算法,及实现过程。

参考文献

汤小丹,梁红兵,哲风屏,汤子瀛,计算机操作系统(第二版),西安电子科技大学出版社,2007年5月

附录

流程图系统流程图

先来先服务流程

短作业优先

程序

#include

using namespace std;

struct work

{

char name; //进程名

int DTime;//到达时间

int STime;//服务时间

int FTime;//完成时间

float CTime;//周转时间

float PTime;//带权周转时间

float Rp;//优先权

struct work *next;//指向下一个作业};

int works;//作业数目

work *MIN(work *w,int i)

{

work *p=w->next;

work *q=p;

while(p->next)

{

if(i==0)//到达时间最小的

{

if((q->DTime)>=(p->next->DTime))

q=p->next;//把到达时间最小的赋给q

}

else if(i==1)//服务时间最小的

{

if(q->STime>=p->next->STime)

q=p->next;

}

else if(i==2)//响应比最高的

{

if(q->Rp<=p->next->Rp)

q=p->next;

}

p=p->next;

}

return q;

}

void Delete_work(work *W,work *q,work *w)

{

work *p=W;

while(p->next!=q)

{

if(p->next==NULL){

return ;

}

p=p->next;

}

work *L=p->next;

p->next=L->next;

L->next=w->next;

w->next=L;

}

int FCFS(work *w1)

{

int i;

float sum1=0,sum2=0;

float ctime=0,pctime=0;//ctime为平均周转时间,pctime为带权平均周转时间int time=0;//当前时间

work *w2=new work;//w2中存放已经执行完的作业

w2->next=NULL;

for(i=1;i<=works;i++)

{

work * p=MIN(w1,0);

if(timeDTime)

time=p->DTime;

p->FTime=time + p->STime;

p->CTime=p->FTime - p->DTime;

time+=p->STime;

p->PTime=p->CTime/p->STime;

cout<name;

Delete_work(w1,p,w2);

}

w1->next=w2->next;

cout<<" 用先来先服务算法,求平均周转时间为:\n";

work *q =w2;

while(q->next)

{

work *p1=q->next;

sum1+=p1->CTime;//求周转时间的总和

sum2+=p1->PTime;//求带权周转时间的总和

q=q->next;

}

ctime=sum1/works;

cout<

//平均带权周转时间 = 带权周转时间总和/作业数

pctime=sum2/works;

cout<<"用FCFS算法,平均带权周转时间为:\n";

cout<

return 0;

}

int SWF(work *w1)

{

int i;

float sum1=0,sum2=0;

float ctime=0,pctime=0;//ctime为平均周转时间,pctime为带权平均周转时间int time=0;//当前时间

work *w2=new work; // w2中存放当前时间已经到达的作业

work *w3=new work; //用于存储已完成的作业

w2->next=NULL;

w3->next=NULL;

for(i=1;i<=works;i++)

{

work *p1=w1;

//遍历w1 寻找出已经到达的作业,并将其放入w2中

while(p1->next)

{

//从w1中找出已到达的作业

if(p1->next->DTime<=time)

Delete_work(w1,p1->next,w2);//找到已到达的作业从w1中删除,加到w2链表

else

if(p1->next!=NULL)

p1=p1->next;

}

/*

上一个完成了,下一个作业还未到达则从w1队列里找到达时间最短的作业执行

然后更新当前时间time

*/

if(w2->next==NULL)

{

work *p=MIN(w1,0);

time=p->DTime;

p->FTime=time+p->STime;//完成时间

p->CTime=p->FTime - p->DTime;//周转时间

p->PTime=p->CTime/p->STime;//带权周转时间

time += p->STime;

cout<name;

Delete_work(w1,p,w3);//更新w1

}

else//从已到达作业中选择服务时间最短的作业执行并更新当前时间

{

work *p2=MIN(w2,1);//找服务时间最小的

p2->FTime=time+p2->STime;//完成时间

p2->CTime=p2->FTime-p2->DTime;//周转时间

p2->PTime=p2->CTime/p2->STime;//带权周转时间

time += p2->STime; //更新时间为p2服务后的时间

cout<name;

Delete_work(w2,p2,w3);

work *p3=w1;

while(p3->next)

p3=p3->next;

p3->next=w2->next;

w2->next=NULL;//w2清零

}

}

w1->next=w3->next;//还原作业序列

//计算平均周转时间

cout<<"\n用SWF算法,平均周转时间为:\n";

work *q =w3;

while(q->next)//所有作业的周转时间总和

{

work *p1=q->next;

sum1+=p1->CTime;

sum2+=p1->PTime;

q=q->next;

}

//平均周转时间

ctime=sum1/works;

cout<

//计算平均带权周转时间

pctime=sum2/works;//平均带权周转时间

cout<

return 0;

}

int HRN(work *w1)

{

int i;

float sum=0;

float ctime=0,pctime=0;//ctime为平均周转时间,pctime为带权平均周转时间

int time=0;//当前时间

work *w2=new work;//w2中存放当前时间已经到达的作业

work *w3=new work;//w3中存放已经执行完的作业

w2->next=NULL;

w3->next=NULL;

for(i=1;i<=works;i++)

{

work *p1=w1;

while(p1->next)//找出已经到达的作业,计算响应比后将其放入w2中

{

if(p1->next->DTime<=time)

{

float waitTime = float((time - p1->next->DTime)); //等待时间

p1->next->Rp=1+ waitTime/p1->next->STime;//计算响应比

Delete_work(w1,p1->next,w2);

}

else

if(p1->next)

p1=p1->next;

}

if(w2->next==NULL)//若当前没有已经到达的作业,选择到达时间最短的作业执行并更新当前时间

{

work *p=MIN(w1,0);

time=p->DTime;

p->FTime=time+p->STime;

p->CTime=p->FTime - p->DTime;

p->PTime=p->CTime/p->STime;

time += p->STime;

cout<name;

Delete_work(w1,p,w3);//更新w1

}

else//从已到达作业中选择响应比最高的作业执行并更新当前时间{

work *p2=MIN(w2,2);

p2->FTime=time+p2->STime;

p2->CTime=p2->FTime-p2->DTime;

p2->PTime=p2->CTime/p2->STime;

time += p2->STime;

cout<name;

Delete_work(w2,p2,w3);

work *p3=w1;

while(p3->next) p3=p3->next;

p3->next=w2->next; //将未执行的作业全部放入w1中

w2->next=NULL;//w2清零

}

}

w1->next=w3->next;//还原作业序列

cout<<"\n用HRN算法,平均周转时间为:\n";

work *q =w3;

while(q->next)//所有作业的周转时间总和

{

work *p1=q->next;

sum+=p1->CTime;

q=q->next;

}

ctime=sum/works;//平均周转时间

cout<

q =w3;

sum=0;

cout<<"用HRN算法,平均带权周转时间为:\n";

while(q->next)//所有作业的带权周转时间总和

{

work *p2=q->next;

sum+=p2->PTime;

q=q->next;

}

pctime=sum/works;//平均带权周转时间

cout<

return 0;

}

int main()

{

int i;

work *W=new work;

W->next=NULL;

cout<<"请输入作业的数量:\n";

cin>>works;

cout<<"请输入作业的(进程名到达时间服务时间):\n";

for(i=works;i>0;i--)//输入各作业的名字,到达时间,服务时间{

work *p=new work;

cin>>p->name;

cin>>p->DTime;

cin>>p->STime;

p->Rp=0;//优先权置为0

p->next=W->next;

W->next=p;

}

cout<<"用先来先服务调度算法顺序为:\n";

FCFS(W);

cout<

cout<<"用短作业优先调度算法顺序为:\n";

SWF(W);

cout<

cout<<"用高响应比优先调度算法顺序为:\n";

HRN(W);

cout<

return 0;

}

实验三银行家实验

实验目的与要求

熟悉银行家算法,理解系统产生死锁的原因及避免死锁的方法。

设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的资源数量分别为10,5,7。进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要求申请的资源号以及为某进程分配资源后的有关资源数据。

实验正文

实验原理:

利用银行家算法避免死锁

1、银行家算法中的数据结构

(1)可利用资源向量Available

(2)最大需求规阵Max

(3)分配矩阵Allocation

(4)需求矩阵Need

2、银行家算法

(1)如果Requesti<或=Need,则转向步骤2;否则,认为出错,因为它所需要的资源数已超过它所宣布的最大值。

(2)如果Request<或=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,P1必须等待。

(3)系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:

Available:=Available-Requesti;

Allocation:=Allocationi+Request;

Needi:=Needi-request;

(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。

3、安全性算法

系统所执行的安全性算法可描述如下:

(1)设置两个向量

①工作向量Work。它表示系统可提供进程继续运行所需要的各类资源数目,它含有m 个元素,执行安全算法开始时,Work:=Allocation;

②Finish。它表示系统是否有足够的资源分配给进程,使之运行完成,开始时先做Finish[i]:=false;当有足够资源分配给进程时,令Finish[i]:=true。

(2)从进程集合中找到一个能满足下述条件的进程:

①Finish[i]:=false

②Need

如找到,执行步骤(3);否则,执行步骤(4)。

(3)当进程P获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:

Work:=Work+Allocation;

Finish[i]:=true;

Go to step 2;

(4)如果所有进程的Finish[i]=true,则表示系统处于安全状态;否则,系统处于不安全状态。

实验设计思路:

银行家算法的基本思想是分配资源之前, 判断系统是否是安全的; 若是, 才分配。它是最具有代表性的避免死锁的算法。

设进程cusneed 提出请求REQUEST [i] ,则银行家算法按如下规则进行判断。

(1) 如果REQUEST [cusneed] [i]<= NEED[cusneed][i] ,则转(2) ;否则,出错。

(2) 如果REQUEST [cusneed] [i]<= AVAILABLE[cusneed][i] ,则转(3) ;否则,出错。

(3) 系统试探分配资源,,进

(4) 系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状程等待

安全性检查算法

(1) 设置两个工作向量Work=AVAILABLE;FINISH

(2) 从进程集合中找到一个满足下述条件的进程, FINISH==false;

NEED<=Work;

如找到,执行(3) ;否则,执行(4)

(3) 设进程获得资源,可顺利执行,直至完成,从而释放资源。

Work+=ALLOCATION;

Finish=true;

(4) 如所有的进程Finish= true ,则表示安全;否则系统不安全

实验结果:

4.5课程设计结论

通过本次实验,我了解了银行家算法,同时知道了怎么样避免死锁。

4.6参考文献

汤小丹,梁红兵,哲风屏,汤子瀛,计算机操作系统(第二版),西安电子科技大学出版社,2007年5月

附录

流程图

系统流程图

操作系统原理试题

操作系统原理试题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% 试为该系统设计文件的物理结构,使访问文件时具有尽可能小的平均访问磁盘次数,

夏考操作系统原理离线作业

2013年夏考操作系统原理离线作业 浙江大学远程教育学院 《操作系统原理》课程作业 第一次(第1、2章) 应用题 1.桌上有一个空盒,盒内只允许放一个水果。妈妈轮流向盒内放桔子和苹果,儿子专等吃盒中的桔子,女儿专等吃盒中的苹果。若盒内已有水果,放者必须等待,若盒内没有自己吃的水果,吃者必需等待。试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。 var (信号量)﹎﹎﹎﹎﹎﹎S , S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎﹎﹎1 , 0 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; begin parbegin 妈:begin repeat 準備 ﹎﹎P (S )﹎﹎ 向盒内放桔子 ﹎﹎V (S1 )﹎﹎﹎ 準備 ﹎﹎﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎ until false end 儿:begin repeat ﹎﹎﹎P (S1 )﹎﹎ 拿盒中的桔子 ﹎﹎﹎V (S)﹎﹎ 吃桔子 until false end 女:begin repeat ﹎﹎P (S2 )﹎﹎ 拿盒中的苹果

﹎﹎V (S)﹎﹎﹎ 吃苹果 until false 9 / 1 2013年夏考操作系统原理离线作业 end parend end 2.桌上有一个空盒,盒内只允许放一个水果。爸爸争向盒内放苹果,妈妈争向盒内放桔子。儿子等吃盒中的水果(苹果或桔子),若盒内已有水果,放者必须等待,若盒内没有水果,吃者必需等待。试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。 var (信号量)﹎﹎﹎﹎S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎1 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; begin parbegin 爸:begin repeat 準備 ﹎﹎P(S1)﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎﹎﹎﹎ until false end 妈: begin repeat 準備 ﹎﹎﹎P (S1 )﹎﹎﹎﹎﹎ 向盒内放桔子 ﹎﹎V (S2)﹎﹎﹎﹎ until false end 儿:begin repeat ﹎﹎﹎P (S2 )﹎﹎﹎ 拿盒中的水果(苹果或桔子) ﹎﹎﹎V (S1)﹎﹎﹎ 吃水果(苹果或桔子) until false end

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

课程成绩构成 笔试: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、是什么原因使操作系统具有异步性特征? 答:操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的不可预知性,即每个程序

2020东北农业大学操作系统原理离线作业答案

东北农业大学网络教育学院 操作系统及windows基础网上作业题 第一章操作系统引论 一、选择题 1.(D)不是基本的操作系统 A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2.(C)不是分时系统的基本特征: A.同时性B.独立性C.实时性D.交互性 3.在计算机系统中,操作系统是( B) A. 一般应用软件 B.核心系统软件 C. 用户应用软件 D.系统支撑软件 4.以下哪一个不是设计操作系统的主要目标(C) A.方便性 B. 有效性 C. 成本低D. 可扩充性 5.最早出现的操作系统是( B) A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统 6. 允许多个用户以交互使用计算机的操作系统是( B) A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统 7. 操作系统是一组( C) A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序 8. 现代操作系统的两个基本特征是( C)和资源共享. A.多道程序设计B.中断处理C.程序的并发执行D.实现分时与实时处理 9. ( D)不是操作系统关心的主要问题 A.管理计算机裸机B.设计,提供用户程序与计算机硬件系统的界面 C, 管理计算机系统资源D.高级程序设计语言的编译器 10.引入多道程序的目的是(D) A.为了充分利用主存储器B.增强系统的交互能力 B.提高实时响应速度D.充分利用CPU,减少CPU的等待时间 11.多道程序设计是指( A) A.有多个程序同时进入CPU运行 B.有多个程序同时进入主存并行运行 C.程序段执行不是顺序的 D.同一个程序可以对应多个不同的进程 12.从总体上说,采用多道程序设计技术可以( C)单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要( ). A.增加,减少B.增加,延长C.减少,延长D.减少,减少 13.在分时系统中,时间片一定,( B),响应时间越长。 A.内存越多B.用户数越多C.后备队列D.用户数越少

操作系统原理考题及答案

《操作系统原理》期末考试题 班级学号姓名 一、单项选择题(每题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.固定式区存储管理 D. 段式存储管理 C.可变分区存储管理7.在可变式分区存储管理

中,某作业完成后要收回其主存空间,该空间可能与 1 / 8 相邻空闲区合并,修改空闲区表,使空闲区数不变且空闲区起始地址不变的 情况是()。 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.传输时间 D.延迟时间+ 查找时间+ 传输时间 C.查找时间+ 传输时间 13.如果允许不同用户的文件可以具有相同的文件名,通常采用()

2016操作系统原理在线作业

窗体顶端 您的本次作业分数为:100分单选题 1.【第01~04章】以下描述中,()并不是多线程系统的特长。 A 利用线程并行地执行矩阵乘法运算。 B web服务器利用线程请求http服务 C 键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应相应的键盘输入。 D 基于GUI的debugger用不同线程处理用户的输入、计算、跟踪等操作。 正确答案:C 单选题 2.【第01~04章】现代操作系统的基本特征是()、资源共享和异步性。 A 多道程序设计 B 中断处理 C 实现分时与实时处理 D 程序的并发执行 正确答案:D 单选题 3.【第01~04章】操作系统的进程管理模块并不负责()。 A 进程的创建和删除 B 提供进程通信机制 C 实现I/O设备的调度 D 通过共享内存实现进程间调度。 正确答案:C 单选题 4.【第01~04章】下列选择中,()不是操作系统必须要解决的问题。 A 提供保护和安全机制 B 管理目录和文件 C 提供应用程序接口

D 提供C++语言编译器 正确答案:D 单选题 5.【第01~04章】用户在程序中试图读存放在硬盘中某文件的第10逻辑块,使用操作系统提供的接口是()。 A 进程 B 系统调用 C 库函数 D 图形用户接口 正确答案:B 单选题 6.【第01~04章】操作系统的管理部分负责对进程进行调度。 A 主存储器 B 控制器 C 运算器 D 处理机 正确答案:D 单选题 7.【第01~04章】下面关于进程的叙述不正确的是()。 A 进程申请CPU得不到满足时,其状态变为就绪状态。 B 在单CPU系统中,任一时刻有一个进程处于运行状态。 C 优先级是进行进程调度的重要依据,一旦确定不能改变。 D 进程获得处理机而运行是通过调度而实现的。 正确答案:C 单选题 8.【第01~04章】下列选项中,操作系统提供给应用程序的接口是()。 A 系统调用 B 中断 C 库函数

操作系统原理及应用试题附答案

操作系统原理及应用试题附答案 第一部分选择题一、单项选择题(本大题共4小题,每小题2分,共8分) 1、从静态角度来看,进程由__________、数据集合、进程控制块及相关表格三部分组成。()A、JCB B、PCB C、程序段 D、I/O缓冲区 2、请求页式管理方式中,首先淘汰在内存中驻留时间最长的帧,这种替换策略是_____.()A、先进先出法(FIFO) B、最近最少使用法(LRU) C、优先级调度 D、轮转法 3、文件安全管理中,___________安全管理规定用户对目录或文件的访问权限。()A、系统级 B、用户级 C、目录级 D、文件级 4、排队等待时间最长的作业被优先调度,这种算法是___________。A、优先级调度 B、响应比高优先 C、短作业优先D、先来先服务第二部分非选择题 二、填空题(本大题共16小题,每小题1分,共16分) 5、常规操作系统的主要功能有:_处理机管理_、存贮管理、设备管理、文件管理以及用户界面管理。 6、操作系统把硬件全部隐藏起来,提供友好的、易于操作的用户界面,好象是一个扩展了的机器,即一台操作系统虚拟机。 7、进程管理的功能之一是对系统中多个进程的状态转换进行控制。 8、逻辑_文件是一种呈现在用户面前的文件结构。 9、操作系统中实现进程互斥和同步的机制称为同步机构_。 10、内存中用于存放用户的程序和数据的部分称为用户区(域)。 11、存贮器段页式管理中,地址结构由段号、段内页号和页内相对地址三部分组成。 12、在操作系统中,通常用户不使用设备的物理名称(或物理地址),而代之以另外一种名称来操作,这就是逻辑设备名。 13、在操作系统中,时钟常有两种用途:报告日历和时间,对资源使用记时。 14、库文件允许用户对其进行读取、执行,但不允许修改.

操作系统原理作业

操作系统原理作业 第1章 1-2 批处理系统和分时系统各有什么特点?为什么分时系统的响应比较快? 答:在批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。在分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。分时系统一般采用时间片轮转的方法使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。 1-4什么是多道程序设计技术?试述多道程序运行的特征。 答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如 I/O 请求)而暂停执行时,CPU 立即转去执行另一道程序。多道程序运行具有如下特征:多道计算机内存中同时存放几道相互独立的程序。宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行但都未运行完毕。微观上串行:从微观上看内存中的多道程序轮流或分时地占有处理机,交替执行。 1-6操作系统的主要特性是什么?为什么会有这样的特性? 答:并发性,共享性,异步性,虚拟性,这些特性保证了计算机能准确的运行,得出想要的结果。 1-7 (1)工作情况如图。 (2)CPU有空闲等待,它发生在100 ms 150 ms时间段内,此时间段内程序A与程序B 都在进行I/O操作。 (3)程序A无等待现象,程序B在0 ms 50 ms时间段与180 ms 200 ms时间段内有等待现象。 第2章 2-1 什么是操作系统虚拟机? 答:在裸机上配置了操作系统程序后就构成了操作系统虚拟机 2-3 什么是处理机的态?为什么要区分处理机的态? 答:处理机的态,就是处理机当前处于何种状态,正在执行哪类程序。为了保护操作系统,至少需要区分两种状态:管态和用户态。 2-5 什么是中断?在计算机系统中为什么要引用中断?

操作系统原理离线作业

浙江大学远程教育学院 《操作系统原理》课程作业 姓名:学号: 年级:学习中心:————————————————————————————— 一、单选题 6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是 A. 224 B. 212 C. 210 D. 232 7.在一段式存储管理系统中,某段表的内容如下: 段号段首址段长 0 100K 35K 1 560K 20K 2 260K 15K 3 670K 32K 若逻辑地址为(2, 158),则它对应的物理地址为_____。 A. 100K+158 B. 260K+158 C. 560K+158 D. 670K+158 8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是 A. 28字节 B. 216字节 C. 224字节 D. 232字节 9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:int A[50][50]; for (int i = 0; i < 50; i++) for (int j = 0; j < 50; j++) A[i,j] = 0; 若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。 A.1 B. 50 C. 100 D. 2500

10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用FIFO算法将淘汰页; A. 0 B. 1 C. 2 D. 3 11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用NRU算法将淘汰页; A. 0 B. 1 C. 2 D. 3 12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用LRU算法将淘汰页; A. 0 B. 1 C. 2 D. 3 13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用第二次机会算法将淘汰______页; A. 0 B. 1 C. 2 D. 3 二、综合题

西安交大网络教育秋操作系统原理在线作业习题答案100分

《操作系统原理》习题答案 一、单项选择题 1、(信号量)是一种只能进行P、V操作的特殊变量。 2、一个进程是(PCB结构与程序和数据的组合)。 3、操作系统中,当(时间片完),进程从执行状态转变为就绪状态。 4,设有三个作业J1,J2,J3同时到达,运行时间分别为T1,T2,T3,且T1≤T2 ≤ T3。若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为(T1+ 2/3T2 + 1/3T3)。 5、在操作系统中,死锁出现是指(若干进程因竞争资源而无限等待其他进程释放已占有的资源) 6.若系统有三个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是( 10 ) 。 7、预防死锁的论述中,(可以通过破坏产生死锁的四个必要条件之一或其中几个的方法,来预防发生死锁)条是正确的论述。 8、关于死锁与不安全状态的关系,下列描述正确的有(死锁是一种不安全状态): 9、银行家算法是一种(死锁避免)算法。 10、以下哪种算法不属于多个分区的可变分区存储管理方式的主存分配算法(最后适应分配算法) 11、在固定分区管理方式中,处理器执行作业时,对每条指令中的地址要求满足(下限地址≤绝对地址≤上限地址) 12、以下叙述中,不正确的是(采用动态和静态重定位的系统都支持“程序浮动”) 13、在页式存储管理中,假定地址用m个二进制位表示,其中页内地址部分占用了n个二进制位,那么最大的作业允许有(2(m-n) )个页面。 14、关于一个分区的存储管理,以下叙述不正确的是(一个分区的存储管理中,必须采用动态重定位的方式进行地址转换) 15、下面哪种算法不属于页式虚拟存储管理中的页面调度算法(优先数调度算法) 16、缺页中断率与哪个因素无关(作业的逻辑地址) 17、很好地解决了“零头”问题的存储管理方法是(页式存储管理) 18、在存储管理中,(可变分区管理)可与覆盖技术配合. 19、虚拟存储器的最大容量(由计算机的地址结构决定) 20、下述(先进先出)页面淘汰算法会产生BELADY现象. 21、计算机系统的二级存储包括(主存储器和辅助存储器) 22、以下关于主存空间的说法中正确的是(操作系统与硬件的接口信息、操作系统的管理信息和程序等存放在主存储器的系统区) 23、联想存储器在计算机系统中是用于(地址变换) 24、以下有关可变分区管理中采用的主存分配算法说法中错误的是(最佳适应算法是最好的算法,但后过的较大作业很难得到满足)

《操作系统原理》课程教学大纲

附件1: 《操作系统原理》课程教学大纲 制定(修订)人: 李灿平、郭亚莎制定(修订)时间: 2006年 7 月所在单位: 信息工程学院 一、课程基本信息

三、教学内容及基本要求 第一章绪论 本章简要介绍操作系统的基本概念、功能、分类以及发展历史。同时讨论研究操作系统的几种观点。 §1.1 操作系统的概念 本节介绍操作系统的基本概念,什么是操作系统以及操作系统与硬件软件的关系。 本节重点:操作系统与硬件软件的关系。 本节要求学生理解什么是操作系统,掌握操作系统与硬件软件的关系。 §1.2 操作系统的历史 本节按器件工艺介绍操作系统的发展历史。 本节重点:多道程序系统的概念。 本节要求学生了解操作系统的发展历史,理解多道程序系统概念。 §1.3 操作系统的基本类型 本节介绍常见的操作系统的类型、特点及适用的对象。 本节重点:批处理操作系统、分时系统、实时系统。 本节要求学生掌握上述三大操作系统的特点及适用对象。 §1.4 操作系统功能 本节简单介绍操作系统的五个功能。处理机管理,存储管理,设备管理,信息管理(文件系统管理)和用户接口。 本节要求学生了解上述功能。 §1.5 计算机硬件简介 本节简单介绍计算机硬件系统。 本节要求学生自修。

§1.6 算法的描述 本节介绍操作系统管理计算机系统的有关过程所用的描述算法。 本节要求学生掌握本书所采用的描述算法。 §1.7 研究操作系统的几种观点 本节介绍研究操作系统的几种观点。系统管理的观点,用户界面观点和进程管理观点。 本节要求学生了解上述三种观点。 第二章操作系统用户界面 本章主要讨论操作系统的两个用户接口,并以UNIX系统为例,简单介绍用户接口的使用操作方法。 §2.1 作业的基本概念 本节介绍作业的基本概念,什么是作业及作业组织(结构)。 本节重点:作业的基本概念。 本节要求学生掌握作业的基本概念,了解作业的组织。 §2.2 作业的建立 本节介绍作业的几种输入方式和作业的建立过程。 本节重点:联机输入方式和Spooling系统,作业控制块PCB和作业的四个阶段。 本节要求学生了解作业的几种输入方式,理解Spooling系统,掌握作业建立的过程内容。理解作业的四个基本阶段。提交、后备、执行以及完成阶段。 §2.3 命令控制界面接口 本节介绍操作系统为用户提供的命令接口界面。介绍命令接口的两种使用方式。讨论联机方式下操作命令的分类。 本节重点:命令接口的使用方式。 本节要求学生理解命令接口的作用和使用方式。了解联机方式下操作命令的分类。 §2.4 系统调用 本节介绍操作系统提供给编程人员的唯一接口,系统调用。同时讨论系统调用的分类。 本节重点:编程人员通过系统调用使用操作系统内核所提供的各种功能和系统调用的处理过程。 本节要求学生了解系统调用的分类、理解系统调用的功能、掌握系统调用的处理过程。 §2.5 UNIX用户界面 本节简单介绍UNIX系统的发展历史和特点以及UNIX系统结构。同时讨论UNIX操作命令和系统调用的分类功能和使用方法。 本节重点:UNIX系统的特点。 本节要求学生了解UNIX系统的发展史,掌握UNIX系统的特点,理解UNIX系统操作命令和系统调用的功能。 第三章进程管理 本章详细介绍进程和线程管理的有关概念和技术。 §3.1 进程的概念 本节介绍进程的基本概念。通过程序的并发执行,引出进程具有并发性特征的概念。同时讨论进程的各式各样的定义以及作业和进程的关系。 本节重点:进程的特征。 本节要求学生了解程序的并发执行,掌握进程的特征。 §3.2 进程的描述 本节介绍进程的静态描述以及进程上下文结构。 本节重点,进程的上下文结构。 本节要求学生理解进程的静态描述内容,掌握进程控制块PCB的作用和进程上下文结构。

操作系统原理练习题附答案

《操作系统原理》练习题 一、填空题 1. 每个进程都有一个生命周期,这个周期从__(1)__开始,到__(2)__而结束。 2. 当一个进程独占处理器顺序执行时,具有两个特性:__(3)__和可再现性。 3. 并发进程中与共享变量有关的程序段称为__(4)__。 4. 一个进程或者由系统创建,或者由__(5)__创建。 5. 一个进程的静态描述是处理机的一个执行环境,被称为__(6)__。 6. 信号量的物理意义是:信号量大于0,其值为__(7)__;信号量小于0,其绝对值为__(8)__。 7. 系统有某类资源5个,供3个进程共享,如果每个进程最多申请__(9)__个该类资源,则系统是安全的。 8. 不可中断的过程称为__(10)__。 9. 操作系统中,进程可以分为__(11)__进程和__(12)__进程两类。 10. 操作系统为用户提供两种类型的使用接口,它们是__(13)__接口和__(14)__接口。 11. 批处理操作系统中,操作员根据作业需要把一批作业的有关信息输入计算机系统,操作系统选择作业并根据__(15)__的要求自动控制作业的执行。 12. 在批处理兼分时的系统中,往往由分时系统控制的作业称为前台作业,而由批处理系统控制的作业称为__(16)__作业。 13. 采用SPOOL技术的计算机系统中,操作员只要启动__(17)__程序工作,就可以把作业存放到__(18)__中等待处理。 14. 作业控制方式有__(19)__方式和__(20)__方式二种。 15. 对资源采用抢夺式分配可以防止死锁,能对处理器进行抢夺式分配的算法有__(21)__算法和__(22)__算法。 16. 因争用资源产生死锁的必要条件是互斥、__(23)__、不可抢占和__(24)__。 17. 死锁的形成,除了与资源的__(25)__有关外,也与并发进程的__(26)__有关。 18. 为破坏进程循环等待条件,从而防止死锁,通常采用的方法是把系统中所有资源类进行__(27)__,当任何一个进程申请两个以上资源时,总是要求按对应资源号__(28)__次序申请这些资源。 19. 内存管理的核心问题是如何实现__(29)__的统一,以及它们之间的__(30)__问题。 20. 页式存储管理中,处理器设置的地址转换机构是__(31)__寄存器。 21. 在页式和段式存储管理中,__(32)__存储管理提供的逻辑地址是连续的。 22. 实现地址重定位或地址映射的方法有两种:__(33)__和__(34)__。 23. 在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,__(35)__的作业将得到优先调度;当各个作业要求运行的时间相同时,__(36)__的作业得到优先调度。 24. 确定作业调度算法时应注意系统资源的均衡使用,即使CPU繁忙的作业和__(37)__的作业搭配使用。 25. 按照组织形式分类文件,可以将文件分为普通文件、目录文件和__(38)__。 26. 文件系统为用户提供了__(39)__的功能,以使得用户能透明地存储访问文件。 27. 文件名或记录名与物理地址之间的转换通过__(40)__实现。 28. 文件的__(41)__与文件共享、保护和保密紧密相关。

南开18秋学期(1703)《操作系统原理》在线作业

(单选题) 1: 当进程执行中需要等待从磁盘上读取数据时,进程的状态将()。 A: 从就绪变为运行态 B: 从运行变为就绪态 C: 从阻塞变为就绪态 D: 从运行变为阻塞态 正确答案: (单选题) 2: 在操作系统分类中对于可靠性和安全性要求较高的是()。 A: 批处理系统 B: 分时处理系统 C: 实时处理系统 D: 个人机操作系统 正确答案: (单选题) 3: 在设备管理中引入I/O缓冲机制是为了缓和()之间的速度不匹配问题。A: 内存与处理器 B: 内存与外设 C: 处理器与外设 正确答案: (单选题) 4: 在页式存储管理中,其虚地址存储空间是() A: 一维的 B: 二维的 C: 三维的 正确答案: (单选题) 5: UNIX文件系统采用( )逻辑结构对文件进行管理。 A: 网状文件 B: 记录式文件 C: 索引文件 D: 3流式文件 正确答案: (单选题) 6: 在文件系统中,使用( )信息实现对文件的管理。 A: 文件存储位置 B: 文件目录 C: 文件内容 正确答案: (单选题) 7: 进程所具有的()及并发性是两个很重要的属性。 A: 动态性 B: 易用性 C: 顺序性 D: 静态性 正确答案: (单选题) 8: 所谓进程调度,其调度的对象和任务分别是( )。 A: 进程,从就绪队列中按一定的调度策略选择一个进程占用CPU B: 数据,将程序中使用的数据调入内存 C: 指令,将指令从外存储空间调入内存 正确答案: (单选题) 9: 计算机系统采用多道并发技术将会() A: 缩短每个程序的执行时间 B: 使系统效率随着并行道数的增加成正比增加 C: 使用设备时不发生冲突 D: 提高了系统的整体执行效率 正确答案: (单选题) 10: 在系统中增加cache可以缓解()之间的速度不匹配性。 A: 硬盘与内存

linux操作系统教案

江苏科技大学教案用纸 课程:linux操作系统主讲教师:张其亮教材:《操作系统原理及应用(linux)》讲授题目第一章操作系统概述/linux操作系统概述 教学目的使学生掌握了解操作系统的概念、地位及作用;操作系统的功能;操作系统的分类; Linux的发展及背景;Linux的性能和特点;Linux内核,Linux下常用命令介绍 重点及难点 操作系统的地位及作用,linux下常用命令介绍主要教学方法 讲授 教学手段 多媒体 教学过程时间分配教学内容8学时第一章操作系统基本概述/linux操作系统基本概述 3学时操作系统的概念、地位及作用;操作系统的功能; 操作系统的分类; 2学时Linux的发展及背景;Linux的性能和特点; 3学时Linux常用命令 江苏科技大学教案用纸 课程:linux操作系统主讲教师:张其亮教材:《操作系统原理及应用(linux)》

讲授题目第二章Linux下程序设计基础 教学目的掌握linux下vi编辑器的使用; linux下的编译工具GCC,调试器gdb的使用; makefile文件及make工具。 重点及难点 Vim编辑器、gcc编译器、gdb调试器的使用 主要教学方法 讲授 教学手段 多媒体 教学过程时间分配教学内容 3学时第二章Linux下程序设计基础 vi编辑器的使用; linux下的编译工具GCC,调试器gdb的使用; makefile文件及make工具。 江苏科技大学教案用纸 课程:linux操作系统主讲教师:张其亮教材:《操作系统原理及应用(linux)》讲授题目第三章进程管理 教学目的进程的概念与特点,进程控制块(PCB);信号量集机制, P、V操作与应用; 经典的同步与互斥问题;

中山大学操作系统原理A卷试题答案

2008操作系统A卷参考答案 班级 __________ 姓名____________ 学号________ 成绩_________ 一、术语解释(5个,共20分) 1、内核:实现操作系统的最基本功能、常驻内容并要求CPU在核心态方式下运行的代码 和相关数据结构。 2、信号量:操作系统内容定义和管理的一种特殊数据结构,提供了初始化、增值和减值等操 作供进程调用,以实现进程互斥或同步。 3、临界区:两个或多个进程中,对应的程序中各存在一段访问共享数据的代码块,设 为CS1、CS2、。。。,这些代码块中,若有某个进程执行其中一个(设CSi),则其它进 程执行其它相应代码块只能在CSi完成后才能开妈执行。具有这种要求的代码块称为临界 区 4、线程:进程中的一个独立的调度执行单位。多线程技术中,同一进程中可以有多个独立的 调度执行单位,并且可以并发执行。 5、逻辑地址:程序设计员在程序中使用的地址。 二、简答题(5题,共30分) 6、系统调用的过程中,控制的转移步骤如何? 答:CPU控制权在用户态的进程中,进程执行陷入或软中断指令硬件执行中断响应动作进入内核,CPU控制权在核心态的操作系统内核代码中,执行系统调用服务程序,并可能进行进程调度,选择下一个可运行的进程恢复可运行进程的上下文CPU 控制权又交给在用户态的进程, 7、与层次结构比较,微内核结构的主要优缺点是什么? 答:优点有接口一致性、系统安全性高、功能扩展灵活性、可移植性高、适用于分布式环境。 缺点是效率较低。 8、与多进程技术相比,多线程技术有哪些优点? 答:同一进程的多个线程共享进程的资源,因此与进程相比,线程占用的资源极少;创建/撤消线程更快;同一进程的多个线程同属一个地址空间,可以使用共享变量直接通信;用户级线程还不需内核管理,减少了内核的开销。 9、用Test_And_Set指令如何实现互斥? 10、文件打开过程主要工作及步骤 答:1搜索文件目录,以获取该文件控制信息;2检查操作权限;3分配活动文件表的 表项和打开文件表的表项,填入相应的文件控制信息;分配必要的缓冲区;4返回打开文件表的表项指针(文件句柄),供进程以后读写文件。 三、应用分析题(共4题,共40分) 11、(10分)k读者-写者问题:有一个文件F被多个进程读取或修改,其中一批进程 只读取F,另一些进程只修改F。为了保证系统响应时间,规定最多只能有k个进 程同时操作F。试用信号量及P、V操作实现读者与写者的同步。 答: Semaphore wr=1;

15春学期《操作系统原理》在线作业

15春学期《操作系统原理》在线作业 试卷总分:100 测试时间:-- 试卷得分100 一、单选题(共20 道试题,共40 分。)V 1. 文件系统采用多级目录结构可以() A. 节省存储空间 B. 解决命名冲突 C. 缩短文件传送时间 D. 减少系统开销 B 满分:2 分 2. 在下述存储管理技术中,只有()可提供虚拟存储基础 A. 动态分区法 B. 交换技术 C. 静态分页法 D. 动态分页 D 满分:2 分 3. 下列对于进程的描述哪项是错误的 A. 各进程之间的地址是相互独立的 B. 进程控制块PCB是在系统调用进程时随机生成的 C. 进程是静态的 D. 进程同程序相比具备并发和异步执行特征 C 满分:2 分 4. 程序执行时下一条执行指令的地址放在()寄存器中 A. IR B. PSW C. PC C 满分:2 分 5. 一个进程从内存中换出到外存时,该进程被称作为() A. 被阻塞 B. 被终止 C. 唤醒 D. 被挂起 D 满分:2 分 6. 在分页存储管理系统中,从页号到物理块号的地址映射是通过()实现的 A. 段表 B. 页表 C. PCB D. JCB B 满分:2 分 7. 在UNIX系统进程调度中,当计算的进程优先数越大时其优先级将() A. 越大 B. 越小 B B 满分:2 分 8. 在文件管理中,使用链式结构可以实现()

A. 磁盘驱动控制 B. 磁盘空间分配与回收 C. 文件目录查找 D. 页面置换 B 满分:2 分 9. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 10. 当为一个新创建的进程分配资源和建立了PCB后,进程将进入() A. 运行态 B. 阻塞态 C. 就绪态 D. 退出态 C 满分:2 分 11. 在系统中增加cache可以缓解()之间的速度不匹配性。 A. 硬盘与内存 B. 内存与处理器 C. 内存与I/O设备 D. 硬盘与I/O设备 B 满分:2 分 12. 中断管理程序不包括下列哪项功能 A. 确定发生中断的特性 B. 将控制权切换到处理程序 C. 执行具体的处理过程 D. 将控制权切换到原执行程序 C 满分:2 分 13. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 14. 下列分区管理的分配算法中,分配与释放时间性能最好的是() A. 最先匹配法 B. 最佳匹配法 C. 下次匹配法 D. 最坏匹配法 A 满分:2 分 15. 在下列的文件物理存储结构中最不便于进行文件扩充的结构是() A. 散列文件 B. 链接文件

操作系统原理试题

操作系统原理试题 一. 名词解释题 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即可执行, 这时进程处于_____状态.

浙大远程-操作系统原理第三次离线作业(第4、5章)

操作系统原理 第三次作业(第4、5章)-1 问答题 1.用户在使用配置UNIX/Linux 操作系统的计算机时不能将用户软盘随便插进和拿出,试从UNIX/Linux子文件系统的使用原理说明它需要一定的操作的依据和操作的步骤。 UNIX系统只有一个安装UNIX操作系统的根设备的文件系统常驻系统,在硬盘上的其它盘区和软盘上的文件系统被安装前UNIX OS不知道,系统要使用其它文件系统,必须先用mount命令将其安装到系统,被安装的子文件系统的根安装到根设备树形目录的某一节点上。 子文件系统在安装时将该子系统的管理块(superblock)和有关目录信息拷贝到系统缓冲区和活动索引节点表,管理块中存放该子文件系统所对应盘区的管理信息,如即将分配的空闲块号和空闲索引节点号等。 子文件系统安装后进行文件读写增删,文件创建和删除等操作,其变化要记录在系统缓冲区中管理块和活动索引节点表中。 子文件系统使用完毕后要使用umount拆卸命令拆卸安装上去的文件系统,在拆卸时系统将内存系统缓冲区中的管理块和活动索引节点表信息拷贝到将拆卸的子文件系统盘中,保证信息的完整性。 软盘的子文件系统,它需按规定使用,步骤如下: (1)插入软盘 (2)使用安装命令安装软盘文件系统 (3)读/写盘中文件 (4)使用拆卸命令拆卸软盘文件系统 (5)取出软盘如使用软盘时随便插进和拿出软盘,就可能造成软盘信息的丢失 2. 什么是文件共享?试述UNIX系统中文件共享的实现方法和命令的使用。 文件共享是允许不同的用户使用不同的名字名存取同一文件。 UNIX的文件共享方式有二种: (1)基于索引节点的共享方式--文件硬连接UNIX系统将文件控制块FCB中文件名和文件说明分开。文件说明为索引节点,各文件索引节点集中存放在索引节点区。而文件名与索引节点号构成目录,同一级目录构成目录文件,在文件区存放。为了共享文件,只是在二个不同子目录下取了不同的文件名,但它们具有相同的索引节点号。在文件的索引节点中有一个量di_nlink表示连接到该索引节点上的连接数;使用命令“ln”可给一已存在文件增加一

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