服务程序
指的是在操作系统中以服务的形式运行的应用程序。服务程序通常是后台运行的,不需要用户交互界面,可以在计算机开机时启动并一直运行。服务程序可以为各种应用程序提供支持,例如网络服务、数据库服务、安全服务等等。服务程序可以通过Windows服务管理器或者命令行工具进行管理和配置。
调度程序(scheduler)
是操作系统中的一个重要组成部分,它负责控制系统资源的分配和管理,为进程分配CPU时间片、调度CPU执行进程、管理进程间的通信和同步等。调度程序的主要任务是按某种算法从就绪队列中选择一个进程,分配CPU给它运行,以达到最大吞吐量和最小响应时间的目的。常见的调度算法包
心跳机制
1、创建一块共享内存,存放进程心跳信息结构体数组。
2、每个服务程序启动的时候查找共享内存,把自己心跳信息填写进去,运行过程不断更新到共享内存,代表自己还活着。
3、守护进程每个一段时间遍历共享内存,检查心跳信息,如果当前时间减去最后一次心跳时间大于超时时间,表示服务程序死了,发送信号终止它。之后调度程序再重新启动它。