60个版本
0.9.59 | 2024年6月26日 |
---|---|
0.9.57 | 2024年5月28日 |
0.9.54 | 2024年2月6日 |
0.9.52 | 2023年12月25日 |
0.9.21 | 2022年11月26日 |
#633 in 操作系统
每月 154次下载
用于 xous-ticktimer
325KB
6K SLoC
Xous API:ticktimer
Xous 的 ticktimer
通过多种机制帮助其他进程跟踪时间的流逝
- 它可以报告自启动以来经过的运行时间(以毫秒为单位)。
- 它可以阻塞一个进程指定的时间(以毫秒为单位)。
- 它可以阻塞一个进程直到满足某个条件(即 condvar)
被 ticktimer
阻塞的进程将完全取消调度,不消耗任何CPU时间片;唯一的开销是在内核的简单轮询线程调度器中检查进程的可运行状态所需的几个指令。因此,sleep
和 condvar
阻塞状态非常高效。
ticktimer
对时间的感知在系统进入挂起状态时停止;因此,在恢复时,经过的时间将从上次停止的地方继续。挂起期间的系统时间由RTC模块跟踪。
Xous 目前没有线程优先级的概念,但如果开发这样的功能,ticktimer
将是实施该功能的合理位置,因为它可以全面查看所有等待和可运行的线程,并且可以影响在给定时间片内应该解阻塞哪些线程。
依赖项
~2.5MB
~62K SLoC