在计算机系统中,设置时钟是十分必要的。这是由于时钟可以为计算机完成以下的必不可少的工作。
- 1)在多道程序运行的环境中,时钟可以为系统发现一个陷入死循环(由编程错误引起)的作业,从而防止机时的浪费。
- 2)在分时系统中,用时钟间隔来实现各个作业按时间片轮转运行。
- 3)在实时系统中,按要求的时间间隔输出正确的时间信号给相关的实时控制设备。
- 4)定时唤醒要求按照事先给定的时间执行的各个外部事件(如定时为各进程计算优先数,银行系统中定时运行某类结账程序等)。
- 5)记录用户使用各种设备时间和记录某外部事件发生的时间间隔。
- 6)记录用户和系统所需要的绝对时间,即年、月、日。
由上述时钟的这些作用可以看到,时钟是操作系统运行的必不可少的设施。时钟一般分成硬件时钟和软件时钟。
硬件时钟的工作原理是,在电路中的晶体振荡器,每隔一定间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作。
软件时钟,常用作相对时钟,它的工作原理主要是利用内存单元模拟时钟寄存器,并采用一段程序来计算相应的脉冲数,对内存时钟寄存器进行加1或减1的工作,从而模拟了时钟的功能。由于硬件提供的时钟总是比较少的,往往不能满足操作系统和应用程序对时钟的要求,因而软件时钟是经常需要的。软件时钟与硬件时钟的同步工作,由操作系统负责维护。
时钟的用途可以分为绝对时钟和相对时钟。
绝对时钟是在计算机系统中不受外界干扰、独立运行的一种时钟。一般来说,绝对时钟很准确,它通常不会被停止,当计算机系统关机时,绝对时钟值仍然始终不停地保持运行,作为整个计算机系统中的时间参考基准。绝对时钟通常提供公元日历的时间(即年、月、日、时、分、秒)显示。
相对时钟又称间隔时钟。它只计算从某一个时间初值开始的一段时间间隔。由操作人员置上时间间隔的初值,以后每经过一个单位的时间,时钟值自动减1,直到该值为负时,则触发一个时钟中断,并进行相应的处理。间隔时钟可以通过时钟寄存器来实现,如许多操作系统的实用程序中提供的电子闹钟,每隔固定时间发一次中断,触发一个音响事件。当然,间隔时钟也可以通过软件时钟来实现。