系统时间
编辑在计算机科学和计算机编程中,系统时间代表计算机系统对时间流逝的概念。 从这个意义上说,时间也包括日历上的日子。
系统时间由系统时钟测量,通常实现为对自某个任意开始日期(称为纪元)以来发生的滴答数的简单计数。 例如,Unix 和 POSIX 兼容系统将系统时间(Unix 时间)编码为自 Unix 纪元 1970 年 1 月 1 日 00:00:00 UT 开始以来经过的秒数,闰秒除外。 实现 Windows API 的 32 位和 64 位版本的系统,例如 Windows 9x 和 Windows NT,将系统时间提供为 SYSTEMTIME,表示为年/月/日/时/分/秒/毫秒值 , 和 FILETIME,表示为自 1601 年 1 月 1 日 00:00:00 UT 以来的 100 纳秒刻度数的计数,按照公历计算。
系统时间可以转化为日历时间,这是一种更适合人类理解的形式。 例如,自纪元开始以来的 Unix 系统时间 1000000000 秒转换为日历时间 2001 年 9 月 9 日 01:46:40 UT。 处理此类转换的库子例程还可以处理时区、夏令时 (DST)、闰秒和用户区域设置的调整。 通常还提供将日历时间转换为系统时间的库例程。
其他时间测量
编辑与系统时间密切相关的是进程时间,它是一个正在执行的进程消耗的总 CPU 时间的计数。 它可以分为用户和系统 CPU 时间,分别表示执行用户代码和系统内核代码所花费的时间。 处理时间是 CPU 指令或时钟周期的统计,通常与墙上时间没有直接关联。
文件系统通过在每个文件和目录的文件控制块(或索引节点)中存储时间戳来跟踪文件的创建、修改和/或访问时间。
历史
编辑大多数xxx代个人计算机不记录日期和时间。 其中包括运行 CP/M 操作系统的系统,以及早期型号的 Apple II、BBC Micro 和 Commodore PET 等。 IBM PC 和 XT 可以使用附加外设板,其中包括带板载电池备份的实时时钟芯片,但 IBM AT 是xxx款广泛使用的配备内置日期/时间硬件的 PC 母板。 在计算机网络广泛可用之前,大多数跟踪系统时间的个人计算机系统仅根据本地时间进行跟踪,而没有考虑不同的时区。
使用当前的技术,大多数现代计算机都可以跟踪当地的民用时间,许多其他家用和个人设备(例如 VCR、DVR、有线电视接收器、PDA、寻呼机、手机、传真机、电话答录机、照相机、摄像机、 中央空调、微波炉。
在嵌入式系统中运行的微控制器并不总是有内部硬件来跟踪时间。 许多这样的控制器系统在不知道外部时间的情况下运行。 那些需要此类信息的用户通常会在重新启动时通过从外部源(例如从时间服务器或外部时钟)获取当前时间,或者通过提示用户手动输入当前时间来初始化其基准时间。
实施
编辑系统时钟通常作为一个可编程的间隔定时器来实现,它会周期性地中断 CPU,然后 CPU 开始执行定时器中断服务例程。 该例程通常会向系统时钟(一个简单的计数器)添加一个时钟周期,并在返回中断前 CPU 正在执行的任务之前处理其他周期性的内务处理任务。
获取系统时间
编辑下表说明了在各种操作系统、编程语言和应用程序中检索系统时间的方法。 标有 (*) 的值取决于系统,并且可能因实施而异。 所有日期均以公历或公历日期给出。
请注意,实现时间测量的分辨率并不意味着此类测量具有相同的精度。 例如,系统可能会返回当前时间作为以微秒为单位测量的值,但实际上能够辨别频率仅为 100 赫兹(10 毫秒)的单个时钟滴答。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195612/