Symmetric multi-processor system
First Claim
1. A method of symmetric multiprocessing in which one or more processors, a first memory storing a micro kernel operating system in a machine executable form and a second memory storing a thread scheduler in a machine executable form are interconnected via a communication network, wherein the micro kernel operating system comprises a critical area and a non-critical area, said method comprising the steps of:
- responding to a first thread requiring a call to the critical area of said micro kernel operating system by requesting a global lock of the critical area of the micro kernel operating system for the first thread;
responding to said global lock being available by performing the steps of;
acquiring said global lock from said thread scheduler for the first thread to access the critical area of the micro kernel operating system;
performing said call to the critical area of said micro kernel operating system, wherein the non-critical area of the micro kernel operating system is available for access by a second thread while the global lock is applied to the critical area of the micro kernel operating system for the first thread; and
releasing said global lock.
11 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates generally to computer operating systems, and more specifically, to operating system calls in a symmetric multiprocessing (SMP) environment. Existing SMP strategies either use a single lock or multiple locks to limit access to critical areas of the operating system to one thread at a time. These strategies suffer from a number of performance problems including slow execution, large software and execution overheads and deadlocking problems. The invention applies a single lock strategy to a micro kernel operating system design which delegates functionality to external processes. The micro kernel has a single critical area, the micro kernel itself, which executes very quickly, while the external processes are protected by proper thread management. As a result, a single lock may be used, overcoming the performance problems of the existing strategies.
130 Citations
15 Claims
-
1. A method of symmetric multiprocessing in which one or more processors, a first memory storing a micro kernel operating system in a machine executable form and a second memory storing a thread scheduler in a machine executable form are interconnected via a communication network, wherein the micro kernel operating system comprises a critical area and a non-critical area, said method comprising the steps of:
-
responding to a first thread requiring a call to the critical area of said micro kernel operating system by requesting a global lock of the critical area of the micro kernel operating system for the first thread; responding to said global lock being available by performing the steps of; acquiring said global lock from said thread scheduler for the first thread to access the critical area of the micro kernel operating system; performing said call to the critical area of said micro kernel operating system, wherein the non-critical area of the micro kernel operating system is available for access by a second thread while the global lock is applied to the critical area of the micro kernel operating system for the first thread; and releasing said global lock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of symmetric multiprocessing in which one or more processors, a first memory storing a pre-emptable micro kernel operating system in a machine executable form and a second memory storing a thread scheduler in a machine executable form are interconnected via a communication network, wherein the micro kernel operating system comprises a critical area and a non-critical area, said method comprising the steps of:
-
responding to a first thread requiring a call to the critical area of said micro kernel operating system by requesting a global lock of the critical area of the micro kernel operating system for the first thread; pre-empting any non-critical threads currently executing on said pre-emptable micro kernel operating system; acquiring said global lock from said thread scheduler for the first thread to access the critical area of the micro kernel operating system; entering said pre-emptable micro kernel operating system; executing operating system functions of the critical area as required by said first thread, wherein the non-critical area of the micro kernel operating system is available for access by a second thread while the global lock is applied to the critical area of the micro kernel operating system for the first thread; exiting the critical area of said pre-emptable micro kernel operating system; releasing said global lock; and reinstating said pre-empted threads.
-
-
10. A computer system comprising:
-
one or more processors; a first memory storing a pre-emptable operating system in a machine executable form, wherein the operating system comprises a critical area and a non-critical area; a second memory storing a lock manager in an machine executable form; a communication network interconnecting said one or more processors, said first memory and said second memory; and said lock manager configured to; respond to a first thread requiring access to the critical area of said pre-emptable operating system by requesting a global lock of the critical area of the operating system for the first thread; pre-empt any non-critical threads currently executing on said operating system; acquire said global lock for the first thread to access the critical area of the operating system; execute the first thread on said operating system, wherein the non-critical area of the operating system is available for access by a second thread while the global lock is applied to the critical area of the operating system for the first thread; and reinstate said pre-empted threads. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification