当前位置: 代码迷 >> 汇编语言 >> 问一上定时器中断的有关问题
  详细解决方案

问一上定时器中断的有关问题

热度:9529   发布时间:2013-02-26 00:00:00.0
问一下定时器中断的问题
我想模拟一个进程调度程度,但是用INT 1CH 只能固定每55ms中断一次,我想能够调整定时器时间,有没有办法实现?
顺便问一下,Windows系统的进程切换是怎么实现的?不是用的INT 1CH吧……
------解决方案--------------------------------------------------------
这种东西在PC上一般就三种方法:
1. 使用ACPI PMT(Power Management Timer)
2. 使用8253/8254 PIT(Programmable Interval Timer)
3. 使用CMOS RTC中断

windows只使用前两种,调用QueryPerformanceFrequency,如果返回值是3579545那就是第一种,返回值是1193812是第二种(比较老的机器)。

不管哪种,如果做多任务调度用的话,都需要重编程提高精度,这是一些资料:
http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/software-developers-hpet-spec-1-0a.pdf
http://wiki.osdev.org/Programmable_Interval_Timer
http://www.nondot.org/sabre/os/files/MiscHW/CMOSTimer
  相关解决方案