调度室规划设计
调度室规划设计(精选6篇)
调度室规划设计 第1篇
安桂良煤矿调度室2013年工作规划
一、总体目标的规划:
1.严格落实业务部门责任制和安全生产方针,按“三大规程”和有关法律法规组织指挥生产,建立严格的岗位责任制,对重大安全隐患进行跟踪调度。
2.组织指挥生产。抓好均衡生产,组织好矿下达的各项生产指标的兑现,抓好问题的落实;掌握日、旬、月、季的原煤生产、掘进进尺的完成情况。
3.严格落实各类人员安全生产责任制。建立健专业人员岗位责任制和各单位的责任制,分工明确,内容具体,责任到位,并根据情况变化及时补充更新。
4.做好灾害预防和应急情况的救灾演习。
5.深入现场掌握实际情况,解决安全生产问题。对现场出现的问题均有记录。
二、调度汇报的规划
1.事故汇报。对发生的各类事故均要按照标准时间上报,并采取有力措施,积极组织抢救抢险,杜绝隐瞒和迟报各类事故。
2.加强领导干部和专业人员的汇报。管理干部和专业人员坚持在井下现场向矿调度室汇报制度,内容包括现场变化、主要设备运转、安全隐患处理等情况。
3.各单位按规定的时间和内容要及时向调度室填报、生产、安全和任务等情况,并做好记录,做到数字准确,内容具体,按时印发生产日报。
4.月度汇报。月度汇报有产、运、销、存、掘进进尺、开拓进尺、采掘重点队的完成,存在问题及采取的主要措施,内容具体,数字准确,符合格式要求,并按规定时间上报。
5. 矿井停产检修计划汇报。矿井停产检修期间,各队要做检修或停电时要向矿调度室报计划,重点项目明确,一般项目详细,并按班、日向调度室汇报检查进展情况和检修后的试运转情况。
6.标准化自检汇报。每月自检一次,并填写好自检表,资料存档。
三、调度基础管理的规划
1.建立完善各类图表、牌板、台账、记录簿,内容具 体,能反映和指导生产,为安全生产服务事故,设立领导值
班表,牌板或图表内容完整,字迹工整、清晰,数字准确,填写及时。
2.设有调度汇报、交接班、传真电文、电话通知、专题汇报、调度专业会议、电话会议或录音、重大隐患排查和治理、每天调度会议、生产平衡会议、领导值班、调度综合、调度人员下井、业务学习和培训、气体异常、巷道贯通、人
身事故和非人身事故等记录,各类记录准确及时,条理清楚,做到件件有着落,事事有回音,条条有记录,并按时间顺序分类存档。
3.设有产、运、销、存、安全及综合台账,采掘队逐日、月完成情况台账,人身和非人身事故台账,生产接续台账,数字准确,账面整洁。
4.业务培训。采取自学与集中学习相结合的方式组织业务学习,并有培训记录,每半年组织考试一次,使每个调度人员全面掌握应知应会的内容,提高全体调度人员的综合素质。
5.强化工作场所的文明建设。调度台、调度会议室、值班室、机房等清洁整齐、物放有序,设备、资料整洁、图牌板、表格醒目、整齐统一;调度人员工作认真、态度和霭、文明用语,促进工作质量的提高。
四、调度、各大系统的建设规划
综合调度台、计算机、安全监控等装备齐全、使用正常,加强完善煤矿信息平台的建设,做到数据实时传送,按照规定要求安装永久避难硐室的各类传感器,规范视频系统和视频会议的建设,强化人员定位的使用,保证各种信息数据持续稳定,确保了各种信息畅通。加强各大系统的维护管理,对于系统出现问题及时处理,按照上级及领导要求打印各种报表,调度台对生产单位、主要领导、安监部门及医疗部门
等设直通或直拨电话,调度台有录音、放音、扩音功能;各类生产调度报表及有关数据都能通过计算机处理;大屏能能将采掘工作面和矿井供电、提升、运输、供排水、压风等生产情况和信息反映出来,实现以调度室为中心的集中监控系统,发挥作用,达到信息灵、准、快。
2013安桂良煤矿调度室 年1月12日
调度室规划设计 第2篇
2012年1月12日,陕西陕煤黄陵二号煤矿有限公司二届三次职代会暨2012年工作会中总经理梁平对2012年二号煤矿工作做了全面细致的布署与安排,2012年二号煤矿在公司范围内全面实施对标管理,二号煤矿调度室结合实际以王村矿调度室为五精管理标杆,赶王村矿、乃至超越王村矿,巩固成果,改进不足,坚定不移地推进“5+5”岗位文化管理品牌建设,打造二号煤矿特色的岗位文化管理品牌。现将2012年工作安排汇报如下:
一、树立目标,正确认识,及时有效开展活动 调度室组织开展针对2012年工作会梁总讲话的学习,传达对标活动相关文件精神,重点阐述对标活动的重要性及其意义。调度室以王村矿调度室为具体对标标准,认识学习同行先进经验——王村矿调度室学习落实白国周班组管理法,抓生产求安全,调度工作“精心预测、精心调度、精心协调、精心监督”,紧紧围绕生产经营中心任务,以文明窗口创建为契机,运用精细化管理理念指挥生产,不断深化优服理念,实现优服举措常态化。我调度室以对方为标杆全力“对标”赶超,严格按照标准结合自身情况进行资料完善、制度健全及各项自查整改活动。调度室在对标活动中会注重加强制度建设,对不足及时研究解决,完善制度措施;对活动中创造的先进经验、发展路径、工作模式,进行总结,在完善提高中梳理出务实的体制机制,推进对标赶超工作
制度化、规范化、常态化。调度员开展岗位描述和手指口述,要求着装统一,规范用语,科学协调指挥安全生产,及时上情下达,下情上报,牢固树立安全至高无上理念,把安全生产摆在一切工作的首位。
二、深入现场,解决生产影响 调度室2012年继续坚持深入现场,了解工作面条件,巡查隐患及督促整改落实,在协调指挥工作中坚持“三三”整理制,确保生产正规循环。
三、严格执行领导带班制,落实隐患排查工作 2012年二号煤矿调度室继续按照煤炭安全总局要求,严格执行矿领导带班制度,矿领导及区队部室跟班领导严格按照调度室排班跟班入井,实行对手交接制,积极按照任务单上的安排进行巡查带班,坚持和工人同上下,将当班查出的问题、隐患跟踪落实,进一步加强矿井安全管理,落实责任。
四、继续抓好煤质管理,坚持走品牌效益之路 2012年的利润指标为17.7亿元,这一目标要求我们进一步加强煤质管理,稳定产品质量,以满足市场需要,维护品牌的市场形象。调度室认真落实煤质考核制度,强化原煤生产过程监管,强化现场跟踪监控,落实到人,从采区至选煤厂全过程严格监管考核,严格奖罚兑现,根据井下实际情况,调度室指挥、协调,及时采取针对措施,以确保原煤发热量始终保持5500大卡以上。
五、规范健全调度程序,实行4小时复命制管理 调度室负责组织调度会,严肃调度会纪律,规范调度会程序的同
调度室规划设计 第3篇
煤矿调度室员工的工作是矿山安全生产调度中的重要组成部分,调度室员工的考勤是煤矿行业重要的管理板块之一。目前常规的考勤机制在煤矿上的应用显得比较苍白,如打卡记名制度,工人可以拿着任何人的卡去考勤,存在代打卡现象。物联网和生物识别技术的发展将颠覆这种落后的管理模式,代之以信息化和自动化的高效管理。
人脸识别技术利用人脸相对不变性和个人差异性的特点来识别身份[1],基于该技术的自动签到系统可以准确提供员工的人数及其身份。本文采用该技术设计了一种煤矿调度室员工自动签到系统,为矿山日常考勤、事后快速追查事故责任人提供了有效依据。
1 系统总体设计
1.1 硬件设计
煤矿调度室员工自动签到系统硬件部分包括TMS320DM642型DSP、电源模块、存储模块、视频编解码模块、LCD显示器等,如图1所示。系统采用CCD摄像头采集视频信息,经AD转换后得到数字图像,对数字图像进行自动签到操作,并对检测结果进行DA转换,实现LCD输出。
电源模块主要提供3种不同电压:1.4 V(DSP核心供电电压)、3.3 V(外围器件供电电压)、1.8 V(编码电路主芯片TVP5150的核心供电电压)。由于设计代码及视频数据较多,而TMS320DM642内部RAM较小,所以需要外扩存储器以满足系统运行要求。系统外部存储模块包括扩展FLASH与SDRAM。图1中,HPI为主机接口,MDIO为数据输入/输出管理接口,EMIF为外部存储器接口。TMS320DM642中的VPO视频口与TVP5150芯片无缝连接,将输入视频流转换为8位的BT.656格式数据;通过接口配置内部寄存器,采用视频编码芯片SAA7121H将BT.656格式的数字视频信号转换为PAL或NTSC制式的视频信号显示。
1.2 DSP软件流程设计
DSP/BIOS实时操作系统主要包括多线程实时内核、DSP/BIOS芯片支持库、DSP/BIOS实时分析工具三部分。利用实时操作系统完成DSP软件设计,主要在于任务的分配与管理。系统软件设计流程如图2所示。
首先,系统上电复位后,程序入口地址指向引导程序_cint00的起始地址。_cint00开始对TMS320DM642进行初始化(初始化BIOS、CSL、L2 Cache等);其次,初始化视频采集设备与显示设备,分配图像数据存储器,设置采集端口与显示端口的相关参数,配置视频编码器与视频解码器,同时创建采集通道等;当主函数结束返回后,开始启动DSP/BIOS,由BIOS调度任务,从处于就绪态且优先级最高的任务开始执行,并且实时切换任务,从而实现整个程序。
2 系统软件算法设计
2.1 软件功能
煤矿调度室员工自动签到系统的软件部分主要承担tsk_Idle、tsk_Input、tsk_Mainprocess、tsk_Output四个任务。其中,tsk_Idle为空闲任务;tsk_Input为输入任务,主要将采集端口的视频输入数据通过增强的直接存取器访问(EDMA)控制器存入SDRAM,并发出消息给tsk_Mainprocess任务,同时接收来自tsk_Mainprocess任务或tsk_Output任务的消息;tsk_Mainprocess为处理任务,在自动签到时进行人脸识别,系统处于监控状态时将运动目标图像存入SDRAM;tsk_Output为输出任务,将人脸识别结果通过EDMA发送到显示缓存中,同时发送消息给tsk_Input任务。
2.2 人脸识别流程及算法
人脸识别流程如图3所示。系统对捕捉图像的外设进行实时数据检测,当检测到有图像时,将图像传入缓冲区,并通知人脸检测模块进行人脸检测,然后转入人脸识别程序识别出人员身份,并对到勤状况加以记录,以便考核。
(1) 图像预处理
受摄像头分辨率、光照、环境及脸平移和旋转等因素的影响,需要对图像进行预处理,包括光线补偿、图像灰度化、高斯平滑、均衡直方图、图像对比度增强、二值化等。
(2) 人脸检测
系统采用基于Adaboost算法的人脸检测方法。Adaboost是适应性Boosting,其对类Harr特征进行选择并组合成强分类器,最后应用“级联”的策略提高人脸检测速度。
(3) POEM特征提取
结合边缘/局部形状信息和相邻单元间的这些信息能更好地表征对象的表象。本文采用POEM方法[2]提取图像特征信息。该方法对不同的取向采用梯度模值来替代传统LBP(局部二值模式)的强度值,通过累加沿梯度方向的局部直方图来遍历所有空间像素单元,用LPB算子编码累计幅值。POEM方法中像素是用周围像素的梯度的局部直方图来表示的。POEM特征提取的主要步骤如图4所示。
在每个像素的位置p,通过每一个离散方向上的θi计算一个POEM算子:
undefined
式中:mp、mcj分别为中心像素p和周围像素cj的累计梯度幅值;s()为相似函数(如两个梯度幅度的不同);L和w分别表示区间和单元的大小;n为被考虑像素p周围的像素数,本文默认设置为8;f被定义为0-1阶跃函数。
最终描述符是连接在每个M方向上的单向POEMs:
undefined
(4) 分块PCA特征提取[3,4]
假设人脸图像矩阵I的维数为IxIy,将其分割为pq个维数为mn的子图像,其中Ix=pm,Iy=qn。对训练样本的子图像进行主分量分析(PCA)。令Iij的分块矩阵为。设所有样本子图像矩阵的均值undefined(ηij)kl,子图像与均值的差值向量φij=ηij-η,所有人脸训练样本的子图像矩阵的总体散布矩阵undefined(φij)kl,φij=ηij。S为mnmn的非负定矩阵,求出S的特征值λ1,λ2,λmn(以递减顺序排列)及其对应的特征向量Z1,Z2,Zmn,从而可以抽取出一组最优投影向量组Z1,Z2,Zr,其中r为最优投影轴数,最终得最优投影矩阵T=(Z1,Z2,Zr),T∈R(mn)r。
将训练样本Iij投影到最优投影矩阵得到Iij的最优特征矩阵:
undefined
式中:Jij∈Rprq。
一幅图像的维数IxIy经过分块PCA算法可以提取到维数为prq的最佳特征,从而可用最佳特征来表征原图像,降低了计算量,缩短了时间。
(5) 分类器选择
系统选用最近邻分类器作为人脸识别的分类器。最邻近分类器是一种最经典、最常见的非参数统计模式识别方法,广泛应用于模式识别领域,效果良好。另外,本文对分块PCA及POEM+分块PCA的识别性能进行了比较,结果见表1。可见POEM+分块PCA的识别率更高,因此本文采用POEM+分块PCA识别算法。
(6) 数据库设计
为了将识别的结果与员工的考评机制结合起来,系统采用SQL数据库来存储人脸识别结果及人员信息。在数据库中创建manager、staff_origin、staff_new这3个表。manager(mid,name,pwd,level)为数据库管理表,包括管理员的ID、名字、密码及管理权限的级别;staff_origin(oid,name,opwd,dep, sex,age,photo,v)为员工原始数据表,包括员工的ID、名字、密码、部门、性别、年龄、员工标准照片及分割出的人脸照片;staff_new(nid,nphoto,name,date,time,type)为实时采集的数据表,包括新采集的照片ID、员工采集照片、名字、日期、时间、签到类型。
3 结语
煤矿调度室员工自动签到系统以DSP为硬件基础,采用POEM+分块PCA的人脸识别算法,实现了调度室员工上班自动签到功能。该系统通过物联网数据传输系统将考评结果立即传送到管理人员处,为单位领导考核员工提供了重要依据,提高了管理效率,实现了公正考核。
参考文献
[1]梁晓丽.基于人脸检测识别的自动签到方法研究[D].哈尔滨:哈尔滨工程大学,2010.
[2]VU N,DEE H M,CAPLIER A.Face Recognition Using the POEM Descriptor[J].Pattern Recognition,2012,45(7):2478-2488.
[3]WANG Xiaojie.Modular PCA Based on Within-class Median for Face Recognition[C]//Proceedings of the 3rd IEEE International Conference on Computer Science and Information Technology,2010,Chengdu:52-56.
[4]陈伏兵,杨静宇.分块PCA及其在人脸识别中的应用[J].计算机工程与设计,2007,28(8):1889-1893.
调度室规划设计 第4篇
【摘要】随着科学技术的不断更新和发展,光纤技术正在大力进行推广,目前来看,在电网调度中存在着图形化的“四遥”模式,这种模式对于电网调度自动化水平的提升具有十分重要的作用。文章以电网调度控制一体化以及视频监控为设计目标,针对电网当前的现状,以人员出入信息以及火灾报警信息为功能需求,将所采集到的信息传输到调控中心。该系统结合了当前最为先进的视频监控技术以及各种环境监测技术,实现了电网调度的高度信息化。
【关键词】智能化;电网调度系统;监控平台;设计
一、引言
随着电力市场化的发展,业务流程敏捷性的要求逐渐提高,同时随着智能电网战略的实施,电网一体化特征日益明显,电网调度控制复杂性大大增加,这些都对调度技术支持手段提出了更高的要求。各调度中心必须通过技术手段实现调度中心之间以及调控中心内部信息集成与共享,为电网调度运行人员提供全面细致的电网状态,并提供相应的辅助决策支持、控制方案和应急预案等,实现多维度全景监视、综合智能预警和大电网协调控制。
二、传统电网调度环节存在不足
智能电网调度自动化的出現可以有效的弥补传统电网调度工作存在的不足。传统电网调度主要存在下面四个方面的缺陷:①缺乏相关技术标准,还需要补充制定电力系统安全稳定分析和控制方面的标准,如大规模分布式电源接入和特高压运行特征方面的;②电网调度技术水平低下,无法满足今后电网运行发展的要求,还需要不断的完善并且提高电网在线分析和控制技术,并且还要提高保护装置的数字化、信息化和集成化;③还没有足够的能力对大容量的风电以及太阳能等间歇性电源的出力进行预测和调控,还需要不断的传统电网调度节能环保能力进行提高。
三、监控体系架构
变电站接入智能电网调度控制系统集中监控的体系架构主要包括两大部分,即调度控制系统基础平台、电网运行稳态监控系统,其中还包括AVC(自动电压控制)、WAMS(广域测量系统)和二次设备在线监视等模块。调度控制系统基础平台主要是以电网运行数据为基础,通过服务总线、消息总线提供公共服务与调控一体的警告服务、权限服务,它能实现数据采集、模型和权限管理、人机界面控等调控业务的一体化采集、处理和展示。
在调度控制系统基础平台变电站集中监控的过程中,调控一体模型管理是整个管理的基础,主要包括一次模型和二次模型,前者涉及电网参数、一次参数等内容,后者有保护、测控等二次装置的信息。同时,通过设置权限和责任区可以实现对不同用户的“隔离”,避免出现越限使用、操作的情况,而且还能够减轻监控人员的工作负担。
智能电网调度控制系统基础平台变电站集中监控的作用有以下几点:①通过对运行数据的遥测、实时接收,利用相关逻辑完成遥信、遥测数据的处理,以得到准确、可靠的实时信息;②完成电网设备的操作、控制,在保证电网运行安全的基础上,利用集中监控系统实现电网调度控制中心对电网断路器、档位等设备的远程遥控操作;③完成信息的分析、处理,根据得到的实时数据信息,准确判断一、二次设备的运行状态,并以此作为调度控制的依据,有效提高调度控制的可靠性。
四、电网调度集控一体化技术支持
(一)智能监控技术
当前电力系统中应用了多种监控技术,但是不同监控技术之间主要是独立完成系统监控,例如电网高级应用模块通过分析状态信息和数据信息,可以得出电网的故障点或者异常点;SCADA系统实现了对抖动、异常波动、跳变等异常情况的实时监测。这两个系统之间缺少关联性,并且运行效率较低。随着电网的快速发展,在未来应加大对PAS、SCADA、FES等模块的分析研究,例如,PAS用于分析电网系统的异常点状态,SCADA可以利用跨厂或者全厂分析和计算系统薄弱量,FES主要用于分析单个点异常量。通过全面综合的分析,向电网调度人员提供更加全面、准确的分析结果,便于运行维护人员有针对性地进行管理和处理。
(二)运行管理技术
电网调度集控一体化系统的应用,需要满足运行维护人员、集控人员、调度人员的工作需求。当前,我国电力系统中,不同专业工作人员对电力系统进行调度、操作、监视和维护,主要是利用责任分区技术,按照信号位置、间隔或者电厂将电力设备划分为不同责任区,实现对电力系统设备的控制和监视。
五、智能电网调度自动化系统建设面临的挑战
智能电网调度自动化系统在建设过程中,主要受到以下五个方面的业务方面的挑战:①需要提高调度资源优化配置能力,从而使用节能发电调度和资源优化配置的需要;②提高调度驾驭大电网的能力,从而满足电网快速发展和安全运行稳定的要求;③建设备用调度体系,从而可以从容面对自然灾害的巨大影响;④完善二次系统纵深安全防护体系,有效的应对日益严峻的网络信息安全威胁对电网运行的影响。
六、结束语
综上所述,在电力系统中,电力电网的调度环节是非常重要的,对电力系统的安全可靠运行有着直接的影响。智能电网调度自动化是一个实时动态系统,能够对电力系统进行有效的分析和调控。一旦电力系统存在某些故障,那么智能电网调度自动化系统就能够及时并且准确地对发生的故障进行详细的分析和处理,保证事故处理的及时性,并且能够对电力电网的运行状况有着更加全面的了解。上文主要对智能电网调度自动化的内涵以及智能电网调度自动化技术进行了简单阐述,希望可以给其他电力工作者的对智能电网调度自动化的研究带来一定的参考,从而使得智能电网调度自动化系统变得更加完善,更好的发挥在电力系统中的作用。
参考文献
调度室规划设计 第5篇
一、设计任务及主要技术....................................................................3
二、设计方案及论证结果....................................................................4
三、系统的原理框图..................................................................................5
四、设计程序....................................................................................................12
五、实验结果....................................................................................................20
六、调试分析及故障处理..................................................................24
七、设计结论....................................................................................................25
八、心得体会....................................................................................................26
一、设计任务及主要技术
1.整体功能概述(设计任务):
磁盘是外设中一个很常用的部分,所以,对磁盘数据的寻道时间的长短可以直接影响机器的整体运行速度的快慢。本设计为一个模拟磁盘调度算法的磁盘调度模拟系统,能够模拟先来先服务(FCFS)算法、最短寻道时间(SSTF)算法、电梯(SCAN)算法、环形扫描(C_SCAN)算法及N_SCAN算法五个磁盘调度算法,输入为一组作业的磁道请求,输出为按选择的算法执行时的磁头移动轨迹。其中,先来先服务(FCFS)算法、最短寻道时间(SSTF)算法、电梯(SCAN)算法为基本算法,环形扫描(C_SCAN)算法及N_SCAN算法为扩展算法。
2.运行环境:
(1)硬件环境
Intel core i5 CPU
(2)软件环境
Windows 7
Microsoft Visual C++ 6.0
3.主要技术:
(1)用C语言编写程序;
(2)对编程软件Microsoft Visual C++ 6.0的了解和使用;
(3)操作系统基础知识(主要是对先来先服务(FCFS)算法、最短寻道时间(SSTF)算法、电梯(SCAN)算法的了解);
(4)操作系统扩展知识(通过网络自学环形扫描(C_SCAN)算法及N_SCAN算法)。
二、设计方案及论证结果
1.设计方案:
(1)先来先服务算法(First-Come,First-Served,FCFS)
此算法为一种最简单的磁盘调度算法。它直接根据作业请求磁盘的先后顺序对磁盘进行寻访。此算法公平、简单,每个作业的磁盘请求都可以得到处理,不会出现某个作业的请求长期得不到满足的情况。但此算法未对寻道方案进行优化,故平均周转时间及带权周转时间都会较长。
(2)最短寻道时间优先算法(Shortest Seek Time First,SSTF)
此算法优先选择距离当前磁头位置最近的作业磁道请求。此算法可以使得每次寻道时所用的时间都最短,但不能保证平均周转时间及带权周转时间最短。
(3)电梯算法(SCAN)
此算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向。本设计默认磁头当前移动方向为自内向外,故SCAN算法先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近的作业磁道请求。此算法避免了饥饿现象的出现,每个作业的磁盘请求都可以得到处理,且使每次寻道时间相对较短。
(4)环形扫描算法(C_SCAN)
此算法磁头移动方向一直为自内向外,同时考虑下一个作业磁道请求与当前磁头位置的距离最短。先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再直接将磁头移到最内侧磁道(此过程快速移动,并不访问任何磁道),再由内向外顺次访问距离当前磁头位置最近的作业磁道请求。此算法每个作业的磁盘请求都可以得到处理,且使每次寻道时间相对较短。由于该方法一直保持磁头移动寻访方向不变,对两端磁道请求比较有利。
(5)N_SCAN算法
此算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向,但每次磁臂调转方向时,将同时处理在磁头向一侧移动过程当中输入的作业请求。本设计默认磁头当前移动方向为自内向外,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,接下来一并考虑在磁头向外侧移动过程当中输入的作业请求与磁头内侧未被处理的作业磁道请求。此算法对中间磁道请求比较有利。
2.论证结果:
本设计输入当前磁头位置及一组作业磁道请求。选择所需的算法,输出相应结果:(1)先来先服务算法(FCFS)
按输入顺序输出访问序列。
(2)最短寻道时间优先算法(SSTF)
依次输出距离当前磁头位置最近的磁道请求。
(3)电梯算法(SCAN)
先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从大到小的顺序输出所输入的当前磁头位置内侧的磁道请求。
(4)环形扫描算法(C_SCAN)
先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从小到大的顺序输出所输入的当前磁头位置内侧的磁道请求。
(5)N_SCAN算法
先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从大到小的顺序输出在磁头向外侧移动过程当中输入的作业请求与所输入的当前磁头位置内侧的磁道请求。
三、系统的原理框图
1.总体框图:
本系统划分为五个模块:先来先服务算法模块FCFS(int track[])、最短寻道时间算法模块SSTF(int correnttrack,int track[])、电梯算法模块SCAN(int correnttrack,int track[])、环形扫描算法模块C_SCAN(int correnttrack,int track[])及N_SCAN算法模块N_SCAN(int correnttrack,int track[])。
总体框图:
磁盘调度模拟系统先来先服务算法最短寻道时间优先算法电梯算法环形扫描算法N_SCAN算法 图1 总体框图 2.模块框图:
(1)先来先服务算法模块void FCFS(int track[])直接根据作业请求磁盘的先后顺序对磁盘进行寻访。此算法公平、简单,每个作业的磁盘请求都可以得到处理,不会出现某个作业的请求长期得不到满足的情况。
先来先服务算法流程图:
FCFS输入当前磁头位置 输入一组作业磁道请求i=1i<10是输出track[i]否i=i+1结束
图2 先来先服务算法模块流程图
(2)最短寻道时间优先算法模块void SSTF(int correnttrack,int track[])优先选择距离当前磁头位置最近的作业磁道请求,可以使得每次寻道时所用的时间都最短。
最短寻道时间优先算法流程图:
SSTF输入当前磁头位置及 一组作业磁道请求Min=|corrent-track[0]|i=0i<10是j=0j<10是track[j]!=-1d=|corrent-track[j]j++d 图3最短寻道时间优先算法模块流程图 (3)电梯算法模块void SCAN(int correnttrack,int track[])默认磁头当前移动方向为自内向外,先选择当前磁头之外距离其最近的磁道进行访问,6 直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近的作业磁道请求。 电梯算法流程图: C_SCANk=0;min=track[0]i=0i<10是j=0j<10是i++j++Track[j]!=-1track[j] 图4 电梯算法模块流程图 (4)环形扫描算法模块void C_SCAN(int correnttrack,int track[])先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再直接将 7 磁头移到最内侧磁道(此过程快速移动,并不访问任何磁道),再由内向外顺次访问距离当前磁头位置最近的作业磁道请求。一直保持磁头移动寻访方向不变,对两端磁道请求比较有利。 环形扫描算法流程图: C_SCANk=0;min=track[0]i=0i<10是j=0j<10是i++j++Track[j]!=-1track[j] 图5 环形扫描算法模块流程图 (5)N_SCAN算法模块void N_SCAN(int correnttrack,int track[])本设计默认磁头当前移动方向为自内向外,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,接下来一并考虑在磁头向外侧移动过程当中输入的作业请求与磁头内侧未被处理的作业磁道请求。此算法对中间磁道请求比较有利。 N_SCAN算法流程图: N_SCANk=0;min=track[0]i=0i<10是j=0j<10是i++j++Track[j]!=-1track[j] 1j=k-1;i=10-k;i<10i++是Line[i]=dLine[j]j=j-1;否k=9-k;是否还有作业请求是输入作业请求k=k-1;否K=9;max=Line[9];i=0;lLine[.]=-1i<10是j=0j<10是i++j++Line[j]>maxmax=Line[j];k=j否否lLine[i]=Line[k];Line[k]=-1;max=0;Print(lLine);结束 图7 N_SCAN算法模块流程图(2) 四、设计程序 1.主要模块代码: (1)先来先服务算法void FCFS(int track[])直接根据作业请求磁盘的先后顺序对磁盘进行寻访。先来先服务算法代码: void FCFS(int track[]){ int k;for(k=0;k<9;k++){ printf(“%d->”,track[k]); } printf(“%d”,track[9]);} (2)最短寻道时间优先算法void SSTF(int correnttrack,int track[])优先选择距离当前磁头位置最近的作业磁道请求。最短寻道时间优先算法代码: void SSTF(int correnttrack,int track[]){ int Line[10];int i;int j;int d;int min_d;int k;int corrent; min_d=abs(correnttrack-track[0]); k=0;corrent=correnttrack; for(i=0;i<10;i++){ for(j=0;j<10;j++) { if(track[j]!=-1) { d=abs(corrent-track[j]); if(d { min_d=d; k=j; } } } Line[i]=track[k]; corrent=Line[i]; track[k]=-1; min_d=65536; } printf(“%d->”,correnttrack);Print(Line);} (3)电梯算法void SCAN(int correnttrack,int track[])默认磁头当前移动方向为自内向外,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近的作业磁道请求。 电梯算法代码: void SCAN(int correnttrack,int track[]){ int Line[10];int dLine[10];int i;int j;int k; int min; k=0; min=track[0];for(i=0;i<10;i++){ for(j=0;j<10;j++) { if(track[j]!=-1) { if(track[j] { min=track[j]; k=j; } } } dLine[i]=track[k]; track[k]=-1; min=65536;} k=0;for(i=0;i<10;i++){ if(correnttrack>dLine[i]) { k=k+1; } } j=k;for(i=0;i<10-k;i++){ Line[i]=dLine[j]; j=j+1; } j=k-1;for(i=10-k;i<10;i++){ Line[i]=dLine[j]; j=j-1; } Print(Line);}(4)环形扫描算法void C_SCAN(int correnttrack,int track[])先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再直接将磁头移到最内侧磁道(此过程快速移动,并不访问任何磁道),再由内向外顺次访问距离当前磁头位置最近的作业磁道请求。 环形扫描算法代码: void C_SCAN(int correnttrack,int track[]){ int Line[10];int dLine[10];int i;int j;int k;int min;k=0;min=track[0];for(i=0;i<10;i++){ for(j=0;j<10;j++) { if(track[j]!=-1) { if(track[j] { min=track[j]; k=j; } } } dLine[i]=track[k]; track[k]=-1; min=65536;} k=0;for(i=0;i<10;i++){ if(correnttrack>dLine[i]) { k=k+1; } } j=k;for(i=0;i<10-k;i++){ Line[i]=dLine[j]; j=j+1; } j=0;for(i=10-k;i<10;i++){ Line[i]=dLine[j]; j=j+1; } Print(Line);} (5)N_SCAN算法void N_SCAN(int correnttrack,int track[])默认磁头当前移动方向为自内向外,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,接下来一并考虑在磁头向外侧移动过程当中输入的作业请求与磁头内侧未被处理的作业磁道请求。 N_SCAN算法 void N_SCAN(int correnttrack,int track[]){ int Line[10];int dLine[10];int lLine[10];int i;int j;int k; int min,max;int choice; for(k=0;k<10;k++){ lLine[k]=-1; } k=0;min=track[0];for(i=0;i<10;i++){ for(j=0;j<10;j++){ if(track[j]!=-1) { if(track[j] { min=track[j]; k=j; } } } dLine[i]=track[k];track[k]=-1;min=65536;} k=0;for(i=0;i<10;i++){ if(correnttrack>dLine[i]){ k=k+1;} } j=k;for(i=0;i<10-k;i++){ Line[i]=dLine[j];printf(“%d->”,Line[i]);Line[i]=-1;j=j+1;} j=k-1;for(i=10-k;i<10;i++){ Line[i]=dLine[j];j=j-1;} printf(“n是否还有作业请求(1-是;0-否):n”);scanf(“%d”,&choice); k=9-k;while(choice==1){ printf(“n请输入作业的磁道请求:n”); scanf(“%d”,&Line[k]); k=k-1; printf(“n是否还有作业请求(1-是;0-否):n”); scanf(“%d”,&choice); } printf(“n磁头继续移动轨迹为:n”); k=9; max=Line[9];for(i=0;i<10;i++){ for(j=0;j<10;j++) { if(Line[j]>max) { max=Line[j]; k=j; } } lLine[i]=Line[k]; Line[k]=-1; max=0;} for(i=0;i<9;i++){ if(lLine[i]!=-1) { printf(“%d->”,lLine[i]); } } printf(“%d”,lLine[9]);} 2.总模块代码: void main(){ int track[10];int n;int correnttrack;int choice=1;printf(“n******磁盘调度模拟系统******”);while(choice==1){ printf(“n请输入当前磁道号:”); scanf(“%d”,&correnttrack); printf(“n请输入一组作业的磁道请求<以回车分隔>:n”); scanf(“%d %d %d %d %d %d %d %d %d %d”,&track[0],&track[1],&track[2],&track[3],&track[4],&track[5],&track[6],&track[7],&track[8],&track[9]); printf(“n请选择算法:n”); printf(“t1.先来先服务算法(FCFS)n”); printf(“t2.最短寻道时间优先算法(SSTF)n”); printf(“t3.电梯算法(SCAN)n”); printf(“t4.环形扫描算法(C_SCAN)n”); printf(“t5.(N_SCAN)n”); scanf(“%d”,&n); printf(“nn”); switch(n) { case 1: printf(“********先来先服务算法(FCFS)*********n磁头移动轨迹为:n”); FCFS(track); break; case 2: printf(“*****最短寻道时间优先算法(SSTF)******n磁头移动轨迹为:n”); SSTF(correnttrack,track); break; case 3: printf(“************电梯算法(SCAN)***********n磁头移动轨迹为:n”); SCAN(correnttrack,track); break; case 4: printf(“*********环形扫描算法(C_SCAN)********n磁头移动轨迹为:n”); C_SCAN(correnttrack,track); break; case 5: printf(“****************N_SCAN***************n磁头移动轨迹为:n”); N_SCAN(correnttrack,track); break; } } printf(“n请问是否继续?(1-继续;0-退出)n”); scanf(“%d”,&choice);} 五、实验结果 1.总模块实验结果: 程序开始运行,将出现输入选择界面; 图8 主界面 2.基础模块实验结果: (1)先来先服务算法(First-Come,First-Served,FCFS) 按输入顺序输出访问序列。 选择该算法后,将输出相应磁头移动轨迹: 图9 先来先服务算法0 输出结果为69-> 23-> 120-> 45-> 77-> 31-> 55-> 99-> 150-> 2 满足要求。 (2)最短寻道时间优先算法(Shortest Seek Time First,SSTF) 依次输出距离当前磁头位置最近的磁道请求。选择该算法后,将输出相应磁头移动轨迹: 图10 最短寻道优先算法 输出结果为45-> 55-> 69-> 77-> 99-> 120-> 150-> 31-> 23-> 2 满足要求。(3)电梯算法(SCAN) 先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从大到小的顺序输出所输入的当前磁头位置内侧的磁道请求。 选择该算法后,将输出相应磁头移动轨迹: 图11 电梯算法 输出结果为55-> 69-> 77-> 99-> 120-> 150-> 45-> 31-> 23-> 2 满足要求。 3.扩展模块实验结果: (1)环形扫描算法(C_SCAN) 先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从小到大的顺序输出所输入的当前磁头位置内侧的磁道请求。 选择该算法后,将输出相应磁头移动轨迹: 图12 环形扫描算法 输出结果为55-> 69-> 77-> 99-> 120-> 150-> 2-> 23-> 31-> 45 满足要求。 (2)N_SCAN算法 先按照从小到大的顺序输出所输入的当前磁头位置外侧的磁道请求,再按照从大到小的顺序输出在磁头向外侧移动过程当中输入的作业请求与所输入的当前磁头位置内侧的磁道请求。 选择该算法后,将输出相应磁头移动轨迹: 图13 N_SCAN算法 输出结果为55-> 69-> 77-> 99-> 120-> 150-> 88-> 45-> 31-> 23-> 8-> 2-> 1 满足要求。 六、调试分析及故障处理 1.调试分析: (1)在代码中错误的使用了中文括号“)”,导致程序出错。 图14 错误报告(2)在定义函数时误在结尾处加分号“;”,导致调试过程中出错。 图15 错误报告 (3)由于未对变量初始化,导致错误: 图16 错误警告 未对k初始化,如下图: 图17 变量表 2.故障处理: 重新检查代码,发现错误,并及时修正。调试后无误: 图18 无错误及警告 发生故障时,可采取单步调试的方法,逐条语句检查,修正错误。 图19 故障处理过程 七、设计结论 磁盘,是一种很重要也很常用的外设,其分配也有一定的分配策略。在操作系统中,作业对磁盘的请求常常要排队,由此需要一些高效率的磁盘分配策略算法。本系统设计了五种寻道策略,其中先来先服务算法为一种最简单的磁盘调度算法,它直接根据作业请求磁盘的先后顺序对磁盘进行寻访,公平、简单,每个作业的磁盘请求都可以得到处理,不会出现某个作业的请求长期得不到满足的情况,但未对寻道方案进行优化,故平均周转时间及带权周转时间都会较长;最短寻道时间优先算法优先选择距离当前磁头位置最近的作业磁道请求,可以使得每次寻道时所用的时间都最短,但不能保证平均周转时间及带权周转时间最短;电 梯算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近的作业磁道请求,避免了饥饿现象的出现,每个作业的磁盘请求都可以得到处理,且使每次寻道时间相对较短;环形扫描算法的磁头移动方向一直为自内向外,同时考虑下一个作业磁道请求与当前磁头位置的距离最短,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再直接将磁头移到最内侧磁道(此过程快速移动,并不访问任何磁道),再由内向外顺次访问距离当前磁头位置最近的作业磁道请求,使每个作业的磁盘请求都可以得到处理,且使每次寻道时间相对较短,由于该方法一直保持磁头移动寻访方向不变,对两端磁道请求比较有利; N_SCAN算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向,但每次磁臂调转方向时,将同时处理在磁头向一侧移动过程当中输入的作业请求,先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,接下来一并考虑在磁头向外侧移动过程当中输入的作业请求与磁头内侧未被处理的作业磁道请求,此算法对中间磁道请求比较有利。总之,各种算法都有其长处,也各有不足,需要在实际应用中权衡利弊,择优使用。 八、心得体会 本次操作系统课程设计,我不仅完成了课程要求中的任务,更在中期检查后听取了老师的建议,自己上网查找了其他两种磁盘调度算法加入了程序当中,使系统更加完善和完整。在这过程中,我不仅加深了对操作系统的了解,进一步熟悉了C语言编程和Microsoft Visual C++ 6.0的使用,更加了解了很多之前在课本中和课程学习中并不了解和知道的知识,扩展了视野,丰富了体验。 由于自己的知识和能力还不到位,在这两周的时间里也经历了很多困难和挑战,但我认为,在这过程中的每一次的错误和故障,都使我收获颇丰,使我成长了很多。 当然,这个磁盘调度系统的设计远非完美,还有很多地方可以改进,例如界面可以更加友好,资源可以更加节约,算法也还有优化的余地,但是时间有限,本人经历也有限,在课程设计时间允许的范围内只能做到这样,我会在课余时间自行完善该磁盘调度算法程序。 时间:2011年11月27日8点 地点:市常委会议室 人员: 会议内容: 1、水环境汇报 2、凤凰路改名:1)恢复西湖路,2)爱心路,3)博爱路。 3、明确收储并绿化的地块:1)爱心医院南、公园路北收储后做水景公园;2)公园路南、东风路北、凤凰路东地块收储;3)教委南、花园路北钢窗厂地块收储;4)豆腐城南、西坝路北和西坝路南、凤凰路西地块收储,作为公交首末站、绿化及停车场;5)西坝路北、银屏路东地块收储做绿化;6)裕溪路南、二水厂东地块收储后植树;7)裕溪路与长江路交叉口东南角地块收储做绿化,西北角做绿化和停车场;8)原地建公司处收储改造,安置点选在凤凰山庄;巢湖北路西、运输公司地块收储改造、配套社会车辆停车场;9)整体拆迁红石板村,安置在东风或凤凰安置点,并完善区域支路网。 4、整合脱氏眼科医院、道德医院和骨科研究所,综合建设。 5、北外环截洪沟路由。 6、火车站北部区域控规设计:完善路网系统,合理确定道路、污水等内容,便于指导建设紫薇路。 7、选址方案: 1)巢湖北路拆迁选址:凤凰安置点西或巢湖北路西侧。 2)交通投资公司选址:向阳南路与亚父路交叉口西南角或新驾校西。城市规划建设调度会 第6篇
调度室规划设计
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


