Home > Computers > Programming > Threads > POSIX
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.
http://www.ibm.com/developerworks/library/l-pthred.html
This article demystifies the POSIX thread interface, providing practical examples of threaded code for consideration.
http://www.gnu.org/software/pth/
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]
http://www.mit.edu/people/proven/IAP_2000/index.html
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.
http://pauillac.inria.fr/~xleroy/linuxthreads/faq.html
Frequently asked questions about the kernel-level multi-threading library for Linux.
http://0pointer.de/blog/projects/mutrace.html
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.
http://vergil.chemistry.gatech.edu/resources/programming/threads.html
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.
http://lwn.net/Articles/10465/
Initial performance: 8x Linux Threads, 4x NGPT. [Linux Weekly News]
http://www.akkadia.org/drepper/nptl-design.pdf
White paper describes actual implementation of thread library for which requirements are spelled out in a prior document. Many things are different.
http://www.ibm.com/developerworks/library/l-posix2/
How to protect the integrity of shared data structures in threaded code by using mutexes.
http://www.ibm.com/developerworks/library/l-posix3/
How to use condition variables.
https://computing.llnl.gov/tutorials/pthreads/
Provides an overview of threads programming and the POSIX threads API.
http://www.laptev.org/doc/pthreads.html
How to write parallel applications using POSIX threads. By Mark Hays.
http://www.linuxdevcenter.com/pub/a/linux/2007/05/24/semaphores-in-linux.html
An explanation of semaphores under Linux, including a comparison of System V and POSIX style semaphores. Code examples show how semaphores are used.
http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html
The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition) chapter for threads. Includes manual pages of all POSIX thread functions.
Home > Computers > Programming > Threads > POSIX
Thanks to DMOZ, which built a great web directory for nearly two decades and freely shared it with the web. About us