操作系统实验 设备管理

操作系统实验 设备管理
操作系统实验 设备管理

操作系统实验

名称实验六设备管理

姓名

专业

学号

日期 2015年12月01日指导老师

一、实验目的

1.理解设备管理的概念和任务。

2.掌握独占设备的分配、回收等主要算法的原理并编程实现。

二、实验内容与要求

1.在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。

三、实验原理

1.独占设备的分配、回收等主要算法的原理。

为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。

为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。

(1)数据结构

操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下

设备类表设备表

控制器表通道表

设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首指针指向队首PCB。在有的系统中还设置了队尾指针。

设备状态。当设备自身正处于使用状态时,应将设备的忙/闲标志置“1”。若与该设备相连接的控制器或通道正忙,也不能启动该设备,此时则应将设备的等待标志置“1”。

与设备连接的控制器表指针。该指针指向该设备所连接的控制器的控制表。在设备到主机之间具有多条通路的情况下,一个设备将与多个控制器相连接。此时,在DCT中还应设置多个控制器表指针。

(2)设备分配

1)当进程申请某类设备时,系统先查“设备类表”。

2)如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。

3)分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。

4)然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。

(3)设备回收

当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。

设备分配程序的改进

增加设备的独立性:为了获得设备的独立性,进程应使用逻辑设备名I/O。这样,系统首先从SDT中找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上,而只要有一个该类设备可用,系统便进一歩计算分配该设备的安全性。

四、程序流程图

设备独立性

五、实验程序

#include

using namespace std;

//数据结构

typedef struct node

{

char name[10];

char devname[10];

struct node *next;

}PCB;//进程

PCB * run;//执行队列

//

typedef struct Node

{

char identify[10];//标识

int state;//设备状态

PCB *blocking;//阻塞队列指针}CHCT;//通道控制表

CHCT * CH1, * CH2;//设置两个通道为ch1,ch2

//

typedef struct NOde

{

char identify[10];//标识

int state;//设备状态

CHCT * chct;//CHCT

PCB *blocking;//阻塞队列指针

struct NOde *next;

}COCT;//控制器控制表

COCT * cohead;

typedef struct NODe

{

char identify[10];//标识

char type;//设备类型

int state;//设备状态

int times;//重复执行次数

PCB *blocking;//阻塞队列指针

COCT * coct;//COCT

}DCT;//设备控制表

typedef struct NODE

{

char type;//类别

char identify[10];//标识

DCT * dct;//DCT设备控制表

//驱动入口地址

struct NODE *next;

}SDT;

//系统设备表

SDT * head;

SDT * checkdel;

void Init()

{

PCB * ch1block,* ch2block,* co1block,* co2block,* co3block,* d1block,* d2block,* d3block,* d4block;//进程控制块

COCT * CO1,* CO2,* CO3;

DCT *d1,*d2,*d3,*d4;

SDT *s1,*s2,*s3,*s4;

//=================================================

run=(PCB *)malloc(sizeof(PCB));

run->next=NULL;

CH1=(CHCT *)malloc(sizeof(CHCT));

CH2=(CHCT *)malloc(sizeof(CHCT));

strcpy(CH1->identify,"ch1");

strcpy(CH2->identify,"ch2");

CH1->state=0;

CH2->state=0;

ch1block=(PCB *)malloc(sizeof(PCB));

ch1block->next=NULL;

ch2block=(PCB *)malloc(sizeof(PCB));

ch2block->next=NULL;

CH1->blocking=ch1block;

CH2->blocking=ch2block;

cohead=(COCT *)malloc(sizeof(COCT));

cohead->next=NULL;

CO1=(COCT *)malloc(sizeof(COCT));

cohead->next=CO1;

CO1->next=NULL;

CO2=(COCT *)malloc(sizeof(COCT));

CO1->next=CO2;

CO2->next=NULL;

CO3=(COCT *)malloc(sizeof(COCT));

CO2->next=CO3;

CO3->next=NULL;

CO1->state=0;

CO2->state=0;

CO3->state=0;

co1block=(PCB *)malloc(sizeof(PCB));

co1block->next=NULL;

co2block=(PCB *)malloc(sizeof(PCB));

co2block->next=NULL;

co3block=(PCB *)malloc(sizeof(PCB));

co3block->next=NULL;

strcpy(CO1->identify,"co1");

strcpy(CO2->identify,"co2");

strcpy(CO3->identify,"co3");

CO1->chct=CH1;

CO2->chct=CH1;

CO3->chct=CH2;

CO1->blocking=co1block;

CO2->blocking=co2block;

CO3->blocking=co3block;

//===================================================== d1block=(PCB *)malloc(sizeof(PCB));

d2block=(PCB *)malloc(sizeof(PCB));

d3block=(PCB *)malloc(sizeof(PCB));

d4block=(PCB *)malloc(sizeof(PCB));

d1block->next=NULL;

d2block->next=NULL;

d3block->next=NULL;

d4block->next=NULL;

d1=(DCT *)malloc(sizeof(DCT));

strcpy(d1->identify,"P");//p表示打印机设备d2=(DCT *)malloc(sizeof(DCT));

strcpy(d2->identify,"T");//t表示显示器设备d3=(DCT *)malloc(sizeof(DCT));

strcpy(d3->identify,"K");//k表示键盘设备d4=(DCT *)malloc(sizeof(DCT));

strcpy(d4->identify,"M");//m表示鼠标设备d1->coct=CO1; //控制器

d2->coct=CO2;

d3->coct=CO3;

d4->coct=CO3;

d1->state=0;//状态

d2->state=0;

d3->state=0;

d4->state=0;

d1->type='o';//o表示输出设备output

d2->type='o';

d3->type='i';//i表示输入设备

d4->type='i';

d1->blocking=d1block;

d2->blocking=d2block;

d3->blocking=d3block;

d4->blocking=d4block;

//================================

head=(SDT *)malloc(sizeof(SDT));

head->next=NULL;

s1=(SDT *)malloc(sizeof(SDT));

s2=(SDT *)malloc(sizeof(SDT));

s3=(SDT *)malloc(sizeof(SDT));

s4=(SDT *)malloc(sizeof(SDT));

head->next=s1;

s1->next=s2;

s2->next=s3;

s3->next=s4;

s4->next=NULL;

s1->dct=d1;

s2->dct=d2;

s3->dct=d3;

s4->dct=d4;

strcpy(s1->identify,"P");

strcpy(s2->identify,"T");

strcpy(s3->identify,"K");

strcpy(s4->identify,"M");

s1->type='o';

s2->type='o';

s3->type='i';

s4->type='i';

//test

SDT *temp=head->next;

}

//============================================ //添加设备时候,添加新控制器,把控制器加到最后void Addcotrol (COCT *temp)//添加控制器函数{

COCT *cotemp=cohead;

while(cotemp->next!=NULL)

{

cotemp=cotemp->next;

}

cotemp->next=temp;

temp->next=NULL;

}

//查看所有控制器,选择所要连接的控制器

void Showallco()

{

COCT *temp=cohead->next;

while(temp!=NULL)

{

cout<identify<<" ";

temp=temp->next;

}

cout<

}

//查找要连接的控制器

COCT * Findco(char a[])

{

COCT * temp=cohead->next;

while(temp!=NULL)

{

if(!strcmp(temp->identify,a))

{

return temp;

}

temp=temp->next;

}

return temp;

}

//删除设备时候,判断是不是同时删除控制器,等于1删,0不删

int sf_deleteco(char a[],char b[])

{

SDT *temp;

temp=head->next;

while(temp!=NULL)

{

if((strcmp(temp->identify,a))&&((!strcmp(temp->dct->coct->identify,b)))) {

return 0;

}

temp=temp->next;

}

return 1;

}

//删除设备的时候同时删除控制器

void Deletecotrol(COCT *te)

{

COCT * temp=cohead;

while(temp->next!=te)

{

temp=temp->next;

}

temp->next=te->next;

delete(te);

}

//添加设备,查找设备是不是已经存在

int sf_exist(char a[])

{

SDT *temp;

if(head->next==NULL)

{

return 0;

}

else

{

temp=head->next;

while(temp!=NULL)

{

if(!strcmp(a,temp->identify))

{

checkdel=temp;

return 1;

}

temp=temp->next;

}

return 0;

}

}

//申请设备时候,如果忙,将设备挂到等待队列void Addwaitpcb(PCB * p1,PCB * p2)

{

PCB *temp=p1;

while(temp->next!=NULL)

{

temp=temp->next;

}

temp->next=p2;

p2->next=NULL;

}

//回收设备时候,对PCB的操作

void Deletepcb(char a[])

{

PCB * temp2=run->next,* temp=run;

while(temp2!=NULL)

{

if(!strcmp(temp2->devname,a))

{

temp->next=temp2->next;

delete(temp2);

break;

}

temp=temp2;

temp2=temp->next;

}

}

//判断等待队列是不是空

int sf_pcbnull(PCB *temp)

{

if(temp->next==NULL)

{

return 0;

}

else return 1;

}

//查看所有设备状态

void Showmenu()

{

PCB * ptemp=run->next;

SDT * temp=head->next;

DCT * dtemp;

COCT * cotemp;

CHCT * chtemp;

cout<<"SDT"<<" i/o"<<" COCT"<<" CHCT"<

while(temp!=NULL)

{

dtemp=temp->dct;

cotemp=dtemp->coct;

chtemp=cotemp->chct;

cout<identify<<"["<state<<"]"<<"\t"<type<<"\t"<identify<<"["<state<<"]"<<"

\t"<identify<<"["<state<<"]"<

temp=temp->next;

}

while(ptemp!=NULL)

{

cout<<"进程"<name<<"申请了设备"<devname<

ptemp=ptemp->next;

}

cout<

}

//设备独立性时候查找要查找的类型是不是存在

int sf_typeexist(char ch)

{

SDT *temp;

if(head->next==NULL)

{

return 0;

}

else

{

temp=head->next;

while(temp!=NULL)

{

if(temp->type==ch)

{

return 1;

}

else temp=temp->next;

}

}

return 0;

}

//增加设备

void Adddevice()

{

cout<<"增加设备"<

SDT * stemp,* s2temp;

COCT *cotemp;

DCT *temp;

char temptype;

PCB *tempblock,* cotempblock;

char choice;

char eqary[10],coary[10];

cin>>eqary;

//此处查找SDT,看是否所要添加的设备已经存在if(sf_exist(eqary)==1)

{//设备已经存在

cout<<"设备已存在"<

}

else

{//设备不存在

tempblock=(PCB *)malloc(sizeof(PCB));

tempblock->next=NULL;

temp=(DCT *)malloc(sizeof(DCT));

strcpy(temp->identify,eqary);

temp->blocking=tempblock;

temp->state=0;

cout<<"输入设备类型"<

cin>>temptype;

temp->type=temptype;

stemp=(SDT *)malloc(sizeof(SDT));

stemp->next=NULL;

stemp->dct=temp;

stemp->type=temptype;

strcpy(stemp->identify,eqary);

s2temp=head;

while(s2temp->next!=NULL)

{

s2temp=s2temp->next;

}

s2temp->next=stemp;

stemp->next=NULL;

cout<<"是否添加控制器?(y/n)"<

cin>>choice;

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

{ //添加新控制器

cout<<"输入控制器名称:"<

cin>>coary;

cotempblock=(PCB *)malloc(sizeof(PCB));

cotempblock->next=NULL;

cotemp=(COCT *)malloc(sizeof(COCT));

cotemp->next=NULL;

strcpy(cotemp->identify,coary);

cotemp->state=0;

cotemp->blocking=cotempblock;

Addcotrol(cotemp);

temp->coct=cotemp;

cout<<"请选择连接的通道:1/2"<

int i;

cin>>i;

if(i==1)

{

cotemp->chct=CH1;

}

else

{

cotemp->chct=CH2;

}

}

else

{//不添加控制器

Showallco();

cout<<"输入连接控制器的名称:"<

cin>>coary;

cotemp=Findco(coary);

temp->coct=cotemp;

}

cout<<"设备"<

}

}

//删除设备

void Deletedevice()

{//删除设备的时候同时删除pcb Deletepcb

cout<<"删除设备"<

COCT * temp;

SDT * stemp;

char chary[10];

char tempary[10];

cin>>chary;

if(sf_exist(chary)==0)

{

cout<<"删除设备不存在!"<

}

else if(checkdel->dct->state==1)

{

cout<<"设备正在使用无法删除"<

}

else

{//sf_deleteco();

Deletepcb(chary);

strcpy(tempary,checkdel->dct->coct->identify);

if(sf_deleteco(chary,tempary))

{//删除控制器

temp=checkdel->dct->coct;

Deletecotrol(temp);

}

stemp=head;

while(stemp->next!=checkdel)

{

stemp=stemp->next;

}

stemp->next=checkdel->next;

delete(checkdel);

cout<<"设备"<

}

}

//申请设备

void Applydevice()

{

cout<<"申请设备"<

PCB *ptemp;

DCT *dtemp;

COCT *cotemp;

CHCT *chtemp;

char pname[10],eqname[10];

cin>>pname>>eqname;

if(sf_exist(eqname)==0)

{

cout<<"设备不存在!"<

}

else

{//checkdel(对应要申请设备的指针)

ptemp=(PCB *)malloc(sizeof(PCB));

strcpy(ptemp->name,pname);

ptemp->next=NULL;

dtemp=checkdel->dct;

//====================此处是否要考虑状态的改变========================

if(dtemp->state==1)

{//设备忙

Addwaitpcb(dtemp->blocking,ptemp);

cout<<"进程"<name<<"被挂在设备"<identify<<"的等待队列上!"<

}

else

{//设备不忙

cotemp=dtemp->coct;

if(cotemp->state==1)

{//控制器忙

Addwaitpcb(cotemp->blocking,ptemp);

cout<<"进程"<name<<"被挂在控制器"<identify<<"的等待队列上!"<

}

else

{//控制器不忙

chtemp=cotemp->chct;

if(chtemp->state==1)

{//通道忙

Addwaitpcb(chtemp->blocking,ptemp);

cout<<"进程"<name<<"被挂在通道

"<identify<<"的等待队列上!"<

}

else

{//通道不忙

Addwaitpcb(run,ptemp);

dtemp->state=1;

cotemp->state=1;

chtemp->state=1;

strcpy(ptemp->devname,eqname);

cout<<"进程"<

}

}

}

}

//回收设备

void Recycledevice()

{

cout<<"回收设备"<

// char ch;

char eqname[10];

DCT *dtemp;

COCT *cotemp;

CHCT *chtemp;

PCB *pctemp1,*pctemp2;

cin>>eqname;

if(sf_exist(eqname)==0)

{//设备不存在

cout<<"要回收的设备不存在!"<

}

else if(checkdel->dct->state==0)

{//设备存在,但是不需要回收

cout<<"设备处于闲状态,不需要回收!"<

}

else

{//需要回收

Deletepcb(eqname);//

dtemp=checkdel->dct;

cotemp=dtemp->coct;

chtemp=cotemp->chct;

dtemp->state=0;

cotemp->state=0;

chtemp->state=0;

if(sf_pcbnull(chtemp->blocking))

{//如果通道等待队列不空

pctemp1=chtemp->blocking;

pctemp2=pctemp1->next;

pctemp1->next=pctemp2->next;

pctemp2->next=NULL;

strcpy(pctemp2->devname,eqname);

Addwaitpcb(run,pctemp2);

dtemp->state=1;

cotemp->state=1;

chtemp->state=1;

}

else

if(sf_pcbnull(cotemp->blocking))

{//如果控制器的等待队列不空

pctemp1=cotemp->blocking;

pctemp2=pctemp1->next;

pctemp1->next=pctemp2->next;

pctemp2->next=NULL;

strcpy(pctemp2->devname,eqname);

Addwaitpcb(run,pctemp2);

dtemp->state=1;

cotemp->state=1;

chtemp->state=1;

}

else

{

if(sf_pcbnull(dtemp->blocking))

{//如果设备的等待队列不空

pctemp1=dtemp->blocking;

pctemp2=pctemp1->next;

pctemp1->next=pctemp2->next;

pctemp2->next=NULL;

strcpy(pctemp2->devname,eqname);

Addwaitpcb(run,pctemp2);

dtemp->state=1;

cotemp->state=1;

chtemp->state=1;

}

}

}

cout<<"设备"<

}

}

//设备独立性=======

void Independence()

{

cout<<"设备独立性--申请设备:"<

//cout<<"申请设备"<

char type;

char pname[10];

SDT * temp,* temp2;

PCB *ptemp;

DCT *dtemp;

COCT *cotemp;

CHCT *chtemp;

设备管理系统数据库

设备管理系统数据库 设备管理系统是一个以计算机网络技术为基础的进行设备信息数据监管的综合设备管理系统。它联结各个生产、管理和决策部门的设备管理,为企业的设备信息管理建立一个集中的共享数据库,实现设备管理的一体化数据采集、传输和处理,能够使各种点检、维修、备件、资材计划及维修合同预算等自动生成,用以完善各种标准,随时掌握设备的状态,实行有效的经济的维修,保持和改善设备的工作性能,减少故障,延长零部件的使用寿命,提高设备的功能投入率和精度保持率! 设备管理系统运行环境: 数据库服务器:PVI3000/1G/4x36G/1000/100M/15"; WEB服务器:PVI3000/2G/2x36G/1000/100M/15"; PC终端:PIII700/128K/10G/100/10M/15",WIN98/2000; 数据库平台:ORACLE、SQLSERVER、SYBASE等大型数据库; 服务器操作系统:WIN2000SERVER; 开发平台:TIB(DELPHI) 企业在生产、运营、试验等活动中所使用的机械、设施、仪器以及机具等设备资源需要持续、高效管理,在设备全程管理中,企业设备

管理重点在于设备信息化管理;维保计划的制定、执行与指挥调度;设备使用的可追溯型、设备运行与检修的实时掌控;设备维修费用的控制与管理;备件采购、消耗等过程跟踪管理……针对这些管理环节,设备管理系统软件能够提供安全、可靠、高质量、易扩展的行业解决方案,满足客户设备管理快速发展的业务需求,帮助企业运用技术、经济等手段管好、用好、修好、改造好设备,促进设备信息化管理改革、保证设备质量、降低设备故障率和事故率、节能降耗,并对企业设备管理提供决策支持,从而提高企业经济效益和社会效益! 设备管理系统根据企业的设备标准、参数(如设备种类、品牌、配置、规格、型号等),以及企业资金预算制定设备采购计划,同时按照企业设备标准和各种参数(如用途、基本要求、质量标准等)进行评定,并基于审批意见系统自动提交上报设备采购计划。设备管理系统根据设备统计数据、状态,自动制定各种设备管理计划,如:设备维修计划、设备保养计划、设备更新计划,使生产设备保持最佳使用状态,进而提高生产效率。 该软件是一个企业最重要的资源之一。其包括在企业运营的方方面面当中,是企业内部信息管理系统的一个有机组成部分,是促成各生产部门间相互连接、合作的纽带。无论是生产设备、仪器设备、网络设备等等,以及关于这些设备的选择、购买、使用、维修、更新、改造,都是企业各个部门、各个运营环节必不可少的部分。许多企业设

操作系统原理知识知识点复习,梁光祥

目录 第一章操作系统概论 (2) 1.1操作系统概念 (2) 1.2操纵系统的主要功能 (2) 1.3操作系统的基本特征 (3) 1.4操作系统的逻辑结构和运行模型 (3) 1.5操作系统的形成与发展 (3) 1.6操作系统主要类型 (3) 第二章进程管理 (4) 2.1.进程概念 (4) (4) 2.2.进程控制 (5) 2.3.进程互斥与同步 (5) 2.4.进程通信 (5) 2.5.线程 (5) 第三章处理器调度与死锁 (6) 3.1.处理器调度 (6) 3.2.死锁 (7) 第四章存储管理 (8) 4.1.程序的链接和装入 (8) 4.2.分区式存储管理 (8) 4.3.分页式存储管理 (8) 4.4.分段式存储管理 (9) 4.5.段页式存储管理 (9) 4.6.虚拟存储管理 (10) 第五章设备管理 (11) 5.1.输入输出系统 (11) 5.2.输入输出控制方式 (11) 5.3.缓冲技术 (14) 5.4.分配策略: (14) 5.5.输入输出软件 (14) 5.6.虚拟设备 (14) 5.7.磁盘存储管理 (14) 第六章文件管理 (15) 6.1.概述 (15) 6.2文件数据的组织和存储 (15) 6.3.文件目录 (15) 6.4.文件储存空间管理 (16)

第一章操作系统概论1.1操作系统概念 1.配备操作系统的目的 1)方便人们使用计算机 2)有效管理计算机 2.操作系统的目标 1)有效地管理计算机的硬件和软件资源 2)提高系统效率 3)具有可扩充性 4)具有开放性 5)具有可靠性 6)具有可移植性 1.2操纵系统的主要功能 1.处理器管理功能 1)进程控制 2)进程同步 3)进程通信 4)调度 2.存储管理功能 1)内存的分配与回收 2)内存保护 3)地址映射 4)内存扩充 5)内存共享 3.设备管理功能 1)缓冲管理 2)设备分配与回收 3)设备驱动 4)实现设备独立性 5)实现虚拟设备 4.文件管理功能 1)文件的存储空间管理 2)目录管理 3)文件的读写管理 4)文件保护 5.网络功能 1)网络资源管理 2)网络通信管理

《实用操作系统》实验报告五linux设备管理

《实用操作系统》实验报告 实验报告: 5 实验项目名称:设备管理 班级:学号:姓名: 地点:时间:2013 年11 月13 日 一、实验内容 1、添加硬盘,创建二个主分区、一个扩展分区,二个逻辑分区 注意:ide、scsi 提示:分区、格式化、挂载(fdisk,mkfs,mount) 2、查看常见的设备文件有哪些?(ls /dev ) 常见的设备文件:/dev/hd* IDE接口的硬盘(IDE接口的设备) /dev/sd* SCSI/USB设备/dev/cua* 串口设备/dev/lp* 并口设备/dev/tty* 终端设备/dev/consol 控制台设备/dev/eth* 以太网设备/dev/cdrom IDE光驱/dev/fd* 软驱/dev/audio 音频设备/dev/scd SCSI的光驱/dev/ppp PPP设备/dev/isdn* ISDN设备 3、挂载光盘,查看光盘内容创建挂载点要求:以本人姓名缩写为目录mkdir / 目录/设备挂载mount 空格源设备空格挂载点 4、显示管理System-config-display 5、声卡管理System-config-soundcard 6、打印机管理System-config-printer 7、网卡管理System-config-network 二、实验步骤及结果 1.添加硬盘,创建分区; 在启动虚拟机前,在工具栏中点击“虚拟机”,找到“设置”选项,在左面的硬件中找到硬盘,进行硬盘设备添加,这里有IDE和SCSI两种硬盘类型可供选择添加。完成硬盘添加后即可启动虚拟机进入linux系统。在这我添加了容量相同的硬盘设备类型各一;

操作系统习题1(含答案)

计算机操作系统试题 一填空: 1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。2.主存储器与外围设备之间的数据传送控制方式有程序直接控制、中断驱动方式、DMA方式和通道控制方式。 3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。 5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。 6.文件的逻辑结构分流式文件和记录式文件二种。 7.进程由程度、数据和PCB组成。 8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。9.操作系统是运行在计算机裸机系统上的最基本的系统软件。 10.虚拟设备是指采用SPOOLING技术,将某个独享设备改进为供多个用户使用的的共享设备。 11.文件系统中,用于文件的描述和控制并与文件一一对应的是文件控制块。 12.段式管理中,以段为单位,每段分配一个连续区。由于各段长度不同,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。 13.逻辑设备表(LUT)的主要功能是实现设备独立性。 14在采用请求分页式存储管理的系统中,地址变换过程可能会因为缺页和越界等原因而产生中断。 16. 段的共享是通过共享段表实现的。 17.文件的物理结构分为顺序文件、索引文件和索引顺序文件。 18.所谓设备控制器,是一块能控制一台或多台外围设备与CPU并行工作的硬件。 19. UNIX的文件系统空闲空间的管理是采用成组链接法。 20分页管理储管理方式能使存储碎片尽可能少,而且使内存利用率较高,管理开销小。 20.计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。 21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 22.按文件的逻辑存储结构分,文件分为有结构文件,又称为记录式文件和无结构文件,又称流式文件。 23.主存储器与外围设备之间的信息传送操作称为输入输出操作。 24、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 25、常用的内存管理方法有分区管理、页式管理、段式管理和段页式管理。 26、动态存储分配时,要靠硬件地址变换机构实现重定位。 27、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。 28、在请求页式管理中,当硬件变换机构发现所需的页不在内存时,产生缺页中断信号,中断处理程序作相应的处理。 29、置换算法是在内存中没有空闲页面时被调用的,它的目的是选出一个被淘汰的页面。如果内存中有足够的空闲页面存放所调入的页,则不必使用置换算法。

操作系统概论复习大纲

操作系统概论自学考试大纲 第一章引论 (一)内容简介 本章介绍了学习操作系统必须先掌握的一些基础知识,包括以下几部分内容: 1.计算机系统 2.操作系统 3.操作系统的形成和操作系统的基本类型 4.操作系统的发展 5.处理器的工作状态 6.操作系统与用户的接口 (二)学习的目的与要求 了解操作系统在计算机系统中的作用;各类操作系统的特点;用户与操作系统的关系;处理器的工作状态和系统功能调用的作用。 重点是:操作系统在计算机系统中的作用;各类操作系统的特点;程序状态字的作用;系统功能调用。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题。 名词解释:操作系统、嵌入式操作系统、特权指令 问答题: 1. 计算机系统由哪些部分组成? 2. 从资源管理的观点看,操作系统有哪些功能? 3. 各类操作系统的特点? 4. 操作系统为什么要提供“系统功能调用”? 第二章处理器管理 (一)课程内容 本章介绍了操作系统中处理器管理部分的实现,包括以下几部分内容: 1.多道程序设计 2.进程的概念 3.进程控制块 4.进程队列 5.中断与中断处理 6.处理器调度 7.线程的概念 (二)学习目的与要求 通过本章学习应该掌握多道程序设计时如何提高计算机系统效率的;进程和程序有什么区别;进程的基本状态以及状态的变化;处理器调度策略;中断的作用。

重点是:多道程序设计,进程,处理器调度。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题,综合题。 名词解释:多道程序设计,进程,中断,线程 问答题: 1.进程有哪些基本状态,画出进程基本状态变化图。 2.进程控制块的作用和基本内容? 3.简述中断响应的过程。 4.设计调度算法的原则有哪些? 5.有哪些作业调度策略,其各自的特点是什么? 6.有哪些进程调度策略,其各自的特点是什么? 7.在分时系统中采用时间片轮转的调度策略有哪些优越性? 8.采用多线程技术有哪些优越性? 综合题(辅导时可以修改下时间) 1.在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现采用响应比最高者优先算法,忽略作业调度所需的时间。当第一个作业进入系统后就可开始调度。 (1)填充表中空白处 (2)四个作业的执行次序为__________________。 (3)四个作业的平均周转时间为__________________。 2.在某计算中心的一道单道程序设计系统中,有A、B、C三个作业在等待处理,它们到达系统的时间和估计需计算的时间如下表所示: 法调度时各自的等待时间和完成时间。

操作系统实验六_设备管理

操作系统课程报告实验六设备管理 学号 姓名 班级 教师 华侨大学电子工程系

实验目的 1、理解设备管理的概念和任务。 2、掌握独占设备的分配、回收等主要算法的原理并编程实现。 实验内容与基本要求 1、在Windows系统中,编写程序实现对独占设备的分配和回收的模拟, 该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。实验报告内容 1、独占设备的分配、回收等主要算法的原理。 为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。 (1)数据结构 操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下图: (2)设备分配 当进程申请某类设备时,系统先查“设备类表”如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。然后,

把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 (3)设备回收 当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。

操作系统设备管理练习及答案

设备管理练习题 (一)单项选得题 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.一次I/O操作的总时间 7 ( )调度算法总是从等待访问者中挑选时间最短的那个请求先执行。A.先来先服务B.最短寻找时间优先c.电梯D单向扫描 8.通道是一种( )。A.I/O设备B.设备控制器c.I/O处理机D.I/O控制器 9.操作系统设置( ),用来记录计算机系统所配置的独占设备类型、台数和分配情况A.设备分配表B.设备类表c设备表D.设备控制表 10.设备的独立性是指( )。A.设备具有独立执行I/O功能的一种特性B.用户程序使用的设备与实际使用哪台设备无关的一种特性c能独立实现设备共享的一种特性D.设备驱动程序独立于具体使用的物理设备的一种特性 11.( )总是从移动臂当前位置开始沿着臂的移动向去选择离当前移动臂最近的那个柱面的

访问者,若沿臂的移动向无请求访问时,就改变臂的移动向再选择。A.先来先服务调度算法B.最短寻找时间优先调度算法c.电梯调度算法D.单向扫描调度算法12.( )是用来存放通道程序首地址的主存固定单元。A.Psw(程序状态字) B.CcW(通道命令) c.CAw(通道地址字) D.CSW(通道状态字) 13.中央处理器执行用户提出的“请求启动外设”的要求时,会产生一个( )。A.程序性中断事件B.外部中断事件c.输入输出中断事件D.自愿性中断事件 14通道在发现csw中有控制器结束、设备结束、通道结束、设备故障或设备特殊情况时,会发出( )。A.硬件故障中断B外部中断c.输入输出中断D.自愿性中断15.虚拟设备是指( )。A允用户使用比系统中具有的物理设备更多的设备B.允用户以标准化式来使用物理设备c.把共享设备模拟独占设备D.允用户程序不必全部装入主存便可使用系统中的设备 16.SPOOL技术的主要目的是( )。A.提高cPu和设备交换信息的速度B.提高独占设备的利用率c.减轻用户的编程负担D.提供主、辅存接口 (二)填空题 1.操作系统中对外围设备的启动和控制工作由______完成。2.计算机的外围设备可分______和______两大类。3______能使大量的信息存放到相应的存储介质上,能作为主存储器的扩充。4.______能把外界的信息输入到计算机系统,或把计算结果输出。5.主存储器与外围设备之间的信息传送操作称为______。6.对存储型设备,输入输出的信息传输单位为______;对输入输出型设备,输入输出操作的信息传输单位为______。7.只能让一个作业独占使用的设备称为______。8.可以让几个作业同时使用的设备称为______。9.用共享设备来模拟独占设备的工作.把独占设备改造成可共享的,这种模拟的独占设备称为______。10.计算机系统为每台设备确定一个编号,以便区分和识别,这个确定的编号成为设备的

操作系统概论重点整理2017(2017年张琼声版)

操作系统概论-02323(2017年张琼声版本) 第1章操作系统简介 1.1什么是操作系统 (1)操作系统概念: 操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。 操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。 接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。 (2)操作系统完成的两个目标: 1)与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务; 2)为运行在计算机系统上的应用程序(即用户程序)提供执行环境。 现代计算机特点是支持多任务,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能。 (3)操作系统的功能: 处理机管理、内存管理、设备管理、文件管理。 1.2操作系统的发展 1)无操作系统 2)单道批处理系统 3)多道程序系统(多道批处理系统、分时系统) 4)微机操作系统 5)实时操作系统 6)嵌入式操作系统 7)物联网操作系统 1.2.1无操作系统阶段: 电子管,无存储设备,第一台:1946年宾夕法尼亚大学的「埃尼阿克」 单道批处理系统: 晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。 吞吐量是指单位时间内计算机系统处理的作业量

1.2.2单道批处理系统 特点:自动性、顺序性、单道性。 优点:减少了等待人工操作的时间 缺点:CPU资源不能得到有效的利用。 1.2.3多道程序系统 多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。 特点:多道性、无序性、调度性、复杂性。 优点:能够使CPU和内存IO资源得到充分利用,提高系统的吞吐量。 缺点:系统平均周转时间长,缺乏交互能力。 1.2.4微机操作系统: 第一台Intel公司顾问GaryKildall 编写的CP/M系统,是一台磁盘操作系统,用于Intel8080. 1.2.5操作系统特点 (1)分时系统: 特点:多路性、及时性、交互性、独立性。 优点:提供了人机交互,可以使用户通过不同终端分享主机。 缺点:不能及时接收及时处理用户命令。 (2)实时操作系统(用户实时控制和实时信息处理): 实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。 特点:多路性、独立性、及时性、交互性、可靠性。 在实时系统中,往往采取多级容错措施来保证系统安全和数据安全。 (3)操作系统产品: 1)主机操作系统(批处理、事务处理(银行支票处理或航班预订)、分时处理) 2)微机操作系统 3)服务器操作系统 4)嵌入式操作系统(物联网操作系统) 1.3操作系统的特征 现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。 (1)并发: 指两个或多个事件在同一时间间隔内发生; (2)共享:指系统中的资源可供内存中多个并发执行的进程共同使用。 资源共享两种方式:互斥共享,同时共享; (3)虚拟:指通过某种技术把一个物理实体变成若干逻辑上的对应物;

操作系统实验七设备管理实验(广西师大)

操作系统课程实验 年级2012级 专业计算机科学与技术(应用型)姓名 学号 指导教师黄玲 日期2013年12月26日

实验七、设备管理实验 一、关键问题 1、实验目的 观察Linux下U盘的访问;理解设备虚拟分配技术。 2、实验环境 Ubuntu8.0或者以上,Eclipse集成开发环境 3、实验内容 3.1观察Linux下的U盘访问 从键盘获得符号串,写入磁盘文件,然后读取该文件。 3.2设备管理模拟实验要求:设计一个SPOOLing输入模拟系统。提示:输入井设计成结构体数组,每块存放一个输入文件内容。三个用户进程与一个后台输入进程并发执行,后台输入进程接受用户键盘输入的文件到输入井,每个用户进程从输入井获取输入数据。 老师所给的例子为为利用内存SPOOLing输入模拟系统,而问题的关键就是如何参考spoolout()设计spoolin()以及修改用户进程usepro()和输入#进程spoolsever()。 二、设计修改思路 spoolout()进程:键入要输入的用户id,如果用户输入文件未完成则键入文件内容,将文件内容mybuf发到输入井。 spoolsever()输入#进程:登记输入请求块,将缓冲区mybuf的数据送入输入井well。若成功送入,返回TRUE,否则返回FALSE。 usepro()用户进程:遍历输入请求块如找到该用户的输入请求,将输入请求块的数据送入用户缓冲区userbuf,并在屏幕输出userbuf。 三、实现修改的关键代码 #include #define WELLSIZE500//输入井的大小 #define FALSE0 #define TRUE1 //进程控制块 struct { int id;//进程标识数 char status;//进程状态,'e'为执行态,'c'为完成态。 int bufflag;//用户缓冲区userbuf空闲标志:FALSE为无数据,TRUE为有数据。 int filec;//本进程需要输出的文件数(用户指定) }pcb[4];//pcb[0]为SPOOLing进程,pcb[1]、pcb[2]、pcb[3]为3个用户进程

操作系统实验 设备管理汇总

操作系统实验 名称实验六设备管理 姓名 专业 学号 日期 2015年12月01日指导老师

一、实验目的 1.理解设备管理的概念和任务。 2.掌握独占设备的分配、回收等主要算法的原理并编程实现。 二、实验内容与要求 1.在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。 三、实验原理 1.独占设备的分配、回收等主要算法的原理。 为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。 为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。 (1)数据结构 操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下 设备类表设备表 控制器表通道表 设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首指针指向队首PCB。在有的系统中还设置了队尾指针。 设备状态。当设备自身正处于使用状态时,应将设备的忙/闲标志置“1”。若与该设备相连接的控制器或通道正忙,也不能启动该设备,此时则应将设备的等待标志置“1”。

与设备连接的控制器表指针。该指针指向该设备所连接的控制器的控制表。在设备到主机之间具有多条通路的情况下,一个设备将与多个控制器相连接。此时,在DCT中还应设置多个控制器表指针。 (2)设备分配 1)当进程申请某类设备时,系统先查“设备类表”。 2)如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。 3)分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。 4)然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 (3)设备回收 当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。 设备分配程序的改进 增加设备的独立性:为了获得设备的独立性,进程应使用逻辑设备名I/O。这样,系统首先从SDT中找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上,而只要有一个该类设备可用,系统便进一歩计算分配该设备的安全性。 四、程序流程图

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

操作系统练习题 第一章引言 (一单项选择题 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.用户要求计算机系统中进行处理的一个计算机问题称为_______。

设备管理系统毕业设计(设计与代码实现)1

目录 前言――――――――――――――――――――――― 摘要――――――――――――――――――――――― 第一章系统需求分析 第二章系统设计 2.1系统方案确定 2.2系统功能实现 第三章怎样开发一个人事工资管理系统? 3.1 编程环境的选择 3.2 关系型数据库的实现 3.3 二者的结合(DBA) 第四章 Visual basic下的控件所实现的功能 4.1实现菜单选项 4.2 实现工具栏 4.3 帮助 第五章系统总体规划 5.1 系统功能 5.2 流程图 第六章系统具体实现 6.1 用户界面的实现 6.2 数据库的实现 第七章结束语 第八章主要参考文献 第九章程序源代码、各功能模块的程序流程图 --------------前言-------------- 设备管理信息系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者

来说都至关重要,所以设备管理信息系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理设备的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。本论文主要介绍的是设备管理信息系统的整个设计过程。 随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在固定管理系统亦是如此。以往设备员由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的便是一个设备管理信息系统,以方便在设备安排和设备管理信息上的工作任务。 该系统适用于普通设备的管理,在使用上力求操作容易,界面美观,另外,本系统具有较高的扩展性和可维护性,可能在以后需要的时候进行软件升级。 整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。 作为计算机应用的一部分,使用计算机对设备信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高设备管理信息的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 --------------摘要-------------- 设备管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成设备管理信息的全过程,包括每一物品,例如办公设备、家具、计算机及其他有价值的设备分配一个唯一的物品编码,并根据此编码在计算机中建立设备信息库,对设备的新增、领用、折旧等进行管理,使管理人员可对设备的流向进行跟踪,随时掌握设备的现状及公司雇员领用设备情况,减少设备丢失现象,解决查找、盘点困难等问题,提高管理人员的工作效率。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套设备管理信息系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 企业要想不断提高设备的使用效率,并且在预期的时间内收回所投资金和实现预期的投资收益,就要加强设备管理信息。设备管理信息的主要内容有: ?设备日常管理 ?设备使用效率管理 ?设备投资规模变动的边际收入与边际成本分析 ?设备折旧管理 论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。 关键字:Visual Basic6.0,控件、窗体、数据库,设备管理信息 第一章. 系统需求分析 1.1现行业务系统描述 设备管理信息对每个企业单位都是十分重要的工作,设备管理信息的好,可以使设备发挥最大效益,杜绝各种不良设备,反之则会造成生产资料利用率低下,甚至造成设备流失。 本管理系统是为适应于的设备管理信息而开发的软件。从设备使用的角度管理设备,协助学校建立一套完善的数据管理模型,提供全面数据的编辑、查询、系统管理等等功能,达到对设备科学管理的目

操作系统概论自考复习资料.doc

操作系统(operating system , OS)是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。它使整个计算机系统协调一致且有效地工作。通过本课程的学习,我们将知道操作系统要做什么、怎么做和为什么要这样做。 学习操作系统,首先我们应该知道操作系统的概念。本章主 要讲述了以下几个问题。 一、什么是操作系统 二、操作系统的形成 三、操作系统的类型 四、操作系统的功能 一、什么是操作系统 在回答这个问题之前,我们先来了解一下什么是计算机系统。计算机系统是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。 计算机系统由硬件系统和软件系统组成。软硬件系统的组成部分就是计算机系统的资源,当不同的用户使用计算机时都要占用系统资源并且有不同的控制需求。 操作系统就是计算机系统的一种系统软件,由它统一管理计算机系统的资源和控制程序的执行。 操作系统的设计目标一是使计算机系统使用方便。二是使得计算机系统能高效地工作。 二、操作系统的形成 早期没有操作系统→原始汇编系统→管理程序→操作系统可以看到,操作系统是随着计算机硬件的发展和应用需求的推动而形成的。 三、操作系统的类型

按照操作系统提供的服务,大致可以把操作系统分为以下几类: 批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统(加亮) 1、批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。 2、分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。分时系统的主要特点是同时性、独立性、及时性和交互性。 3、实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。它是较少有人为干预的监督和控制系统。实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。 4、网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows ,UNIX和Linux等操作系统都是网络操作系统。 5、分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。这使得各台计算机组成一个完整的,功能强大的计算机系统。 四、操作系统的功能 从资源管理的观点出发,操作系统功能可分为五大部分:处理器管理、存储管理、文件管理、设备管理和作业管理。 计算机系统是由硬件系统和软件系统两部分组成,操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个基本的了解,本章就是讲述计算机系统结构的基本知识。

操作系统-第七章 设备管理习题(有答案)

第七章设备管理习题 一. 选择最合适的答案 1.在下面的I/O控制方式中,需要CPU干预最少的方式是()。 (A)程序I/O方式 (B)中断驱动I/O控制方式 (C)直接存储器访问DMA控制方式 (D)I/O通道控制方式 2.某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100H Z,则,CPU的利用率为()。 (A)60% (B)70% (C)80% (D)90% 3.下列哪一条不是磁盘设备的特点()。 (A)传输速率较高,以数据块为传输单位 (B)一段时间内只允许一个用户(进程)访问 (C)I/O控制方式常采用DMA方式 (D)可以寻址,随机地读/写任意数据块 4.利用通道实现了()之间数据的快速传输。 (A)CPU和外设(B)内存和CPU (C)内存和外设(D)外设和外设 5.假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指()。 (A)共享设备(B)独占设备 (C)虚拟设备(D)物理设备 6.设从磁盘将一块数据传送到缓冲区所用时间为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用时间为30μs,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为()。 (A)120μs (B)110μs (C)150μs (D)70μs 7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。 (A)0.8ms,0.8ms (B)8ms,1ms (C)0.8ms,0.1ms (D)0.1ms,0.1ms 8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了()。

数据库设备管理系统

郑州轻工业学院本科 数据库课程设计总结报告 设计题目:设备管理系统 学生姓名:xx 、xx 系别:计算机与通信工程学院 专业:计算机科学与技术 班级:计算机科学与技术10~01 学号:xx 指导教师:张保威金松河 2012 年12月30 日

郑州轻工业学院 课程设计任务书 题目设备管理系统 专业、班级计算机科学与技术10-1 学号 xx 姓名 xx 学号 xx 姓名 xx 主要内容: 了解设备管理的基本流程,根据构思活出E---R图。根据所化E---R图,对相应的试题和关系建立表格,实现数据的初始化。用SQL建立数据库表,然后再用其他软件建立界面(如此设备管理系统用的是C#实现界面),将建立好的界面同数据库进行链接,实现对数据库的简单的增删改查。 E-R图思路: 部门向设备处申请所需设备的数量及类型,设备处产生采购清单递交给采购员。 采购员从供应商获得设备存放在设备存放处,设备管理员将设备分配到需要设备的各个部门,部门将设备分给员工进行使用。 在使用设备的过程中,如果设备在保修期限内出现质量问题部门向设备处申请,设备退回供应商;如果设备损坏,由部门向维修人员报修;若无维修价值,则申请报废。 基本要求: 立足于科技日益发达,自动化组不占据主要市场,要求学生根据自己所学的数据库知识,建立简单的数据库实现对设备管理的机械化,自动化。 1:能够数量掌握SQL; 2:能够运用其他辅助工具做图形界面。 3:能够实现对C#和数据库的链接。 4:作出的系统能够对数据库进行简单的增删改查。 5:通过机械化,自动化工具的使用,提高工作效率、准确率。 主要参考资料等: 《数据库系统概论》作者:王珊萨师煊出版社:高等教育出版社 《数据库系统概论》课堂课件。 完成期限:两周 指导教师签名: 课程负责人签名: 2012年 12月 30 日

实验10 操作系统设备管理

实验10 操作系统设备管理 一、按课本第139页【实例分析4-7】内容熟悉设备管理器界面。(若课本没带,打开我的电脑-右键-管理-设备管理-查看相应设备。)记录你使用的电脑的处理器、磁盘存储器等的型号分别是什么。二、学习如何在Microsoft Windows XP 中如何使用设备管理器管 理设备。 使用设备管理器管理设备 设备管理器提供一个图形视图,可显示计算机上安装的硬件以及与硬件关联的设备驱动程序和资源。在设备管理器上,可以集中更改配置硬件的方式以及更改硬件与计算机微处理器交互的方式。 使用设备管理器管理设备及其驱动程序需要拥有下列权限,系统管理员被授予了所有这些权限:?加载/卸载驱动程序权限。 ?向system32\drivers 目录复制文件所需的权限。 ?向注册表写入设置所需的权限。 设备管理器具有下列功能: ?确定计算机上的硬件是否工作正常。 ?更改硬件配置设置。 ?标识为每个设备加载的设备驱动程序,并获取每个设备驱动程序的有关信息。 ?更改设备的高级设置和属性。 ?安装更新的设备驱动程序。 ?禁用、启用和卸载设备。 ?重新安装驱动程序的前一版本。 ?找出设备冲突并手动配置资源设置。 ?打印计算机上所安装设备的概要信息。 通常,设备管理器用于检查计算机硬件的状态以及更新计算机上的设备驱动程序。如果您是高级用户并且通晓计算机硬件知识,则可以使用设备管理器的诊断功能来消除设备冲突和更改资源设置。 要访问设备管理器,请使用下列任一方法: ?单击开始,单击运行,然后键入devmgmt.msc。 ?右键单击我的电脑,单击管理,然后单击设备管理器。 ?右键单击我的电脑,单击属性,单击硬件选项卡,然后单击设备管理器。

操作系统实验六设备管理

操作系统课程报告 实验六设备管理 学号 姓名 班级 教师 华侨大学电子工程系

实验目的 1、理解设备管理的概念和任务。 2、掌握独占设备的分配、回收等主要算法的原理并编程实现。 实验内容与基本要求 1、在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括: 建立设备类表和设备表、分配设备和回收设备的函数。 实验报告内容 1、独占设备的分配、回收等主要算法的原理。 为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。 (1)数据结构 操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下图:(2)设备分配 当进程申请某类设备时,系统先查“设备类表”如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未

分配”的设备分配给进程。分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 (3)设备回收 当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。 2、程序流程图。 主程序流程图: 设备分配: 设备回收: 3、程序及注释。 #include #include #include #define false 0 #define true 1

相关文档
最新文档