上传者: 47381886
|
上传时间: 2022-09-23 21:00:47
|
文件大小: 300KB
|
文件类型: DOC
实验目的和要求:
1了解linux时钟中断的原理 2 学习进程定时器技术
实验条件:
1、装有Linux操作系统的微型计算机;
实验过程
1 使用定时器的主要是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。在工程实践中,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,使用alarm定时发出一个信号,还有那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常用。
Linux内置的3个定时器
Linux为每个任务安排了3个内部定时器:
ITIMER_REAL:实时定时器,不管进程在何种模式下运行(甚至在进程被挂起时),它总在计数。定时到达,向进程发送SIGALRM信号。
ITIMER_VIRTUAL:这个不是实时定时器,当进程在用户模式(即程序执行时)计算进程执行的时间。定时到达后向该进程发送SIGVTALRM信号。
ITIMER_PROF:进程在用户模式(即程序执行时)和核心模式(即进程调度用时)均计数。