Enabling multiple operating systems to run concurrently using barrier task priority
First Claim
1. A method of enabling multiple operating systems to run on the same CPU, the method comprising:
- scheduling a plurality of tasks for execution by at least first and second operating systems, wherein each task has one of a plurality of first priorities;
assigning a second priority to each operating system;
providing a common program arranged to compare the second priorities of all operating systems and to run the operating system having the highest second priority on the CPU;
activating a barrier task in a given operating system in response to an interrupt for the given operating system; and
scheduling the barrier task for execution in the given operating system when the barrier task has the highest first priority in the given operating system,wherein each operating system causes the common program to change its priority when it switches from one task to another task having a lower priority, andwherein each operating system can invoke the common program to decrease its priority.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a method of enabling multiple operating systems to run concurrently on the same computer, the method comprising: scheduling a plurality of tasks for execution by at least first and second operating systems, wherein each task has one of a plurality of priorities; setting the priority of each operating system in accordance with the priority of the next task scheduled for execution by the respective operating system; and providing a common program arranged to compare the priorities of all operating systems and to pass control to the operating system having the highest priority. Accordingly, the invention resides in the idea that different operating systems can be run more efficiently on a single CPU by changing the priority of each operating system over time. In other words, each operating system has a flexible priority.
5 Citations
45 Claims
-
1. A method of enabling multiple operating systems to run on the same CPU, the method comprising:
-
scheduling a plurality of tasks for execution by at least first and second operating systems, wherein each task has one of a plurality of first priorities; assigning a second priority to each operating system; providing a common program arranged to compare the second priorities of all operating systems and to run the operating system having the highest second priority on the CPU; activating a barrier task in a given operating system in response to an interrupt for the given operating system; and scheduling the barrier task for execution in the given operating system when the barrier task has the highest first priority in the given operating system, wherein each operating system causes the common program to change its priority when it switches from one task to another task having a lower priority, and wherein each operating system can invoke the common program to decrease its priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of enabling multiple operating systems to run on the same CPU, the method comprising:
-
scheduling a plurality of tasks for execution by at least first and second operating systems, wherein each task has one of a plurality of first priorities; assigning a second priority to each operating system; providing a common program arranged to compare the second priorities of all operating systems and to run the operating system having the highest second priority on the CPU; and a given operating system executing a barrier task, wherein executing the barrier task comprises passing control to the common program to cause a decrease of the second priority of the given operating system, wherein each operating system causes the common program to change its priority when it switches from one task to another task having a lower priority, and wherein each operating system can invoke the common program to decrease its priority. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method of enabling multiple operating systems to run on the same CPU, the method comprising:
-
scheduling a plurality of tasks for execution by at least first and second operating systems, wherein each task has one of a plurality of first priorities; assigning a second priority to each operating system; providing a common program arranged to compare the second priorities of all operating systems and to run the operating system having the highest second priority on the CPU; and a given operating system executing a barrier task, wherein, if the common program pre-empts the given operating system and passes control to an operating system having a higher second priority, the barrier task in the given operating system remains active until it is next scheduled for execution, wherein each operating system causes the common program to change its priority when it switches from one task to another task having a lower priority, and wherein each operating system can invoke the common program to decrease its priority. - View Dependent Claims (44, 45)
-
Specification