设备管理实现汇总
- 格式:doc
- 大小:252.69 KB
- 文档页数:40
设备管理年度总结汇报尊敬的领导、各位同事:大家好!我是设备管理部门的负责人,今天我很荣幸能够向大家汇报我们设备管理部门在过去一年的工作总结及成果展示。
在过去的一年里,设备管理部门在公司领导的正确指导下,紧紧围绕公司发展战略,积极推动设备管理工作的深入开展。
我们始终坚持以提高设备利用率、降低维护成本、提高设备运行效率为目标,全面推进设备管理工作的科学化、规范化和信息化。
首先,我们加强了设备管理的信息化建设。
通过引进先进的设备管理系统,实现了设备台账、维修记录、保养计划等信息的实时管理和监控,为设备管理提供了科学的数据支撑和决策依据。
其次,我们加强了设备维护保养工作。
建立了完善的设备维护保养制度和流程,加强了设备维护保养的定期检查和维护工作,有效降低了设备故障率,提高了设备的可靠性和稳定性。
再次,我们加强了设备管理的标准化管理。
制定了一系列设备管理的标准操作规程,规范了设备的使用和维护,提高了设备管理的规范化水平。
最后,我们加强了设备管理的安全生产工作。
加强了设备的安全运行管理,定期组织设备安全检查和隐患排查,确保了设备的安全运行。
在过去的一年里,我们设备管理部门在公司领导的正确指导下,全体员工的共同努力下,取得了显著的成绩。
但是,我们也清醒地意识到,设备管理工作还存在一些薄弱环节和不足之处,需要进一步加强和改进。
展望未来,我们将继续深化设备管理改革,加强设备管理的信息化建设,进一步提高设备的利用率和运行效率,为公司的可持续发展贡献更大的力量。
最后,我要感谢全体员工在过去一年里的辛勤付出和努力工作,也要感谢公司领导和各位同事对设备管理工作的支持和关心。
让我们共同努力,为公司的发展做出更大的贡献!谢谢大家!。
石油公司设备管理工作总结
作为石油公司的设备管理人员,我们的工作涉及到对石油设备的维护、保养和
管理。
在过去的一段时间里,我们不断努力改进和完善设备管理工作,以确保设备的正常运行和生产效率的提高。
在这篇文章中,我将对我们的设备管理工作进行总结,分享我们的经验和教训。
首先,我们注重设备的定期检查和保养。
我们建立了一套完善的设备保养计划,包括定期的检查和维护工作。
通过对设备的定期检查,我们可以及时发现设备的故障和问题,并进行及时修复,以避免设备故障对生产造成影响。
其次,我们重视设备的管理和监控。
我们引入了先进的设备管理系统,实现了
对设备运行状态的实时监控和管理。
通过这一系统,我们可以随时了解设备的运行情况,及时发现设备的异常情况,并采取相应的措施进行处理,以确保设备的正常运行。
此外,我们还加强了对设备操作人员的培训和管理。
我们组织了定期的设备操
作培训,提高了操作人员的技能和素质。
同时,我们建立了严格的设备操作管理制度,规范了设备操作流程,确保设备的安全运行。
总的来说,我们的设备管理工作取得了一定的成绩。
通过我们的不懈努力,设
备的故障率得到了明显的降低,生产效率得到了显著的提高。
但是,我们也认识到在设备管理工作中还存在一些问题和不足,比如设备管理系统的完善和设备管理人员的技能水平等方面还需要进一步改进和提高。
在未来的工作中,我们将继续努力,进一步完善设备管理工作,提高设备的运
行效率和安全性,为石油生产的稳定和持续发展做出更大的贡献。
生产设备管理总结汇报
尊敬的领导和各位同事:
我很荣幸能够在此向大家汇报我们生产设备管理工作的情况。
在过去的一段时间里,我们团队努力工作,克服了许多困难,取得
了一些显著的成绩,现在我将就此向大家做一份总结汇报。
首先,我们团队在生产设备管理方面取得了一些重要的进展。
我们对生产设备进行了全面的检查和维护,确保了设备的正常运转。
同时,我们还对设备进行了升级和改造,提高了设备的生产效率和
质量,为企业节约了大量的成本。
其次,我们在设备管理方面加强了安全生产工作。
我们建立了
完善的安全管理制度,加强了对设备操作人员的培训和监督,有效
地提高了安全生产意识,减少了事故的发生,保障了员工的人身安全。
此外,我们还在设备管理方面加强了技术创新和研发工作。
我
们引进了一些先进的生产设备,提高了生产工艺水平,为企业产品
的质量和品牌形象奠定了坚实的基础。
最后,我们还在设备管理方面加强了团队建设和协作。
我们建
立了一个高效的团队管理机制,激发了团队成员的工作激情,提高
了团队的凝聚力和执行力,为企业的发展注入了新的活力。
总的来说,我们在生产设备管理方面取得了一些积极的成果,
但也存在一些不足之处,需要进一步改进和完善。
我们将继续努力,不断提高设备管理水平,为企业的发展做出更大的贡献。
谢谢大家!。
设备管理总结(优秀6篇)总结是对取得的成绩、存在的问题及得到的经验和教训等方面情况进行评价与描述的一种书面材料,它可以有效锻炼我们的语言组织能力,因此十分有必须要写一份总结哦。
总结一般是怎么写的呢?以下是人见人爱的分享的6篇《设备管理总结》,如果能帮助到亲,我们的一切努力都是值得的。
设备管理工作总结篇一今年以来,在公司的正确领导下,重点严抓设备基础管理工作,以及设备拆迁管理工作,现就一年来的工作情况总结如下:一、一年来所做的主要设备管理工作:首先,我们健全设备管理机构,有效开展设备巡检定修:1、按巡检定修管理模式,完善检修管理体系,并从人员配备、职责分工及作业效果等环节进行全面清查与改进。
2、逐步推行检修作业规范化,建立维修作业标准,对检修(隐患整改)的工时工序进行了跟踪管理,检修任务单、操作票及试车验收单已成为检修作业的一项基本记录。
第二,抓好其他设备管理基础工作:1、完成组织制订和审定各车间设备的检修标准,并逐步建立与完善公司级重要设备的技术档案,强化技术状态管理与全过程管理。
2、每天检查各车间维修工巡检记录,并签字确认,核实巡检记录与设备实际运转情况是否相符,并对其进行考核。
3、每周开设备例会一次,对各车间设备运行情况进行汇总,及对出现的问题提出解决办法和实施放案。
第三,严抓设备拆迁过程中的野蛮操作,杜绝设备损坏,注重拆迁过程控制。
二、具体解决的设备问题解决水环真空泵在运转过程中减速机摆动问题;处理脱硫泵超流问题;解决水环真空泵循环水排量不够问题;解决水环真空泵腐蚀问题;处理反应釜骨架密封漏油问题;提高了分离车间离心泵性能,并对机械密封进行改造。
处理动力循环水泵振动问题;积极试验反应釜机封国产化问题;搅拌器桨叶国产化。
三、采购方面工作在原料供应方面,想尽一切办法确保供应,积极和采购中心沟通,寻找货源,尽一切力量满足公司车间生产。
在备品备件供应方面,人员少,资金少的情况下,基本满足备件供应,确保生产正常运行。
全院设备汇总与共享管理制度第一章总则第一条目的和依据为了统筹全院设备资源,提高设备利用率,确保设备安全可靠、顺利运行,充分发挥设备的作用,供应高质量的医疗服务,订立本制度。
第二条适用范围本制度适用于本院全部设备的汇总与共享管理。
第三条设备分类依据使用范围和功能需求,将设备分为医疗设备、试验设备、办公设备三大类。
第二章设备汇总管理第四条设备登记设备管理部门负责设备的登记工作,编制设备台帐并定期更新。
设备购置时,需依照相关规定填写设备登记表,供应设备基本信息、购置日期、供应商等。
第五条设备统一编号设备管理部门在设备登记时,为每台设备统一编号,并贴于设备上。
设备编号应包含设备类别、购置年份与次序号,以方便管理和查询。
第六条设备处理设备管理部门负责设备的处理工作。
对于报废、维护和修理不行行或无法正常使用的设备,需经过专业评估,获得院领导的批准后,方可在合法合规的程序下进行处理,包含设备报废、设备租赁或转让等。
第七条设备维护与保养设备管理部门负责设备的维护与保养工作,订立设备维护计划,确保设备定时进行例行维护和保养。
同时,要做好设备故障记录和设备维护和修理跟踪,及时处理设备故障。
第八条设备保险设备管理部门负责设备的保险工作,对于价值较高的设备应及时购买保险,保障设备的安全和价值。
第三章设备共享管理第九条设备共享平台设备管理部门建立设备共享平台,统一管理全院设备资源。
通过平台,各科室可以查询设备的使用情况、预约设备使用时间,并提示设备维护保养等。
第十条设备共享流程1.科室需提前在设备共享平台上预约设备使用时间。
2.设备管理部门依据预约情况,布置设备使用时间,并在平台上进行确认。
3.科室在预约的时间段内使用设备,依照预约时间和规定进行操作。
4.使用完毕后,科室负责对设备进行清洁和消毒,并定时归还设备。
第十一条费用核算设备共享平台记录设备使用情况,依照科室预约功能、使用时间和设备价值等进行费用核算。
各科室需定时缴纳设备使用费,用于设备维护和更新。
设备管理主要工作总结范文设备管理主要工作总结。
设备管理是企业运营中不可或缺的一部分,它涉及到设备的采购、维护、保养和更新等方面。
在现代企业中,设备管理的重要性日益凸显,因此对设备管理的重要工作进行总结是非常必要的。
首先,设备管理的主要工作之一是设备采购。
企业需要根据生产需求和技术水平,合理规划设备的采购计划,确保设备的质量和性能能够满足生产需求。
在设备采购过程中,需要考虑到设备的成本、性能、维护和保养等因素,以便为企业选择合适的设备。
其次,设备管理还包括设备维护和保养工作。
设备的正常运转对企业的生产至关重要,因此设备的维护和保养工作至关重要。
定期的设备检修和保养可以延长设备的使用寿命,提高设备的性能和效率,减少设备故障对生产造成的影响。
另外,设备更新也是设备管理的重要工作之一。
随着科技的发展和市场需求的变化,企业需要不断更新设备,以适应新的生产需求和技术发展。
设备更新的工作需要进行充分的规划和准备,以确保设备的更新能够顺利进行,并且能够为企业带来更大的生产效益。
总的来说,设备管理是企业生产运营中非常重要的一部分,它涉及到设备的采购、维护、保养和更新等方面。
通过对设备管理主要工作的总结,可以帮助企业更好地规划和管理设备,提高生产效率,降低生产成本,从而为企业的可持续发展做出贡献。
电气设备管理成功案例集锦汇总一、引言随着我国经济的快速发展,电气设备的广泛应用为工业生产、日常生活带来了极大的便利。
然而,电气设备在运行过程中,存在着一定的安全风险。
为了确保电气设备的安全、稳定、高效运行,电气设备管理工作显得尤为重要。
本文将汇总一些电气设备管理的成功案例,以期为电气设备管理提供借鉴和参考。
二、电气设备管理成功案例1.案例一:某大型钢铁企业电气设备管理该企业针对电气设备管理制定了完善的规章制度,明确了各级管理人员、操作人员的职责。
同时,企业加强了对电气设备的检查、维修和保养工作,确保设备始终处于良好的运行状态。
此外,企业还定期组织电气设备知识培训,提高员工的操作技能和安全意识。
通过这些措施,该企业电气设备运行效率得到了显著提高,故障率降低,为企业创造了良好的经济效益。
2.案例二:某电力公司电气设备管理该公司采用先进的电气设备管理系统,实现了对电气设备的实时监控、故障预警和远程控制。
同时,公司还建立了完善的电气设备维护保养体系,确保设备在良好的状态下运行。
此外,公司注重电气设备安全管理,定期开展安全检查,及时消除安全隐患。
通过这些措施,该公司电气设备运行稳定,故障率低,为企业提供了可靠的电力保障。
3.案例三:某电子生产企业电气设备管理该企业高度重视电气设备管理工作,制定了严格的电气设备操作规程和维护保养制度。
企业还投入资金对电气设备进行升级改造,提高设备的安全性能和运行效率。
此外,企业加强对员工的电气设备知识培训,提高员工的操作技能和安全意识。
通过这些措施,该企业电气设备运行稳定,故障率低,为企业创造了良好的生产环境。
4.案例四:某化工厂电气设备管理该化工厂针对电气设备管理制定了详细的操作规程和维护保养制度,明确了各级管理人员、操作人员的职责。
企业还建立了电气设备检查、维修和保养的档案,确保设备始终处于良好的运行状态。
此外,企业注重电气设备安全管理,定期开展安全检查,及时消除安全隐患。
设备维护管理总结汇报
尊敬的领导和同事们:
我很荣幸能够在这里向大家汇报我们部门在设备维护管理方面所取得的成绩和进展。
在过去的一段时间里,我们团队积极努力,不断改进和提升设备维护管理工作,取得了一系列显著的成就。
首先,我们重视设备维护管理的重要性,加强了设备维护保养的宣传和培训工作,提高了员工对设备维护管理的重视和认识。
通过定期举办设备维护知识培训班和技能比赛,我们成功地提高了员工的维护技能和意识,降低了设备故障率,提高了设备利用率。
其次,我们通过建立健全的设备维护管理制度和流程,加强了设备维护管理的规范化和标准化。
我们建立了设备档案和台账,实行设备定期巡检和保养制度,规范了设备故障处理和维修流程,提高了设备维护管理的效率和质量。
最后,我们采用了先进的设备维护管理技术和手段,引进了设备远程监控和故障诊断系统,实现了设备故障的及时发现和处理,提高了设备维护管理的智能化和信息化水平。
通过以上的努力和改进,我们成功地提高了设备的可靠性和稳
定性,降低了设备的维护成本,提高了设备的使用效率,为企业的
生产经营做出了积极的贡献。
在未来的工作中,我们将继续加强设备维护管理的宣传和培训,进一步完善设备维护管理制度和流程,不断引进和应用先进的设备
维护管理技术和手段,努力提高设备维护管理的水平和质量,为企
业的可持续发展贡献力量。
谢谢大家!。
一、设备管理目标设备管理的目标是确保设备的正常运作,延长设备的使用寿命,提高设备的性能,降低维修成本,保障生产安全和质量。
二、设备管理责任1. 管理层责任:负责制定设备管理规章制度,确保其执行,提供必要的支持和资源。
2. 设备管理员责任:做好设备的使用和维护工作,定期检查设备状况,及时发现并解决问题。
3. 操作人员责任:正确操作设备,不得随意更改设备参数,及时上报设备问题。
三、设备管理规章制度内容1. 设备台账管理:建立设备台账,记录设备的名称、规格、型号、制造商、购置日期、保养记录等信息。
2. 设备购置管理:确定购置设备的需求,评估设备性能和质量,选定可靠的供应商。
3. 设备接收管理:对新购设备进行验收,检查设备是否完好无损。
4. 设备使用管理:规定设备的使用范围和操作规程,操作人员必须经过培训,具备操作资格。
5. 设备维护管理:制定设备维护计划,定期对设备进行检修和保养。
6. 设备保养管理:建立设备保养的标准和周期,及时对设备进行保养,确保设备性能稳定。
7. 设备维修管理:设备出现故障时应及时报修,由专业人员进行维修,确保设备迅速恢复正常运转。
8. 设备报废管理:对于老化或无法维修的设备,应做好报废处理,确保设备不对环境造成污染。
四、设备管理实施1. 设备管理培训:对设备管理员和操作人员进行设备管理培训,使其了解设备管理规章制度。
2. 设备管理监督:建立设备管理监督制度,定期对设备管理的执行情况进行检查,发现问题及时处理。
3. 设备管理改进:根据实际情况不断改进设备管理规章制度,提高设备管理的效率和质量。
通过对设备的使用寿命、维修成本、故障率等指标进行评估,来评价设备管理的效果。
只有合理的设备管理才能保证设备的正常运作,提高企业的生产效率和竞争力。
总的来说,设备管理规章制度的建立和执行对于企业的可持续发展至关重要,只有严格执行设备管理规章制度,确保设备的安全和正常运转,才能提高生产效率,保障生产安全和质量,为企业的长期发展奠定基础。
设备部管理文件目录编码YTE-WI-DL-001 第一版共36页起草人日期年月日审核人日期年月日批准人日期年月日颁发部门山东尤特尔实施日期年月日第一部分、设备部基本构架及职责范围第二部分、设备管理工作流程第三部分、设备部管理制度1、设备部基本构架及职责范围2、设备主管职责3、维修班长职责4、动力运行班长职责5、机修人员职责6、运行人员职责设备部基本构架及职责范围设备部现有员工8人,其中管理人员1人,一般员工7人,目前基本组织构架如下:设备部职责范围:1、负责公司设备规划、设备选型、固定资产管理。
2、空压机,锅炉房,水泵站供应系统,对生产线提供气源,水源,蒸汽的运行保障。
水电气动力能源消耗统计及节能减排。
3、负责全厂动力设备和车间生产设备的保养维护。
4、设备维修、备品备件计划、工具、动力及特种设备管理、设备运行安全管理和设施消防设备主管职责1、负责公司设备规划方案制定、设备选型、调研、验收、安装、调试工作。
2、检查、监督设备使用维护制度的执行并依据规定进行考核工作。
3、负责设备安装验收、设备移交调拨、闲置设备封存、借用租赁、报废处理,并建立档案等固定资产管理工作。
4、制定设备使用维护保养制度、维护保养作业指导书,使用者操作培训等。
5、记录设备技术状态原始数据,检测、检查处理紧急故障和事故。
6、制定公司设备大、项修计划及时更换设备失灵、失效零部件,保障设备正常运行。
7、做好设备备品备件计划、生产和维修工具的计划,按照公司流程领用并建立台帐记录。
8、负责配电房、供水、供气设备设施的运行管理,水电气、动力能源消耗计算及维修费用计算,展开节能减排工作。
9、负责特种设备(泵站、锅炉、压力容器、煤气管道、压缩空气站、叉车),起重设备的行业年检工作。
10、计量仪表、检测工具的校验工作。
11、负责公司消防设施管理和对外协调配合行业检查工作。
12、负责公司自制设备、设施的设计、制作,老旧设备改造工作。
13、负责动力维修和运行人员的管理。
第3部分、设备管理实现:●基本要求:在前面的实验基础上实现设备管理功能的模拟,主要包括通道和控制器的添加和删除,设备的添加、删除,设备的分配和回收。
●参考学时:12学时●实验提示:1、假定模拟系统中已有键盘、鼠标、打印机和显示器四个设备,另有三个控制器和两个通道,它们之间的控制关系如图所示:2、设备管理子系统涉及到系统设备表(SDT )、通道控制表(CHCT )、控制器控制表(COCT )和设备控制表(DCT )来体现输入输出系统的四级结构和三级控制。
应实现上述数据结构来完成对外围设备的管理。
3、实现上述设备、控制器以及通道的层次关系,同时能够添加或删除新的设备、控制器或通道。
4、通过键盘命令模拟进程执行过程中提出的设备分配或释放请求,并为此请求分配或释放设备。
分配设备成功后可将进程状态调整为阻塞,释放设备后变为就绪状态。
5、分配设备时应如果该设备已被其它进程占用,则设备分配失败,请求进程进入阻塞状态,同时等待该设备的释放。
如果设备空闲,进程占用设通道1通道2控制器1控制器2控制器3键盘打印机 显示器鼠标CPU备的同时还应提出申请控制器请求,直到与设备相关的通道都已申请成功为止。
6、设备、控制器或通道的释放应引起对应节点的等待队列中的第一个阻塞进程被唤醒。
如果被唤醒的进程还未完成申请操作,应继续执行上级节点的申请操作。
import java.util.Vector;import java.io.*;class Process{Page []PageTable;Vector<Page> PageQueue;private int size;private int Pagecount;private String name;double visit;double replacement;public void setPage(Page []PageTable) {this.PageTable=new Page[PageTable.length];for(int i=0;i<PageTable.length;i++) {this.PageTable[i]=PageTable[i];}}public int getPageBlock(int PageNum) {return PageTable[PageNum].getBlockNum();}public void setSize(int size) {this.size=size;}public int getSize() {return size;}public void setPagecount(int Pagecount) { this.Pagecount=Pagecount;}public int getPagecount() {return Pagecount;}{visit=0;replacement=0;}public Process() {}public Process(String name){=name;}public Process(String name,int size) { this(name);this.size=size;}public String toString(){return name;}}class Page {int flag;int blockNum;int writed;//xiu gai weiint accessfield;//fang wen zi duanint swapsapce_blockno;//wai cun dizhiint t;{blockNum=0;writed=0;accessfield=0;t=0;}public Page() {flag=1;swapsapce_blockno=-1;}public Page(int flag,int swapsapce_blockno) { this.flag=flag;this.swapsapce_blockno=swapsapce_blockno;}public int getBlockNum() {return blockNum;}public int getFlag() {return flag;}}class IONode{String name;IONode next;Process process;Vector<Process> waitinglist;IONode parent;public IONode() {}public IONode(String name) {=name;}public void setNext(IONode next) { this.next=next;}public IONode getNext() {return next;}public void setParent(IONode parent) { this.parent=parent;}public String toString() {return name;}}class CHCT extends IONode {String name;CHCT next;Process process;Vector<Process> waitinglist;//CHCT parent;public CHCT() {}public CHCT(String name) {=name;}public void setNext(CHCT next) { this.next=next;}public CHCT getNext() {return next;}public void setParent(CHCT parent) { this.parent=parent;}public String toString() {return name;}}class COCT extends IONode {String name;COCT next;Process process;Vector<Process> waitinglist;CHCT parent;public COCT() {}public COCT(String name) {=name;}public void setNext(COCT next) { this.next=next;}public COCT getNext() {return next;}public void setParent(CHCT parent) { this.parent=parent;}public String toString() {return name;}}class DCT extends IONode {String name;DCT next;Process process;Vector<Process> waitinglist;COCT parent;public DCT() {}public DCT(String name) {=name;}public void setNext(DCT next) {this.next=next;}public DCT getNext() {return next;}public void setParent(COCT parent) {this.parent=parent;}public String toString() {return name;}}class OS3 {public static Vector<Process> ready,blocked; public static Process running;public static BufferedReader br;static int [][]a=new int[8][8];static int[][]d=new int[10][10];//置换空间static int count=0;static CHCT chct=new CHCT();static COCT coct=new COCT();static DCT dct=new DCT();public OS3() {ready=new Vector<Process>();blocked=new Vector<Process>();br=new BufferedReader(new InputStreamReader(System.in));for(int i=0;i<a.length;i++) {for(int j=0;j<a[i].length;j++) {if(Math.random()<0.5) {a[i][j]=0;}else {a[i][j]=1;}}}for(int i=0;i<d.length;i++) {for(int j=0;j<d[i].length;j++) {if(Math.random()<0.5) {d[i][j]=0;}else {d[i][j]=1;}}}InitProcess();//初始化进程InitRelation();//初始化关系// System.out.println("位示图----------------");// print(a);// System.out.println("置换空间--------------");// print(d);}public static void go() {while(true){System.out.println("========================================== =============================");System.out.println("1:进程创建 ");System.out.println("2:进程到时 ");System.out.println("3:进程阻塞 ");System.out.println("4:进程唤醒 ");System.out.println("5:进程结束 ");System.out.println("6:逻辑地址转换为物理地址 ");System.out.println("7:查看页表");System.out.println("8:显示位示图和置换空间");System.out.println("9:查看置换次数和缺页率");System.out.println("10:添加通道");System.out.println("11:添加控制器");System.out.println("12:添加设备");System.out.println("13:删除通道");System.out.println("14:删除控制器");System.out.println("15:删除设备");System.out.println("16:分配设备");System.out.println("17:释放设备");System.out.println("18:显示设备分配状态");System.out.println("0:退出-->");try{int i=Integer.parseInt(br.readLine());switch(i){case 0:System.exit(0);case 1:createNewProcess();break;case 2:switchCurrentProcess();break;case 3:blockCurrentProcess();break;case 4:wakeupBlockedProcess();break;case 5:terminateCurrentProcess();break;case 6:transform();break;case 7:showPage();break;case 8:System.out.println("位示图----------------");print(a);System.out.println("置换空间--------------");print(d);break;case 9:look();break;case 10:addChannel();break;case 11:addController();break;case 12:addDeviced();break;case 13:deleteChannel ();//删除通道break;case 14:deleteController();break;case 15:deleteDeviced();break;case 16:allocateDeviced();break;case 17:try {System.out.println("设备名称:");String name=br.readLine();recoverDeviced(name);}catch(Exception e) {System.out.println(e);}break;case 18:showDevicedAllocate();break;}}catch(Exception e){System.out.println(e);}System.out.println("执行进程:");if(running!=null) {System.out.println(""+running+"("+running.getSize()+")");}else {System.out.println("none");}//System.out.println("执行进程:"+(running==null?"none":running+"("+running.getSize()+")"));System.out.println("就绪进程:");printList(ready);System.out.println("阻塞进程:");printList(blocked);}}public static void printList(Vector<Process> v){ for(int i=0;i<v.size();i++) {//System.out.print(v.elementAt(i)+"\t");System.out.println(""+v.elementAt(i)+"("+(v.elementAt(i)).getSize()+")"+"\t");}}public static CHCT findChannel(String name1) {CHCT c=chct;while(c.getNext()!=null) {if((c.getNext().name).equals(name1)) {return c.getNext();}c=c.getNext();}return null;}public static COCT findController(String name1) { COCT c=coct;while(c.getNext()!=null) {if((c.getNext().name).equals(name1)) {return c.getNext();}c=c.getNext();}return null;}public static DCT findDeviced(String name1) {DCT d=dct;while(d.getNext()!=null) {if((d.getNext().name).equals(name1)) {return d.getNext();}d=d.getNext();}return null;}public static void add(String name1,String name2,int type) { if(type==1) {CHCT tmp=new CHCT(name1);CHCT c=chct;while(c.getNext()!=null) {// System.out.println("c============"+c.getNext());c=c.getNext();}// System.out.println("c=====CHCT "+c);c.setNext(tmp);tmp.process=null;tmp.waitinglist=new Vector<Process>();tmp.parent=null;}if(type==2) {COCT tmp=new COCT(name1);COCT p=coct;CHCT q=findChannel(name2);while(p.getNext()!=null) {// System.out.println("p========="+p.getNext());p=p.getNext();}// System.out.println("p=====COCT-----"+p);p.setNext(tmp);tmp.process=null;tmp.waitinglist=new Vector<Process>();if(q!=null) {tmp.parent=q;}else {System.out.println("no found");}}if(type==3) {DCT tmp=new DCT(name1);DCT d=dct;COCT c=findController(name2);// System.out.println("is 4 ma");if(c==null) {System.out.println("error");return;}while(d.getNext()!=null) {//System.out.println(d);// System.out.println("d==============="+d.getNext());d=d.getNext();}//System.out.println("d=====dct==="+d);d.setNext(tmp);tmp.process=null;tmp.waitinglist=new Vector<Process>();if(c!=null) {tmp.parent=c;}else {System.out.println("no found");}}}public static void addChannel() {try {System.out.println("输入通道名:");String name1=br.readLine();add(name1,"",1);}catch(Exception e) {System.out.println(e);}}public static void addController() {try {System.out.println("输入控制器名:");String name1=br.readLine();System.out.println("输入通道名:");String name2=br.readLine();add(name1,name2,2);}catch(Exception e) {System.out.println(e);}}public static void addDeviced() {try {System.out.println("输入设备名:");String name1=br.readLine();System.out.println("输入控制器名:");String name2=br.readLine();add(name1,name2,3);}catch(Exception e) {System.out.println(e);}}public static void deleteChannel () { try {System.out.println("输入通道名:");String name=br.readLine();CHCT c=findChannel(name);CHCT c1=chct;while(c1.getNext()!=null) {if(c1.getNext().name.equals()) {CHCT c2=(c1.getNext()).getNext();c1.setNext(c2);c=null;return;}else {c1=c1.getNext();}}}catch(Exception e) {System.out.println(e);}}public static void deleteController() { try {System.out.println("输入控制器名:");String name=br.readLine();COCT c=findController(name);COCT c1=coct;while(c1.getNext()!=null) {if(c1.getNext().name.equals()) {COCT c2=(c1.getNext()).getNext();c1.setNext(c2);c=null;return;}else {c1=c1.getNext();}}}catch(Exception e) {System.out.println(e);}}public static void deleteDeviced() {try {System.out.println("输入设备名:");String name=br.readLine();DCT t=findDeviced(name);DCT t1=dct;while(t1.getNext()!=null) {if(t1.getNext().name.equals()) {if(t1.getNext()==null) {DCT t2=(t1.getNext()).getNext();t1.setNext(t2);t=null;return;}else {System.out.println("The process is running");return;}}else {t1=t1.getNext();}}}catch(Exception e) {System.out.println(e);}}public static void allocateDeviced() {try {if(running!=null) {System.out.println("输入设备名:");String name=br.readLine();DCT d=findDeviced(name);if(d.process==null) {d.process=running;COCT c=d.parent;if(c.process==null) {c.process=running;CHCT t=c.parent;if(t.parent==null) {t.process=running;}else {t.waitinglist.add(running);}}else {c.waitinglist.add(running);blockCurrentProcess();}}else {d.waitinglist.add(running);//COCT c1=d.parent;//if(c1)blockCurrentProcess();}}}catch(Exception e) {System.out.println(e);}}public static void recoverDeviced(String name) { try {//System.out.println("设备名称:");// String name=br.readLine();DCT d=findDeviced(name);if(d==null) {System.out.println("not found");return;}Process p=d.process;if(d.waitinglist.size()>0) {// System.out.println("==================");/* for(int i=0;i<d.waitinglist.size();i++) {System.out.println(i+""+d.waitinglist.elementAt(i));}System.out.println("-------------");*/d.process=(Process)(d.waitinglist.elementAt(0));d.waitinglist.removeElementAt(0);/*if(d.parent.process==null) {d.parent.process=d.process;if(d.parent.parent.process==null) {d.parent.parent.process=d.process;}}*/}else {d.process=null;}if(d.parent.process==p) {if(d.parent.waitinglist.size()>0) {d.parent.process=(Process)(d.parent.waitinglist.elementAt(0));d.parent.waitinglist.removeElementAt(0);if(d.process!=null) {d.parent.waitinglist.add(d.process);}/*if(d.parent.parent.process==p) {if(d.parent.parent.waitinglist.size()>0) {d.parent.parent.process=d.parent.process;}else {System.out.println(d.parent.parent.waitinglist);d.parent.parent.waitinglist.add(d.parent.process);}}*/}else {d.parent.process=d.process;}}else {}if(d.parent.parent.process==p) {if((d.parent.parent).waitinglist.size()>0) {d.parent.parent.process=(Process)(d.parent.waitinglist.element At(0));d.parent.parent.waitinglist.removeElementAt(0);d.parent.parent.waitinglist.add(d.parent.process);}else {d.parent.parent.process=d.parent.process;}}Process p1=d.parent.parent.process;//Process p2=d.parent.process;//Process p3=d.process;COCT t=coct;DCT d1=dct;st:while(t.getNext()!=null) {//System.out.println("hello");if(t.getNext().process==p1) {while(d1.getNext()!=null) {// System.out.println("he===========llo");//System.out.println("d1----------"+d1.getNext().process);// System.out.println("p1==========="+p1);if(d1.getNext().process==p1) {// System.out.println("===========");wakeupBlockedProcess();break st;}else {d1=d1.getNext();}}}else {t=t.getNext();}}}catch(Exception e) {System.out.println(e);}}public static void InitRelation() {add("chn1","",1);add("chn2","",1);add("chn3","",1);add("con1","chn1",2);add("con2","chn2",2);add("con3","chn3",2);add("con6","chn2",2);add("dev1","con1",3);//System.out.println("here 3-==========");add("dev2","con1",3);// System.out.println("here 4-==========");add("dev3","con2",3);//System.out.println("here 5-==========");add("dev4","con6",3);add("dev5","con3",3);add("dev6","con3",3);add("dev7","con3",3);add("dev8","con1",3);add("dev9","con1",3);add("dev10","con2",3);add("dev11","con1",3);add("dev12","con1",3);add("dev13","con2",3);}public static void showParent() {CHCT t=chct;while(t.getNext()!=null) {System.out.println("t===="+t.getNext()+" showParent==="+t.getNext().parent);t=t.getNext();}COCT c=coct;while(c.getNext()!=null) {//System.out.println("c====="+c.getNext());System.out.println("c====="+c.getNext()+" showParent===="+c.getNext().parent);c=c.getNext();}// System.out.println("show Parent===="+c.getNext().parent);DCT d=dct;while(d.getNext()!=null) {System.out.println("d===="+d.getNext()+" showParent====="+d.getNext().parent);d=d.getNext();}}public static void showDevicedAllocate() {//showParent();CHCT c=chct;COCT o=coct;DCT d=dct;while(c.getNext()!=null) {if(c.getNext().process!=null) {System.out.print(c.getNext());System.out.print("<--"+c.getNext().process);//System.out.println("<--"+);for(int i=0;i<c.getNext().waitinglist.size();i++) {System.out.print("<--"+(c.getNext().waitinglist).elementAt(i)+ "\t");}System.out.println();}else {System.out.println(c.getNext());}//for(int i=0;)//System.out.println("<--")while(o.getNext()!=null) {if(o.getNext().parent==c.getNext()) {if(o.getNext().process!=null) {System.out.print(" |__"+o.getNext());System.out.print("<--"+o.getNext().process);for(inti=0;i<o.getNext().waitinglist.size();i++) {System.out.print("<--"+(o.getNext().waitinglist).elementAt(i)+ "\t");}System.out.println();}else {System.out.println(" |__"+o.getNext());}while(d.getNext()!=null) {if(d.getNext().parent==o.getNext()) {if(d.getNext().process!=null) {System.out.print("|__"+d.getNext());System.out.print("<--"+d.getNext().process);for(inti=0;i<d.getNext().waitinglist.size();i++) {System.out.print("<--"+(d.getNext().waitinglist).elementAt(i)+ "\t");}System.out.println();}else {System.out.println("|__"+d.getNext());}d=d.getNext();}else {d=d.getNext();}}d=dct;o=o.getNext();}else {o=o.getNext();}}o=coct;c=c.getNext();}}public static void InitProcess() {Process A=new Process("A",1234);Process B=new Process("B",2234);Process C=new Process("C",3234);Process D=new Process("D",4234);Process E=new Process("E",5234);ready.add(A); ready.add(B); ready.add(C); ready.add(D);ready.add(E);if(running==null){running=(Process)ready.elementAt(0);ready.removeElementAt(0);}}public static void createNewProcess(){try{System.out.print("进程名称:");String name=br.readLine();Process process=new Process(name);ready.add(process);System.out.print("进程大小:");double size=Integer.parseInt(br.readLine());int numPage=0;numPage=(int)Math.ceil(size/1024);process.setPagecount(numPage);Page []P=new Page[numPage];process.PageQueue=new Vector<Page>();st: for(int i=0;i<a.length;i++) {for(int j=0;j<a[i].length;j++) {if(a[i][j]==0) {if(count<3) {//Page p1=new Page();//P[count]=p1;P[count]=new Page();P[count].blockNum=8*i+j;process.PageQueue.add(P[count]);P[count].t=3-count;count++;a[i][j]=1;if(count==numPage) {break st;}}else {for(int m=0;m<d.length;m++) {for(int n=0;n<d[m].length;n++) {if(d[m][n]==0) {//Page p2=new Page();//P[count]=p2;P[count]=new Page(0,-1);P[count].blockNum=-1;P[count].swapsapce_blockno=8*m+n;count++;d[m][n]=1;if(count==numPage) {count=0;break st;}}}}}}}}if(running==null){running=(Process)ready.elementAt(0);ready.removeElementAt(0);}process.setPage(P);}catch(Exception e){System.out.println(e);}}public static void switchCurrentProcess(){ if(running!=null)ready.add(running);if(ready.size()>0){running=(Process)ready.elementAt(0);ready.removeElementAt(0);}elserunning=null;}public static void blockCurrentProcess(){if(running!=null) {blocked.add(running);}if(ready.size()>0) {running=(Process)ready.elementAt(0);ready.removeElementAt(0);}else {running=null;}}public static void wakeupBlockedProcess() {if(blocked.size()>0){//running=(Process)blocked.elementAt(0);ready.add((Process)blocked.elementAt(0));if(running==null) {running=(Process)ready.elementAt(0);ready.removeElementAt(0);}}else {//blocked=null;}}public static void terminateCurrentProcess() { //System.out.println("hello========o");// whileExit();//System.out.println("rrrrrrrrrrrrrrrrr");DCT d=dct;while(d.getNext()!=null) {// System.out.println("qqqqqqqqqqqqqqqqqq");if(d.getNext().process==running) {recoverDeviced(d.getNext().name);break;}else {d=d.getNext();}}if(running!=null) {running=null;}if(ready.size()>0) {running=(Process)ready.elementAt(0);}else if(blocked.size()>0){running=(Process)blocked.elementAt(0);blocked.removeElementAt(0);}else {running=null;}}public static void transform() {try {if(running!=null) {System.out.print("输入逻辑地址:");intLogicAdds=Integer.parseInt(br.readLine());int PageNumber=LogicAdds/1024;if(PageNumber>running.getPagecount()-1) {while(true) {//if(PageNumber>running.getPagecount()-1) {System.out.println("逻辑地址超出范围,请重新输入:");LogicAdds=Integer.parseInt(br.readLine());PageNumber=LogicAdds/1024;if(PageNumber<=running.getPagecount()-1) {break;}//}}}int offset=LogicAdds%1024;intPageBlockNum=running.getPageBlock(PageNumber);++running.PageTable[PageNumber].accessfield;++running.visit;if(running.PageTable[PageNumber].getFlag()==0) {++running.replacement;System.out.println("请选择你所想要置换的算法(提示:1代表FIFO算法,2代表LRU算法):");int ch=Integer.parseInt(br.readLine());if(ch==1) {System.out.println("正在FIFO置换算法,对地址进行转换");Fifo(PageNumber);}else {System.out.println("正在LRU置换算法,对地址进行转换");Lru(PageNumber);}intPhyAdds=(running.getPageBlock(PageNumber))*1024+offset;System.out.println("物理地址:"+PhyAdds);}else {intPhyAdds=(running.getPageBlock(PageNumber))*1024+offset;System.out.println("物理地址:"+PhyAdds);}}else {System.out.println("no running process");}}catch(Exception e) {System.out.println(e);}}public static void whileExit() {for(int i=0;i<running.PageTable.length;i++) {if(running.PageTable[i].flag==1) {int m=running.PageTable[i].blockNum/8;int n=running.PageTable[i].blockNum%8;a[m][n]=0;}else {int m=running.PageTable[i].swapsapce_blockno/8;int n=running.PageTable[i].swapsapce_blockno%8;d[m][n]=0;}}}public static void Fifo(int PageNumber) {st:for(int i=0;i<d.length;i++) {for(int j=0;j<d[i].length;j++) {if(d[i][j]==0&&running.PageQueue.size()>0) {d[i][j]=1;((Page)running.PageQueue.elementAt(0)).flag=0;((Page)running.PageQueue.elementAt(0)).blockNum=-1;((Page)running.PageQueue.elementAt(0)).writed=0;((Page)running.PageQueue.elementAt(0)).accessfield=0;((Page)running.PageQueue.elementAt(0)).swapsapce_blockno=8*i+j ;((Page)running.PageQueue.elementAt(0)).t=0;running.PageQueue.removeElementAt(0);running.PageQueue.add(running.PageTable[PageNumber]);break st;}}}sb:for(int m=0;m<a.length;m++) {for(int n=0;n<a[m].length;n++) {if(a[m][n]==0) {a[m][n]=1;running.PageTable[PageNumber].flag=1;running.PageTable[PageNumber].blockNum=8*m+n;running.PageTable[PageNumber].writed=0;//++running.PageTable[q].accessfield;//running.PageTable[q].swapsapce_blockno=8*m+n;break sb;}}}}public static void Lru(int PageNumber) {//process.PageTable[count].tint k=getPageTime();st:for(int i=0;i<d.length;i++) {for(int j=0;j<d[i].length;j++) {if(d[i][j]==0) {d[i][j]=1;running.PageTable[k].flag=0;running.PageTable[k].blockNum=-1;running.PageTable[k].writed=0;running.PageTable[k].accessfield=0;running.PageTable[k].swapsapce_blockno=8*i+j;running.PageTable[k].t=1;break st;}}}sb:for(int m=0;m<a.length;m++) {for(int n=0;n<a[m].length;n++) {if(a[m][n]==0) {a[m][n]=1;running.PageTable[PageNumber].flag=1;running.PageTable[PageNumber].blockNum=8*m+n;running.PageTable[PageNumber].writed=0;//++running.PageTable[q].accessfield;//running.PageTable[q].swapsapce_blockno=8*m+n;break sb;}}}for(int i=0;i<running.PageTable.length;i++) {if(i!=k) {++running.PageTable[i].t;}}}public static int getPageTime() {int max=running.PageTable[0].t;int place=0;for(int i=0;i<running.PageTable.length;i++) {if(max<running.PageTable[i].t) {max=running.PageTable[i].t;place=i;}}return place;}public static void print(int [][]a) {for(int i=0;i<a.length;i++) {for(int j=0;j<a[i].length;j++) {System.out.print(" "+a[i][j]);}System.out.println();}}public static void showPage() {if(running==null) {System.out.println("no running process");return;}System.out.println("页号"+"块号"+"状态位"+" 修改位"+" 访问字段"+"外存地址");for(int i=0;i<running.PageTable.length;i++) {System.out.print(i);System.out.print(""+running.PageTable[i].blockNum);System.out.print(" "+running.PageTable[i].flag);System.out.print(""+running.PageTable[i].writed);System.out.print(""+running.PageTable[i].accessfield);System.out.println(""+running.PageTable[i].swapsapce_blockno);}}public static void look() {System.out.println("置换次数:"+running.replacement);System.out.println("访问次数:"+running.visit);System.out.println("缺页率"+(running.replacement*100)/running.visit+"%");}public static void main(String[]args) { new OS3().go();}}。