处理机调度与死锁论文(共4篇)
1.处理机调度与死锁论文 篇一
这篇文章主要介绍了Python多线程编程(五):死锁的形成,本文讲解了死锁的概念、死锁示例、避免死锁的方法等内容,需要的朋友可以参考下
前一篇文章Python:使用threading模块实现多线程编程四[使用Lock互斥锁]我们已经开始涉及到如何使用互斥锁来保护我们的公共资源了,现在考虑下面的情况C
如果有多个公共资源,在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,这会引起什么问题?
死锁概念
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去,此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。
代码如下:
‘‘‘
Created on -9-8
@author: walfred
@module: thread.TreadTest5
‘‘‘
import threading
counterA = 0
counterB = 0
mutexA = threading.Lock
mutexB = threading.Lock()
class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
self.fun1()
self.fun2()
def fun1(self):
global mutexA, mutexB
if mutexA.acquire():
print “I am %s , get res: %s” %(self.name, “ResA”)
if mutexB.acquire():
print “I am %s , get res: %s” %(self.name, “ResB”)
mutexB.release()
mutexA.release()
def fun2(self):
global mutexA, mutexB
if mutexB.acquire():
print “I am %s , get res: %s” %(self.name, “ResB”)
if mutexA.acquire():
print “I am %s , get res: %s” %(self.name, “ResA”)
mutexA.release()
mutexB.release()
if __name__ == “__main__”:
for i in range(0, 100):
my_thread = MyThread()
my_thread.start()
代码中展示了一个线程的两个功能函数分别在获取了一个竞争资源之后再次获取另外的竞争资源,我们看运行结果:
代码如下:
I am Thread-1 , get res: ResA
I am Thread-1 , get res: ResB
I am Thread-2 , get res: ResAI am Thread-1 , get res: ResB
可以看到,程序已经挂起在那儿了,这种现象我们就称之为”死锁“,
避免死锁
避免死锁主要方法就是:正确有序的分配资源,避免死锁算法中最有代表性的算法是Dijkstra E.W 于1968年提出的银行家算法。
2.处理机调度与死锁论文 篇二
关键词:死锁;Sybase;故障分析
一、死锁的背景
近日在协助同事优化某应用前置程序(简称Y前置)以提高其处理效率的过程中,我们碰到一个奇怪的现象:Y应用主机(简称Y主机)远程对Y前置Sybase数据库表做插入操作时出现死锁,日志显示死锁交易的比例高达当日交易总量的10%,可是被数据库自动回滚的事务处理中只有一条简单的嵌入式插入E-SQL语句。
便于大家了解背景,简要描述与死锁相关的处理流程如下:
(一)Y前置通过MQ统一接入合作方的交易请求,将其插入本地Sybase数据库的交易请求表;
(二)Y主机远程从Y前置交易请求表依次读取请求,将其转发给各一级分行前置系统;
(三)Y主机接收各一级分行前置系统应答之后,将交易处理结果远程写入Y前置Sybase数据库的交易应答表;
(四)Y前置循环读取交易应答表,通过MQ将处理结果逐一返给合作方。
日志显示上述过程中的第3步发生了Y主机事务死锁,我们通过sp_help确认了交易应答表的锁模式为行锁,也就是说对行锁表做单笔插入操作的事务竟有高发性死锁问题。
二、INSERT怎么会死锁
Sybase有三大类型锁:排它锁(X锁)、共享锁(S锁)和更新锁(U锁),三种锁的相容矩阵表如下所示(×表示不兼容,∨表示兼容):
Y主机插入操作出现死锁,既说明插入操作占用了其他事务需要的资源,也说明插入操作没有申请到其他事务未释放的资源,可是问题是对于行锁模式的表而言,插入E-SQL除了要申请X行锁(Ex_row)外,它还要申请什么资源呢?
(一)初步推断
由于生产环境下数据库没有激活“print deadlock information”的设置(激活对系统性能影响较大),我们不知道死锁事务相关的其他E-SQL语句是什么,但从上述过程可以推断:与第3步死锁冲突的环节应该是第4步,因为只有这两步的处理过程涉及到了发生死锁的交易应答表;其次是在我们优化Y前置应用之前,Y主机日志中从未提示过死锁。
在开始排查之前,我们先回顾一下对Y前置应用所做的优化内容:
首先是优化E-SQL。我们在该应用生产环境下通过人工执行set showplan on和set noexec on,对Y前置程序中的E-SQL逐一排查,凡是执行计划显示为表扫描的,根据业务情况或是补充E-SQL语句的查询条件、降低查询的执行强度,或是根据查询条件增建索引。优化E-SQL引起死锁的可能性不大,所以我们首先排除了它的可能。
其次是优化游标的处理逻辑,改动的地方很多,它的嫌疑最大。我们在优化代码的时候,发现Y前置各处理程序的过程基本一致:
1.声明带WHERE条件的可修改游标(SELECT FOR UPDA TE)
2.开始循环
3.打开游标
4.FETCH游标
5.修改数据(WHERE条件按交易流水号定位,未用游标位置)
6.提交修改事务(COMMIT)
7.结束循环
8.释放游标
由于缺乏文档和注释,我们猜测重复打开游标的原因是每次修改后确保能及时提交,但是提交事务后游标自动关闭了,那么只好在每次循环处理开始时重新打开它;我们看到循环前面的代码还有被注释掉的打开游标操作,因此判定原作者的确想打开一次游标,只是没能找到提交事务同时保持游标打开状态的办法。
在优化过程中,我们发现每当客户反映交易长时间没有应答时,Y前置日志文件显示每次打开游标时平均有6秒的等待,由于该应用采用的是按交易提交顺序的联机批量式处理方式,那么这样的效率意味着排在第100笔的请求仅在打开游标一项上就要有10分钟的等待,这样的效率合作方自然无法接受。
使用Sybase ASE数据库时,提交事务同时保持游标打开状态,需要在事务开始前将close on endtran选项关闭,若是12.0之后的ASE还要将事务类型设置为非链式(chainned off)。
鉴于此,我们对Y前置的事务处理进行了改进:首先设置有关保持游标打开的选项;然后定义可修改游标(select for update);打开游标之后开始循环处理:将应答信息组织成报文通过MQ发给合作方,若发送成功则开始事务,通过游标标记当前记录为已处理,再提交事务;最后在循环结束后关闭并释放游标。
假如说Y前置优化的程序导致了Y主机事务出现死锁,我们判断故障诱因就位于上述内容之中。
(二)尝试游标只读
难道是游标可修改的缘故?可修改游标意味着每次FETCH游标时会申请U锁,我们猜U锁和插入申请的X锁可能会出现死锁,只读游标FETCH时申请的S锁或许就不会冲突。
恢复系统正常运行的压力迫使我们没有仔细推敲,直接就把可修改游标变为了只读,但是更换程序之后,发现Y主机不仅仍出现死锁,死锁占比也丝毫没有下降。
(三)降低隔离级别
既然只读游标也解决不了问题,我们还剩下一个终极办法:将Y前置负责处理交易应答的程序事务隔离级别由默认的3级(串行化读)降为1级(读已提交),一方面这样可使E-SQL语句执行完之后可以尽快释放包括锁在内的各种临界资源,另一方面仔细审查有关源代码之后,我们认为1级读已提交的隔离级别对Y前置应答处理过程的完整性没有实质影响。
假如降为1级隔离之后,Y主机仍出现死锁,那么可以排除掉Y前置引起Y主机死锁的可能性;如果降级能让Y主机的死锁故障消失,那么我们就赢得了时间来进一步查找引发死锁的根源。
当时我意识到,如果Y前置导致了Y主机出现死锁,那么Y主机必定也会导致Y前置出现死锁,或许查看Y前置的运行日志能给我们提供一些帮助,以弥补我们因没有生产环境下的sa权限无法获取死锁详细信息的不足。
事实证实了我们的假设,Y前置日志清楚地表明,自该应用上线以来游标事务发生死锁的提示信息连绵不绝,之前未发现在于Y前置事务被自动回滚时,只是未能从数据库中取出应答数据而已,下次操作会自动重新取,从使用者角度根本发现不了故障。
目前Y主机也出现了死锁,直接导致应答数据无法写入Y前置的数据库,由于该应用的设计没有考虑此类异常的自动恢复,应答数据丢失自然会产生单边账务,隐藏已久的问题终于得到了暴露。
鉴于此,我们对Y前置代码进行了迅速更换,首先合并原来分散于前置不同程序内返回合作方交易结果的代码,以降低前置进程间不必要的内部资源争用;然后在合并后的代码中将事务隔离级别设置为1级(读已提交),以避免占用过多的临界资源。
经过数日监控,死锁故障终于消失,而且交易高峰期间处理异常缓慢的问题一并得到了解决。
(四)追根溯源
问题虽然得到了解决,但我们并未找到原因,实际上查找死锁原因最简单的办法是在生产系统上激活死锁信息输出选项,这样发生死锁时Sybase的系统日志会清楚地表明死锁相关SQL语句的执行情况,可是我们作为开发人员没有激活的sa权限,加之生产系统已恢复正常,再这样做已经没有意义。
模拟测试也是一种解决问题的途径,我在该应用的开发机兼生产备机上,依据流程编写了并发测试代码,同时激活了测试数据库的死锁输出选项,可是结果令人沮丧,测试程序跑了几天也没有出现过一个死锁,从重现的角度查找原因的办法看来行不通。
既然自己实现不了,或许网上有高人的心得体会。的确,网上可以找到很多Sybase插入与查询间出现死锁的帖子,但多是描述全页锁模式下进行插入与查询并发操作时,申请数据页锁与索引页锁操作之间发生死锁的情况。
为表述清楚,我们将Sybase数据库各种锁模式之间锁操作的区别列表如下:
可以看出,DataRows模式下Sybase不会锁索引页,Y前置的数据库为DataRows模式,因而网上有关全页锁模式出现死锁的帖子所解释的原因显然并不适合我们碰到的问题。不过最终我们还是在网上找到了一篇与情况类似的案例描述,该案例贴出了Sybase发生死锁时的详细日志,这正是我当初苦苦测试寻求而未得的结果。
该案例描述的日志表明:在3级隔离级别的事务中,Sybase对于包含索引列的行锁模式表做插入时,会先申请数据页X行锁,然后申请下一个依主键序的键锁(next key lock),这个next key锁正是造成此类死锁的诱因,也是第二节中INSERT申请什么资源的答案。
Sybase网站的有关资料表明,在3级隔离级别状态下,使用索引条件读取数据的游标事务中,为防止出现幻读,打开游标时会申请满足条件范围之后下一个依主键序的键锁(next key lock),以阻止其他事务在条件范围后面追加记录;另外在3级隔离下,无论游标是否只读,FETCH操作要申请的数据页行锁都是范围扩张锁,每次FETCH其申请到的行锁不会立即释放,而是随着后续FETCH逐步蔓延,直到操作到下一个数据页或关闭游标时,Sybase才会一并释放之前占有的数据页行锁。
这样当FETCH导致范围扩张锁蔓延时,恰好与插入操作事务先申请数据页X锁、再申请next key锁的次序相冲突,满足了死锁的必要条件。
三、结束语
通过探寻这次Sybase INSERT事务死锁的始末,我充分体验到解决此类问题的困难。
一方面是技术上的困难。出现问题时仅凭数据库和应用程序运行日志难以判断故障的根本原因,测试环境难以重现故障现象、分析源代码时,往往发现不仅缺乏有效文档、合理注释,同时连原创人员都早已不知去向。
3.处理机调度与死锁论文 篇三
关键词:操作系统死锁; 教学实验线程
中图分类号: G642文献标识码:A 文章编号:1674-098X(2012)03(c)-0000-00
计算机操作系统课程是计算机本科专业的一门专业核心课,也是一门考研课程。该课程由于涉及到操作系统的深层次概念和原理,因而对于大多数学生而言,较难理解和掌握。正由于该课程的重要性,很多高校研究人员对该课程的教学方法进行了深入探讨,如文献[1],[2]。而目前的操作系统实验教材虽然不少[3][4],但很少有设计实验直接对死锁现象进行模拟的。本文基于线程机制利用windows环境下API函数实现了一个死锁现象的构建和模拟实验,算法简单,易于被学生理解,教学中可操作性强。
1 死锁的基本概念
设系统中存在一组进程(2个或2个以上进程),其中每一个进程都占用了某些资源,而又都在等待其中另一个进程所占用的资源,如果系统无外力作用,这种等待永远不会结束,则称系统出现了“死锁”,或说这组进程处于“死锁”状态。
死锁是因并发进程竞争资源而引起的一种现象,并发进程对多个资源的共享与竞争有可能导致死锁。死锁可以在2个或多个进程之间发生,也可以在系统全部进程之间产生。死锁是一种与时间有关的错误,在并发系统中,死锁可以在进程通信过程中以及在用信号量作同步工具时,由于P、V操作顺序不当而产生。
因此,产生死锁的原因是,一方面是由于多进程共享的资源不足而引起竞争资源;另一方面是由于进程在运行过程中推进顺序不合法。
2 实验内容设计
问题描述:设有一个仓库存有50箱货物,需要请若干搬运工人搬走。本实验通过两个线程模拟完成2个搬运工人合作搬运货物的过程。
一方面,利用关键代码段(临界区)实现线程同步;另一方面,模拟实现线程死锁。利用线程死锁来让学生体会进程死锁的本质概念。实验采用windows下的Visual C++平台的Console Application进行。
通过本次实验,可以帮助学生熟悉VC下关键代码段(即临界区),和相关API函数。分析线程同步的参考代码,分析运行结果。理解线程同步的概念。
实验中,首先给学生提供一段初始程序,该程序可以实现2个搬运工线程正常合作搬运货物的过程。这样,既可以减少学生实验的难度,提高实验效率,又可以让学生将实验的注意力集中到对同步和死锁问题的理解上去。
然后,要求学生进一步调试和修改代码,并思考以下两个问题:
①如何修改,使得搬运线程1会始终搬运货物,而搬运线程2始终得不到搬运货物的机会?
②如果对本次实验给出的参考代码进行修改,制造线程死锁现象?
2.1初始程序及分析
初始程序如下:
#include
#include
DWORD WINAPI FuncProc1(LPVOID
lpParameter);//thread data
DWORD WINAPI FuncProc2(LPVOID
lpParameter);//thread data
int products=50;//货物总数
CRITICAL_SECTION csA;
void main()
{
HANDLE hThread1;
HANDLE hThread2;
hThread1=CreateThread(NULL,0,FuncProc1,NULL,0,NULL);//创建进程
hThread2=CreateThread(NULL,0,FuncProc2,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
InitializeCriticalSection(&csA);//创建临界区对象
Sleep(4000);
DeleteCriticalSection(&csA);//程序退出前释放临界区对象资源
}
DWORD WINAPI FuncProc1(LPVOID lpParameter)//thread data
{
while(TRUE)
{
EnterCriticalSection(&csA);//判断能否进临界区
Sleep(1);
if(products>0)
{
Sleep(1);
cout<<”thread1 move product:”< LeaveCriticalSection(&csA);//释放临界区对象 } else { LeaveCriticalSection(&csA); break; } } return 0; } DWORD WINAPI FuncProc2(LPVOID lpParameter)//thread data { while(TRUE) { EnterCriticalSection(&csA); Sleep(1); if(products>0) { Sleep(1); cout<<"thread2 move product:"< LeaveCriticalSection(&csA); } else { LeaveCriticalSection(&csA); break; } } return 0; } 程序运行结果及简要分析如下, 经过编译运行后,输出如下结果: thread2 move product:50 threadl move product:49 thread2 move product:48 threadl move product:47 thread2 move product:46 threadl move product:45 …… thread2 move product:2 threadl move product:1 请按任意键继续. . 临界区被占用的时间一般不允许过长,只要进入临界区的线程还没有离开,其他所有试图进入此临界区的线程都会被挂起而进入到等待状态,并会在一定程度上影响程序的运行性能。尤其需要注意的是不要将等待用户输入或是其他一些外界干预的操作包含到临界区。如果进入了临界区却一直没有释放,同样也会引起其他线程的长时间等待。即,必须确保EnterCriticalSection()语句和与之匹配的LeaveCriticalSection()语句都能够被完整执行到。可以通过添加结构化异常处理代码来确保LeaveCriticalSection()语句的执行。虽然临界区同步速度很快,但却只能用来同步本进程内的线程,而不可用来同步多个进程中的线程。 2.2 构建死锁现象 怎样修改这个程序,才有可能使其产生死锁呢?关键在于临界区的个数要多于一个。换句话说,只要临界区数大于1,并且线程数多于1,就有可能出现死锁。 其源程序代码修改如下: DWORD WINAPI FuncProc1( LPVOID lpParameter); DWORD WINAPI FuncProc2( LPVOID lpParameter); int products=50; CRITICAL_SECTION csA; CRITICAL_SECTION csB; void main() { HANDLE hThread1; HANDLE hThread2; hThread1=CreateThread(NULL,0,FuncProc1,NULL,0,NULL);//創建线程 hThread2=CreateThread(NULL,0,FuncProc2,NULL,0,NULL); CloseHandle(hThread1); CloseHandle(hThread2); InitializeCriticalSection(&csA);//创建临界区对象 InitializeCriticalSection(&csB); Sleep(4000); DeleteCriticalSection(&csA);//程序退出前释放临界区对象资源 } DWORD WINAPI FuncProc1( LPVOID lpParameter) { while(TRUE) { EnterCriticalSection(&csA);//判断能否进入临界区 Sleep(1); if(products>0) {EnterCriticalSection(&csB); Sleep(1); cout<<"threadl move product:"< LeaveCriticalSection(&csA);//释放临界区对象所有权 } else { LeaveCriticalSection(&csA); break; } } return 0; } DWORD WINAPI FuncProc2( LPVOID lpParameter) { while(TRUE) { EnterCriticalSection(&csA); Sleep(1); if(products>0) {EnterCriticalSection(&csA); Sleep(1); cout<<"thread2 move product:"< LeaveCriticalSection(&csB); } else {LeaveCriticalSection(&csA); break; } } return 0; } 由此我们再引导学生回顾产生死锁的必要条件: ①互斥使用资源条件; ②占有和等待条件; ③不剥夺条件; ④循环等待条件。 可以发现,两个搬运线程之所以产生死锁,正是满足了以上死锁的必要条件。 3 讨论 由线程概念扩展到进程概念。当系统中有2个甚至多个临界区,并且多个进程同时共享这些临界区时,进程之间因为资源竞争关系很可能会发生死锁,使死锁发生的几率增大。此时,我们可以通过以下思路来预防死锁,即通过给每个进程所需要的资源(临界区)进行编号,并且让进程在申请这些资源时,采取按序申请的原则(序号从小到大或从大到小)逐一申请,这样,可以在一定程度可以预防死锁,使系统中各程序能正常运行下去。 这一思想正是操作系统教材中提出的有序资源分配法,由此,我们将死锁的产生、过程和预防办法都进行了简要分析。 4 结语 本文设计了一个基于线程机制的操作系统课程的死锁模拟教学实验,通过本实验的学习,可以帮助学生达到以下实验效果: (1)理解线程的概念; (2)熟悉进程、线程同步的概念; (3)深刻理解死锁的本质; (4)深入理解操作系统对多线程调度的管理; (5)深刻理解临界区和互斥的概念。 并由此举一反三,延伸到进程死锁的概念。经教学实验的实践,学生通过本实验加深了对死锁的概念的理解和掌握,收效良好。 参考文献 [1]马晓慧。操作系统课程教学方法探索[J],计算机教育,2011 [2]刘晓平,陈欣,李琳,路强,田卫东。面向操作系统课程的“启发—探究式”教学方法初探[J]。计算机教育,2011 [3]王煜,张明,刘振鹏。操作系统习题解答与实验指导,中国铁道出版社,2004 国网江西省电力公司抚州供电分公司 江西抚州 344000 摘要:电力调度是电网运行中十分关键的环节,近年来人们对电能需求量不断增加,对电能供应的質量和稳定性有了更高的需求,在这种情况下,电力系统安全可靠的运行至关重要电力调度的主要任务是指挥电网运行的倒闸操作,电网故障和事故处理,尽可能地保证电网的正常供电。电力调度安全管理工作的好坏,将直接影响着电网的安全和经济运行。近年来,电力调度的技术装备水平不断提高,也使电力调度的现代化程度越来越高,对电网的安全稳定运行起到了极大的促进作用。但是,结合工作实际,笔者认为,保证电网的安全运行,必须杜绝人为的一切误调度、误操作事故,关键必须抓住人的因素。 关键词:电力调度;安全操作;事故处理 前言 1 电力调度操作 当电网运行方式需要改变时,则需要由调度人员下令进行各种操作,由于调度人员作为直接操作执行人,所以一旦存在判断错误及操作失误的情况发生,则会导致调度事故发生。同时在调度事故发生时,如果调度人员不能很好的对事故进行处理,则会导致事故所带来的影响扩大,导致停电范围和停电时间延长,不仅事故所带来的损失增加,而且设备也会发生损坏,人们的生命财产安全也会受到较大的威胁,所以加强电力调度的安全操作至关重要。 1.1 强化专业教育和岗位培训 作为电力调度人员,不仅需要具有专业的技能,而且还要具有较强的责任心,所以电力企业需要通过专业的教育和定期的岗位培训方式来加强对调度人员专业水平的提升。这样不仅能够有效的提高调度人员的知识储备,而且对于调度人员综合素质的提升也具有极为重要意义,能够更好的提高调度人员的工作积极性,确保调度人员能够更好的应对工作中的各种问题,根据电网信息做好正确的判断,从而确保操作的正确性,有效的保证电网安全稳定的运行。 1.2 增强调度人员的安全生产意识 电力企业需要定期举办电力调度安全活动,做好安全警示教育,通过以各种事故案例进行分析,从而让调度人员清醒认识到调度操作的重要性,有效提高自身的安全防范意识,确保电网能够安全、稳定的运行。 1.3 熟练掌握相关规程,避免出现各种违章现象 电力调度不仅较为繁琐,而且技术要求较高,调度人员长期处于枯燥的工作环境下,一旦工作中精神不集中,则极易导致误操作的发生,从而引发调度事故。所以作为调度人员,需要在工作中时刻保持高度的责任感和安全意识,严格按照各种规程及规章制度来进行操作,准确的进行判断,杜绝违章操作情况的发生。 2 电网事故处理 由于事故的意外性、突发性和不可预见性,将会给电网调度运行人员带来相当大的考验。电力调度人员应从以下几个方面加强工作,不断提高事故处理能力。 一是调度人员的责任心和安全意识,如果调度人员的责任心和安全意识存在着问题,那么很可能导致一些问题的发生,甚至会出现一些重大的安全事故。二是指挥者的组织指挥能力,在事故处理当中的主要指挥者,肩负着很重要的任务,他的组织指挥能力将会对事故处理的质量产生直接的影响。因此,主要指挥者应该将主心骨的作用充分的发挥出来,准确快速的判断和处理发生的事故,同时,对同班调度运行人员和其他的一些相关操作人员进行镇定有序的指挥,让他们参与到事故处理当中。但是,需要注意的是,一个人的处理能力显然是有限的,那么就需要密切配合其他工作人员。三是班前会和班后会的质量,班前会和班后会对于事故处理有着积极的作用,班前会可以将员工工作的积极性充分调动起来,从而保证能够顺利地完成工作任务,工作人员的安全也可以得到保证;班前会如果能够长期坚持下去,将可以有效地实现班组安全水平的提高,增强操作人员整体的竞争力;在班前会和班后会中,应该将各种安全思想贯彻进去,在日常工作中牢牢的贯彻各种安全教育,通过长的潜移默化,来实现每一个员工安全意识和安全知识水平提高的目的。四是各种规章制度的执行情况,各种规章制度的制定,都是为了保证操作的安全性和有效性;因此,要严格依据各种规章制度来制定各种日常工作,处理发生的各种事故,特别是在事故处理的过程中,因为需要进行很多的操作,并且是在混乱的现场环境中进行的,那么就需要保证能够镇定地依据各种规章制度来执行操作。 3 提高调度员事故处理能力的措施 调度人员在对运行方式改变进行操作及倒闸操作过程中,极易由于自身原因而导致误操作和误调度的发生,从而导致供电中断,电能损失,甚至电力设备受到损坏,严重时人员的生命财产安全会受到危及,所以需要提高调度人员对事故的处理能力,确保电力安全生产。一是在调度工作中,需要制定科学合理的奖惩制度,对于工作中业绩好的调度人员进行适当的激励,而对于误操作或是误调度的调度人员进行相应的处罚,这不仅能够更好的调动起调度人员工作的积极性和主动性,同时也能够更好的提升调度人员对事故的处理能力,在应对突发事件时能够灵活应对。二是要保证安全活动会的质量。为了更好的避免误调度和误操作的发生,电力企业定期都会举办班组安全活动。在安全活动当中,需要采用丰富多样的形式来调动起调度人员的学习兴趣,同时安全活动的内容也需要涉及多个方面,不仅需要对以前工作的安全情况进行总结,同时还可以利用一些事故案例进行分析,深入的对工作中存在的各种问题进行讨论,让每一个参会者都能够积极的参与进来,努力提高参会者的安全意识,从而更好的提升安全活动会的质量。三是目前继电保护装置开始向自动化和智能化方向发展,这就需要调度人员需要对继电保护自动装置的工作原理进行熟悉,而且能够在工作中进行正确的应用,只有调度人员能够更好的对继电保护知识进行掌握,对继电保护原理熟悉,才能在处理事故时,保持一个清醒的头脑,准确的进行判断和处理,尽可能降低事故所带来的损失。 4 结束语 电网安全稳定的运行在很大程度上与电力调度工作的质量息息相关,所以作为电力调度人员,不仅需要具有较高的专业技术水平,而且还要具有较强的综合素质,因此电力企业需要强化对调度人员的培训和再教育,努力提高调度人员的自身能力,为电力企业打造一支具有高素质的电力调度队伍。特别是当前电网科技含量的增加,在电力调度工作中,更应加强对各种新技术和新设备的应用,努力提高电网调度的现代化水平,从而确保电网能够安全、稳定的运行,为千家万户供应高质量的电能。 参考文献: [1]郑惠梅.如何搞好电力调度安全操作和事故处理[J].贵州电力技术,2008(4). [2]孙秀琴.如何搞好电力调度安全操作和事故处理[J].科技传播,2013(3). [3]杜中华.电力调度的安全操作和事故处理[J].农村电气化,2002(8). 【处理机调度与死锁论文】推荐阅读: 实验二处理器调度08-29 有线电视系统维护与故障处理论文07-09 混凝土裂缝的预防与处理--论文11-05 公文处理写作与处理08-07 输血反应与处理09-26 公路路面处理分析论文06-12 处理好师生关系论文11-08 学位论文作假行为处理07-14 有关污水处理的论文08-14 火电厂废水处理论文08-094.处理机调度与死锁论文 篇四