当前位置:文档之家› 操作系统原理 实验一:进程调度实验报告书-模板

操作系统原理 实验一:进程调度实验报告书-模板

操作系统原理 实验一:进程调度实验报告书-模板
操作系统原理 实验一:进程调度实验报告书-模板

计算机科学系

实验报告书

课程名:《操作系统原理》

题目:进程调度

班级:

学号:

姓名:

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

一、目的与要求

1)进程是操作系统最重要的概念之一,进程调度是操作系统内核的重要功能,本实验要求用C 语言编写一个进程调度模拟程序,使用优先级或时间片轮转法实现进程调度。本实验可加深对进程调度算法的理解。

2)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)

3)于2012年10月22日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交)。

2 实验内容或题目

1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。

2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。

3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。

4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。

3 实验步骤与源程序

实验步骤:

1、理解本实验中关于两种调度算法的说明。

2、根据调度算法的说明,画出相应的程序流程图。

3、按照程序流程图,用C语言编程并实现。

源程序:

#include /*进程调度优先权法*/

#include

#include

#define null 0

struct PCB

{

int id;

int prior;

int used;

int need;

int run;

char status;

struct PCB * next;

};

main()

{

struct PCB *head,*rear,*temp,*run,*small,*p,*q;

int i,j,t;

printf("优先权进程调度算法\n\n 5个初始进程详细信息如下:\n\n");

printf("\t进程号\t优先级\tused\tneed\t状态\t下一PCB\n\n");

head=null;

rear=null;

for(i=1;i<=5;i++) { //动态生成含5个元素的队列temp=malloc(sizeof(struct PCB)); //动态分配一个PCB temp->id=i;

temp->prior=rand()%5;

temp->status='W';

temp->next=null;

if (head==null)

{

head=temp;

rear=head;

}

else

{

rear->next=temp;

rear=temp;

}

}

temp=head;

while(temp!=null)

{

printf("\t%d\t%d\t%c\t%d\n",temp->id,temp->prior,temp->status,temp->next);

temp=temp->next;

}

getchar(); //让程序停下来,可以查看结果。

while(head!=null)

{

run=head;

temp=head;

temp->used=temp->used+1;

temp->need=temp->need-1;

temp->prior=temp->prior-1;

temp->status='R';

head=head->next;

if (run->need!=0)

{

if (head!=null && run->priorprior)

{

temp=head->next;

}

else

{

head=run;

}

}

else

{

temp->status='F';

}

}

printf("所有进程均已运行结束!,程序退出\n\n");

}

4 测试数据与实验结果(可以抓图粘贴)

5 结果分析与实验体会

通过本次实验,加深了对进程调度算法的理解。明白了进程是操作系统最重要的概念之一。但在本次试验中,因为基础知识的不牢固,也出现很多问题,没有达到预期的效果。但在老师的指导下,代码逐渐完善,能够无差错并成功运行。

实验二--单处理器系统的进程调度

实验二单处理器系统的进程调度 (附实验报告) 1.实验目的 加深对进程概念的理解,明确进程和程序的区别; 深入了解系统如何组织进程、创建进程; 进一步认识如何实现处理器调度。 2.实验预备知识 进程的概念; 进程的组织方式; 进程的创建; 进程的调度。 3.实验内容

编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。实验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数对所作工作进程测试。 4.提示与讲解 这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。 考虑如何组织进程,首先就要设定进程控制块的内容。进程控制块PCB 记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少的信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: ①标识信息 每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。 ②说明信息

用于记录进程的基本情况,例如进程的状态、等待原因、进程程序存放位置、进程数据存放位置等等。实验中,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以这部分内容仅包括进程状态。 ③现场信息 现场信息记录各个寄存器的内容。当进程由于某种原因让出处理器时,需要将现场信息记录在进程控制块中,当进行进程调度时,从选中进程的进程控制块中读取现场信息进行现场恢复。现场信息就是处理器的相关寄存器内容,包括通用寄存器、程序计数器和程序状态字寄存器等。在实验中,可选取几个寄存器作为代表。用大写的全局变量AX、BX、CX、DX模拟通用寄存器、大写的全局变量PC模拟程序计数器、大写的全局变量PSW模拟程序状态字寄存器。 ④管理信息 管理信息记录进程管理和调度的信息。例如进程优先数、进程队列指针等。实验中,仅包括队列指针。 因此可将进程控制块结构定义如下: struct pcb {int name; int status;

电力系统调度自动化试验-电气工程试验教学中心

电力系统调度自动化实验指导书 电气工程实验教学中心

电力系统调度自动化实验 一、实验目的 1.了解电力系统自动化的遥测,遥信,遥控,遥调等功能。 2.了解电力系统调度的自动化。 二、基本原理 电力系统是由许多发电厂,输电线路和各种形式的负荷组成。由于元件数量大,接线复杂,因而大大增加了分析计算的复杂性。作为电力系统的调度和通信中心担负着整个电力网的调度任务,以实现电力系统的安全优质和经济运行的目标。 “PS-5G型电力系统微机监控实验台”相当于电力系统的调度和通信中心。针对5个发电厂的安全、合理分配和经济运行进行调度,针对电力网的有功功率进行频率调整,针对电力网的无功功率的合理补偿和分配进行电压调整。 微机监控实验台对电力网的输电线路、联络变压器、负荷全采用了微机型的标准电力监测仪,可以显示各支路的所有电气量。开关量的输入、输出则通过可编程控制器来实现控制,并且各监测仪和PLC通过RS-485 通信口与上位机相联,实时显示电力系统的运行状况。 所有常规监视和操作除在现地进行外,均可在远方的监控系统上完成,计算机屏幕显示整个电力系统的主接线的开关状态和潮流分布,通过画面切换可以显示每台发电机的运行状况,包括励磁电流、励磁电压,通过鼠标的点击,可远方投、切线路或负荷,还可以通过鼠标的操作增、减有功或无功功率,实现电力系统自动化的遥测、

遥信、遥控、遥调等功能。运行中可以打印实验接线图、潮流分布图、报警信息、数据表格以及历史记录等。 三、实验项目和方法 1.电力网的电压和功率分布实验。 2.电力系统有功功率平衡和频率调整实验。 3.电力系统无功功率平衡和电压调整实验。 同学们自己设计实验方案,拟定实验步骤以及实验数据表格。 四、实验报告要求 1.详细说明各种实验方案和实验步骤。 2.认真整理实验数据。 3.比较各项的实验数据,分析其产生的原因。 五、思考题 1.电路系统无功功率补偿有哪些措施?为了保证电压质量采取了哪些调压手段? 2.何为发电机的一次调频、二次调频? 3.电力系统经济运行的基本要求是什么?

实验一进程调度实验报告书

淮海工学院计算机工程学院实验报告书 课程名:《操作系统原理A》 题目:进程调度 班级:软件132 学号:2013122907 姓名:孙莹莹

操作系统原理实验——进程调度实验报告 一、目的与要求 1)进程是操作系统最重要的概念之一,进程调度是操作系统内核的重要功能,本实验要求用C 语言编写一个进程调度模拟程序,使用优先级或时间片轮转法实现进程调度。本实验可加深对进程调度算法的理解。 2)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果) 3)于2015年4月18日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交)。 二、实验内容或题目 1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。 2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。 3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。 4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。 三、实验步骤与源程序 (1)流程图

(2)实验步骤 1)PCB的结构:优先级算法中,设PCB的结构如下图所示,其中各数据项的含义如下: Id:进程标识符号,取值1—5。 Priority:优先级,随机产生,范围1—5。 Used:目前已占用的CPU时间数,初值为0;当该进程被调用执行时,每执行一个时间片,Used加1。 Need:进程尚需的CPU时间数,初值表示该进程需要运行的总时间,取值范围为5—10。并随机产生,每运行一个时间片need减1;need为0则进程结束。 Status:进程状态R(运行),W(就绪),F(完成);初始时都处于就绪状态。 Next:指向就绪队列中下一个进程的PCB的指针。 2)初始状态及就绪队列组织: 5个进程初始都处于就绪状态,进程标识1—5,used初值都为0。各进程的优先级随机产生,范围1—5。处于就绪状态的进程,用队列加以组织,队列按优先级由高到低依次排列,队首指针设为head,队尾指针为tail。 3)调度原则以及运行时间的处理: 正在执行的进程每执行一个时间片,其优先级减1(允许优先级为负)。进程调度将在以下情况发生:当正在运行的程序其优先级小于就绪队列队首进程的优先级时。程序中进程的运行时间以逻辑时间片为单位。

实时监控功能分析实验报告

实时监控功能分析实验报告 一.实验目的 1.对实时监控功能的基本作用有一个感性认识:电力系统的安全、可靠运行是发电、 供电和保障人民生产和生活用电的基本任务,发电厂和变电站当前运行状态信息必须及时准确地送到电力调度控制中心,以便调度人员进行调度。 2.掌握实时监控SCADA的基本功能、实现原理和操作方法。 3.了解表征发电厂和变电站当前运行状态的参数类型和特点、获取方式、表现形式。 如母线电压、有功功率、无功功率、电流和开关状态等。 4.了解改变发电厂和变电站当前运行方式的控制命令信息的类型和特点、下发方式。 5.了解非正常状态信息的表现形式。 二.实验要求 1.已对调度教材中有关调度自动化系统基本结构和功能以及状态信息的处理章节进 行了学习,建立了基本概念。 2.实验前认真阅读实验指导书;实验中,根据实验内容,做好实验记录;实验后,写 出实验报告。 3.认真上机操作,建立感性认识。 4.严格按照教师的指导进行操作。 5.在实验过程中做好记录。 三.系统结构

发电厂模拟一次控制屏变电站模拟一次控制屏 图1-1 系统结构

四.实验步骤及内容 1.了解实时监控控制台的硬件结构。 (1)调度自动化实验系统配置两台实时监控控制台,一台调度专用投影仪; (2)实时监控控制台联接在调度主站计算机网络系统中; (3)在实时监控控制台上运行实时监控软件; 2.启动系统 (1)启动厂站一次控制模拟屏和远方采集终端RTU; (2)启动HUB; (3)启动前置通信控制台及其软件; (4)启动服务器; (5)启动实时监控控制台及其软件。 3.了解实时监控控制台的软件配置情况 (1)IP地址 (2)共享目录的映射关系 (3)实时监控软件运行状况,菜单功能,多画面显示 4.实时画面显示 (1)分别调出系统接线图、发电厂和变电站主接线图;

实验21 进程调度

实验2、1 进程调度 一、 实验目的 多道程序设计中,经常就是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。 二、 实验要求 1. 设计进程调度算法,进程数不定 2. 包含几种调度算法,并加以实现 3. 输出进程的调度过程——进程的状态、链表等。 三、 参考例 1.题目——优先权法、轮转法 简化假设 1) 进程为计算型的(无I/O) 2) 进程状态:ready 、running 、finish 3) 进程需要的CPU 时间以时间片为单位确定 2.算法描述 1) 优先权法——动态优先权 当前运行进程用完时间片后,其优先权减去一个常数。 2) 轮转法 四、 实验流程图 开始 键盘输入进程数n,与调度方法的选择 优先权法? 轮转法 产生n 个进程,对每个进程产生一个PCB,并用随机数产生进程的优先权及进程所需的CPU 时间 按优先权大小,把n 个进程拉成一个就绪队列 撤销进程就绪队列为空? 结束 N Y Y

注意: 1.产生的各种随机数的取值范围加以限制,如所需的CPU 时间限制在1~20之间。 2.进程数n 不要太大通常取4~8个 3.使用动态数据结构 4.独立编程 5.至少三种调度算法 6.若有可能请在图形方式下,将PCB 的调度用图形成动画显示。 五.实验过程: (1)输入:进程流文件(1、txt),其中存储的就是一系列要执行的进程, 每个作业包括四个数据项: 进程名 进程状态(1就绪 2等待 3运行) 所需时间 优先数(0级最高) 进程0 1 50 2 进程1 2 10 4 进程2 1 15 0 进程3 3 28 5 进程4 2 19 1 进程5 3 8 7 输出: 进程执行流等待时间,平均等待时间 本程序包括:FIFO 算法,优先数调度算法,时间片轮转调度算法 产生n 个进程, 的时间片数,已占用CPU 的时间片数置为0 按进程产生的先后次序拉成就绪队列链 =0? 撤销该进程 就绪队列为空不? =轮转时间片数? N Y Y Y 结束 N

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

电力系统动态模拟实验-上海交通大学电气工程实验中心

电气系统综合实验(下)电力系统动态模拟实验 实验模版 任务编号

电力系统调度自动化实验 一、实验目的 1.了解电力系统自动化的遥测,遥信,遥控,遥调等功能。 2.了解电力系统调度的自动化。 二、原理与说明 电力系统是由许多发电厂,输电线路和各种形式的负荷组成的。由于元件数量大,接线复杂,因而大大地增加了分析计算的复杂性。作为电力系统的调度和通信中心担负着整个电力网的调度任务,以实现电力系统的安全优质和经济运行的目标。随着微电子技术、计算机技术和通信技术的发展,综合自动化技术也得到迅速发展。 电网调度自动化是综合自动化的一部分,它只包括远动装置和调度主站系统,是用来监控整个电网运行状态的。为使调度人员统观全局,运筹全网,有效地指挥电网安全、稳定和经济运行,实现电网调度自动化已成为调度现代电网的重要手段,其作用主要有以下三个方面: 1、对电网安全运行状态实现监控 电网正常运行时,通过调度人员监视和控制电网的周波、电压、潮流、负荷与出力;主设备的位置状况及水、热能等方面的工况指标,使之符合规定,保证电能质量和用户计划用电、用水和用汽的要求。 2、对电网运行实现经济调度 在对电网实现安全监控的基础上,通过调度自动化的手段实现电网的经济调度,以达到降低损耗、节省能源,多发电、多供电的目的。 3、对电网运行实现安全分析和事故处理 导致电网发生故障或异常运行的因素非常复杂,且过程十分迅速,如不能及时预测、判断或处理不当,不但可能危及人身和设备安全,甚至会使电网瓦解崩溃,造成大面积停电,给国民经济带来严重损失。为此,必须增强调度自动化手段,实现电网运行的安全分析,提供事故处理对策和相应的监控手段,防止事故发生以便及时处理事故,避免或减少事故造成的重大损失。 二、电网调度自动化的基本内容 现代电网调度自动化所设计的内容范围很广,其基本内容如下: 1、运行监视

进程调度算法实验报告

操作系统实验报告(二) 实验题目:进程调度算法 实验环境:C++ 实验目的:编程模拟实现几种常见的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较 各种算法的性能优劣。 实验内容:编程实现如下算法: 1.先来先服务算法; 2.短进程优先算法; 3.时间片轮转调度算法。 设计分析: 程序流程图: 1.先来先服务算法 开始 初始化PCB,输入进程信息 各进程按先来先到的顺序进入就绪队列 结束 就绪队列? 运行 运行进程所需CPU时间 取消该进程 2.短进程优先算法

3.时间片轮转调度算法 实验代码: 1.先来先服务算法 #include #define n 20 typedef struct { int id; //进程名

int atime; //进程到达时间 int runtime; //进程运行时间 }fcs; void main() { int amount,i,j,diao,huan; fcs f[n]; cout<<"请输入进程个数:"<>amount; for(i=0;i>f[i].id; cin>>f[i].atime; cin>>f[i].runtime; } for(i=0;if[j+1].atime) {diao=f[j].atime; f[j].atime=f[j+1].atime; f[j+1].atime=diao; huan=f[j].id; f[j].id=f[j+1].id; f[j+1].id=huan; } } } for(i=0;i #define n 5 #define num 5 #define max 65535 typedef struct pro { int PRO_ID; int arrive_time;

实验报告模板1(1)

湖北民族学院信息工程学院实验报告 (电气、电子类专业用) 班级:000000 姓名:00000 学号:0000000000000 实验成绩: 实验时间:2019年6月10日5-8节实验地点:自动控制原理实验室课程名称:电力电子技术与matlab仿真实验类型:设计型□验证型□综合型□实验题目:三相桥式全控整流及有源逆变电路 实验仪器:装有matlab软件的电脑一台

(1)交流电压源的参数设置 三相电源的相位互差120°,设置交流峰值相电压为100V、频率为60Hz。(2)负载的参数设置 H =C R Ω L , inf , 45= =

本实验中只要改变参数对话框的数值的大小,即改 变了触发信号的控制角。打开仿真 ode23tb 0.02s 启动仿真。 打开仿真/参数窗后,选择ode23tb 设置好各模块参数后,启动仿真;改变触发角 3、有源逆变带电阻电感性负载的仿真 (1)各模块参数设置同上

Continuous pow ergui v +- Ud alpha_deg AB BC CA Block pulses Synchronized 6-Pulse Generator Scope i +- Id i +-IC i +-IB i +- IA 0Constant2 30 Constant1 v +- CA C v +- BC B v +-AB A + RLC g A B C + - Bridge Iabc id ud Uabc 6pulse 2 时三相电压、三相电流、触发信号、负载电压和负载电流的波形

图 4=120时三相电压、三相电流、触发信号、负载电压和负载电流的波形图=150时三相电压、三相电流、触发信号、负载电压和负载电流的波形

操作系统实验报告(进程调度算法)

操作系统实验报告(进程调度算法)

实验1 进程调度算法 一、实验内容 按优先数调度算法实现处理器调度。 二、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。 三、实验原理 设计一个按优先数调度算法实现处理器调度的程序。 (1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 进程名 指针 要求运行时 间 优先数

状态 其中,进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。 要求运行时间——假设进程需要运行的单位时间数。 优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。 (2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。 (3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首进程,用指针指出队列的连接情况。例: 队首标志 K2

1P1 K 2 P2 K 3 P3 K 4 P4 K 5 P5 0 K4K5K3K1 2 3 1 2 4 1 5 3 4 2 R R R R R PC B1 PC B2 PC B3 PC B4 PC B5 (4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行: 优先数-1 要求运行时间-1 来模拟进程的一次运行。 提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。

配网自动化实验报告

配网自动化实验报告 学院:电气信息学院 学生: 学号: 班级: 任课教师:

一.实验名称: 馈线自动化功能分析 二.实验目的: 1.对馈线自动化功能的基本作用有一个感性认识:配电网的安全、可靠运 行是发电、供电和保障人民生产和生活用电的重要任务,馈线的运行方 式和负荷信息必须及时准确地送到配网监控中心,以便运行管理人员进 行调度控制管理;当故障发生后,能及时准确地确定故障区段,迅速隔 离故障区段并恢复健全区域供电。 2.掌握配网SCADA的基本功能、实现原理和操作方法。 3.了解表征馈线当前运行状态的参数类型和特点、获取方式、表现形式。 如馈电点电压、有功功率、无功功率、电流和开关状态等。 4.了解改变馈线当前运行方式的控制命令信息的类型和特点、下发方式。 5.了解非正常状态信息的表现形式。 6.掌握故障判断、隔离和健全区域恢复供电功能的原理和实现。 三.实验要求: 1.已对配网教材中有关馈线自动化系统基本结构和功能以及状态信息的 处理章节进行了学习,建立了基本概念。 2.实验前认真阅读实验指导书;实验中,根据实验内容,做好实验记录; 实验后,写出实验报告。 3.认真上机操作,建立感性认识。 4.严格按照教师的指导进行操作。 5.在实验过程中做好记录。 四.系统结构:

FTU FTU 图4-1 系统结构 五.系统功能:

图4-2 系统功能

六.实验步骤及内容: 1.了解馈线自动化的硬件结构 (1)调度自动化实验系统配置两台实时监控控制台,一台调度专用投影仪; (2)实时监控控制台联接在调度主站计算机网络系统中; (3)在实时监控控制台上运行实时监控软件,既监控输电网又监控配电网的运行情况; (4)本实验将连接在调度主站计算机网络系统中的多台微机控制台安装并运行实时监控软件,以满足更多同学同时上机操作的需要。 2.启动系统 (1)启动厂站一次控制模拟屏和远方采集终端RTU; (2)启动HUB; (3)启动服务器; (4)启动前置通信控制台及其软件; (5)启动实时监控控制台及其软件。 3.了解实时监控控制台的软件配置情况 (1) IP地址 (2)共享目录的映射关系 (3)实时监控软件运行状况,菜单功能,多画面显示 图4-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)调度算法,时间片轮转。流程图如下:

化学实验报告模板1(完整版)

报告编号:YT-FS-5980-64 化学实验报告模板1(完 整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

化学实验报告模板1(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 2NaOH+CuSO4=Cu(OH)2[此有一个箭头表沉淀]+Na2SO4 氢氧化钠溶液和加入硫酸铜溶液反应成氢氧化铜沉淀和硫酸钠 Cu(OH)2=[等号上面写上条件是加热,即一个三角形]CuO+H2O 氢氧化铜沉淀加热变成氧化铜和水 实验报告: 分为6个步骤: 1):实验目的,具体写该次实验要达到的要求和实现的任务。(比如说,是要研究氢氧化钠溶液中加入硫酸铜溶液的反应状况) 2):实验原理,是写你这次实验操作是依据什么

来完成的,一般你的实验书上都有,你总结一下就行。(就可以用上面的反应方程式) 3):实验用品,包括实验所用器材,液体和固体药品等。 (如酒精灯,滤纸,还有玻璃棒,后两者用于过滤,这个应该是要的吧。) 4):实验步骤:实验书上也有 (就是你上面说的,氢氧化钠溶液中加入硫酸铜溶液生成蓝色沉淀,再加热蓝色沉淀,观察反应现象) 5):实验数据记录和处理。 6):问题分析及讨论 这里填写您企业或者单位的信息 Fill In The Information Of Your Enterprise Or Unit Here

广工大操作系统实验报告-进程调度

进程调度模拟实验 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 1.编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程 进行调度。 2.每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到 达时间、需要运行时间、已运行时间、进程状态等等。 3.进程的到达时间及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程 的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。 4.每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。 5.就绪进程获得 CPU后都只能运行一个时间片。用运行时间加1来表示。 6.如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该 进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 7.重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1.进程调度算法:采用多级反馈队列调度算法。其基本思想是:当一个新进程进入内在后, 首先将它放入第一个队列的末尾,按FCFS原则排队等待高度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。 2.实验步骤: (1)按先来先服务算法将进程排成就绪队列。 (2)检查所有队列是否为空,若空则退出,否则将队首进程调入执行。 (3)检查该运行进程是否运行完毕,若运行完毕,则撤消进程,否则,将该进程插入到下一个逻辑队列的队尾。 (4)是否再插入新的进程,若是则把它放到第一逻辑队列的列尾。 (5)重复步骤(2)、(3)、(4),直到就绪队列为空。

实验一-进程调度实验

实验一-进程调度实验 实验一进程调度实验 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念 及进程调度算法的理解 二、实验类别 综合性实验。综合高级语言编程、进程调度模型、进程调度算法及数据结构等多方面的知识 三、实验示例 例题:设计一个有N个进程共行的进程调度程序 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输 入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪W(Wait )、运行R(Run )、或完成F

(Finish )三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU 时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1 (即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个 进程的PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 调度算法的流程图如下:

进程调度源程序如下: //jin gche ndiaodu.cpp #in elude "stdio.h"

实验一处理器调度实验报告

处理器调度一、实验内容 选择一个调度算法,实现处理器调度。 二、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。 当就绪状态进程 个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下处理器调度,帮助学生加深了解处理器调度的工作。 三、实验题目 设计一个按优先数调度算法实现处理器调度的程序 提示: (1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进 程控制块的格 式为: 其中,进程名----作为进程的标识,假设五个进程的进程名分别是R, P2, P3, P4,R。 指针—按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块

首地址,最后一个进程中的指针为“ 0”。 要求运行时间-- 假设进程需要运行的单位时间数。 优先数-赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态-可假设有两种状态,“就绪”状态和“结束“状态,五个进程的初 始状态都为 “就绪“状态,用“ R”表示,当一个进程运行结束后,它的状态变为“结束”, 用“ E”表示。 (2)在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数” 和“要求运行时间”。 (3)为了调度方便,把五个进程按给定的优先数从大到小连成队列,用一单元指出队首 进程,用指针指出队列的连接情况。例: 队首标志 (4)处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优 先数就减“ 1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的 启动运行,而是执行: 优先数- 1 要求运行时间-1 来模拟进程的一次运行提醒注意的是:在实际的系统中,当一个进程被选中运

实验一-进程调度实验

实验一-进程调度实验

实验一进程调度实验 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解 二、实验类别 综合性实验。综合高级语言编程、进程调度模型、进程调度算法及数据结构等多方面的知识 三、实验示例 例题:设计一个有 N个进程共行的进程调度程序 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输 入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU 时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 调度算法的流程图如下:

进程调度源程序如下: //jingchendiaodu.cpp #include "stdio.h"

#include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb { /* 定义进程控制块PCB */ char name[10]; char state; int super; int ntime; int rtime; struct pcb* link; }*ready=NULL,*p; typedef struct pcb PCB; sort() /* 建立对进程进行优先级排列函数*/ { PCB *first, *second; int insert=0; if((ready==NULL)||((p->super)>(ready->super))) /*优先级最大者,插入队首*/ { p->link=ready; ready=p; } else /* 进程比较优先级,插入适当的位置中*/ { first=ready; second=first->link; while(second!=NULL) { if((p->super)>(second->super)) /*若插入进程比当前进程优先数大,*/ { /*插入到当前进程前面*/ p->link=second; first->link=p;

IP网络实验报告模板(1)

西安邮电大学 通信与信息工程学院 《IP 网络基础与实验》报告 实验名称: 专业班级: 小组编号: 小组成员: 2016年 5 月 30 日 —————————————————————————— 装 订 线————————————————————————————————

一、实验名称 二、实验目的 1、通过本实验,掌握在WindowsvXP 中配ICS 的方法。 2、通过本实验,理解路由的原理,掌握 Windows Server 2003软路由的配制方法。 三、实验原理 Windows 系列操作系统提供的ICS 组件同样可以解决多台主机共享上网的问题。ICS 被看做是NAT 的一个简版,利用它实现共享上网,可谓是简单易行。 ICS 除了具有NAT 功能外,同样也内置了DHCP 地址分配器以及DNS 域名服务器代理。然而,与NAT 组件不同的是,它为本地局域网分配的IP 地址的网段号只能是192.168.0.0,子网掩码只能是255.255.255.0,而不能进行任意指派;需要注意的是,如果网络中已经存在DHCP 服务器或DNS 服务器,那么ICS 将不会生效。因此,在启用ICS 服务器必须将已开启的DHCP Server 和 DNS Server 服务关闭。 —————————————————————————— 装 订 线—————————————————————————————

主机 交换机 路由器 交换机 主机主机 Hub Hub 主机

172.16.2.1 172.16.3.10 172.16.12.12 10.1.1.1 10.180.30.118 172.16.2.1 Fei_1/1 Fei_1/2

作业调度实验报告

作业调度实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 (3)响应比高者优先算法:是在每次调度前都要计算所有被选作业(在后备队列中)的响应比,然后选择响应比最高的作业执行。 2、编写并调度一个多道程序系统的作业调度模拟程序。 作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解三 .实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: 执行程序: 2)实验分析:

1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB 表示,JCB 可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W 。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图: 二.最短作业优先算法 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include <> #include <> #include <> #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb .\n",p->name); free(p); .wait...",time); if(times>1000) 代替 代替

实验三进程调度蔡凤武

实验三进程调度蔡凤武 进程调度实验目的 1、理解有关进程控制块、进程队列的概念。 2、掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑。 实验内容与基本要求 1、设计进程控制块PCB的结构,分别适用于优先权调度算法和时间片轮转调度算法。 2、建立进程就绪队列。 3、编制两种进程调度算法:优先权调度算法和时间片轮转调度算法。 实验报告内容一.优先权调度算法和时间片轮转调度算法原理。对于优先权调度算法,其关键是在于是采用静态优先权还是动态优先权,以及如何确定进程的优先权。静态优先权是在创建进程是确定的,并且规定它在进程的整个运行期间保持不变。动态优先权要配合抢占调度方式使用,它是指在创建进程时所赋予的优先权,可以随着进程的推进而发生改变,以便获得更好的调度性能。在就绪队列中等待调度的进程,可以随着等待时间的增加,其优先权也以某个速率增加。因此,对于优先权初值很低的进程,在等待足够时间后,其优先权也可能升为最高,从而获得调度,占用处理器并执行。对已时间片轮转调度算法,系统将所

有的就绪进程按进路就绪队列的先后次序排列。每次调度时把CPU 分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停改程序的执行,使其退出处理器,并将它送人就绪队的末尾,等待下一轮调度执行。然后,把cpu分配给就绪队列中新的队首进程,同时让它执行一个时间片。二.程序流程图。结束就绪队列为空吗三.程序及注释。 #include #include #include #include #include #include #define P_NUM5#define P_TIME50 enum st { ready, execute, block, finish};//状态定义进程//struct pcb{ char name[4];//进程名字// int priority;//进程优先权// int cputime;//CPU运行时间// int needtime;//进程运行需要的时间// int count;//进程执行次数// int round;//时间片轮转轮次// st process;//进程状态// pcb *next;};//定义进程//pcb *get_process(){ pcb *q; pcb *t; pcb *p; int i=0; cout<<"input name and time"<>q->name; cin>>q->needtime; q->cputime=0; q->priority=P_TIME-q- >needtime; q->process=ready; q->next=NULL; if(i==0) { p=q; t=q; } else { t->next=q; t=q;} i++; } return p;//输入模拟测试的进程名和执行所需的时间,初始设置可模拟5个进程的调度//}void display (pcb *p){ cout<<"name"<<"

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