1995-06-27
1998-11-03
Voeltz, Emanuel T.
395670, 395710, 395186, G06F 940
Patent
active
058322655
DESCRIPTION:
BRIEF SUMMARY
This application is a 371 of PCT/DE93/00256 filed Mar. 22, 1993.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The method relates to the operation of computer installations having a number of processors and a joint memory.
2. Description of the Related Art
To utilize a number of processors with a shared memory, use is made of operating systems which can process a number of logical tasks simultaneously by providing a process control. In a known process control, the processes are largely isolated, thus in particular they use separate memory areas, assigned by the operating system. However, the degree of parallel work which can be achieved in this way is not adequate in practice. Either there are not an adequate number of processes ready for execution at the same time, meaning that processors are not utilized. Or, if the programs are divided further into processes, the benefit brought by parallel work is offset by the effort required for switching over and coordination of the processes. Therefore, an additional parallel control has been introduced, which is referred to as "threads" and allows a number of parallel execution paths within a process, these execution paths sharing all global variables and the program code. A description is given in chapter 6 ("Programming with Threads") of the DCE Application Development Guide of the Open Software Foundation, Cambridge, USA, 1991.
The coordination of these execution paths is a task for the user, who uses for this a functional block of the thread components. This is a mechanism which is known as a semaphore and, in conjunction with threads, is referred to as a mutex. A mutex is a switch having an ON and an OFF state, to which a number of execution paths have access. A setting, i.e. switching over to the ON state, leads to a waiting state, if the switch is already in the ON state. The waiting state lasts until another execution path cancels the mutex again, i.e. the switch is brought back into the OFF state. Consequently, the protection of a program part which uses only a single operating means is possible. For this purpose, the mutex is set upon entry into this program part. It is consequently ensured that no other execution path uses this program part at the same time. At the end, the mutex is cancelled and consequently any waiting execution paths are given the possibility of then using the operating means exclusively.
If a threads component is subsequently added, the library subroutines made available to the user program and defined, for example, for the operating system UNIX in the System V Interface Definition are no longer compatible with the threads component. Therefore, shell subroutines are prepared under a new name, although the new name is similar to the old name for a human reader, and, before calling up the original library subroutine, these shell subroutines use a mutex in order to serialize these calls. This means, however, that the source code of the user program has to be altered, because the library subroutines have to be called up under a new name.
In addition, software producers are also supplying subsystems which are delivered in the form of subroutine libraries which for their part use the library subroutines of the operating system and are connected by a linking operation both to the user program and to the library subroutines.
SUMMARY OF THE INVENTION
The invention allows the original names to be retained and, nevertheless, the library subroutines to be serialized by mutex calls.
For this purpose, first of all, in a preparatory step, the library subroutines are investigated to ascertain whether they are compatible with threads. Incompatibility exists, for example, in the case of sequential file operations, because the operating system maintains a write and read pointer for each process and each file, but not for each thread. Included here are also the functions organized similarly to a file access for the receiving of messages or the acceptance of interrupt signals. Another case is when the result is provided in a static area of
REFERENCES:
patent: 4677546 (1987-06-01), Freeman et al.
patent: 5414854 (1995-05-01), Heninger et al.
patent: 5455949 (1995-10-01), Conder et al.
patent: 5481706 (1996-01-01), Peek
patent: 5542045 (1996-07-01), Levine
IBM Technical Disclosure Bulletin, vol. 34, No. 4B, Sep. 1991, "Semaphore Architecture for Multi-Threaded Multi-Masking Operating Systems", pp. 246-257.
Richey Michael T.
Siemens Nixdorf Informationssysteme Aktiengesellschaft
Voeltz Emanuel T.
LandOfFree
Reentrant libraries does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Reentrant libraries, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Reentrant libraries will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-701706