An important POSIX® concept is the distinction between "threads" and "processes."
Threads are schedulable entities that run within a process. (Visit here if you missed our introduction to processes.) Each process will have one main thread, and it may also have several more threads which share the address space of the process invoked via pthread_create(). A POSIX system call will refer to a process ID or to a thread ID—these IDs are not interchangeable.
Note that some operating systems simply refer to "tasks" instead of distinguishing between "threads" and "processes." Such an operating system probably does not support the POSIX standard, and would not be able to run calls which refer to a process (such as signals).
exit(), the process terminates. All threads in the process are then terminated.LynuxWorks™ also supports kernel threads and has been awarded a patent for its unique approach to handling hardware events in a real-time environment. Visit here to read how LynxOS incorporates this technology.
| Function | Main Thread |
Other Threads |
|---|---|---|
return(), }or pthread_exit() |
All die | This thread dies |
exit() or _exit() |
All die | All die |
A savvy engineer just needs to ask a few quick questions about an operating system in order to determine if it might fully support the POSIX standards.
fork()
call?"Industry Solutions
Migration |
Industry Standards |
Embedded Systems Technology |
Board Support Packages (BSPs)
BSP Device Drivers |
BSP Targets by Operating SystemBSP Targets by Form Factor |
Third-party I/O Devices and Hardware |
SynergyWorks: LynuxWorks partners
|
Third-party add-ons for LynuxWorks operating systems |
||