当前位置:文档之家› 操作系统实验六设备管理

操作系统实验六设备管理

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

操作系统课程报告

实验六设备管理

学号

姓名

班级

教师

华侨大学电子工程系

实验目的

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

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

实验内容与基本要求

1、在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:

建立设备类表和设备表、分配设备和回收设备的函数。

实验报告内容

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

为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。

(1)数据结构

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

当进程申请某类设备时,系统先查“设备类表”如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未

分配”的设备分配给进程。分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。

(3)设备回收

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

2、程序流程图。

主程序流程图:

设备分配:

设备回收:

3、程序及注释。

#include

#include

#include

#define false 0

#define true 1

#define n 4 /*宏定义,用于修改设备类型数目*/

#define m 10 /*宏定义,用于修改设备数目*/

struct /*该结构体用于定义设备类表各信息*/

{ char type[10]; /*设备类型名*/ int count; /*拥有的设备总台数*/

int remain; /*现存的可用设备台数*/

int address; /*该类设备在设备表中的起始地址*/

}

equiptype[n]; /*系统设备类型为n*/ struct /*该结构体用于定义设备表各信息*/

{

int number; /*设备绝对编号*/ int lnumber; /*设备相对编号*/ int status; /*设备好坏状态*/ int remain; /*设备是否已被分配*/

char jobname[4]; /*占有设备的作业名*/

}

equipment[m]; /*系统设备数为m*/ /**********************子函数:作业设备分配*****************************/

allocate(char *J,char *type,int cc)

{

int i,t,j;

i=0;

while(i

i++;

if(i>=n) /*若没有找到欲申请设备*/

{

printf("没有找到欲分配的设备,分配失败!");

return(false);

}

if(equiptype[i].remain<1) /*欲申请设备现存可用台数不足*/

{

printf("该类设备数量不足,分配失败!");

return(false);

}

t=equiptype[i].address; /* 取出该类设备在设备表中的起始地址赋给t*/

while(!(equipment[t].status==1 && equipment[t].remain==0)) t++; /*该设备类型起始地址加一*/

equiptype[i].remain--; /*剩余设备数减一*/

equipment[t].remain=1; /*状态改为已分配*/

strcpy(equipment[t].jobname,J); /*strcpy为字符串拷贝函数,把J 中的字符串拷贝到equipment[t].jobname中*/

equipment[t].lnumber=cc; /*设备相对号写入cc*/

}

/**********************子函数:作业设备回收*****************************/

reclaim(char *J,char *type)

{

int i,t,j,k,nn;

i=0;

while(i

i++;

if(i>=n) /*若没有找到该类设备*/

{

printf("无该类设备,设备回收失败!");

return(false);

}

t=equiptype[i].address; /*取出该类设备在设备表中的起始地址赋给t*/

j=equiptype[i].count; /*取出该类设备的数量赋给j*/

k=0;

nn=t+j;

for(;t

if(strcmp(equipment[t].jobname,J)==0&&equipment[t].remain==1) /*若占用某个设备的作业与欲回收的作业相同且状态为已分配*/

{

equipment[t].remain=0; /*则将其状态改为未分配*/

k++; /*回收设备计数*/

}

equiptype[i].remain= equiptype[i].remain+k; /*该

类设备剩余设备数加k*/

if(k==0) /*若回收设

备计数值k为0,*/

printf("本作业没有占用这类资源!/n");

}

/**********************主函数*****************************/ void main( )

{

char J[4];

int i,mm,a;

char type[10];

printf("设备类初始化\n ");

for(i=0;i<4;i++) /*输入设备类表初

始信息*/

{

printf("请输入相应设备名称:");

scanf("%s",&equiptype[i].type);

printf("请输入相应设备的数量:");

scanf("%d",&equiptype[i].count);

printf("请输入当前空闲设备数量:");

scanf("%d",&equiptype[i].remain);

printf("请输入设备表起始地址:");

scanf("%d",&equiptype[i].address);

}

for(i=0;i<10;i++) /*初始化设备表*/ {

equipment[i].number=i;

equipment[i].status=1;

equipment[i].remain=0;

}

while(1)

{

printf("\n0-退出,1-分配,2-回收,3-显示"); /*功能选择界面*/

printf("\n请选择功能(0-3):");

scanf("%d",&a);

switch(a)

{

case 0 : /*a=0程序结束*/

exit(0);

case 1 : /*a=1分配设备*/

printf("请输入作业名、作业所需设备类型和设备相对号\n");

scanf("%s%s%d",J,type,&mm);

allocate(J,type,mm); /*分配设备*/

break;

case 2: /*a=2回收设备*/

printf("请输入作业名和作业归还的设备类\n");

scanf("%s%s",J,type); /*输入要回收的作业名及对应的设备类*/

reclaim(J,type); /*回收设备*/

break;

case 3: /*a=3 输出设备类表和设备表的内容*/

printf("输出设备类表!\n"); /*输出设备类表内容*/

printf(" 设备类型设备总量空闲好设备起始地址\n");

for(i=0;i

printf("%9s%16d%22d%14d\n",equiptype[i].type,equiptype[i].count,equ iptype[i].remain,equiptype[i].address);

printf("输出设备表:\n"); /*输出设备表内容*/

printf("绝对号好/坏已/未分配占用作业名相对号\n");

for(i=0;i

printf("%3d%11d%15d%15s%9d\n",equipment[i].number,equipment[i].stat us,equipment[i].remain,equipment[i].jobname,equipment[i].lnumber);

}

}

}

4、运行结果以及结论。

初始化输入:

设备分配:

设备回收:

可见在设备b回收j1后,设备b的‘已/未分配’变为了0.

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

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

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

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

实验室仪器设备的管理程序.doc

仪器设备管理程序 1.0 目录 1.0 目录 2.0 目的 3.0 适用范围 4.0 职责 5.0 控制程序 5.1 设备的购置 5.2 设备的验收 5.3 设备的存放与使用 5.4 设备的管理 5.5 设备的维护与维修 5.6 仪器设备及标准品的报废 5.7 设备记录及档案管理 6.0 定义 7.0 相关文件 8.0 记录表格 2.0 目的 对设备的使用和维护明确管理要求并严格实施,保障检测结果准确、可靠。 3.0 适用范围 适用于雅培贸易(上海)有限公司研发分公司所有检测设备(包括辅助设备,下同)的管理。4.0 职责 4.1 技术负责人负责本程序的归口管理; 4.2 检测室负责检测设备的采购、更新、报废申请的提出;技术负责人负责申请的技术审核; 质量负责人负责停用、降级、封存申请的批准;主任负责采购和报废申请的批准; 4.3 设备管理员负责检测设备周期检定/校准/维护保养计划的制订与组织实施;检测室负责期 间核查计划的制定;技术负责人负责计划的审核;主任负责计划的批准;

4.4 设备管理员负责检测设备校准计划的实施和证书的确认,负责设备档案及相关记录的保 存;负责设备变更申请的提出,技术负责人负责申请的审核;质量负责人负责申请的批 准。 5.0 控制程序 5.1 设备的购置 5.1.1 检测中心根据自身的试验需要,合理配备开展样品检测(包括样品制备、环境 控制和数据处理与分析)所需的全部设备。保证检测中心的所有重要和关键设 备都是自有设备,拥有设备的所有权和使用权。各检测室提出技术规范的要求 (包括名称、型号、生产单位、不确定度及购置理由),技术负责人组织对拟 购仪器设备的技术指标、性能进行评审、论证,提出评审意见,报主任批准。 5.1.2 获得批准后,由采购联系供应商,索取合同书,检测室确定技术指标、运输、 安装、调试要求、质量验收标准及验收程序等,最后由采购部负责与供应商签 订合同、退货或更换。 5.2 设备的验收 5.2.1 技术负责人组织相关人员对新购置的仪器设备进行开箱验收,必要时通知供货 商参加,按仪器使用说明书或装箱单检查有无缺件或损坏。 5.2.2 根据合同规定,技术负责人组织供货商、技术人员及设备管理员对仪器进行安 装、调试、测试,设备管理员安排进行检定/校准,当确认仪器设备符合规定 的技术条件后,相关人员要做好验收记录。 5.3 设备的存放与使用 5.3.1 分析检测中心所有投用设备均以标签、唯一性编码的标识方式来表明其校准状 态,包括上次校准日期、有效期、指定维护人等信息。检测员必须经过培训, 熟练掌握仪器设备的性能和操作程序,方允许开机操作。严格遵守设备操作规 程或设备使用说明等规定。主要设备由经技术负责人授权的人员操作,设备最 新版本的操作说明书或作业指导书都应使设备操作人员易于取得。 5.3.2 当防护措施需配置设施或有区域隔离、房屋设计等方面的要求,或检测设备的 储存和使用有环境条件要求时,设备负责人要提出配置申请,由技术负责人组 织实施。对易引起误操作或对测量结果可能产生影响的操作过程,技术负责人 要组织编写详细的设备操作规程。 5.3.3 检测中心对关键设备和对检测结果有影响的设备都应制定校准计划,并按时执 行,保障设备有利于实验室试验活动的进行。检测员在开展检测工作前,要先

操作系统原理-进程调度实验报告

一、实验目的 通过对进程调度算法的设计,深入理解进程调度的原理。 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。 进程通过定义一个进程控制块的数据结构(PCB)来表示;每个进程需要赋予进程ID、进程到达时间、进程需要运行的总时间的属性;在RR中,以1为时间片单位;运行时,输入若干个进程序列,按照时间片输出其执行序列。 二、实验环境 VC++6.0 三、实验内容 实现短进程优先调度算法(SPF)和时间片轮转调度算法(RR) [提示]: (1) 先来先服务(FCFS)调度算法 原理:每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。 将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短。 按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,CPU繁忙型作业,不利于短进程,排队时间相对过长。 (2) 时间片轮转调度算法RR

原理:时间片轮转法主要用于进程调度。采用此算法的系统,其程序就绪队列往往按进程到达的时间来排序。进程调度按一定时间片(q)轮番运行各个进程. 进程按到达时间在就绪队列中排队,调度程序每次把CPU分配给就绪队列首进程使用一个时间片,运行完一个时间片释放CPU,排到就绪队列末尾参加下一轮调度,CPU分配给就绪队列的首进程。 固定时间片轮转法: 1 所有就绪进程按 FCFS 规则排队。 2 处理机总是分配给就绪队列的队首进程。 3 如果运行的进程用完时间片,则系统就把该进程送回就绪队列的队尾,重新排队。 4 因等待某事件而阻塞的进程送到阻塞队列。 5 系统把被唤醒的进程送到就绪队列的队尾。 可变时间片轮转法: 1 进程状态的转换方法同固定时间片轮转法。 2 响应时间固定,时间片的长短依据进程数量的多少由T = N × ( q + t )给出的关系调整。 3 根据进程优先级的高低进一步调整时间片,优先级越高的进程,分配的时间片越长。 多就绪队列轮转法: (3) 算法类型 (4)模拟程序可由两部分组成,先来先服务(FCFS)调度算法,时间片轮转。流程图如下:

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

操作系统实验 名称实验六设备管理 姓名 专业 学号 日期 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.仪器设备及其配套工具均应指定专人负责,在仪器设备初次使用前,责任人应根据使用说明书要求,制订出简明扼要的安全技术操作规程。 2.为保证实验和生产工作的顺利进行,应加强仪器设备的日常维护保养工作,力求使仪器设备处于完好状态。 3.实验人员使用仪器时必须经责任人允许并严格按照仪器操作使用规定进行操作,必须严格执行仪器设备运行记录制度,记录仪器运行状况及时间,仪器出现故障时应及时向负责人员反映。 4.仪器设备出现故障时因由责任人查明情况并上报相关领导。如因操作者违反仪器设备操作规程、工作不认真、工作失职造成仪器设备及器具损坏者,根据定损情况及造成的影响,赔偿仪器设备损坏价值的10-50%,并承担因操作不当造成除损坏仪器设备以外的其他损失。 5.责任人定期对仪器设备及配套工具进行检查维护,对检查维护情况进行如实记录并及时向上级领导反映。 6.实验室仪器设备因故障需要维修的,应及时填写设备申请维修单申请维修,并注明导致故障的原因。

7.实验完成时,要按各仪器规定要求关闭电源,离开实验室时要确保所有仪器电源全部关闭,小型仪器应归于原位。 8.公司仪器设备不允许外借,因仪器负责人管理不严,造成仪器设备丢失,根据定损结果按照实物原有价值的1-100%进行赔偿。各实验室之间如需相互借用仪器的,应填写借用仪器登记表,并经操作培训后方可使用该仪器设备。归还仪器时,仪器设备责任人应及时检查仪器设备性能,确保仪器设备性能完好。否则因无法确定损坏者或损坏原因,保管员应根据仪器设备的损坏情况,照价赔偿损失。 9.若责任人因故需变动时必须依照登记表做好交接工作并做好交接登记。 10.各实验室将属于本实验室的仪器设备进行汇总,于10月15日前将仪器设备清单及各仪器设备的责任人名单按要求填报后交行政部,并于10月30日前将各仪器设备的安全技术操作规程上报。 11.行政部每半年对实验室所有仪器设备进行检查,仪器设备各项指标均正常、性能稳定、无维修记录且管理符合要求的,实验室主管绩效加3分,责任人加2分。如单个仪器设备半年维修超过2次、3个以上仪器设备在半年内进行了1000元以上的维修、5个以上仪器设备在半年内进行了1000元以下的维修,该实验室所属部门的部门主管扣绩效总分的3分,仪器设备的责任人根据具体情况扣绩效。同时,要结合实际分析仪器设备损坏和故障的原因,确保不再发生类似故障。 ××××有限公司

操作系统原理实验-系统内存使用统计5

上海电力学院 计算机操作系统原理 实验报告 题目:动态链接库的建立与调用 院系:计算机科学与技术学院 专业年级:信息安全2010级 学生姓名:李鑫学号:20103277 同组姓名:无 2012年11 月28 日上海电力学院

实验报告 课程名称计算机操作系统原理实验项目线程的同步 姓名李鑫学号20103277 班级2010251班专业信息安全 同组人姓名无指导教师姓名徐曼实验日期2012/11/28 实验目的和要求: (l)了解Windows内存管理机制,理解页式存储管理技术。 (2)熟悉Windows内存管理基本数据结构。 (3)掌握Windows内存管理基本API的使用。 实验原理与内容 使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。 实验平台与要求 能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟空间使用情况,会使用VirtualAlloc()函数和VirtualFree()函数分配和释放虚拟存储空间。 操作系统:Windows 2000或Windows XP 实验平台:Visual Studio C++ 6.0 实验步骤与记录 1、启动安装好的Visual C++ 6.0。 2、选择File->New,新建Win32 Console Application程序, 由于内存分配、释放及系统存储 空间使用情况均是Microsoft Windows操作系统的系统调用,因此选择An application that support MFC。单击确定按钮,完成本次创建。 3、创建一个支持MFC的工程,单击完成。

实验室设备管理系统

实验室设备管理系统 第一章系统概述 1.1系统开发背景 一个现代化的实验室设备系统在正常运行中总是面对大量的使用者,仪器以及两者相互作用产生的借用仪器。人工管理既浪费人力物力财力,又容易导致各种错误的发生。为了方便实验室管理,得开发一个更好更高效的软件来管理。实验室管理系统,是为了实现实验室管理而设计的,它也是现在各个部门的一个重要环节。 实验室是所有高校、研究机构必不可少的基本构成单位。特别是高校,实验室的设备管理需要一套稳定、高效的管理办法。就我校情况看来,目前我校的实验室设备管理还处于较原始的手工阶段,缺少一套实用可靠的管理系统软件。随着电气化教学和无纸化办公的一步步完善,利用计算机管理系统管理我校的实验室设备势在必行。因此,本项目拟开发一个实验室设备管理系统。 本系统将建立一个实验室设备管理平台,记录实验室所有的实验设备,并及时反应设备的运转状况,使用情况,以供本科生和研究生及其他试验人员合理的安排实验,达到工作效率的最优。 1.2项目设计基本原理 软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理也方法去进行软件开发和维护的学科。软件工程学研究的范围非常广泛,包括技术方法、工具和管理等许多方面。软件生命周期的各个阶段可分为:采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件的生存期,它是指从提出开发要求开始直到该软件报废为止的整个时期。分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变的容易控制和管理。基于此思想,本系统开发实际可行的软件,方便毕业时信息的管理。

1.3数据库系统设计及范式分析 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是; 1数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP (负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有的联机分析处理CLAP(指为支持决策的制度对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的,有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。 2数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、效验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程序应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 3存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。 4数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 5数据字典设计:用数据字典描述数据库的设计,便于维护和修改。

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

如何做好实验室仪器设备的管理

如何做好实验室检测仪器设备管理 实验室的仪器设备直接用于提供检测结果或辅助检测的进行,是实验室的重要资产,也是重要检验工具,对保证检测结果的准确可靠起到至关重要的作用。 现从以下几个方面阐述检验仪器设备的管理: 一、仪器设备的购置 需要购置仪器首先提出申请,报有关领导批准。调查供应商的资质、信誉、质量保证能力,了解产品的技术性能指标和使用情况,并建立供应商档案。 二、仪器设备的验收 按订货合同核对所到货物正确无误,仪器设备的合格证、使用说明书、维修保养手册、系统软件和备件清单齐全。根据仪器性能指标说明书制定相应的方法,按标准操作规程进行单机或系统进行实验,证明该仪器设备各项技术参数能达到规定要求。并保留测试的原始记录。三.仪器设备的建档 仪器设备档案的基本内容如下:①仪器设备登记表,包括仪器的名称、制造商的名称、仪器型号、出厂编号、存放地点、生产日期、实验室使用日期;②随机技术文件,包括合格证、说明书、装箱单;③验收

记录、仪器设备检定/校准合格证书、使用记录,维护保养记录,损坏、故障及维修情况和报废单等。 四、仪器设备的状态标识 仪器设备应有明显的标识表明其“检定/校准”状态,使仪器的状态一目了然,便于管理。状态标识一般分为以下几种:①绿色标识,表明仪器设备具有正式计量检定合格证书和校准合格报告,处于正常使用状态。②黄色标识,表明仪器设备某些功能已经丧失,但检测工作所用功能正常,且经校准合格,处于使用状态。③红色标识,表明仪器设备已经损坏或经校准不合格,处于停用状态。 五.仪器设备的量值溯源 凡是属于强制检定范围的仪器设备,都应由指定的检定/校准机构进行检定,检定/校准合格后方可使用。对于易变动、漂移率大,环境要求较为严格或使用较为频聚的仪器设备需考虑进行期间核查,通过期间核查,一旦发现产生偏离,要及时采取维修维护等措施,以保证检测数据的准确性。期间核查的方法,一般可利用考核盲样、标准物质验证或加标回收的方法进行。对数据进行分析和评价,达到要求便可使用。期间核查的时间,在两个周期检定日中间和出现可疑数据情况时进行期间核查,以确定仪器设备状态是否正常,核查人员应做好详细记录。经过期间核查证明仪器设备有问题的必须进一步分析,如确定其性能不合格,仪器出现故障,应贴上停用标识,尽快对仪器进

操作系统实验六设备管理

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

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

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

实验室设备管理系统(完版)

目录 第一章系统概述 (1) 1.1系统开发背景及意义 (1) 1.1.1 系统开发的背景 (1) 1.1.2 系统开发的意义 (1) 1.2开发策略 (2) 1.3可行性研究 (2) 1.3.1技术可行性 (2) 1.3.2经济可行性 (2) 1.3.3操作可行性 (3) 1.3.4社会因素可行性 (3) 1.3.5可行性研究结论 (3) 第二章系统分析 (4) 2.1系统性能需求分析 (4) 2.2问题分析与解决 (4) 2.3功能分析 (5) 2.3.1数据的输入 (5) 2.3.2数据的查询 (5) 2.3.3数据的更新 (5) 2.3.4数据的管理 (5) 2.3.5系统安全性 (5) 2.4系统调查 (5) 2.4.1 系统流程 (5) 2.5功能模块概述 (7) 2.5.1 设备基本信息管理 (7) 2.5.2 系统管理 (8) 2.6数据字典 (9)

第三章系统设计 (16) 3.1系统开发及运行环境 (16) 3.2系统功能结构图 (16) 3.3代码设计 (17) 3.4系统概念设计 (17) 3.4.1 实体描述 (17) 3.4.2系统E-R图 (18) 3.5关系模式 (18) 3.6输出输入设计 (19) 3.6.1输出设计 (19) 3.6.2输入设计 (19) 个人总结 (20) 参考文献 (21)

第一章系统概述 1.1系统开发背景及意义 1.1.1 系统开发的背景 一个现代化的实验室设备系统在正常运行中总是面对大量的使用者,仪器以及两者相互作用产生的借用仪器。人工管理既浪费人力物力财力,又容易导致各种错误的发生。为了方便实验室管理,得开发一个更好更高效的软件来管理。实验室管理系统,是为了实现实验室管理而设计的,它也是现在各个部门的一个重要环节。 实验室是所有高校、研究机构必不可少的基本构成单位。特别是高校,实验室的设备管理需要一套稳定、高效的管理办法。就我校情况看来,目前我校的实验室设备管理还处于较原始的手工阶段,缺少一套实用可靠的管理系统软件。随着电气化教学和无纸化办公的一步步完善,利用计算机管理系统管理我校的实验室设备势在必行。因此,本项目拟开发一个实验室设备管理系统。 本系统将建立一个实验室设备管理平台,记录实验室所有的实验设备,并及时反应设备的运转状况,使用情况,以供本科生和研究生及其他试验人员合理的安排实验,达到工作效率的最优。 1.1.2 系统开发的意义 因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。存档以后档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

————————————————————————————————作者:————————————————————————————————日期:

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

实验六设备管理

.. 操作系统实验 实验六设备管理 学号1115102002 姓名蔡凤武 班级电子A班 华侨大学电子工程系

实验目的 1、理解设备管理的概念和任务。 2、掌握独占设备的分配、回收等主要算法的原理并编程实现。 实验内容与基本要求 在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。 实验报告内容 1、独占设备的分配、回收等主要算法的原理。 2、程序流程图。 3、程序及注释。 4、运行结果以及结论。 独占设备的主要算法的原理 为了提高操作系统的可适应性和扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。 设备分配: 1)当进程申请某类设备时,系统先查“设备类表”。 2) 如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。 3)分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。

4)然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 设备回收: 作业运行完成,释放设备时,系统首先要查看设备表,比较每一项,找到占用作业名与运行完作业的作业名相同的栏目,将这一栏的“已/未分配”设置为“未分配”,然后将设备表中对应设备类的可使用数量增加1. 初始化设备类表 流程图

源程序 #include #include #include #define false 0 #define true 1 #define n 4 #define m 10 struct { char type[10]; /*设备类名*/ int count; /*拥有设备台数*/ int remain; /*现存的可用设备台数*/ int address; /*该类设备在设备表中的起始地址*/ }equiptype[n]; /*设备类表定义,假定系统有n个设备类型*/ struct { int number; /*设备绝对号*/ int status; /*设备好坏状态*/ int remain; /*设备是否已分配*/ char jobname[4];/*占有设备的作业名*/ int lnumber; /*设备相对号*/ }equipment[m]; /*设备表定义,假定系统有m个设备*/ //allocate(J,type,mm) //char *J,*type;

操作系统原理实验五

实验五线程的同步 1、实验目的 (1)进一步掌握Windows系统环境下线程的创建与撤销。 (2)熟悉Windows系统提供的线程同步API。 (3)使用Windows系统提供的线程同步API解决实际问题。 2、实验准备知识:相关API函数介绍 ①等待对象 等待对象(wait functions)函数包括等待一个对象(WaitForSingleObject ())和等待多个对象(WaitForMultipleObject())两个API函数。 1)等待一个对象 WaitForSingleObject()用于等待一个对象。它等待的对象可以为以下对象 之一。 ·Change ontification:变化通知。 ·Console input: 控制台输入。 ·Event:事件。 ·Job:作业。 ·Mutex:互斥信号量。 ·Process:进程。 ·Semaphore:计数信号量。 ·Thread:线程。 ·Waitable timer:定时器。 原型: DWORD WaitForSingleObject( HANDLE hHandle, // 对象句柄 DWORD dwMilliseconds // 等待时间 ); 参数说明: (1)hHandle:等待对象的对象句柄。该对象句柄必须为SYNCHRONIZE访问。 (2)dwMilliseconds:等待时间,单位为ms。若该值为0,函数在测试对象的状态后立即返回,若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒,如表2-1所示。 返回值: 如果成功返回,其返回值说明是何种事件导致函数返回。

Static HANDLE hHandlel = NULL; DWORD dRes; dRes = WaitForSingleObject(hHandlel,10); //等待对象的句柄为hHandlel,等待时间为10ms 2)等待对个对象 WaitForMultiple()bject()在指定时间内等待多个对象,它等待的对象与 WaitForSingleObject()相同。 原型: DWORD WaitForMultipleObjects( DWORD nCount, //句柄数组中的句柄数 CONST HANDLE * lpHandles, //指向对象句柄数组的指针 BOOL fWaitAll, //等待类型 DWORD dwMilliseconds //等待时间 ); 参数说明: (1)nCount:由指针 * lpHandles指定的句柄数组中的句柄数,最大数是MAXIMUM WAIT OBJECTS。 (2)* lpHandles:指向对象句柄数组的指针。 (3)fWaitAll:等待类型。若为TRUE,当由lpHandles数组指定的所有对象被唤醒时函数返回;若为FALSE,当由lpHandles数组指定的某一个 对象被唤醒时函数返回,且由返回值说明是由于哪个对象引起的函数 返回。 (4)dwMilliseconds:等待时间,单位为ms。若该值为0,函数测试对象的状态后立即返回;若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒。 返回值:、 如果成功返回,其返回值说明是何种事件导致函数返回。 各参数的描述如表2-2所示。

实验设备管理系统程序报告(DOC 51页)

实验设备管理系统程序报告(DOC 51页)

目录 一、需求与功能分析 第二章概要设计 (5) 2.1总体设计 5 2.2面向对象设计 5 2.3运行界面设计 6 第三章详细设计 (7) 3.1 系统设计与实现 (7) 3.2 模块设计 (8) 第四章测试分析 (10) 第五章课程设计总结 (10) 附录:程序代码(仅电子版需要、纸质版不需要)..................................................................................

一、需求与功能分析 1.1需求 为了方便管理校内各种实验设备,能够翻遍快捷的录入查询各个实验设备的基本信息而编写了此程序 实验设备管理系统设计 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 1.2主要功能: 1、能够完成对设备的录入和修改。 2、对设备进行分类统计。 4、设备的破损耗费和遗损处理。 4、设备的查询。 1.3功能需求 1、可实现管理员登陆管理系统,游客查询系统。 2、对实验设备类型的管理。 3、对实验设备各项信息的录入和修改。 4、对实验设备的分类查询统计。 5、对实验设备的遗损处理 二、概要设计 2.1总体设计 程序总体共分为4个类: 1、菜单类 2、设备类型类 3、设备类 4、管理员类

由主函数主持整体运行,由菜单类调用其它三类 2.1 面向对象设计 1.设备类型类:(见图2) void shuru(); //设备类型的输入 void tianjia(); //设备类型的添加 void shanchu(); //设备类型的删除 void show(); //设备类型的输出显示 void xieru(); //设备类型的写入 void duqu(); //设备类型的读取 2.设备类: nfom* write() //设备的创建写入(见图3) Infom* load() //从文档中读取数据(见图4) void acquire(Infom* head) //分类查询数据(见图5) void acquire2(Infom* head) //查询全部数据(见图5) void acqu(char choose) //分类查询的内容支持(见图5) void add() //添加新内容(见图6) void undo(Infom* head) //删除(见图7)

实验室设备日常管理规定

实验室设备日常管理规 定 LEKIBM standardization office【IBM5AB- LEKIBMK08- LEKIBM2C】

实验室设备仪器日常管理制度 1总则 目的:为加强实验室设备、仪器的管理,正确、安全地使用和维护设备,特制定本制度。 适用范围:本制度可用来指导实验人员开展设备操作、使用、检查、维修、保养等工作。 2设备使用规定 设备使用前,其操作人员应在设备管理员的安排下接受培训,培训由厂家技术人员或有熟悉设备使用的员工进行现场操作讲解,对培训进行登记确认。 操作人员应熟练操作设备,清楚设备日常保养知识和安全操作知识,并进行基本的保养和维护、维修,认真填写设备的维护和运行记录。 机器设备发生故障操作人员无法解决时应报告有关负责人员解决处理。 设备使用人员要严格按操作规程工作,认真遵守交接班制度,准确填写规定的各项运行记录。 操作人员、机修人员在维修设备时,未经领导批准,不准拆卸或配用其他的机器零件和工具。 对不遵守操作规程或玩忽职守,使设备受到损失者,应酌情给予经济处罚。 3设备检修和技术改造

在日常工作中,使用部门无法排除的故障,可以反应给设备管理部申请设备管理检修。 检修后的设备使用前,需要有使用部门负责人的签名认可。 设备的技术改造可纳入检修计划一并执行。 4设备日常维护管理 设备操作人员要严格遵守设备的操作规程和日常维护制度,并认真填写设备维护记录。 设备管理员要定期进行部位检测、性能检测,保证设备经常处于良好的工作状态并做好日常巡检。 对库存、备用或因任务不足需要封存一段时间的设备要定期清洁、查点,进行防尘、防锈、防潮等方面的维护。 巡检任务的承担。设备使用操作人员负责对本岗位使用的设备进行巡检,设备管理员负责对重点设备的巡检任务。

《操作系统原理实验》试卷A及答案

《中山大学授予学士学位工作细则》第六条 考试作弊不授予学士学位 计算机科学系2012第二学期 《操作系统原理实验》期末考试试题(A) 任课教师:李才伟考试形式:开卷考试时间:2小时年级:11 班别:3 专业:计科姓名:________ 学号:___ _ 成绩___ _ 注意:答案一定要写在答卷中,写在本试题卷中不给分。本试卷要和答卷一起交回。 一.填空题(每小题2分,共30分) 1.在我们的操作系统实验中,C与汇编语言混合编程的操作系统环境为___,其所用的虚拟机为___。2.测试用软盘映像文件的大小为___MB,使用的文件系统格式为___。 3.Intel 80386新增加的两个段寄存器分别为___和___。 4.Intel处理器实模式下的中断向量表包含___个中断向量,每个中断向量有___位。 5.Linux中挂载磁盘映像的命令为___,C语言的编译器为___。 6.将程序的入口安排在指定位置的汇编操作符为___、LD的链接选项为___。 7.ELF的英文原文是___,中文译文为___。 8.在FAT的文件条目中,普通文件和子目录的文件属性值分别为___和___。 9.在IA-32的保护模式下,分段用于___,分页用于___。 10.IA-32处理器的4个系统地址寄存器分别为___。 11.IA-32中的描述符和选择符大小分别为___位和___位。 12.TSS的主要功用为___,TSS描述符只能位于___描述符表中。 13.控制保护模式的寄存器为___,激活保护标志位于其___位。 14.IA-32的三种特权级类型分别为___、___和___。 15.在Make文件中,$@ 和$< 分别表示___和___。 二.问答题(每小题5分,共30分) 1.在实模式下的进程调度中是如何实现堆栈切换的? 2.IA-32的保护模式相比实模式的主要优点有哪些? 3.给出IA-32保护模式下的段寄存器的内容、组成和功用。 4.给出GDT和LDT的英文原文和中文译文,它们有哪些主要功用和区别? 5.启动分页机制的主要步骤有哪些? 6.给出IA-32段页式保护模式下(采用4KB页面大小与两级分页方式的)逻辑地址和线性地址的构成及转 换成物理地址的方法。

操作系统原理实验2+岳青山+0907052247

《操作系统原理》实验报告 实验序号:2 实验项目名称: Windows 基本进程管理 1、实验目的 通过观察任务管理器,来观察各个进程的动态信息。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 ·任务管理器,了解用户计算机上正在运行的程序和进程的相关信息。 ·Windows环境中的编程。 相关内容参见本次实验参考资料部分。 4、基本实验 1)观察任务管理器 步骤一:进入WindowsXP。 步骤二:按Ctrl+Alt+Delete(或按Ctrl+Shift+Esc)键都可以调出任务管理器。 步骤三:单击“查看”→“选择列”选项,可以看到一些选项, 这里,可以查看每个进程的PID,CPU使用时间,内存的使用情况,当前的进程是系统的还是用户的,每个句柄的数量,每个进程的优先级,等等。 步骤四:单击“性能”标签,在所示的“性能”选项卡中可以看到CPU的使用情况、内存的使用情况。 2)通过命令观察进程情况、 步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。 步骤二:输入tasklist。 步骤三:继续输入tasklist/?来寻找帮助,里面有更详细的解释。 3)通过命令来关闭一个进程 步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。 步骤二:输入tasklist后回车执行。 步骤三:继续输入taskkill/PID 208/T 5、实验编程 进行一个简单的Windows的图形用户接口(GUI)编程。 步骤一:进入WindowsXP。 步骤二:进入Microsoft Visual Studio C++6.0。 步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++Source File,选择路径(如D:\1.cpp),并命名为1.cpp。 步骤四:将下面的程序源代码输入。 步骤五:单击Windows系统的“开始”→“运行”选项,输入cmd。

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