POSIX threads, based on the IEEE POSIX 1003.1c-1995 (also called the ISO/IEC 9945-1:1996) standard, are most common on Unix and Unix-like systems.
POSIX is an acronym for: Portable Operating System Interface for UniX. Much like TRON, POSIX is not a body of computer code that is compiled and run on some processor. Rather, it is a set of standards (IEEE 1003.1): interfaces, design guidelines, software design specifications, defining (for creating) the computer code that will become language interfaces between an OS kernel and its programs, to give compatibility when moving programs between compatible systems. POSIX is made mostly of features from BSD Unix and Unix System V.
Much like Open Source software, all POSIX standards are copyrighted (by the Institute of Electrical and Electronics Engineers, Inc., IEEE; new versions have joint copyright by IEEE and Open Group), but available for use by software developers anywhere in the world for free. Thus the OS architecture based on POSIX is an open architecture that invites and welcomes cloning and interoperability.
More information
More information
Subcategories 1
Related categories 1
Sites 12
The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition) chapter for threads. Includes manual pages of all POSIX thread functions.
Portable Threads: portable POSIX/ANSI-C library for Unix gives non-preemptive priority-based scheduling for multithreading in programs. All threads run in same address space, each has its own program counter, run time stack, signal mask, errno variable; cooperative scheduling: threads dispatched based on priority, pending events. [Open Source, GPL]
Introduces what threads are, why they are useful and how to program with them using the POSIX 1003.1c thread standard and API bindings for C.
A mutex profiler called mutrace that in contrast to valgrind/drd does not virtualize the CPU instruction set, making it a lot faster. In fact, the hooks mutrace relies on to profile mutex operations should only minimally influence application runtime. mutrace is not useful for finding synchronizations bugs, it is solely useful for profiling locks.
White paper describes actual implementation of thread library for which requirements are spelled out in a prior document. Many things are different.
[PDF]
How to protect the integrity of shared data structures in threaded code by using mutexes.
How to use condition variables.
How to write parallel applications using POSIX threads. By Mark Hays.
An explanation of semaphores under Linux, including a comparison of System V and POSIX style semaphores. Code examples show how semaphores are used.
(May 24, 2007)
This article demystifies the POSIX thread interface, providing practical examples of threaded code for consideration.
(January 21, 2004)
Initial performance: 8x Linux Threads, 4x NGPT. [Linux Weekly News]
(September 19, 2002)
Dives into the world of threads with a little bit of "theory" first. Examine thread synchronization primitives and how to use POSIX pthreads. Finally, it finishes off with thread performance and a brief overview of multiprocess programming.
(August 20, 2002)
The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition) chapter for threads. Includes manual pages of all POSIX thread functions.
White paper describes actual implementation of thread library for which requirements are spelled out in a prior document. Many things are different.
[PDF]
A mutex profiler called mutrace that in contrast to valgrind/drd does not virtualize the CPU instruction set, making it a lot faster. In fact, the hooks mutrace relies on to profile mutex operations should only minimally influence application runtime. mutrace is not useful for finding synchronizations bugs, it is solely useful for profiling locks.
How to protect the integrity of shared data structures in threaded code by using mutexes.
How to use condition variables.
How to write parallel applications using POSIX threads. By Mark Hays.
Introduces what threads are, why they are useful and how to program with them using the POSIX 1003.1c thread standard and API bindings for C.
Portable Threads: portable POSIX/ANSI-C library for Unix gives non-preemptive priority-based scheduling for multithreading in programs. All threads run in same address space, each has its own program counter, run time stack, signal mask, errno variable; cooperative scheduling: threads dispatched based on priority, pending events. [Open Source, GPL]
An explanation of semaphores under Linux, including a comparison of System V and POSIX style semaphores. Code examples show how semaphores are used.
(May 24, 2007)
This article demystifies the POSIX thread interface, providing practical examples of threaded code for consideration.
(January 21, 2004)
Initial performance: 8x Linux Threads, 4x NGPT. [Linux Weekly News]
(September 19, 2002)
Dives into the world of threads with a little bit of "theory" first. Examine thread synchronization primitives and how to use POSIX pthreads. Finally, it finishes off with thread performance and a brief overview of multiprocess programming.
(August 20, 2002)
