Symmetric multi-processor system
First Claim
1. A method of symmetric multiprocessing in which one or more processors, a first memory medium 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, said method comprising the steps within said thread scheduler of:
- responding to a thread requiring a call to said micro kernel operating system by requesting a global lock;
responding to said global lock being available by performing the steps of;
acquiring said global lock from said thread scheduler;
performing said call to said micro kernel operating system; 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.
-
Citations
5 Claims
-
1. A method of symmetric multiprocessing in which one or more processors, a first memory medium 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, said method comprising the steps within said thread scheduler of:
-
responding to a thread requiring a call to said micro kernel operating system by requesting a global lock;
responding to said global lock being available by performing the steps of;
acquiring said global lock from said thread scheduler;
performing said call to said micro kernel operating system; and
releasing said global lock. - View Dependent Claims (2, 3)
-
-
4. A method of symmetric multiprocessing in which one or more processors, a first memory medium 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, said method comprising the steps within said thread scheduler of:
-
responding to a thread requiring a call to said micro kernel operating system by requesting a global lock;
responding to said global lock being available by performing the steps of;
pre-empting any non-critical threads currently executing on said pre-emptable micro kernel operating system;
acquiring said global lock from said thread scheduler;
entering said pre-emptable micro kernel operating system;
executing operating system functions as required by said thread;
locking said pre-emptable micro kernel operating system;
exiting said pre-emptable micro kernel operating system;
releasing said global lock; and
reinstating said pre-empted threads.
-
-
5. A computer system comprising:
-
one or more processors;
a first memory medium storing a pre-emptable operating system in a machine executable form;
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 being operable to;
responding to a thread requiring access to a critical area of said pre-emptable operating system by requesting a global lock;
responding to said global lock being available by performing the steps of;
pre-empting any non-critical threads currently executing on said operating system;
executing said critical thread on said operating system; and
reinstating said pre-empted threads.
-
Specification