Embedded system with interrupt handler for multiple operating systems
First Claim
1. An embedded system comprising:
- at last one processor operable to run at least two operating systems, wherein the at least two operating systems include a first operating system including a first group of threads, and a second operating system including a second group of threads;
means for generating an interrupt to said processor;
means for selecting a thread from said first and second group of threads to execute as a result of said interrupt and as defined by any applications, said means for selecting including at least one at least partly common interrupt handler for said at least two operating systems; and
means for transmitting interrupt data to the operating system from which the thread was selected including said thread to execute.
5 Assignments
0 Petitions
Accused Products
Abstract
An embedded system (1) comprising at least one processor (2) for running an operating system (OS_A, OS_B). The embedded system (1) further comprises:
means (17, 401, 412) for running at least two operating systems (OS_A, OS_B) in said processor (2),
a first operating system (OS_A) comprising a first group of threads (THA1, THA2, THA_IDLE),
a second operating system (OS_B) comprising a second group of threads (THB1, THB2, THB_IDLE),
means (nFIQ, nIRQ, SWI) for generating an interrupt (FIQ, IRQ, SWI) to said processor (2),
means for examining (401, 603, 617) to the execution of which thread (THA1, THA2, THB1, THB2, THA_IDLE, THB_IDLE) the interrupt (FIQ, IRQ, SWI), that has come to the processor (2), affects, and
means (401, 412, 603, 609, 617) for transmitting interrupt data to said operating system (OS_A, OS_B) which relates to the thread (THA1, THA2, THB1, THB2, THA_IDLE, THB_IDLE) affecting the interrupt (FIQ, IRQ, SWI) received by the processor (2).
-
Citations
39 Claims
-
1. An embedded system comprising:
-
at last one processor operable to run at least two operating systems, wherein the at least two operating systems include a first operating system including a first group of threads, and a second operating system including a second group of threads;
means for generating an interrupt to said processor;
means for selecting a thread from said first and second group of threads to execute as a result of said interrupt and as defined by any applications, said means for selecting including at least one at least partly common interrupt handler for said at least two operating systems; and
means for transmitting interrupt data to the operating system from which the thread was selected including said thread to execute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
user mode, privileged mode, undefined mode, and one or more interrupt modes, and that the first operating system is arranged to operate at least partly in the undefined mode, the second operating system is arranged to operate at least partly in the user mode, and that the interrupt handler is arranged to operate in the one or more interrupt modes.
-
-
10. An embedded system according to claim 1, wherein one thread of said first group of threads comprises said second operating system.
-
11. An embedded system according to claim 1, further comprising:
-
at least two interrupt service routines for at least one interrupt; and
means for selecting one from said at least two interrupt service routines to be used in connection with said interrupt.
-
-
12. A method for executing an operating system in a processor of an embedded system, the method comprising:
-
executing at least two operating systems in said processor, wherein a first operating system includes a first group of threads, and a second operating system includes a second group of threads;
generating an interrupt to said processor;
selecting a thread from said first and second group of threads to execute in response to said interrupt and as defined by any applications using at least one interrupt handler at least partly common to said at least two operating systems; and
transmitting information of said interrupt to the operating system from which the thread was selected including said thread selected to be executed. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A communication device comprising:
-
at least one processor for executing at least two operating systems, wherein the at least two operating systems include a first operating system including a first group of threads and a second operating system including a second group of threads;
means for generating an interrupt to said processor;
means for determining a thread selected from the first and second group of threads to execute in response to said interrupt and as defined by any applications, said means for determining including at least one at least partly common interrupt handler for said at least two operating systems; and
means for transmitting interrupt data to the operating system from which the thread was selected including said thread to be executed. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
user mode, privileged mode, undefined mode, and one or more interrupt modes, and that the first operating system is arranged to operate at least partly in the undefined mode, the second operating system is arranged to operate at least partly in the user mode, and that the interrupt handler is arranged to operate in the one or more interrupt modes.
-
-
31. A communication device according to claim 22, wherein one thread of said first group of threads comprises said second operating system.
-
32. A method of operating an embedded system having a plurality of operating systems comprising:
-
receiving an interrupt;
operating an interrupt service program to service said interrupt;
identifying at least one thread from a group including at least one thread from each of said plurality of operating systems to be run as a result of operating said interrupt service program and as defined by any applications; and
running said at least one thread by the operating system from which it was selected upon termination of said interrupt service program. - View Dependent Claims (33, 34, 35)
identifying at least one delayed service routine to be run as a result of operating said interrupt service program; and
running said at least one delayed service routine upon termination of said interrupt service program.
-
-
34. The method of claim 33, wherein said at least one delayed service routine is run after said at least one thread.
-
35. The method of claim 33, wherein said at least one thread is a thread of a first of said plurality of operating systems and said delayed service routine is a delayed service routine of a second of said plurality of operating systems.
-
36. An embedded system comprising:
-
a plurality of operating systems;
an interrupt handler for receiving an interrupt and causing an interrupt service program to operate to service said interrupt;
circuitry for identifying at least one thread from all the threads of said plurality of operating systems to be run as a result of operating said interrupt service program and as defined by any applications; and
a scheduler for causing said at least one thread to run under the operating system from which the thread was selected upon termination of said interrupt service program. - View Dependent Claims (37, 38, 39)
-
Specification