34、深入理解操作系统中的时间管理

深入理解操作系统中的时间管理

1. 时间的测量方式

在现代操作系统中,时间有着多种用途,许多程序都需要对其进行跟踪。内核通过三种不同的方式来测量时间的流逝:
- 挂钟时间(或实时时间) :这是现实世界中的实际时间和日期,就像我们从墙上的时钟读取的时间一样。进程在与用户交互或为事件添加时间戳时会使用挂钟时间。
- 进程时间 :指的是一个进程所消耗的时间,既可以是直接在用户空间代码中消耗的时间,也可以是通过内核代表进程工作而间接消耗的时间。进程主要关心这种时间形式,用于性能分析和统计,例如测量某个操作所花费的时间。由于 Linux 的多任务性质,对于给定的操作,进程时间可能远小于挂钟时间,而且进程可能会花费大量时间等待 I/O(特别是键盘输入)。
- 单调时间 :这种时间源严格线性递增。大多数操作系统(包括 Linux)使用系统的正常运行时间(自启动以来的时间)。挂钟时间可能会发生变化,例如用户可能会设置它,并且系统会不断调整时间以纠正偏差,此外,闰秒等因素也会引入额外的不精确性。而系统正常运行时间是时间的确定性和不可更改的表示。单调时间源的重要方面不在于当前值,而在于保证时间源严格线性递增,因此可用于计算两次采样之间的时间差。

单调时间适合计算相对时间,而挂钟时间则适合测量绝对时间。这三种时间测量方式可以用两种格式表示:
- 相对时间 :是相对于某个基准的值,例如当前时刻,如从现在起 5 秒后,或 10 分钟前。
- 绝对时间 :表示时间时不依赖于任何基准,例如 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值