SYMMETRIC MULTIPROCESSOR OPERATING SYSTEM FOR EXECUTION ON NON-INDEPENDENT LIGHTWEIGHT THREAD CONTEXTS
First Claim
1. A multiprocessing system, comprising:
- a multithreading microprocessor, comprising;
a plurality of thread contexts (TCs), each having a program counter and a general purpose register set for executing a thread; and
a shared privileged resource, shared by said plurality of TCs rather than being replicated for each of said plurality of TCs, and privileged to be managed only by operating system-privileged threads rather than by user-privileged threads; and
a multiprocessor operating system (OS), configured to manage said shared privileged resource, and to schedule execution of both said operating system-privileged threads and said user-privileged threads on said plurality of TCs.
12 Assignments
0 Petitions
Accused Products
Abstract
A multiprocessing system is disclosed. The system includes a multithreading microprocessor including a plurality of thread contexts (TCs), each having a program counter and a general purpose register set for executing a thread. The microprocessor also includes a shared privileged resource, shared by the plurality of TCs rather than being replicated for each of the plurality of TCs, and privileged to be managed only by operating system-privileged threads rather than by user-privileged threads. The system also includes a multiprocessor operating system (OS), configured to manage the shared privileged resource, and to schedule execution of both the operating system-privileged threads and the user-privileged threads on the plurality of TCs.
-
Citations
54 Claims
-
1. A multiprocessing system, comprising:
-
a multithreading microprocessor, comprising;
a plurality of thread contexts (TCs), each having a program counter and a general purpose register set for executing a thread; and
a shared privileged resource, shared by said plurality of TCs rather than being replicated for each of said plurality of TCs, and privileged to be managed only by operating system-privileged threads rather than by user-privileged threads; and
a multiprocessor operating system (OS), configured to manage said shared privileged resource, and to schedule execution of both said operating system-privileged threads and said user-privileged threads on said plurality of TCs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for a multiprocessor operating system (OS) to run on a multiprocessing system having a multithreading microprocessor including a plurality of thread contexts (TCs) each having a program counter and a general purpose register set for executing a thread, and a shared privileged resource shared by the plurality of TCs rather than being replicated for each of the plurality of TCs, the method comprising:
-
managing the shared privileged resource only by operating system-privileged threads of the OS executing on all of the plurality of TCs rather than by user-privileged threads executing on each of the plurality of TCs; and
scheduling execution of both the operating system-privileged threads and the user-privileged threads on the plurality of TCs. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A computer program product for use with a computing device, the computer program product comprising:
a computer usable medium, having computer readable program code embodied in said medium, for causing a method for a multiprocessor operating system (OS) to run on a multiprocessing system having a multithreading microprocessor including a plurality of thread contexts (TCs) each having a program counter and a general purpose register set for executing a thread, and a shared privileged resource shared by the plurality of TCs rather than being replicated for each of the plurality of TCs, said computer readable program code comprising;
first program code for providing a step of managing the shared privileged resource only by operating system-privileged threads of the OS executing on all of the plurality of TCs rather than by user-privileged threads executing on each of the plurality of TCs; and
second program code for providing a step of scheduling execution of both the operating system-privileged threads and the user-privileged threads on the plurality of TCs.
-
54. A method for providing operating system software for running on a multiprocessing system having a multithreading microprocessor including a plurality of thread contexts (TCs) each having a program counter and a general purpose register set for executing a thread, and a shared privileged resource shared by the plurality of TCs rather than being replicated for each of the plurality of TCs, the method comprising:
-
providing computer-readable program code describing the operating system software, the program code comprising;
first program code for providing a step of managing the shared privileged resource only by operating system-privileged threads of the OS executing on all of the plurality of TCs rather than by user-privileged threads executing on each of the plurality of TCs; and
second program code for providing a step of scheduling execution of both the operating system-privileged threads and the user-privileged threads on the plurality of TCs; and
transmitting the computer-readable program code as a computer data signal on a network.
-
Specification