操作系统进程调度(精选9篇)
1.操作系统进程调度 篇一
简介:Linux® 的用户空间进程的创建和管理所涉及的原理与 UNIX® 有很多共同点,但也 有一些特定于 Linux 的独特之处,在本文中,了解 Linux 进程的生命周期,探索用户进程创建、内存管 理、调度和销毁的内核内幕。
Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计 算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以 是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。
在用户空间,进程是由进程标识符(PID)表示的。从用户的角度来看,一个 PID 是一个数字值,可 惟一标识一个进程。一个 PID 在进程的整个生命期间不会更改,但 PID 可以在进程销毁后被重新使用, 所以对它们进行缓存并不见得总是理想的。
在用户空间,创建进程可以采用几种方式。可以执行一个程序(这会导致新进程的创建),也可以在 程序内,调用一个 fork 或 exec 系统调用。fork 调用会导致创建一个子进程,而 exec 调用则会用新 程序代替当前进程上下文。接下来,我将对这几种方法进行讨论以便您能很好地理解它们的工作原理。
在本文中,我将按照下面的顺序展开对进程的介绍,首先展示进程的内核表示以及它们是如何在内核 内被管理的,然后来看看进程创建和调度的各种方式(在一个或多个处理器上),最后介绍进程的销毁。
进程表示
在 Linux 内核内,进程是由相当大的一个称为 task_struct 的结构表示的。此结构包含所有表示此 进程所必需的数据,此外,还包含了大量的其他数据用来统计(accounting)和维护与其他进程的关系( 父和子)。对 task_struct 的完整介绍超出了本文的范围,清单 1 给出了 task_struct 的一小部分。 这些代码包含了本文所要探索的这些特定元素。task_struct 位于 ./linux/include/linux/sched.h。
清单 1. task_struct 的一小部分
struct task_struct { volatile long state; void *stack; unsigned int flags; int prio, static_prio; struct list_head tasks; struct mm_struct *mm, *active_mm; pid_t pid; pid_t tgid; struct task_struct *real_parent; char comm[TASK_COMM_LEN]; struct thread_struct thread; struct files_struct *files; ...};
在清单 1 中,可以看到几个预料之中的项,比如执行的状态、堆栈、一组标志、父进程、执行的线程 (可以有很多)以及开放文件。我稍后会对其进行详细说明,这里只简单加以介绍。state 变量是一些表 明任务状态的比特位。最常见的状态有:TASK_RUNNING 表示进程正在运行,或是排在运行队列中正要运 行;TASK_INTERRUPTIBLE 表示进程正在休眠、TASK_UNINTERRUPTIBLE 表示进程正在休眠但不能叫醒; TASK_STOPPED 表示进程停止等等。这些标志的完整列表可以在 ./linux/include/linux/sched.h 内找到 。
flags 定义了很多指示符,表明进程是否正在被创建(PF_STARTING)或退出(PF_EXITING),或是进 程当前是否在分配内存(PF_MEMALLOC)。可执行程序的名称(不包含路径)占用 comm(命令)字段。
每个进程都会被赋予优先级(称为 static_prio),但进程的实际优先级是基于加载以及其他几个因 素动态决定的。优先级值越低,实际的优先级越高。
tasks 字段提供了链接列表的能力。它包含一个 prev 指针(指向前一个任务)和一个 next 指针( 指向下一个任务)。
进程的地址空间由 mm 和 active_mm 字段表示。mm 代表的是进程的内存描述符,而 active_mm 则是 前一个进程的内存描述符(为改进上下文切换时间的一种优化)。
thread_struct 则用来标识进程的存储状态。此元素依赖于 Linux 在其上运行的特定架构,在 ./linux/include/asm-i386/processor.h 内有这样的一个例子。在此结构内,可以找到该进程自执行上 下文切换后的存储(硬件注册表、程序计数器等)。
进程管理
现在,让我们来看看如何在 Linux 内管理进程。在很多情况下,进程都是动态创建并由一个动态分配 的 task_struct 表示。一个例外是 init 进程本身,它总是存在并由一个静态分配的 task_struct 表示 。在 ./linux/arch/i386/kernel/init_task.c 内可以找到这样的一个例子。
Linux 内所有进程的分配有两种方式。第一种方式是通过一个哈希表,由 PID 值进行哈希计算得到; 第二种方式是通过双链循环表。循环表非常适合于对任务列表进行迭代。由于列表是循环的,没有头或尾 ;但是由于 init_task 总是存在,所以可以将其用作继续向前迭代的一个锚点。让我们来看一个遍历当 前任务集的例子。
任务列表无法从用户空间访问,但该问题很容易解决,方法是以模块形式向内核内插入代码。清单 2 中所示的是一个很简单的程序,它会迭代任务列表并会提供有关每个任务的少量信息(name、pid 和 parent 名)。注意,在这里,此模块使用 printk 来发出结果。要查看具体的结果,可以通过 cat 实用 工具(或实时的 tail -f /var/log/messages)查看 /var/log/messages 文件。next_task 函数是 sched.h 内的一个宏,它简化了任务列表的迭代(返回下一个任务的 task_struct 引用)。
清单 2. 发出任务信息的简单内核模块(procsview.c)
#include #include #include int init_module( void ){ /* Set up the anchor point */ struct task_struct *task = &init_task; /* Walk through the task list, until we hit the init_task again */ do { printk( KERN_INFO “*** %s [%d] parent %sn”, task->comm, task->pid, task->parent->comm ); } while ( (task = next_task(task)) != &init_task ); return 0;}void cleanup_module( void ){ return;}
可以用清单 3 所示的 Makefile 编译此模块。在编译时,可以用 insmod procsview.ko 插入模块对 象,也可以用 rmmod procsview 删除它。
清单 3. 用来构建内核模块的 Makefile
obj-m += procsview.oKDIR := /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
插入后,/var/log/messages 可显示输出,如下所示,
从中可以看到,这里有一个空闲任务(称为 swapper)和 init 任务(pid 1)。
Nov 12 22:19:51 mtj-desktop kernel: [8503.873310] *** swapper [0] parent swapperNov 12 22:19:51 mtj-desktop kernel: [8503.904182] *** init [1] parent swapperNov 12 22:19:51 mtj-desktop kernel: [8503.904215] *** kthreadd [2] parent swapperNov 12 22:19:51 mtj-desktop kernel: [8503.904233] *** migration/0 [3] parent kthreadd...
注意,还可以标识当前正在运行的任务。Linux 维护一个称为 current 的符号,代表的是当前运行的 进程(类型是 task_struct)。如果在 init_module 的尾部插入如下这行代码:
printk( KERN_INFO, “Current task is %s [%d], current->comm, current->pid );
会看到:
Nov 12 22:48:45 mtj-desktop kernel: [10233.323662] Current task is insmod [6538]
注意到,当前的任务是 insmod,这是因为 init_module 函数是在 insmod 命令执行的上下文运行的 。current 符号实际指的是一个函数(get_current)并可在一个与 arch 有关的头部中找到(比如 ./linux/include/asm-i386/current.h 内找到)。
进程创建
让我们不妨亲自看看如何从用户空间创建一个进程。用户空间任务和内核任务的底层机制是一致的, 因为二者最终都会依赖于一个名为 do_fork 的函数来创建新进程。在创建内核线程时,内核会调用一个 名为 kernel_thread 的函数(参见 ./linux/arch/i386/kernel/process.c),此函数执行某些初始化后 会调用 do_fork。
创建用户空间进程的情况与此类似。在用户空间,一个程序会调用 fork,这会导致对名为 sys_fork 的内核函数的系统调用(参见 ./linux/arch/i386/kernel/process.c)。函数关系如图 1 所示。
图 1. 负责创建进程的函数的层次结构
从图 1 中,可以看到 do_fork 是进程创建的基础。可以在 ./linux/kernel/fork.c 内找到 do_fork 函数(以及合作函数 copy_process)。
do_fork 函数首先调用 alloc_pidmap,该调用会分配一个新的 PID。接下来,do_fork 检查调试器是 否在跟踪父进程。如果是,在 clone_flags 内设置 CLONE_PTRACE 标志以做好执行 fork 操作的准备。 之后 do_fork 函数还会调用 copy_process,向其传递这些标志、堆栈、注册表、父进程以及最新分配的 PID。
新的进程在 copy_process 函数内作为父进程的一个副本创建。此函数能执行除启动进程之外的所有 操作,启动进程在之后进行处理。copy_process 内的第一步是验证 CLONE 标志以确保这些标志是一致的 。如果不一致,就会返回 EINVAL 错误。接下来,询问 Linux Security Module (LSM) 看当前任务是否 可以创建一个新任务。要了解有关 LSM 在 Security-Enhanced Linux (SELinux) 上下文中的更多信息, 请参见 参考资料 小节。
接下来,调用 dup_task_struct 函数(在 ./linux/kernel/fork.c 内),这会分配一个新 task_struct 并将当前进程的描述符复制到其内。在新的线程堆栈设置好后,一些状态信息也会被初始化 ,并且会将控制返回给 copy_process。控制回到 copy_process 后,除了其他几个限制和安全检查之外 ,还会执行一些常规管理,包括在新 task_struct 上的各种初始化。之后,会调用一系列复制函数来复 制此进程的各个方面,比如复制开放文件描述符(copy_files)、复制符号信息(copy_sighand 和 copy_signal)、复制进程内存(copy_mm)以及最终复制线程(copy_thread)。
之后,这个新任务会被指定给一个处理程序,同时对允许执行进程的处理程序进行额外的检查 (cpus_allowed)。新进程的优先级从父进程的优先级继承后,执行一小部分额外的常规管理,而且控制 也会被返回给 do_fork。在此时,新进程存在但尚未运行。do_fork 函数通过调用 wake_up_new_task 来 修复此问题。此函数(可在 ./linux/kernel/sched.c 内找到)初始化某些调度程序的常规管理信息,将 新进程放置在运行队列之内,然后将其唤醒以便执行。最后,一旦返回至 do_fork,此 PID 值即被返回 给调用程序,进程完成。
进程调度
存在于 Linux 的进程也可通过 Linux 调度程序被调度。虽然调度程序超出了本文的讨论范围,但 Linux 调度程序维护了针对每个优先级别的一组列表,其中保存了 task_struct 引用。任务通过 schedule 函数(在 ./linux/kernel/sched.c 内)调用,它根据加载及进程执行历史决定最佳进程。在 本文的 参考资料 小节可以了解有关 Linux 版本 2.6 调度程序的更多信息。
进程销毁
进程销毁可以通过几个事件驱动 — 通过正常的进程结束、通过信号或是通过对 exit 函数的调用。 不管进程如何退出,进程的结束都要借助对内核函数 do_exit(在 ./linux/kernel/exit.c 内)的调用 。此过程如图 2 所示。
图 2. 实现进程销毁的函数的层次结构
do_exit 的目的是将所有对当前进程的引用从操作系统删除(针对所有没有共享的资源)。销毁的过 程先要通过设置 PF_EXITING 标志来表明进程正在退出。内核的其他方面会利用它来避免在进程被删除时 还试图处理此进程。将进程从它在其生命期间获得的各种资源分离开来是通过一系列调用实现的,比如 exit_mm(删除内存页)和 exit_keys(释放线程会话和进程安全键)。do_exit 函数执行释放进程所需 的各种统计,这之后,通过调用 exit_notify 执行一系列通知(比如,告知父进程其子进程正在退出) 。最后,进程状态被更改为 PF_DEAD,并且还会调用 schedule 函数来选择一个将要执行的新进程。请注 意,如果对父进程的通知是必需的(或进程正在被跟踪),那么任务将不会彻底消失。如果无需任何通知 ,就可以调用 release_task 来实际收回由进程使用的那部分内存。
结束语
Linux 还在不断演进,其中一个有待进一步创新和优化的领域就是进程管理。在坚持 UNIX 原理的同 时,Linux 也在不断突破。新的处理器架构、对称多处理(SMP)以及虚拟化都将促使在内核领域内取得 新进展。其中的一个例子就是 Linux 版本 2.6 中引入的新的 O(1) 调度程序,它为具有大量任务的系统 提供了可伸缩性。另外一个例子就是使用 Native POSIX Thread Library (NPTL) 更新了的线程模型,与 之前的 LinuxThreads 模型相比,它带来了更为有效的线程处理。有关这些创新及其前景的更多信息,请 参见 参考资料。
2.操作系统进程调度 篇二
Linux操作系统是一种开源、免费、能够运用于多平台的多任务操作系统。多任务操作系统就是能够同时并发的、交互的处理多进程任务的系统,然而多个进程的运行,就不可避免的竞争系统的资源,尤其是在单处理器系统上,进程就不可能同时占用处理器资源,这样进程调度就是Linux内核不可或缺的成员,它是负责选择下一个可以运行的进程。进程调度程序可以看成在可运行态进程之间分配有限资源的内核子系统,它是多任务操作系统的基础,只有通过调度程序得合理调度,系统资源才会最大化的发挥它的作用,多进程才会有并发执行的效果。
2 基本原理
2.1 原则
进程的运行需要系统上的各种资源,如内存、cpu、各种专用模块等,因此linux进程的调度实际上就是合理的把这些资源分配给各个进程,而如何分配则是取决于具体的调度算法,不同的应用场合需要的资源存在着很多差异,选用什么样的调度算法要依据具体的资源分配策略。一个好的调度算法应该注意以下方面:
1)高效率:使CPU尽可能的保持忙碌、最大限度地利用处理器的原则是,只要有可以执行的进程,那么就总会有进程正在执行。
2)公平:保证每个进程得到合理的资源分配时间,避免一个进程长期占用同一个资源,不存在一个进程长时间获得不到资源。
3)响应时间:使进程切换或获取资源时的相应时间尽可能的短,以最快的速度进入到工作状态。
4)周转时间:使得用户等待结果输出的时间尽可能短。
5)吞吐量:使得在单位时间内尽可能多的处理进程。
2.2 调度的依据
调度程序在运行时,它主要依据每个进程的task_struck结构中need_resched、nice、counter、policy和rt_priority各项根据不同的分配策略依靠调度算法决定下一个要执行的进程。
1)need_resched:当进程需要进行调度的时候,会去判断这个变量的值,如果为1,则会调用schedule()。
2)counter:时间片,它表明一个进程处于运行状态所能够持续的时间,每当一个时钟中断到来时,就会减1,当它的值减少为0时,会把need_resched变量置1,此时进程将会进入到调度队列从而不再运行。调度策略都要给每个进程规定一个默认的时间片,这个时间片的长度要合理的设置,时间片过长,会导致一个进程长时间占用资源,这样进程的交互性就差,其它进程也难以公平的获得资源;时间片过短,会使进程频繁的切换,进程切换的时间所占比例增大,从而致使CPU的效率降低。
3)nice:进程的静态优先级,根据优先级的高低来确定不同进程的counter的初值。调度算法中最基本的一类就是基于优先级的调度,它根据进程在系统中的重要程度以及所需的CPU处理时间而分级,优先级高的先执行,低的后执行,同优先级的按照轮转的方式执行。调度程序总是选择优先级最高并且时间片还没有使用完的进程首先执行,因此可以通过修改进程的优先级控制进程的调度。
4)rt_priority:进程的动态优先级,一般每个进程都会有一个基本优先级,调度程序可以在实际运行过程中,根据需要动态提高或降低该值,可以控制进程的调度。
5)policy:进程的调度策略,进程分为实时进程和普通进程,它们所采用的调度算法不同,实时进程对执行的效率要求更高,一般情况下优先级都会高于普通进程。对于普通进程,选择进程主要依据counter和nice。
3 调度算法
3.1 时间片轮转调度算法
在通常的时间片轮转算法中,系统将可以运行的程序按照先后顺序加入到一个等待队列中,每次分配时将CPU使用权交给队列头部的进程,同时赋予一个时间片,随着时钟中断的不断到来,减少时间片,当时间片用完时,系统发出信号,通知调度程序,调度程序终止该进程的执行,并把该进程送到队尾,等待下一次轮询。这时将CPU资源交给队列首部的进程,同样根据策略分给它一个时间片,依次循环。这样就可以保证每个进程都在较为合理的时间内获得资源,不会出现一个进程独占的现象。
3.2 优先权调度算法
由于各个进程的应用环境差异,执行的功能有所区别,因此不同的进程对于系统的紧迫程度就有所不同,有些进程需要进入系统后优先处理,而有些进程则不需要实时处理,这便引入了优先权调度算法。根据系统对实时性要求的情况,又可进一步分为非抢占式和抢占式调度算法。
非抢占式调度算法,在这种方式下,系统一旦把CPU资源分给优先级最高的进程之后,在该进程结束之前,不会再次调用调度函数,只有因为该进程正常结束或者由于某些事件导致该进程放弃CPU时,调度函数才会把CPU资源重新交给另一个优先级最高的进程。这种方式适用于批处理系统等对于实时性要求不严格的系统中。
抢占式调度算法,在这种方式下,系统把CPU资源分给当前队列中优先级最高的进程之后,一旦出现了另一个优先级更高的进程,则立刻调用调度函数把CPU资源交给这个进程。这种调度算法在新进程到来时都会与正在执行的进程进行优先级比较,如果高于当前进程就调用调度函数,否则就进入等待队列。抢占时调度算法更好的满足紧迫的进程,故常用与实时性要求较高的系统中。
3.3 多级反馈队列调度算法
这种调度算法综合了时间片轮转调度算法和优先权调度算法的优点,首先根据等待队列中进程的优先级,把时间片分给优先级最高的一批进程,在这些进程中运行时间片轮转调度,当有更高的优先级进程到来时,会优先分给时间片。
4 Linux进程调度过程分析
4.1 转入调度程序的时机
1)进程在执行的过程中遇到状态切换的时候:当进程需要进入休眠或者终止状态时而调用了相应的进程处理函数时,这些函数会触发进程调度函数。
2)有新的并且符合运行条件的进程加入到等待队列中;
3)进程从其他系统调用中返回用户态时:进程当从系统调用中返回时,都会对调度标识的检测,如果调度标识指示需要调度,则调用调度函数进行调度。
4)当前运行的进程不再拥有counter值时;
5)设备驱动程序:当设备API经常调用驱动程序时,驱动程序会反复检测need_resched值,需要时调用schedule函数获取或放弃CPU资源。
4.2 调度函数schedule
当系统的进程符合4.1中所叙述的时机后,便转入调度函数。此过程一般分为三部分内容:调度前的检查过程、对当前进程的处理、选择下一个可以执行的进程。
1)调度前的检查过程:调度函数主要对当前进程的地址空间进行检查,如果该进程没有地址空间可以使用,则必然出错,检查是否是中断服务程序调用了调度函数,如果是则出错。
2)对当前进程进行处理:首先检查当前进程的状态,如果当前进程的状态为TASK_ZOMBE或是TASK_INTERRUPTIBLE,则直接将该进程从运行队列中删除;其次,检查当前进程的时间片,如果是采用时间片轮转调度算法,该值为0则对进程重新分配时间片,再将该进程置队列尾部。
3)将资源交给符合条件的新的进程:搜索运行队列中所有进程的权值,并与当前进程的权值进行比较,选择权值最大的进程,如果运行队列中所有进程的权值都降为零时,则表示当前队列中的进程的时间片都使用光了,需要根据策略重新获取时间片。最终选取下一个可执行的进程,将内核地址空间切换至用户地址空间。
5 总结
进程调度程序时内核的重要组成部分,这是因为linux系统的运行离不开进程,而进程又都必须占用计算机的唯一资源CPU。然而,进程执行的功能,所需的性能差异很大,调度算法很难做到既适合众多的可运行的进程,又具有可伸缩性,还可以在吞吐量与调度周期之间求得平衡,同时还要满足各种负载,因此如何最大化的权衡各种需求是linux进程调度的关键所在。
摘要:Linux系统作为能够应用于多平台的多任务操作系统,它被广泛应用于嵌入式电子产品中,linux系统的效率就成为电子产品性能的重要因素之一。文章从linux进程调度的角度来分析linux系统的性能,对linux进程调度的原理、算法以及过程进行了分析。
关键词:进程调度,内核,多任务
参考文献
[1]张同光.Linux 2.6内核分析——对进程调度机制的分[J].长春工业大学学报:自然科学版,2006(4).
[2]杨嘉,王移芝.Linux内核调度器算法研究与性能分析[J].计算机技术与发展,2006(3).
3.系统优化,从进程开始 篇三
使用进程优化系统,需要使用一个进程管理软件。
软件名称:Process Lasso
最新版本:3.82.3
软件大小:1576KB
软件性质:共享软件
运行环境:WinXP/Vista/Win7/2000/2003
下载地址:http://lanmang.onlinedown.net/down/prolasso_36557.zip
Process Lasso是一款使用进程优化系统的工具,主要功能是动态调整各个进程的优先级并设为合理的优先级以实现为系统减负的目的。此项特性被Process Lasso定义为“过载抑制”(Out-Of-Control Restraint),可有效避免蓝屏、假死、进程停止响应、进程占用CPU时间过多等症状。同时它还具备前台进程推进、工作集修整、进程黑名单等附加特性。Process Lasso对系统的优化完全是“实时+智能”的,不会修改任何系统既有配置。
1智能进程抑制,优化系统性能
我们知道,程序进程占用CPU时间过多,可能会影响系统响应,假死甚至蓝屏,因此有经验的用户,当某一进程的CPU占用长时间达到100%影响到系统性能时,会自觉地利用Windows任务管理器降低进程的优先级。手工改变进程优先级比较麻烦,能不能当CPU使用率达到一定级别,比如100%时自动降低一些高消耗的进程的优先级呢?Process Lasso就是为实现这一功能设计的,选择“选项→ProBalance设置→配置ProBalance参数”,如图2所示,在打开的对话框上可对进程抑制的选项进行设置。从上图可以看出,当总的CPU使用率超过80%时,Process Lasso就自动对CPU使用率超过20%的进程进行降级(降低进程优先级)抑制。
Process Lasso的进程抑制非常人性,可以配合下列选项:
★如果你的某些进程比较重要,不需要降级抑制时,可添加到“排除进程”列表;
★前台程序是你正在使用的进程,可设置为“前台程序禁用进程抑制”;
★对于系统服务,如果你觉得它比较重要,比如你的电脑提供Web服务,可设置为“排除系统服务”。
2自定义进程,我的进程我做主
对于经常独霸CPU资源,影响系统响应的进程,你可让ProcessLasso总是降级运行,让系统始终保持较高的灵敏性。
Mind Manager是一款非常不错的思维导图软件,但遗憾的是它占用CPU过多,常常会使系统响应性降低。选择“MindManager.exe”进程,点击右键,选择“默认优先级一低于标准”,可使Mind Manager总是以“低于标准”的优先级运行。现在启动MindManager,你会发现系统的响应性大大的提高了。
如果你仅仅想让Mind Manager暂时降级运行,可选择“当前优先级一低于标准”,这样当下次启动MindManager后,该进程将恢复默认的优先级运行。
小提示:ProcessLasso曲线图和状态栏数据可以实时反映CPU使用率,系统响应性及内存占用率。另外,CPU平均使用率比CPU即时使用率更能反映进程对CPU的使用状况,因此对进程进行降级运行时,因更多地参考CPU平均使用率指标。
对于使用多核CPU或多个CPU的朋友,你可以使用CPU和进程关联的方法提高程序的运行效率。
选择“Photoshop.exe”进程,点击右键,选择“当前CPU关联”,在打开的对话框中把“Photoshop.exe”关联到1个使用率较低的CPU,可以提高正在运行的Photoshop的效率。如果选择“默认CPU关联”,在打开的对话框上让“Photoshop.exe”关联到1号CPU,其它进程都关联到0号CPU,如图5所示,这样任何时候启动Photoshop,你的Photoshop都能独霸1号CPU高效运行。
3前台优先,提升程序速度
前台程序是当前正在使用的程序,很多人想尽办法提升前台程序的运行速度,但往往收郊甚微。其实提高前台程序运行速度最有效的方法就是提升进程的优先级。为了达到这一目的,一些有经验的用户使用资源管理器手工操作。但这样很麻烦。Process Lasso不仅能智能抑制进程,而且还会自动加速进程。选择“选项一前台进程加速一启用前台进程优先级提升”,这样即可让Process Lasso始终提升前台进程的优先级。
4生杀大权,自己掌握
有些程序,总会附带启动一些对用户“没有”的程序,比如同花顺,就是一炒股软件,程序本身就占很多CPU资源,可它每次启动时还要附带启动一个对我一点也没用的聊天软件和升级程序,而且同花顺退出时,这些程序也不退出。类似这样的程序很多,对它附带启动的程序,不能由它自作主张,它的生死,我要自己掌握:选择同花顺附带启动的程序,选择“总是终止”,这样同花顺启动时,它附带的程序就不能再启动了。
4.操作系统进程调度 篇四
(A)
一、填空题(每空1分,共30分)1.铁路运输组织工作主要由客运组织、货运组织和行车组织三大部分组成。
2..传统的行车指挥中,行车调度的工作过程以人工方式为主,即是以调度电话为主要工具,建立在人与人之间,通过口头联系完成的。
3.我国铁路目前运输调度管理体制实行的是铁道部、铁路局、站段三级管理。铁路运输调度工作,实行分级管理、集中统一指挥的原则。
4.目前我国铁路运输调度指挥自动系统,就功能而言,分为TDCS和CTC两类。5.TDCS最基本的功能是可以查看辖区内站场总画面和单站画面,对行车信息进行监督。
6.TDCS的网络体系结构由三个层次构成,它们分别是核心层、区域层和接入层。7.CTC系统是综合了通信、信号、运输组织、现代控制、计算机、网络等多学科技术,实现了调度集中对某一区段内的信号设备进行集中控制。
8.分散自律调度集中系统调度中心设在铁路局调度所,负责控制整个调度区段列车的运行。控制中心主要由服务器、工作站、大屏幕显示系统、打印设备、远程维护接入、与TMIS接口和局域网等设备组成。9.车站自律机为双机热备的系统,分为A机和B机。
10.CTC系统硬件维护涉及系统内所有硬件的维护,包括自律机系统、网络系统、调度指挥中心服务器系统和各终端工作站。11.调度集中有分散自律控制模式和非常站控模式两种控制模式。
12.数据库服务器主要用于存储各种重要数据。
二、判断题(每题1分,共10分)1.行车组织主要包括:车站技术作业组织、车流组织、列车运行图、铁路运输工作技术计划和调度工作。(√)
2.TDCS系统有自动排列进路的功能。(x)3.TDCS系统只能提供6个月的实迹运行图的查询。(x)
4.TDCS系统的发展方向是(1)向CTC迈进、(2)旅客向导系统、(3)适应高速铁路和客运专线的要求。(√)
5.车站分机采集设备主要完成信息的采集及信息处理发送功能,是车站分机的最基本
功能。(√)
6.CTC车站子系统中单独设置的车务终端具备列车进路办理功能。(x)
7.CTC系统进行调车作业时不需要控制权的转换。(√)
8.CTC系统不具有人工办理试排进路的功能。(x)
9.车站自律机因故无法排列基本进路时,系统应自动报警。(√)
10.调度集中功能主要体现在实现所有列车的按图排列进路控制和调车作业的有机融合。(√)
三、简答题(每题10分,共30分)
1、铁道部调度指挥中心TDCS的主要功能是什么?
答:1列车动态跟踪功能2运输宏观显示功能3设备运用状态实时显示功能4运行图管理功能5调度命令管理功能6列车编组管理功能7数据统计分析及预测功能8技术资料管理功能9仿真培训功能10视频播放功能11铁路局间分界口列车调度指挥管理12运行图管理13通信质量监督14调度命令无线传送15列车运行时刻显示查询16时钟校核17网络管理和维护18用户信息管理19网络安全管理20气象信息系统
2、信号系统在铁路运输中有什么作用? 答:随着对铁路运输组织工作要求的不断提高,铁路信号系统在铁路运输中的地位和作用越来越重要。铁路信号系统已扩展到提高铁路行车次第、发送经营管理、我们希望同床共枕人员劳动强度的重要方面,使铁路运输行车指挥实现了向信息化方式的重大突破和质的飞跃,彻底摆脱了的人工方式,告别了传统,现代化。特别是随着远程控制技术、计算机技术、现代通信技术的飞速发展,铁路信号系统,包括行车调度指挥自动化系统获得了长足的进步,有效地促进了铁路现代化的进程,在铁路运输中起着越来越重要的不可替代的作用。
3、自律控制系统的基本功能有哪些? 答:(1)接收并标记所收到的控制计划,根据控制计划、《站细》、站场实际情况及列车实际位置选择相应的进路。
(2)判断进路的办理时机及进路联锁条件是否满足,满足进办理列车进路。(3)根据调车计划,跟踪调车过程,判断每钩进路是否符合自律条件,符合时办理调车进路。
(4)对人工列车进路命令进行自律条件判断。
(5)对人工调车进咱命令进行自律条件判
断
四、问答题(每题15分,共30分)
1、车站TDCS采集的具体信息中进站信号机表示灯亮L、H、HB,通过信号机表示灯亮L、LU、U、H,自动闭塞区间灯亮JD、FD、H分别代表什么意义?
答:A进站信号机状态:L、H、B(引导)绿(L)——表示信号开放; 红(H)——表示信号关闭;
白(B)、红(H)——表示引导信号开放 B通过信号机状态:L、LU、U、H 绿(L)——表示运行前言有三个或三个以上空闲闭塞分区;
绿黄(LU)——表示运行前方有两个闭塞分区空闲;
黄(U)——表示运行前言有一个闭塞分区空闲:
红(H)表示运行前言闭塞分区被占用或断轨。
C自动闭塞敬意:JD、FD、H
接车方向表示灯(JD)——表示单线双向区段或双线双向区段运行方向为接车; 发车方向表示灯(FD)——表示单线双向区段或双线双向运行方向为发车;
区间轨道区段红(H)——表示区间轨道区段被占用。
2、在装有CTC设备的无人车站对处理设备故障有何规定?
5.结束系统进程的两招秘籍 篇五
选择“开始”——“运行”,输入“cmd”打开DOS窗口,输入:
ntsd -c q -p PID
说明:在进行操作时,把最后那个PID,改成你需要终止的进程的ID号,可能会有网友问:进程的ID号如何获得?打开任务管理器,选择“查看”—“选择项”,在打开的选择项窗口中将“PID(进程标识符)”项选择上(如图1),这样任务管理器的进程中就会多出PID一项了,
结束系统进程的两招秘籍
,
为什么使用这个命令就是终止进程呢?原来ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。
使用ntsd这个命令,可以结束系统大部分进程,只有System、SMSS.EXE和CSRSS.EXE不能杀,前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。
没有菜单栏和标签栏了怎么办?
你有没有遇到过任务管理器窗口只有一个内容框架,没有菜单栏和标签栏的情况,就像图2、3那样。
其实这并不是一个问题,而是系统为我们提供的另一种简洁显示方式,是你在任务管理器的灰色空白处进行了双击操作所致,试着在灰色空白处再次双击,是不是恢复正常了?
★ 强制申请书
★ 强制拆除通告
★ 笔试题进程
★ 《强制医疗所条例送审稿》
★ 关于强制消费的语录
★ 强制申请执行书范文
★ 给指定病人献血倡议书
★ 被赡养老人指定协议书
★ 镇城镇化进程工作总结
6.生产调度系统考察报告 篇六
南化集团的系统由石大赛普公司施工,实时数据库选用美国ASPEN公司的INFOPLUS,价值300多万元。工期将近半年时间,现在只有少数数据实现了集中显示,刷新速率极慢,大部分数据都没有上传到信息中心,也没有进行更深层次的数据应用。其结构是在每套DCS处增加一台操作员站,在这台操作员站上安装相应的OPC软件,将欲上传的数据组态到OPC中;在控制网和管理网之间安装一台石大赛普公司自行研发的称为 ALL-LINK的远程数据终端设备,意欲起到将管理网和控制网隔离的作用,保护各DCS系统运行安全。
双多化工有限公司的系统由北京思创信息系统有限公司施工,在每套DCS中选一台操作员站安装OPC软件,同时增加一块网卡(加上DCS系统用的双冗余网卡这台微机一共有3块网卡),利用OPC协议将欲上传的数据传输到调度室的数采网关微机,同时在调度室增设数据服务器和WEB服务器,实现数据存储、处理和发布的功能。这样,在厂区内任一台连接到服务器的微机上都可以观看到上传的生产装置的实时数据,数据刷新速率大约在10秒左右,满足调度要求。另外,我们注意到管理网络上的某些微机还有视频监控功能,在他们厂区内分布有五六十台视频摄像头监控厂区内重点监控内容,包括生产岗位人员、重点装置区等,在有权限的微机上可以实现视频实时监控和历史录像浏览,并且可以自由选择切换画面,对某些具有云台的摄像头进行转向与调焦等操作。同时,在调度室内的22台视频监视
器也能实时监控这些内容,监控画面也可以进行切换。视频监控系统由南自公司施工完成。
7.操作系统进程调度 篇七
1 等待容忍时间
我们用等待容忍时间来衡量客户可以接受的等待时间。等待容忍时间, 即为客户所能接受的等待时间底线。等待容忍时间受其性价比, 等待服务和业务办理这两个过程之间的关系影响。服务的性价比越高, 业务需求时间越长, 客户通常愿意多等待一段时间。等待容忍时间越长, 客户越容易满意, 总体满意度越高。
2 服务时间和平均服务时间
可以用服务时间衡量客户在业务办理过程的时间花费, 进而反映其满意程度。所谓服务时间, 是指客户业务办理的全过程, 包括客户等待服务时间和业务需求时间两部分。
对每个客户而言, 都希望自己的服务时间最短。但作为银行工作人员, 则总是希望使得平均服务时间最短, 这不仅会有效提高银行系统的工作效率, 而且可以使大多数用户都感到满意。应使服务时间和平均服务时间都尽可能短, 否则, 会使许多用户的等待时间过长, 这将会引起客户特别是业务办理时间短的客户的不满。
3“先到先服务”排队规则
目前, 大多数银行按照“先到先服务 (First-Come-First-Served, 即FCFS) ”的规则进行服务。此规则下, 银行按照到达的先后次序提供服务, 优先考虑在网点等待时间最长的客户, 而不管客户的业务办理需求时间的长短。对办理高耗时业务的客户是有利的, 而对于那种业务需求时间很短的客户是很吃亏的。先来先服务规则不适用于像银行这种服务种类繁多并且业务办理时间不一的机构, 它降低了整体顾客满意度。
4“高响应比优先”规则
我们应该综合考虑客户的等待时间和业务办理的需求时间, 实现银行动态的最优运营管理。客户等待容忍时间越短, 应越早得到服务, 以此来提高客户满意程度;对于等待容忍时间较长的客户, 在保证其满意度的条件下尽可能地延长其等待时间。
本文提出了一种根据动态优先级来决定服务次序的规则, 叫做“高响应比优先 (Highest Response Ratio Next, 即HRRN) ”规则。此规则是根据计算机操作系统进程调度中的“高响应比优先调度算法”创新得来。该算法性能很高, 且已经得到广泛应用。高响应比优先调度算法能够为每一个进程引入一个动态优先级, 令它随时间延长而增加, 该优先级的变化规律可描述为等待时间和要求服务时间之和与要求服务时间的比值。其中, 等待时间是进程等待操作系统响应的时间, 要求服务时间是处理进程时所需要花费的时间。此调度算法既照顾了短作业, 又不至于长作业等待时间过长, 从而改善了处理机调度的性能。
将此调度算法的思想应用在银行排队规则中来, 将客户得到服务的优先级判断规则描述为:
其中, RPi为第i个客户的优先权, Waiti为第i个客户此刻已等待的时间, Servei为第i个客户业务需求时间, 因为银行业务相对固定, 各种业务办理时间是可以预测的。
此规则满足以下几条原则:
如果多个客户的已等待时间相同, 则客户业务需求时间越短, 其优先权越高, 越早得到服务。
如果多个客户的业务需求时间相同时, 则客户已等待时间越久, 其优先权越高, 越早得到服务。
对于办理复杂耗时业务的客户, 可以随等待时间的增加而提高优先级, 当其等待时间比较长时, 也可以得到服务。
对于刚到达的客户, 因为等待时间为零, 所以其优先权初始为1。
根据排队论有关理论, 银行营业网点的排队结构是单通道的。为客户编号并计算各客户优先权, 从中选出最大的为其提供服务。如果有新客户到达, 将其优先权初始为1。如果有客户离开, 就更新剩余客户等待时间并重新计算优先权, 选择此刻优先权最大的客户接受服务。
5 数据分析
有研究结果表明:客户等待时间超过10分钟, 情绪就开始急躁;超过20分钟, 情绪变得厌烦;超过40分钟, 则常因恼火而离开。基于上述调查结果, 我们对客户对服务的满意程度做如下等级划分:
我们在当地银行记录了一段服务过程, 利用该数据分别计算在“先来先服务”规则下和“高响应比优先”规则下服务相同的10个客户时的平均服务时间, 比较分析银行服务性能。
通过表2可知, 采用“先来先服务”规则时, 客户完成服务顺序即为客户到达的顺序。而采用“高响应比优先”规则时客户完成服务顺序为A→B→C→F→I→D→H→G→J→E。
(单位:分钟)
采用“先来先服务”规则和“高响应比优先”规则时的平均服务时间分别为31.2s和22s。而且采用“先来先服务”规则时, 有五个客户 (客户F、G、H、I、J) 的服务时间是高于其在“高响应比优先”规则下的服务时间的。这说明, 采用“高响应比优先”规则能够使多个客户更早地结束服务离开银行, 从而提高了银行的工作效率和客户的满意程度。
6 结论
“高响应比优先”规则取得了较好的排队优化效果, 对减少排队等待时间、提高顾客的满意度有重要意义, 值得深入研究。
摘要:如何有效地缓解银行排队问题以提高客户满意度一直是银行业的一个难题。目前银行采用的“先到先服务”排队规则不利于银行服务效率和顾客满意度的提高。本文以客户等待容忍时间为依据, 借鉴计算机操作系统的进程调度算法, 提出了“高响应比优先”银行排队规则。根据客户等待时间和业务需求时间之和, 与业务需求时间的比值计算客户接受服务的动态优先权。数据分析结果表明:“高响应比优先”规则能提高银行的工作效率和客户满意程度。
关键词:银行排队,计算机进程调度,客户满意度,等待容忍时间,高响应比优先规则
参考文献
[1]李啸虎.共享资源排队调度系统的设计与实现[J].科技创业月刊, 2015 (3) .
[2]李华敏, 张辉.顾客等待容忍度与银行排队服务系统的优化[J].金融论坛, 2011, 2 (182) .
[3]张珍.基于客户满意度的银行营业网点客户排队问题研究[D].西安:西北大学, 2011.
[4]张辉.基于等待容忍度的银行动态排队服务系统[D].西安:陕西师范大学, 2012.
8.操作系统进程调度 篇八
摘 要:本文以提高在综合化航空电子系统混合任务场景中的实时任务响应性能和解决遗产代码重用问题为目标,提出一种具备虚拟化支持能力的分区操作系统实时任务调度方法。该方法通过建立全局调度队列,并对任务状态进行合理控制,相比已有分区操作系统两级调度模型更为灵活,并且保证了虚拟化分区中客户操作系统自身的调度策略不被破坏,能够满足分区操作系统对任务调度实时性和虚拟化支持能力的需求。
关键词:分区操作系统;任务调度;全局调度队列;虚拟化支持
中图分类号:TP316.2
随着航空电子技术的发展,机载电子系统综合化模块化(Integrated Modular Avionics,简称IMA)成为必然发展趋势,一个物理平台可能承担来自多个系统的不同类型的任务,这些任务对基础平台的处理特性有着极为不同的需求。例如,机电应用可能需要快速处理多个外部事件,飞控应用可能需要根据当前传感器数据及时进行舵面控制,而航电应用可能需要进行复杂计算以完成某种功能,这些应用综合在一起,提出了强实时任务与一般任务共存的需求。如图1所示的操作系统(简称OS)架构所示[1],目前为了解决综合化带来的故障隔离和信息安全问题,现有的高安全机载操作系统都采用了分区机制,提供分区间隔离与分区间通信能力。现有的典型分区操作系统,如VxWorks653等采用两级任务调度策略,分区调度凌驾于分区内的任务调度之上,任务响应难以逾越分区时间窗口的限制,虽然能够确保任务的确定性实时响应,但是无法对任务从全局层面提供以任务为单位的统一调度,需要进行大量的前期任务规划,缺乏灵活性。
另一方面,机载软件的开发和验证成本相对较高,业界一直在探索降低机载软件成本的途径。系统综合中重用遗产代码可以有效降低成本,提高系统的安全性。虚拟化能够为代码重用提供有效支持[2],支持虚拟化也成为机载操作系统发展的一个新的方向。如何在不破坏虚拟化分区中客户OS自身调度策略的前提下进行全局统一调度,也是综合化调度算法亟待解决的问题。
面对上述问题,需要通过在软件架构层面优化,提出新的综合化任务调度方法[3],使含有虚拟化分区的混合任务环境下的强实时任务调度成为可能。
1 强实时全局统一调度算法
如图2所示,为了从根本上提高系统混合任务场景中实时任务的响应性能,必须减少调度层次,给分区操作系统所有分区内的每个任务赋予全局统一优先级,在分区管理程序中维护一个全局优先级调度队列,进行全局统一调度。具体来说就是将所有任务的当前优先级都映射为全局的统一优先级,然后在时间片耗尽和实时事件触发时,由分区管理程序的调度器进行统一调度。
在图2中,以分区中分别运行包含大量非实时应用的普通OS(例如Linux)和实时OS(简称RTOS,例如μC/OS)为例,虽然运行在RTOS上的实时任务通常具有最高的调度优先级,然而每个RTOS中也有低优先级的后台活动,它们不应该抢占运行在普通OS之下的用户前台任务。同样的,普通OS也会运行一些软实时活动(比如媒体播放器),而这些软实时活动可能会抢占RTOS中别的实时活动。很明显,使用现有分区操作系统那种分散的、层次性的调用模型,需要进行大量的前期任务规划来应对这种复杂的混合任务场景。
本文中分区管理程序中的调度器提供的综合化调度算法是一种抢占式、严格优先级、在最高优先级任务之间进行时间片轮转的调度算法。如图2所示,调度器维护一个包含255个优先级的全局就绪任务队列,调度器总是选择队列中具有最高优先级的任务获得处理器,如果处于最高优先级的有多个任务,则进行时间片轮转(RR,Round-Robin)调度。
本调度方法也提供了足够的用户可控支持[4]。用户可以通过系统服务动态的改变任何一个任务的以下3个基本调度参数:(1)优先级,0-255;(2)时间片长度;(3)处理器的编号。从而,任务的时间片通过在调度前对优先级的进行计算由系统缺省配置,也可以由用户通过系统服务进行修改。
出于调度开销和效率的考虑,本方法通过分析各种调度时机,可以在确认不会有更高优先级任务就绪的情况下不触发调度器而直接进行切换。
其中触发调度器调度的时机如下:(1)当前线程的时间片耗尽;(2)当前线程主动放弃时间片;(3)分区间通信(IPC,Inter-Partition Communication)操作阻塞当前线程或激活另一个线程。
不激活调度器,直接触发任务切换将减少系统开销,增加执行效率[5]。任务直接切换的时机如下:(1)中断发生时,通过全局优先级决定获取执行权的是当前线程或用户级中断服务线程;(2)IPC机制触发多个接受线程就绪,则在发送方和多个接受方之间选择一个优先级高的任务直接切换,此时可以不考虑优先级,而选用其他策略。
相比现有的两级调度算法,依据上述调度策略,借助合理的优先级部署,可以有效提高关键任务的实时响应性能,但是单级的综合化调度如何保证在虚拟化条件下分区中客户OS原有的调度策略不被破坏,是一个必须要解决的问题。
2 维护客户OS的自有调度策略
对于图2所示的全局调度策略,对于同一类型的任务全部给定相同的全局优先级,相同优先级的任务在全局实时调度中是以轮转Round-Robin方式进行调度。这种优先级配置策略在系统存在虚拟化分区的情况下将破坏客户OS原本的调度策略(比如Linux的普通用户级任务使用CFS调度策略),违反虚拟化的原则[6]。因此,分区管理程序和客户OS必须采取必要的措施,在无其它分区更高优先级任务抢占时采取合理的配合机制,保留客户OS自身的调度策略。
本文提出的调度方法解决此问题的基本原理是:首先,限制单个客户OS上应用级任务在全局调度队列中同时出现,从而使全局调度策略无法影响到客户OS内部的任务调度;其次,在触发调度的时机,全局调度器优先调度,如果没有当前运行客户OS之外的更高优先级的任务就绪,则将调度控制权交给当前客户OS的客户级调度器,此时激活客户级调度策略。
如图3所示,如果能够保证在每一时刻所有的客户OS应用级任务只有一个处于全局就绪队列中,就可以避免多个同等全局优先级的用户级线程按照全局调度策略进行轮转调度。在创建客户OS的任务时通过分区管理器系统服务修改任务在分区管理器中的系统状态,使其一经创建就处于未激活状态,不进入全局调度队列。在客户OS分区中创建一个高优先级的定时器处理线程timer_thread[7],这个线程处理所有的客户级时间中断(真实时间中断在分区管理器的预处理中已经判断了在全局队列中是否有其他更高优先级线程就绪的情况,有则调用分区管理器的全局调度器进行调度),否则唤醒客户OS的调度器,依据客户OS的调度策略进行调度,启动获取CPU的新任务,将其加入全局队列,更改被剥夺CPU的上一个任务的状态(将其屏蔽出全局队列),从而保证了同一时刻所有的客户OS用户级线程只有一个处于就绪状态。
通过上述机制,可以在确保实时性和坚持虚拟化原则的基础上,完成分区管理器和客户OS的调度配合,达到在虚拟化分区内维护客户OS自有调度策略的目标。
3 结论
本文针对航空电子系统综合化产生的实时任务和非实时任务共存的混合调度需求,以及遗产代码继承产生的虚拟化需求,能够在不破坏虚拟化原则的前提下,对实时任务和非实时任务进行全局统一的单级调度,改进实时任务的响应性能,解决全局调度策略破坏客户OS自有调度策略的问题,突破现有两级调度策略的瓶颈。
参考文献:
[1]Alves-Foss J,Oman P W,Taylor C,et al.The MILS Architecture for High-assurance Embedded System.International Journal of Embedded Systems,2006,2(3/4):239-247.
[2]Gernot Heiser,PhD.Virtualization for Embedded Systems.
[3]Sergio Ruocco,Real-Time Programming and L4 Microkernels.
[4]J. Kamada, M.Yuhara, and E.Ono.User-level real-time scheduler exploiting kernel-level fixed priority scheduler.In Multimedia Japan,Mar,1996.
[5]M. Hohmuth and H.H¨artig.Pragmatic nonblocking synchronization for real-time systems.In 2001 USENIX Techn.Conf.,Boston,MA,USA,2001.
[6]U.A.Steinberg.Quality assuring scheduling.Diploma thesis,Dresden University of Technology,Mar,2004.
9.操作系统进程调度 篇九
广州电力系统调度运行操作细则(试行)总则
1.1 为加强广州电力系统调度运行操作管理,规范调度运行操作,保障电网安全、稳定运行,特制定本办法。
1.2 广州中调及其调度管辖范围内运行单位的调度运行操作必须执行本办法。配网调度运行操作参照执行本办法。2 规范性引用文件
《电气操作导则》(Q/CSG 10006-2004)
《中国南方电网电力调度管理规程》(Q/CSG 212045-2011)《中国南方电网调度运行操作管理规定》(Q/CSG 212046-20115)《110kV及以上变电站运行管理标准》(Q/CSG 21002-2008)《广州电力系统主网调度规程(试行)》(广供电运〔2012〕25号)3 术语和定义 3.1 调度管理 3.1.1 调度管辖范围
调度机构的电网设备运行和操作指挥权限的范围。3.1.2 调度机构
电力系统运行的组织、指挥、指导和协调机构,简称调度。3.1.2.1 广州中调
广州供电局电力调度控制中心,南方电网公司第二级调度机构。3.1.3 运行单位
发电厂、变电站、大用户配电系统以及各集控中心、监控中心和巡维中心等接受某一级调度机构调管的发电、供电、用电单位。在本制度中,发电厂、变电站、大用户配电系统统称为现场,大用户配电系统简称为用户站。3.1.4 调度指令
值班调度员对其下级值班调度员或调度管辖运行单位运行人员发布有关运行和操作的指令。
共14页,第1页
广州电力系统调度运行操作细则(试行)
3.1.4.1 综合令
指值班调度员按照操作目的和要求,用标准术语说明操作对象的起始和终结状态以及注意事项的调度指令。受令人按照综合令确定的操作规范和现场规程,自行拟定具体操作步骤和操作顺序,一次性完成所有操作后向发令人汇报。3.1.4.2 单项令
指值班调度员下达的单一项目操作的调度指令。3.1.4.3 逐项令
指根据一定的逻辑关系,按顺序下达的单项令或综合令,遵循发令-受令-执行-汇报-继续发布下一项命令的顺序原则。3.1.4.4 调度许可
值班调度员对下级调度值班调度员或运行单位运行人员提出的申请予以许可(同意)。3.1.5 发令模式
值班调度员对下级调度值班调度员或调度管辖运行单位运行人员下达调度指令的途径和方式。广州电力系统的调度发令模式分为电话发令模式和网络发令模式。
3.1.5.1 电话发令模式
通过调度专用电话发布调度指令,下令前须互报单位及姓名,发令过程须有专用录音系统录音。3.1.5.2 网络发令模式
通过调度专用网络发令系统发布调度指令,有关值班调度员及其调度管辖运行单位运行人员须通过专用密码确认受令身份。双方应将发布的调度指令可靠地存档。
3.1.6 操作预令
值班调度员提前一定时间发布的预备调度指令内容。预令不是正式调度指令,受令人不得执行而只能作为拟定现场电气操作票的依据与参考。3.2 设备状态 3.2.1 一次设备状态 3.2.1.1 运行状态
共14页,第2页
广州电力系统调度运行操作细则(试行)
指设备或电气系统带有电压,其功能有效。母线、线路、开关、变压器、电抗器、电容器及电压互感器等一次设备的运行状态,是指从该设备电源至受电端的电路接通并有电压(无论是否带有负荷),且控制电源、继电保护及自动装置正常投入。
3.2.1.2 热备用状态
指该设备已具备运行条件,其继电保护及自动装置满足运行要求,开关的控制、合闸及信号电源投入,经一次合闸操作即可转为运行状态的状态。
开关的热备用是指开关本身在分闸位置,两侧刀闸在合闸位置,二次设备按要求投入。
线路、母线、变压器、电抗器、电容器等电气设备的热备用是指连接该设备的各侧均无安全措施,各侧开关全部在分闸位置,且至少一个开关处于热备用状态,二次设备按要求投入,一经合上该开关,设备就转为运行。3.2.1.3 冷备用状态
指连接该设备的各侧均无安全措施,且连接该设备的各侧均有明显断开点或可判断的断开点。3.2.1.4 检修状态
指连接设备的各侧均有明显的断开点或可判断的断开点,设备各侧已接地的状态。
3.2.2 继电保护状态 3.2.2.1 投入状态
指继电保护装置工作电源投入,相应的功能压板和出口压板投入的状态。3.2.2.2 退出状态
指继电保护装置工作电源投入,通过退出相应的功能压板或跳闸(重合)出口压板,退出部分或全部保护功能的状态。3.2.2.3 停用状态
指继电保护装置工作电源退出,出口压板退出的状态。3.2.3 安全自动装置状态 3.2.3.1 投入状态
指安全自动装置的工作电源投入,出口压板连接到指令回路的状态。即安全
共14页,第3页
广州电力系统调度运行操作细则(试行)
自动装置具备正常的出口动作功能。3.2.3.2 投信号状态
指安全自动装置的工作电源投入,出口压板断开,对外通信通道正常时的状态。即安全自动装置不具备就地和远方出口动作,但具备收信发信功能。3.2.3.3 退出状态
指安全自动装置的工作电源投入,出口压板断开,对外通信通道断开时的状态。即安全自动装置不具备就地和远方出口动作功能,不具备对外发信功能。3.2.3.4 停用状态
指安全自动装置工作电源退出,出口压板断开时的状态。即安全自动装置丧失所有功能的状态。3.3 操作常用术语 3.3.1 合上
通过人为操作,将开关、刀闸、地刀由分闸位置转为合闸位置的操作。3.3.2 断开
通过人为操作,将开关由合闸位置转为分闸位置的操作。3.3.3 拉开
将刀闸、地刀由合闸位置转为分闸位置的操作。3.3.4 装设地线
指通过接地短路线使电气设备全部或部分可靠接地的操作。3.3.5 拆除地线
指将接地短路线从电气设备上取下并脱离接地的操作。3.3.6 运行操作
电力系统一次设备和二次设备各类操作的总称,也称为电气操作。电力系统的运行操作分为一次设备操作和二次设备操作。一次设备操作包括状态、运行方式变更和运行参数调整;二次设备操作包括运行定值更改和状态变更。其中,一次设备的状态、运行方式变更操作亦称为倒闸操作。3.3.7 倒闸操作
断开或合上开关、拉开或合上刀闸(地刀)、拆除或装设临时地线,将一次设备由一种状态转换到另一种状态的操作。
共14页,第4页
广州电力系统调度运行操作细则(试行)
3.3.8 投入、停用、退出
指使继电保护、安全自动装置等设备达到指令状态的操作。3.4 事故处理
指在发生危及人身、电网及设备安全的紧急状况或发生电网和设备事故时,为迅速解救人员、隔离故障设备、消除设备过载、调整运行方式,不使事故扩大而进行的紧急操作。
发生危及电网及设备安全的情况下,事故处理仅限于开关的操作。发生危及人身安全的情况下,事故处理包括将故障设备转入冷备用或检修的操作。4 职责 4.1 调度机构
负责所辖范围内设备调度运行操作,并对下达的调度指令的正确性负责。4.2 运行单位
接受调度下达的调度指令,并对调度指令执行的正确性负责。5 管理内容与方法 5.1 基本原则
5.1.1 广州电力系统设备的运行操作应根据调度管辖范围的划分,实行统一调度,分级管理。各级调度对下级调度或其调管设备的运行单位发布调度指令,并对其正确性负责。特殊情况下,上级调度的值班调度员可对下级调度调管的设备直接发布调度指令,但事后应及时通知下级调度的值班调度员。
5.1.2 除调度规程或本制度明确规定可自行操作的情况外,任何单位和个人不得擅自改变调度管辖设备的状态、运行参数及二次设备定值。对调度管辖的设备,必须得到相应调度机构的值班调度员下达调度指令或调度许可后才可进行操作。遇有危及人身、设备或电网安全的紧急情况时,现场运行人员可先行按现场规程处理,事后必须立即报告值班调度员。
5.1.3 下级调度的操作对上级调度调管设备或电网安全有影响时,必须得到上级调度值班调度员许可后方可进行。上级调度的操作对下级调度调管设备或电网安全有影响时,上级调度值班调度员应提前通知有关下级调度值班调度员。
共14页,第5页
广州电力系统调度运行操作细则(试行)
5.1.4 任何情况下严禁“约时”停、送电;严禁“约时”开始或结束检修工作;严禁“约时”投、退重合闸。
5.1.5 进行继电保护、安全自动装置等二次设备操作时应使用其调度命名。值班调度员只针对其装置功能发布调度指令,原则上不对压板具体下令。除值班调度员明确要求外,任何安自装置、保护的操作涉及到相关具体压板、把手、控制字修改等方面时,由运行人员按定值单和有关现场规程规定要求操作,现场运行规程中应明确安自装置、保护的压板、把手、控制字修改等具体操作要求和操作细则。
5.1.6 正式投入运行的安自装置的运行操作必须得到值班调度员的许可,但新建或改造后的安自装置在投信号或挂网试运行期间,除可能致使装置出口对一次运行系统实施控制的操作(包括投入运行操作或其它操作)必须由值班调度员下令或许可外,其它试验操作、调试定值更改、状态变更等工作均由工程管理部门或专业管理部门通知或许可,并对其正确性负责。
5.1.7 广州中调按照《广州中调调管设备操作流程优化标准》对部分设备实行设备操作流程优化。5.2 操作管理 5.2.1 受令资格
调度机构值班调度员及运行单位运行人员上岗前必须接受本单位组织的专业培训并通过岗位资格考试。调度机构值班调度员或运行单位运行人员必须具有相应调度机构受令资格方可接受调度指令。对于同时接受两级调度机构调管的运行单位,上级调度机构颁发给运行人员的受令资格适用于下级调度机构。具体要求详见相关管理规定。5.2.2 操作模式
根据调管范围的划分,广州电力系统调度操作模式可分为直接操作、委托操作、配合操作、转令操作、许可操作。5.2.2.1 直接操作
正常情况下,各级调度对其调管范围内设备采用直接操作模式。5.2.2.2 委托操作
同一厂、站内的设备,分属不同调度调管,经相关方值班调度员协商后,可
共14页,第6页
广州电力系统调度运行操作细则(试行)
采取委托操作方式将其中一方调管设备委托另一方值班调度员操作。
委托操作前,相关方值班调度员应明确委托操作范围、操作对象目标状态及有关注意事项,并由委托方值班调度员通知相关单位运行值班人员。
委托操作期间,如委托范围内设备发生异常,原则上由受委托方值班调度员负责处理。
委托操作完成后,受委托方值班调度员应及时通报委托方值班调度员,委托方值班调度员应向现场核实并记录清楚。
委托关系有效性仅限于操作过程。委托操作完成后,委托方值班调度员应及时通知受委托方值班调度员及相关运行单位值班人员委托关系结束。5.2.2.3 配合操作
线路两侧设备由不同调度调管,且相关方调度在线路对侧厂站无调管权时,应采用配合操作。
在配合操作前,相关方值班调度员应协商一致,明确操作任务、内容、顺序及异常处理等有关事项。操作期间,相关方值班调度员应及时相互通报操作情况。5.2.2.4 转令操作
转令操作适用于间接调度设备的操作,监控中心将调度指令转达到无人值班站的操作也属于转令操作。
转令操作由发令方值班调度员向转令方值班调度员(监控员)下达调度指令,转令方值班调度员(监控员)接受发令方值班调度员的调度指令后,向现场运行人员转达执行。发令方值班调度员对发布调度指令的正确性负责,转令方值班调度员(监控员)对转达调度指令的正确性负责。
值班调度员如认为必要也可采用直接操作,直接向现场运行人员发布调度指令,事后通报转令方值班调度员或转令方值班监控员。现场运行人员在执行后应向有关方值班调度员或监控员汇报执行情况。5.2.2.5 许可操作
许可操作由运行人员根据现场需要,向相应调度机构值班调度员提出操作申请,得到调度许可后即可进行操作。许可操作应当有相应的许可操作记录。5.2.3 调度指令
5.2.3.1 调度指令分为单项令、综合令和逐项令。
共14页,第7页
广州电力系统调度运行操作细则(试行)
5.2.3.2 对于一个操作任务,凡需两个或两个以上单位配合完成并按一定逻辑关系进行操作的或虽然只涉及一个单位但对系统运行方式有重大影响的复杂操作,均应发布逐项令,逐项令可包含若干个单项令或综合令。
5.2.3.3 对于只涉及一个单位而无需其他任何单位配合即可完成的操作任务,可使用综合令。
5.2.3.4 对经批准操作权下放给下级调度的线路停、送电操作,上级调度值班调度员可对下级调度值班调度员发布综合令,由下级调度值班调度员编制调度操作指令票进行逐项操作。
5.2.3.5 以下操作可以发布单项令: 5.2.3.5.1 参数调整; 5.2.3.5.2 二次设备操作; 5.2.3.5.3 机、炉开停;
5.2.3.5.4 单一项目操作,如合上或断开单一的开关或刀闸(含接地刀闸),投入或退出机组辅助调节功能;
5.2.3.5.5 控制或解除控制用电负荷,拉闸限电或恢复用户供电; 5.2.3.5.6 设备启动、调试时按照启动方案执行的操作;
5.2.3.5.7 事故处理,但事故处理告一段落后的恢复性倒闸操作,应使用综合令或逐项令进行操作。
5.2.3.6 广州中调下达的发电曲线、错峰执行信号视为调度单项令。5.2.3.7 以下操作得到值班调度员的调度许可即可执行:
5.2.3.7.1 220kV及以下变电站的低压并联电抗器、电容器、10kV电压互感器、10kV避雷器,500kV及以下变电站的站用变的状态改变; 5.2.3.7.2 有载调压主变分接头开关的调节; 5.2.3.7.3 主变中性点接地方式的改变; 5.2.3.7.4 发电机组调节系统的投入和退出; 5.2.3.7.5 发电机组试验或退出备用;
5.2.3.7.6 下级调度需要借用上级调度调管设备才能完成的运行操作; 5.2.3.7.7 广州中调直调电厂的220kV、110kV启备变(也称高备变)由电厂自行管理,但所在升压站其他变压器全停以致没有其他中性点直接接地的情况下,共14页,第8页
广州电力系统调度运行操作细则(试行)
启备变停送电操作需得到值班调度员许可; 5.2.3.7.8 用户变电站的合环转电操作。
5.2.3.8 发、受调度指令,应使用标准调度术语,设备冠以电压等级、双重命名(设备名称及编号),具体指令格式参见附录B。
5.2.3.9 发令人对发布调度指令的正确性负责,受令人接受调度指令并对执行调度指令的正确性负责。
5.2.3.10 调度系统运行人员在接到值班调度员发布的调度指令时或在执行调度指令过程中,若认为调度指令不正确,应当立即向发令人报告,由发令人决定指令执行或者撤销。如果发令人重申该调度指令,受令人原则上必须执行,但受令人如果认为执行该指令确将危及人身、设备或电网安全,应当拒绝执行,同时应将拒绝执行的理由报告发令人和本单位直接领导。
5.2.3.11 发布倒闸操作调度指令前,值班调度员必须与受令人核对设备状态,向受令人明确操作任务和要求。
5.2.3.12 发布倒闸操作调度指令,值班调度员应认真考虑:
5.2.3.12.1 结线方式改变后的合理性,电网有功、无功出力与负荷的平衡,保证系统稳定运行的措施,并应考虑必要的备用容量;
5.2.3.12.2 注意操作时可能引起的功率、电流、电压和频率的变化,是否会引起其他元件过载或重载,并应将运行方式及潮流变化及时通知有关现场,加强监视;
5.2.3.12.3 继电保护、安全自动装置是否配合,变压器中性点接地是否符合继电保护相关规定的要求;
5.2.3.12.4 长距离输电线路送电,末端电压是否升高和防止发电机自励磁; 5.2.3.12.5 操作是否会造成非同期合闸、带电接地、带地线合开关、带负荷拉刀闸等误操作;
5.2.3.12.6 对于存在缺陷的设备操作,要考虑操作中该缺陷引发问题对系统的影响。
5.2.3.13 发布和接受调度指令,原则上使用调度专用电话或调度专用网络发令系统;如果正常调度通信系统因故中断,经调度机构主管领导批准,方可使用其他通信方式。
共14页,第9页
广州电力系统调度运行操作细则(试行)
5.2.3.13.1 日常调度业务通过调度专用电话和调度专用网络发令系统进行; 5.2.3.13.2 各级调度机构可根据实际需要设置紧急调度电话,作为事故情况报送的最高优先级别专用电话。事故发生后,有关单位可使用紧急调度电话第一时间向上级调度汇报,而后续事故处理联系则恢复为正常调度电话。非紧急情况应避免使用紧急调度电话。
5.2.3.14 调度操作指令票包括综合令操作票和逐项令操作票,各运行单位电气操作票内容应与调度操作指令票对应。
5.2.3.15 应当下达综合令的操作,值班调度员应编制综合令操作票,履行审批手续后按照综合令操作票内容下达综合令。接受综合令后,运行人员须根据综合令的内容编制操作票,依次逐项执行完毕后,汇报值班调度员。
5.2.3.16 应当下达逐项令的操作,值班调度员应提前通知有关操作单位,说明操作目的和任务;相关运行人员须据此事先编制操作票。值班调度员应提前编制逐项令操作票,履行审批手续后,按照逐项令操作票内容依次逐项下令,运行人员每执行完受令内容,须汇报值班调度员,等待接受下一项指令,直至全部操作完毕。
5.2.3.17 逐项令操作票在执行过程中应坚持逐项发令、逐项执行、逐项汇报的原则。在不影响安全的前提下,如果连续几项由同一运行单位操作,可将这几项一次按顺序下达,操作单位则依次逐项执行,一次汇报;如果连续几项操作尽管涉及不同运行单位,但彼此之间没有安全逻辑关系,允许同时下达调度指令。5.2.3.18 一个需要下达若干综合令和逐项令才能完成的复杂操作任务,值班调度员须与相关运行单位运行人员事先做好沟通工作,确定下令和操作次序。5.2.3.19 可不填写调度指令票的操作有: 5.2.3.19.1 单项令的操作; 5.2.3.19.2 调度许可的操作;
5.2.3.19.3 事故处理时失压母线、主变由运行转热备用的综合令操作。5.2.3.20 操作预令不属于调度指令,不具备执行效力,操作预令仅供运行人员作为拟票和提前做好操作准备的参考依据,现场实际操作仍以值班调度员下达的调度指令为准,严禁根据操作预令实施运行操作。5.2.4 设备操作
共14页,第10页
广州电力系统调度运行操作细则(试行)
5.2.4.1 对于影响厂、站用电的运行操作,现场运行人员在操作前应自行倒换好厂、站用电。
5.2.4.2 不同供电区域之间进行转供电操作,如果需要相应调度机构进行配合操作,应由值班调度员向相应调度机构值班调度员提出申请,相应调度机构值班调度员应对该配合操作进行潮流核算,若具备条件则予以实施。
5.2.4.3 各运行单位运行人员操作变压器并列或解列前应检查负荷分配情况,确认操作后不会造成其他设备过负荷。
5.2.4.4 开关一经操作带电,操作人员必须检查该开关电流是否正常,并汇报相关调度。
5.2.4.5 用母联开关对母线充电时,应投入母联开关充电保护,充电正常后退出该保护,保护投退操作过程中需母差保护配合由现场运行人员根据现场规程实施。
5.2.4.6 各运行单位运行人员进行开关分闸操作时,若该开关出现非全相分闸,应立即合上该开关;进行开关合闸操作时,若该开关出现非全相合闸,应立即断开该开关。
5.2.4.7 双母线结线设备倒母线时,应遵循开关母线侧刀闸“先合后拉”的原则。热备用设备进行倒换母线操作,其母线侧刀闸应按照“先拉后合”的原则进行。5.2.4.8 倒母线操作时,母线差动保护运行方式应由现场运行人员根据现场规程进行必要调整。
5.2.4.9 母线送电或停电时,现场必须有预防开关断口电容与母线电磁式电压互感器发生谐振的措施,现场规程应明确相关操作细则,现场运行人员根据现场规程实施操作。
5.2.4.10 母线停、送电操作时,现场应做好电压互感器二次回路切换,防止电压互感器二次侧向母线反充电。两组母线分列运行时,应防止电压互感器二次侧并列。进行电压互感器状态转换操作时,其二次侧开关由现场运行人员按现场规程操作。
5.2.4.11 线路操作
5.2.4.11.1 线路送电操作时,应先合上母线侧刀闸,后合上线路侧刀闸,最后合上开关;线路停电时的操作顺序与上述相反。
共14页,第11页
广州电力系统调度运行操作细则(试行)
5.2.4.11.2 线路操作送电时,一般应选择远离发电机侧作为充电侧,如两侧均不涉及发电机,应选择大电源侧作为充电侧,停电时顺序相反。
5.2.4.11.5 多端电源的线路停电检修时,必须先断开各端开关及相应刀闸,然后方可装设接地线或合上接地开关,送电时顺序相反。5.2.4.12 变压器中性点地刀操作
5.2.4.12.1 对于110kV 及以上电压等级系统,合上或断开变压器开关进行变压器停、送电或经变压器向母线充电时,如该变压器中性点装有接地刀闸的,在操作前有关运行单位运行人员必须将该主变中性点地刀合上,调度员下达指令时可不再特别说明。操作完毕后的变压器中性点运行方式由现场运行人员按照正常运行方式执行,值班调度员另有要求时按调度指令执行。
5.2.4.12.2 如变压器中性点带消弧线圈运行,当变压器停电时,应先拉开中性点接地刀闸,再进行变压器操作,送电顺序与此相反;禁止变压器带中性点接地刀闸送电或先停主变后再拉开中性点接地刀闸。
5.2.4.12.3 并列运行中的变压器中性点地刀转换时,应先合上一台变压器的中性点地刀,再拉开另一台变压器的中性点地刀。
5.2.4.13 对于继电保护特殊配合的代路,现场规程必须作明确规定。旁路开关代路操作前值班调度员应考虑与安稳及对侧保护的配合。
5.2.4.14 使用旁路兼母联开关代其他开关运行时,现场运行人员应根据现场规程对母线运行方式改变前后继电保护配合调整。5.2.4.15 电抗器和电容器不允许并列运行。
5.2.4.16 对于线路保护,值班调度员下达投退指令时必须向现场指明所投退保护的具体类别,例如:主(或者A、B、C 屏)保护中的纵联保护或零序、距离保护还是整套主(或者A、B、C 屏)保护。
5.2.4.17 设备的非电气量保护,由现场运行人员根据现场规程进行操作。但主变本体或调压重瓦斯保护的投入、退出,操作前应向值班调度员申请。5.2.4.18 值班调度员下令投入(退出)设备的保护装置功能时,现场除投入(退出)该保护装置功能外,还应投入(退出)其启动其他保护、联跳其他设备的功能,如启动失灵等。
5.2.4.19 值班调度员下令投入线路重合闸时,除特别指定外,现场运行人员应
共14页,第12页
广州电力系统调度运行操作细则(试行)
按照当前执行的定值单要求来确定该重合闸的投入方式。
5.2.4.20 一次设备及其开关间隔均转检修状态后,其相应的继保装置应保持在原来状态。若检修工作需要或现场规程规定,保护装置需要退出,现场运行人员无需向调度申请,但必须在相应一次设备转热备用前将该保护恢复到设备停电操作结束时的原有状态。
5.2.4.21 电气设备转热备用前,现场运行人员必须按继电保护定值单投入该设备继电保护,调度下令退出的除外。
5.2.4.22 线路带电作业如果不要求退出线路重合闸,原则上调度不予受理。5.2.4.23一次设备(线路除外)转检修状态后,现场运行人员可根据工作需要自行操作停电范围内一次设备(与带电系统作为明显断开点的刀闸除外)。设备复电前厂站值班员应将设备恢复至检修状态,并报值班调度员。
5.2.4.24线路转为检修状态后,若因厂站内工作需要,厂站线路侧需加装临时地线时,现场运行人员在确保操作安全并记录清楚后可自行完成,无需向值班调度员申请。工作结束后,现场运行人员负责解除上述临时安全措施。
5.2.4.25 正常情况下,调度系统应尽量避免在交接班期间进行操作。如在交接班期间必须进行操作或遇紧急突发事件时,应推迟交接班或待有关操作告一段落后再进行交接班。
5.2.4.26 各运行单位的运行操作应在确保安全的前提下提高效率,输变电一、二次设备状态转换参考操作时间见附录C。5.2.5 启动方案执行
5.2.5.1 启动方案的“启动操作步骤”编制视为操作票编制,必须包括与启动相关的所有操作内容,特别是安自装置的投退和继保定值的配合更改等事项。有关编制和审批单位对启动方案的正确性负责。
5.2.5.2 按照启动方案对设备进行启动、调试时,凡涉及调度管辖范围内设备的操作,必须经过值班调度员或由值班调度员授权的现场调度下令或许可才能进行。
5.2.5.3 新设备一经带电,其状态改变必须得到调管该设备的值班调度员或值班调度员授权现场启动的现场调度下令或许可才能进行。
5.2.5.4 启动方案的执行应符合《启动方案执行要求和注意事项》的要求。
共14页,第13页
广州电力系统调度运行操作细则(试行)附则
6.1 本办法由广州供电局系统运行部负责解释。6.2 本办法自2012年7月15日起执行。7 附录
附录A 广州中调调管设备操作流程优化管理标准 附录B 调度操作指令格式及示例说明
附录C 输变电一、二次设备状态转换操作时间参考表附录D 启动方案执行要求和注意事项
【操作系统进程调度】推荐阅读:
水库调度系统操作手册08-09
通风调度员操作要求10-19
地铁应急指挥调度系统09-13
轨道交通调度管理系统07-18
煤矿调度指挥系统整改结果08-17
电力调度自动化系统09-11
公交车调度系统解决方案07-22
综合指挥调度系统解决方案V12-24
计算机操作系统操作题09-30