CN103197971B - Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法 - Google Patents

Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法 Download PDF

Info

Publication number
CN103197971B
CN103197971B CN201310140907.3A CN201310140907A CN103197971B CN 103197971 B CN103197971 B CN 103197971B CN 201310140907 A CN201310140907 A CN 201310140907A CN 103197971 B CN103197971 B CN 103197971B
Authority
CN
China
Prior art keywords
interrupt
intervalometer
cpu
pentium
interruption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310140907.3A
Other languages
English (en)
Other versions
CN103197971A (zh
Inventor
魏长安
杨京礼
李龙华
李骥
姜守达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201310140907.3A priority Critical patent/CN103197971B/zh
Publication of CN103197971A publication Critical patent/CN103197971A/zh
Application granted granted Critical
Publication of CN103197971B publication Critical patent/CN103197971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

Windows操作系统Pentium IV架构下高精度低CPU占用率定时器的实现方法,涉及Windows操作系统的定时器软件开发技术领域。本发明的目的是设计一种高精度、同时CPU占用的资源又很少的定时器,以解决现在Windows多任务分时工作时很难达到高精度低CPU资源占用率的技术问题。利用Pentium IV架构PC机的芯片组内的8254芯片,通过编写8254中断定时器驱动程序、APIC驱动程序,在Windows下实现一个基于中断的硬时钟定时器;定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,实现对用户自定义中断处理函数的调用,实现了可应用的定时器;经测试,定时精度可达到亚毫米级,在定时为100us时,定时偏移小于7us,且CPU占用率极低,满足大多数windows系统定时应用要求。

Description

Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时 器的实现方法
技术领域
本发明涉及利用8254中断定时器在Windows操作系统Pentium IV架构下实现高精度低CPU占用率的定时器,涉及Windows操作系统的定时器软件开发技术领域。
背景技术
Windows操作系统提供给用户很多API来实现定时器功能,从原理上大致分为如下三种定时器:WM_TIMER消息定时器,多媒体定时器,Windows时间戳定时器。下面分别从实现方法和性能上介绍这三种定时器。
(1)WM_TIMER定时器
WM_TIMER定时器是Windows最简单的定时器,它得用SetTimer()函数设定定时器的间隔时间,然后定时为指定的线程发送WM_TIMER消息,WM_TIMER消息加入消息队列后等待处理。KillTimer()函数具有销毁定时器的功能。这种定时器的优点是使用简单,资源占用率小。但是WM_TIMER消息被处理的优先级是很低的。如果窗口的消息队列中不停的有其它消息发送过来,WM_TIMER消息就一直被推迟投递,也就是说,当调用SetTimer时所传入的uElapse参数是得不到保障的,因此WM_TIMER定时器的精度很低,平均值大约在15ms左右,这使得这种定时器非常不适合应用在高精度定时任务中。
(2)多媒体定时器
Windows下有一个多媒体定时器,用法为一组API函数的调用,它们是:
MMRESULT timeBeginPeriod(UINT uPeriod);
MMRESULT timeSetEvent(UINT uDelay,UINT uResolution,LPTIMECALLBACKlpTimeProc,DWORD dwUser,UINT fuEvent);
void CALLBACK TimeProc(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2);
MMRESULT timeKillEvent(UINT uTimerID);
MMRESULT timeEndPeriod(UINT uPeriod);
其中timeBeginPeriod是用来设置最高定时精度的,最高精度为1ms,如果要产生间 隔为1ms的中断,必须调用timeBeginPeriod(1);当定时器用完之后就要用timeEndPeriod(1);来恢复默认的精度。具体使用方法为在timeBeginPeriod(1)调用之后用timeSetEvent()注册一个回调函数,即一个中断处理过程。它还可以向回调函数传递一个参数,通常可以传送一个窗口句柄之类的东西。而回调函数TimeProc则从dwwUser参数中取出传递的参数使用。在Windows下,可以用这种方法进行1ms精度的定时数据采集,数据发送,但要保证1ms能完成所有的操作和运算。经过实践证明,用它来实现控制的精度是足够的。但是由于多媒体定时器是一个独立的线程在监视系统时钟,所以在多线程下,由于CPU时间片的切换,多媒体定时器也不能完成1ms的定时。
(3)时间戳定时器
时间戳定时器的原理是用一个独立的线程,时刻监视CPU时间戳计数器的增量变化,当增量变化大于设定的时间间隔,则跳入处理过程。Windows提供两个有关CPU时间戳的API函数:QueryPerformanceFrequency()获得当前CPU计数器频率和QueryPerformanceCounter()获得当前CPU计数器计数值。时间戳定时器内要有一个循环,作用就是时刻监视CPU计数器的变化,因此时间戳定时器占用的CPU资源非常多。从理论上讲时间戳定时器可以达到很短时间(甚至ns单位)的定时,前提是定时器的处理过程时间要小于定时器间隔时间。但是在Windows操作系统多任务机制下,如果其它线程与其共用CPU资源,那么在其它线程占用CPU时间片的时候,时间戳定时器停止监视CPU计数器计数增量变化,这个时候时间戳定时器无效,这造成时间戳定时器无法按预计的定时时间间隔工作,从而影响了时间戳定时器的工作效果。
Windows所提供的定时器基本上采用的是消息机制,多线程,轮询监视这几种方法,在Windows多任务分时工作时很难达到高精度低CPU资源占用率。
发明内容
本发明的目的是设计一种高精度、同时CPU占用的资源又很少的定时器,以解决现在Windows多任务分时工作时很难达到高精度低CPU资源占用率的技术问题。
本发明为解决上述技术问题采取的技术方案是:
一种Windows操作系统Pentium IV架构下高精度低CPU占用率定时器的实现方法,所述方法的具体实现过程为:
步骤一、利用Pentium IV架构PC机芯片组内的8254芯片,通过编写8254中断定时器的驱动程序,对8254内部寄存器进行配置,使能了8254芯片的内部计数功能;
步骤二、通过编写的可编程中断控制器APIC驱动程序,在可编程中断控制器APIC中为8254PIT设定对应的中断向量;
步骤三、修改Windows IDT(中断描述表),定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,对用户自定义中断处理函数的调用,实现了一个基于中断的硬时钟定时器。
在步骤二中,所述的可编程中断控制器APIC由本地高级中断控制器(LAPIC)和I/O高级中断控制器(IOAPIC)两部分组成,本地高级中断控制器位于CPU中,I/O高级中断控制器位于南桥芯片上,用于连接各个产生中断的设备。
可编程中断控制器APIC的工作过程为:收到来自IOAPIC的中断消息后,LAPIC及对应CPU通过中断请求寄存器IRR、当前中断服务寄存器ISR、任务优先级寄存器TPR、处理器优先级寄存器PPR以及中断结束寄存器EOI处理该中断。
LAPIC的ISR、IRR均为256bit寄存器,对应Pentium IV平台上的256个中断向量;IRR中相应位置1,代表LAPIC已接收中断,但还未交CPU处理;ISR中相应位置1,代表CPU已开始处理中断,但还未完成;当CPU正在处理某中断时,同类型中断如果发生,相应的IRR bit会再次置1;如果某中断被挂起在IRR中,同类型的中断发生,则ISR中相应的bit被置1;在APIC系统中,同一类型中断最多可以被计数两次;对于Pentium IV系列CPU,中断消息被LAPIC拒绝。
LAPIC需要软件写EOI来通知中断处理的完成,LAPIC中的EOI是一个32bit寄存器,对EOI写0表示中断处理完成。
所述定时器的中断处理过程为:
中断是通过中断描述符表(IDT)处理的,IOAPIC上有24个中断号引脚,每个中断号对应的设备发出中断后,IOAPIC都会向CPU发送一个中断消息,消息内部包括一个重要的值,就是中断向量,指定中断号的中断向量由RTE表中的0-7位确定,中断向量对应的中断门信息在IDT表中存储;改变中断描述符表中的中断门结构,将用户自定义中断处理函数的指针赋给门结构的值,在8254的每一个中断到来时,CPU便会执行用户自定义的中断服务程序,实现了基于8254PIT的高精度定时器。
在步骤一中,8254中断定时器驱动程序主要包含下列功能函数:
void pit8254_timerinit(ULONG ICW),按控制字初始化定时器;
void pit8253_timerset(USHORT l,USHORT h),设定计数值;
void pit8253_timerget(USHORT*l,USHORT*h),读取计数值。
本发明的有益效果是:
在使用单片机上或DSP等智能芯片时,为了避免轮询造成的CPU资源浪费,大都采用中断的方式。现代PC机的芯片组内,都有一片中断定时器芯片,它可以发出定时中断或控制PC蜂鸣器发声,它的时钟信号可达1MHz以上,理论上可以实现us级定时。本发明就是利用该芯片在Windows下实现一个基于中断的硬时钟定时器。
本发明利用Pentium IV架构PC机的芯片组内的8254芯片,通过编写8254中断定时器驱动程序、APIC驱动程序,在Windows下实现一个基于中断的硬时钟定时器;定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,实现对用户自定义中断处理函数的调用,实现了可应用的定时器;经测试,定时精度可达到亚毫米级,在定时为100us时,定时偏移小于7us,且CPU占用率极低,满足大多数windows系统定时应用要求。在中断处理函数中,通过获取CPU计数器的值,计算相邻两次执行中断处理的时间差,测试中断定时精度,结果可达到亚毫米级,多次统计结果显示,在定时为100us时,定时偏移小于7us,且CPU占用率极低,满足大多数windows系统定时应用要求。
附图说明
图1是基于Pentium IV架构的PC机的芯片图;图2是典型的具有多个处理器的PC平台的结构框图(APIC模式);图3是本发明方法的中断过程的调用原理框图(中断过程的调用);图4是IDTR寄存器(IDTR Regisger)原理框图;图5是100us中断定时间隔测试结果图,图6是500us中断定时间隔测试结果图,图7是1ms中断定时间隔测试结果图。
具体实施方式
如图1~4所示,本实施方式所述的Windows操作系统Pentium IV架构下高精度低CPU占用率定时器的实现方法,在Windows实现高精度定时器主要包括三步:
步骤一、初始化8254芯片,设置内部寄存器,使能8254内部计数器:利用PentiumIV架构PC机芯片组内的8254芯片,通过编写8254中断定时器的驱动程序,对8254内部寄存器进行配置,使能了8254芯片的内部计数功能;
步骤二、在可编程中断控制器APIC中,为8254PIT设定对应的中断向量:通过编写的可编程中断控制器APIC驱动程序,在可编程中断控制器APIC中为8254PIT设定对应的中断向量;
步骤三、修改Windows IDT(中断描述表),让中断触发后,进入自定义中断处理函数:修改Windows IDT(中断描述表),定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,对用户自定义中断处理函数的调用,实现了一个基于中断的硬时钟定时器。
8254中断定时器设置过程:
基于Pentium IV架构的PC机的芯片组内,有8254PIT定时器芯片。8254芯片内部具有三个独立的16位计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数频率可达1OMHz。如图1所示。
8254的三个计数器是独立的16位减法计数器。计数器的工作方式由工作方式寄存器确定。8254控制字格式如表l:
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
各位的功能见表2~表5:
表2SCl、SCO-计数器选择
表3RL1、RL0-CPU读/写操作
表4M2、M1、M0-工作方式选择
表5BCD-计数方式选择
BCD 数码形式
0 十六位二进制计数
1 四位十进制(BCD)码计数
选通信号GATE控制计数工作的进行,其功能如表6所示。
表6选通信号GATE的功能
本发明采用计数器0产生定时中断,设置工作方式为0,即:首先设置计数器初始值,在时钟信号CLK控制下进行行递减计数,计数结束(减至0)时产生上升沿中断,同时自动预置为初始值,计数器连续工作。
编写8254中断定时器驱动程序,主要包含下列功能函数:
void pit8254_timerinit(ULONG ICW),按控制字初始化定时器
void pit8253_timerset(USHORT l,USHORT h),设定计数值
void pit8253_timerget(USHORT*l,USHORT*h),读取计数值
可编程中断控制器APIC设置:
APIC由两部分组成,一个称为LAPIC(Local APIC,本地高级中断控制器),一个称为IOAPIC(I/O APCI,I/O高级中断控制器)。前者位于CPU中,每个CPU都有一个自己的LAPIC。后者通常位于南桥上,连接各个产生中断的设备。
在一个典型的具有多个处理器的PC平台,通常有一个IOAPIC和多个LAPIC,每个处理器对应一个LAPIC,它们相互配合,形成一个中断的分发网络,图2显示了这个典型的情况:
IOAPIC在PRT(Programmable Redirection Table)表中获取中断消息,发送给某个CPU的LAPIC,由LAPIC通知CPU进行处理。
目前典型的IOAPIC具有24个中断管脚,每个管脚对应一个RTE(RedirectionTable Entry)。RTE表是IOAPIC工作的关键,当IOAPIC某个管脚接收到中断信号后,会根据该管脚对应的RTE,格式化出一条中断消息,发送给相应(一个或多个)CPU的LAPIC。RTE表中包含了一个中断的所有信息。
收到来自IOAPIC的中断消息后,LAPIC及对应CPU通过中断请求寄存器IRR、当前中断服务寄存器ISR、任务优先级寄存器TPR、处理器优先级寄存器PPR以及中断结束寄存器EOI处理该中断。
LAPIC的ISR、IRR均为256bit寄存器,对应Pentium IV平台上的256个中断向量。IRR中相应位置1,代表LAPIC已接收中断,但还未交CPU处理。ISR中相应位置1,代表CPU已开始处理中断,但还未完成。当CPU正在处理某中断时,同类型中断如果发生,相应的IRR bit会再次置1;如果某中断被挂起在IRR中,同类型的中断发生,则ISR中相应的bit被置1。这说明在APIC系统中,同一类型中断最多可以被计数两次。对于Pentium IV系列CPU,中断消息被LAPIC拒绝。
LAPIC需要软件写EOI来通知中断处理的完成,LAPIC中的EOI是一个32bit寄存器,对EOI写0表示中断处理完成。
编写APIC驱动程序,主要包含下列功能函数:
ULONG ioapic_read(struct ioapic*io,ULONG reg),读取IOAPIC相应寄存器值
void ioapic_write(struct ioapic*io,ULONG reg,ULONG val),写IOAPIC相应寄存器
void ioapic_init(void),IOAPIC初始化
void ioapic_enable(ULONG irq,PIOAPIC_STRUCT io,ULONG vect),使能指定中断号的中断并给出中断向量
void_ioapic_disable(ULONG irq,ULONG cpunum,PIOAPIC_STRUCT io),屏蔽指定中断号的中断
void ioapic_backup(ULONG*low,ULONG*high),备份IOAPIC全部寄存器值
void ioapic_recover(ULONG*low,ULONG*high),按备份IOAPIC寄存器值恢复全部寄存器
void SetInterrupt_ToCPU(ULONG CPUNum),设定所有中断为LOGICAL模式,并为其指定目的CPU
中断处理:
在IA-32架构处理器中,定时器中断是通过中断描述符表(IDT)处理的。
IOAPIC上有24个中断号引脚,每个中断号对应的设备发出中断后,IOAPIC都会向CPU发送一个中断消息,消息内部包括一个重要的值,就是中断向量,指定中断号的中断向量由RTE表中的0-7位确定,中断向量对应的中断门信息在IDT表中存储。如图3所示。
改变中断描述符表中的中断门结构,将用户自定义中断处理函数的指针赋给门结构的值,在8254的每一个中断到来时,CPU便会执行用户自定义的中断服务程序,这样就实现了基于8254PIT的高精度定时器。如图4所示。
本发明方法所述的定时器性能测试(测试中断定时精度):
每次中断,中断处理函数都会获取CPU计数器的值,把这个值进行运算,转换到us单位的值,这里记为CurrentTime。上一次中断获得的这个us单位的值,这里记为BeforeTime。两个值的差就是实际定时器中断的定时间隔。同时为了说明8254PIT中断定时器不受Windows任务调度的影响,测试时操作系统中运行了两个死循环线程。
结果用曲线图来表示,图中的X轴为定时中断的次数,每次中断间隔次数就是X轴的一个刻度值。Y轴为每次中断间隔的时间值。每个测试由1024个点组成,即测试了1024 次中断时间间隔。
首先进行定时间隔为100us的定时测试。结果如图5所示。从图中可以看出,1024次100us中断定时中,最大的时间间隔是105us,最小时间间隔为94us,通过windows任务管理器查看,设计的定时器占用CPU率小于1%(实际显示为0%)。
进行定时间隔为500us的定时测试。结果如图6所示。从图中可以看出,1024次500us中断定时中,最大的时间间隔是503us,最小时间间隔为497us,通过windows任务管理器查看,设计的定时器占用CPU率小于1%(实际显示为0%)。
进行定时间隔为1ms的定时测试。结果如图7所示。从图中可以看出,1024次1ms中断定时中,最大的时间间隔是1003us,最小时间间隔为996us,通过windows任务管理器查看,设计的定时器占用CPU率小于1%(实际显示为0%)。

Claims (1)

1.一种Windows操作系统PentiumⅣ架构下高精度低CPU占用率定时器的实现方法,其特征在于:所述方法的具体实现过程为:
步骤一、利用PentiumⅣ架构PC机芯片组内的8254芯片,通过编写8254中断定时器的驱动程序,对8254内部寄存器进行配置,使能了8254芯片的内部计数功能;
所述的8254中断定时器驱动程序包含下列功能函数:
按控制字初始化定时器的函数;
设定计数值的函数;
读取计数值的函数;
步骤二、通过编写的可编程中断控制器APIC驱动程序,在可编程中断控制器APIC中为8254PIT设定对应的中断向量;
所述的可编程中断控制器APIC由本地高级中断控制器和I/O高级中断控制器两部分组成,本地高级中断控制器位于CPU中,I/O高级中断控制器位于南桥芯片上,用于连接各个产生中断的设备;
可编程中断控制器APIC的工作过程为:收到来自IOAPIC的中断消息后,LAPIC及对应CPU通过中断请求寄存器IRR、当前中断服务寄存器ISR、任务优先级寄存器TPR、处理器优先级寄存器PPR以及中断结束寄存器EOI处理该中断;
LAPIC的ISR、IRR均为256bit寄存器,对应PentiumⅣ平台上的256个中断向量;IRR中相应位置1,代表LAPIC已接收中断,但还未交CPU处理;ISR中相应位置1,代表CPU已开始处理中断,但还未完成;当CPU正在处理某中断时,同类型中断如果发生,相应的IRR bit会再次置1;如果某中断被挂起在IRR中,同类型的中断发生,则ISR中相应的bit被置1,在可编程中断控制器APIC中,同一类型中断最多可以被计数两次,对于PentiumⅣ系列CPU,如果目前已经有两个未处理完的同类型中断,再次产生同类型的中断消息被LAPIC拒绝;
LAPIC需要软件写中断结束寄存器EOI来通知中断处理的完成,LAPIC中的中断结束寄存器EOI是一个32bit寄存器,对中断结束寄存器EOI写0表示中断处理完成;
步骤三、修改Windows IDT,定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,对用户自定义中断处理函数的调用,实现了一个基于中断的硬时钟定时器;
定时器的中断处理过程为:中断是通过中断描述符表IDT处理的,IOAPIC上有24个中断号引脚,每个中断号对应的设备发出中断后,IOAPIC都会向CPU发送一个中断消息,消息内部包括一个重要的值,就是中断向量,指定中断号的中断向量由RTE表中的0-7位确定,中断向量对应的中断门信息在IDT表中存储;改变中断描述符表中的中断门结构,将用户自定义中断处理函数的指针赋给门结构的值,在8254的每一个中断到来时,CPU便会执行用户自定义的中断服务程序,实现了基于8254PIT的高精度定时器。
CN201310140907.3A 2013-04-22 2013-04-22 Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法 Active CN103197971B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310140907.3A CN103197971B (zh) 2013-04-22 2013-04-22 Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310140907.3A CN103197971B (zh) 2013-04-22 2013-04-22 Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法

Publications (2)

Publication Number Publication Date
CN103197971A CN103197971A (zh) 2013-07-10
CN103197971B true CN103197971B (zh) 2016-11-23

Family

ID=48720559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310140907.3A Active CN103197971B (zh) 2013-04-22 2013-04-22 Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法

Country Status (1)

Country Link
CN (1) CN103197971B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406974B (zh) * 2015-07-30 2020-07-17 中兴通讯股份有限公司 一种用于虚拟机的高性能定时器实现方法、虚拟机
CN106445650B (zh) * 2015-08-05 2019-10-25 华为技术有限公司 一种中断处理方法、ioapic及计算机系统
CN106802689B (zh) * 2016-12-14 2020-01-17 西北工业大学 Windows操作系统环境下可调速高精度定时器的实现方法
CN110308934B (zh) * 2018-03-22 2022-03-29 龙芯中科(成都)技术有限公司 Hpet驱动方法和装置、可读存储介质及电子设备
CN110569977B (zh) * 2019-07-23 2022-04-22 北京航天自动控制研究所 一种面向实时专家系统并行时限推理的可复用定时方法
CN115617496B (zh) * 2022-12-06 2023-04-07 摩尔线程智能科技(北京)有限责任公司 用户模式与内核模式通信的方法、装置、电子设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200809483A (en) * 2006-08-01 2008-02-16 Universal Scient Ind Co Ltd Method for applying program hooking and monitoring system control interrupt

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098146A1 (en) * 2006-10-20 2008-04-24 Jang-Ying Lee Interrupt hooking method for a computing apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200809483A (en) * 2006-08-01 2008-02-16 Universal Scient Ind Co Ltd Method for applying program hooking and monitoring system control interrupt

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Windows操作系统下的软件定时器的设计与应用;刘春凤等;《机电一体化》;20041231(第5期);38-41 *
基于Visual C++6.0的Windows应用程序定时器研究;王鹏飞等;《计算机技术与发展》;20130228;第23卷(第2期);44-48 *

Also Published As

Publication number Publication date
CN103197971A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103197971B (zh) Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法
CN103885881B (zh) 一种基于VxWorks系统多任务机制的高实时并发测试方法
US11157061B2 (en) Processor management via thread status
TWI697787B (zh) 自適應資源分配方法及裝置
CN103559045A (zh) 一种硬件实时操作系统
CN103984596B (zh) 一种星载软件的调度方法及装置
CN103389913B (zh) 一种用于Linux系统的实时中断处理方法
CN105718257A (zh) 基于嵌入式系统的定时器装置及定时方法
CN100501694C (zh) 处理器利用率的测量装置及方法
CN103995742A (zh) 一种基于mcu的嵌入式实时调度控制装置及方法
de Oliveira et al. Operating system noise in the linux kernel
US20150089101A1 (en) Managing network interface controller-generated interrupts
Herzog et al. Intspect: Interrupt latencies in the linux kernel
CN111475312B (zh) 基于实时操作系统的消息驱动方法和装置
CN109189598A (zh) 一种中断定位的方法、处理器及终端设备
Mazzi et al. Benchmarking and comparison of two open-source RTOSs for embedded systems based on ARM Cortex-M4 MCU
CN102968376B (zh) 基于执行路径全过程的系统窗口期滑动测试方法
CN107423206A (zh) 一种衡量系统管理中断时间的方法及装置
Brandenburg et al. Accounting for interrupts in multiprocessor real-time systems
US20160292027A1 (en) Systems and methods for managing task watchdog status register entries
CN100474265C (zh) 微处理器占用率的统计方法
Renaux et al. Performance evaluation of CMSIS-RTOS: benchmarks and comparison
US8572619B2 (en) System and method for integrating software schedulers and hardware interrupts for a deterministic system
Ludwich et al. Proper handling of interrupts in cyber-physical systems
Henriques Threaded IRQs on Linux PREEMPT-RT

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant