虚拟化ABC - 不同OS的时钟
来源:互联网 发布:ios性能优化 编辑:程序博客网 时间:2024/05/21 10:46
1. Microsoft Windows
微软操作系统通常使用counting timer interrupts(ticks),系统时间精确到最近的tick,根据OS版本和的HAL使用不同的时间设备。使用PIT的,中断频率往往是100Hz,Windows 98使用200Hz。使用CMOS(RTC)时钟的,中断频率为64Hz。Microsoft Windows通过multimedia timer API提高时钟频率。最高到1024Hz(或1000)。一些软件如Apple QuickTime、Java虚拟机等,可使OS时钟频率提高。Microsoft Windows有一个系统调用QueryPerformanceCounter,通过该系统调用可获得时钟定时器的计数值。多核系统上的Microsoft Windows需要考虑TSC的同步问题,有些Windows采用APIC Timers每隔一秒产生一个中断;有些Windows版本将时钟中断广播向所有的处理器,有些版本将时钟中断路由向主处理器。
2. Linux
Linux 2.4 和早期的2.6使用PIT,32位、64位的内核分别于2.6.18、2.6.21做了较大修改,引入clocksource以供内核启动时选择时钟(提供的多数为tickless), 后来又引入clockevent和dynticks(tickless)(NO_HZ选项)。Linux提供/etc/rtc始终设备,来源于CMOS周期定时器或HPET,通常被多媒体软件使用。2.4以前的时钟频率为100HZ,常见发行版的初始频率如下:
- Red Hat Linux 8 512HZ,更新的又改为100HZ
- SUSE Linux Professional 9.0 1000Hz
- 早期2.6内核选项有100, 250, 1000Hz,默认是250Hz
- Red Hat Enterprise 4/5 1000Hz(提供启动选项以配置频率)
3. Solaris
Solaris 10为tickless时钟。Solaris作为VM运行时可能有两个小问题:1)多核系统启动时的时间校准时会出现问题,在Solaris 10Update8解决;2)会因为CMOS TOD值和预期差太远而报出严重警告信息。- 虚拟化ABC - 不同OS的时钟
- 虚拟化ABC - x86平台时钟
- 虚拟化ABC - VCPU
- 虚拟化术语,虚拟化abc
- 虚拟化ABC - 虚拟化方式
- 虚拟化ABC - 内存虚拟化
- 4.3 时钟虚拟化
- 不同的OS
- 虚拟经济abc
- mac OS与windows时钟的区别
- uc-/os-ii的中断和时钟
- UC/OS-II的中断和时钟
- 不同OS下调用参数的不同
- 虚拟化ABC - 特权指令与敏感指令
- String a = "abc" 和String a = new String("abc")的不同
- char *p="abc"与char p[]="abc"的不同
- 总算理解char *p="abc"与char p[]="abc"的不同
- char *p="abc"与char p[]="abc"的不同
- VC6.0的ActiveX控件实现
- 转自PC426 一体式水冷的新突破——银欣TD02赏析
- 几段常用的css代码(Clearfix、锚链接伪类、斑马线、内容垂直居中)
- Windows与VMware下Linux的文件共享方法
- MongoDB002 文档、集合、数据库
- 虚拟化ABC - 不同OS的时钟
- bjective-c NSArray 列出指定文件目录列表
- 设置TextBox中只能输入数字
- HDU1584(分治法)
- php资料
- Subversion安装配置(Windows)之详解(1)
- Linux 下软件安装方法总结
- Activity之间数据传递与共享的几种途径(bitmap篇)&异步加载&service
- __attribute__