722:
159:
734:
708:
84:
NPTL was first released in Red Hat Linux 9. Old-style Linux POSIX threading is known for having trouble with threads that refuse to yield to the system occasionally, because it does not take the opportunity to preempt them when it arises, something that
Windows was known to do better at the time. Red
81:. The NGPT team collaborated closely with the NPTL team and combined the best features of both implementations into NPTL. The NGPT project was subsequently abandoned in mid-2003 after merging its best features into NPTL.
69:
To improve upon LinuxThreads, it was clear that some kernel support and a new threading library would be required. Two competing projects were started to address the requirement:
417:
66:). Unfortunately, it only partially complied with POSIX, particularly in the areas of signal handling, scheduling, and inter-process synchronization primitives.
422:
447:
212:
668:
726:
681:
164:
62:
project used this system call to provide kernel-level threads (most of the previous thread implementations in Linux worked entirely in
249:
691:
432:
407:
201:
427:
296:
384:
686:
770:
379:
475:
412:
86:
513:
374:
177:
518:
54:
45:
765:
528:
336:
93:
389:
567:
560:
508:
58:— which creates a copy of the calling process where the copy shares the address space of the caller. The
760:
352:
656:
485:
96:
since version 3, and in the Linux kernel since version 2.6. It is now a fully integrated part of the
63:
644:
289:
223:
533:
399:
369:
136:
341:
245:
490:
480:
321:
676:
437:
70:
738:
600:
500:
442:
326:
282:
127:
Like LinuxThreads, NPTL is a 1:1 threads library. Threads created by the library (via
754:
650:
622:
593:
586:
538:
470:
182:
97:
25:
44:, processes were the schedulable entities, and there were no special facilities for
712:
579:
523:
346:
313:
172:
73:(Next Generation POSIX Threads) worked on by a team which included developers from
59:
41:
213:
Red Hat Linux 9 and Java 2 Platform, Standard
Edition 1.4.2: A Winning Combination
108:
628:
614:
554:
331:
140:
49:
154:
271:
OpenSource tool to trace and debug multithreaded applications using the NPTL.
116:
607:
573:
465:
634:
268:
104:
639:
119:) was written for testing the NPTL library against the POSIX standard.
78:
112:
143:
called through the NPTL library. NPTL relies on kernel support for
707:
305:
144:
29:
131:) correspond one-to-one with schedulable entities in the kernel (
278:
139:(1:1, N:1, and M:N). New threads are created with the clone()
85:
Hat claimed that NPTL fixed this problem in an article on the
74:
274:
135:, in the Linux case). This is the simplest of the three
667:
547:
499:
458:
398:
362:
312:
147:to more efficiently implement user-space locks.
244:(2nd ed.). O'Reilly Media, Incorporated.
290:
103:There exists a tracing tool for NPTL, called
8:
297:
283:
275:
235:
233:
231:
727:Free and open-source software portal
194:
89:website about Java on Red Hat Linux 9.
7:
165:Free and open-source software portal
669:Professional related certifications
224:GNU C Library version 2.3.3 release
14:
448:List of software package managers
433:Security-focused operating system
733:
732:
720:
706:
157:
423:Distributions that run from RAM
202:pthreads(7) — Linux manual page
40:Before the 2.6 version of the
24:) is an implementation of the
1:
380:GNU/Linux naming controversy
77:, and NPTL by developers at
476:Linux Documentation Project
418:Netbook-specific comparison
18:Native POSIX Thread Library
787:
375:Criticism of desktop Linux
178:Library (computer science)
700:
385:Tanenbaum–Torvalds debate
48:. However, it did have a
242:Linux System Programming
94:Red Hat Enterprise Linux
105:POSIX Thread Trace Tool
561:Free Software Magazine
491:Linux User Group (LUG)
92:NPTL has been part of
28:specification for the
113:Open POSIX Test Suite
486:Linux Mark Institute
240:Robert Love (2013).
771:Threads (computing)
413:Distributions list
408:General comparison
370:Criticism of Linux
32:operating system.
748:
747:
778:
736:
735:
725:
724:
723:
713:Linux portal
711:
710:
682:Linux Foundation
481:Linux Foundation
299:
292:
285:
276:
256:
255:
237:
226:
221:
215:
210:
204:
199:
167:
162:
161:
160:
137:threading models
57:
786:
785:
781:
780:
779:
777:
776:
775:
766:C POSIX library
751:
750:
749:
744:
721:
719:
705:
696:
663:
543:
495:
454:
438:Package manager
394:
358:
337:Booting process
308:
303:
269:NPTL Trace Tool
265:
260:
259:
252:
239:
238:
229:
222:
218:
211:
207:
200:
196:
191:
163:
158:
156:
153:
125:
53:
38:
12:
11:
5:
784:
782:
774:
773:
768:
763:
753:
752:
746:
745:
743:
742:
730:
716:
701:
698:
697:
695:
694:
689:
684:
679:
677:CompTIA Linux+
673:
671:
665:
664:
662:
661:
654:
647:
642:
637:
632:
625:
620:
619:
618:
604:
601:Linux Magazine
597:
590:
583:
576:
571:
564:
557:
551:
549:
545:
544:
542:
541:
536:
531:
526:
521:
516:
511:
505:
503:
497:
496:
494:
493:
488:
483:
478:
473:
468:
462:
460:
456:
455:
453:
452:
451:
450:
445:
443:Package format
435:
430:
425:
420:
415:
410:
404:
402:
396:
395:
393:
392:
387:
382:
377:
372:
366:
364:
360:
359:
357:
356:
349:
344:
339:
334:
329:
324:
318:
316:
310:
309:
304:
302:
301:
294:
287:
279:
273:
272:
264:
263:External links
261:
258:
257:
251:978-1449339531
250:
227:
216:
205:
193:
192:
190:
187:
186:
185:
180:
175:
169:
168:
152:
149:
129:pthread_create
124:
121:
37:
34:
13:
10:
9:
6:
4:
3:
2:
783:
772:
769:
767:
764:
762:
759:
758:
756:
741:
740:
731:
729:
728:
717:
715:
714:
709:
703:
702:
699:
693:
690:
688:
685:
683:
680:
678:
675:
674:
672:
670:
666:
660:
659:
655:
653:
652:
651:Revolution OS
648:
646:
643:
641:
638:
636:
633:
631:
630:
626:
624:
623:Linux Outlaws
621:
617:
616:
612:
611:
610:
609:
605:
603:
602:
598:
596:
595:
594:Linux Journal
591:
589:
588:
587:Linux Gazette
584:
582:
581:
577:
575:
572:
570:
569:
565:
563:
562:
558:
556:
553:
552:
550:
546:
540:
539:Linux malware
537:
535:
532:
530:
527:
525:
522:
520:
517:
515:
512:
510:
507:
506:
504:
502:
498:
492:
489:
487:
484:
482:
479:
477:
474:
472:
471:Linux Counter
469:
467:
464:
463:
461:
459:Organizations
457:
449:
446:
444:
441:
440:
439:
436:
434:
431:
429:
426:
424:
421:
419:
416:
414:
411:
409:
406:
405:
403:
401:
400:Distributions
397:
391:
390:SCO and Linux
388:
386:
383:
381:
378:
376:
373:
371:
368:
367:
365:
363:Controversies
361:
355:
354:
350:
348:
345:
343:
340:
338:
335:
333:
330:
328:
325:
323:
320:
319:
317:
315:
311:
307:
300:
295:
293:
288:
286:
281:
280:
277:
270:
267:
266:
262:
253:
247:
243:
236:
234:
232:
228:
225:
220:
217:
214:
209:
206:
203:
198:
195:
188:
184:
183:Green threads
181:
179:
176:
174:
171:
170:
166:
155:
150:
148:
146:
142:
138:
134:
130:
122:
120:
118:
114:
110:
106:
101:
99:
98:GNU C Library
95:
90:
88:
82:
80:
76:
72:
67:
65:
61:
56:
51:
47:
43:
35:
33:
31:
27:
26:POSIX Threads
23:
19:
761:Linux kernel
737:
718:
704:
657:
649:
627:
613:
606:
599:
592:
585:
580:Linux Format
578:
566:
559:
534:Range of use
351:
314:Linux kernel
241:
219:
208:
197:
173:LinuxThreads
132:
128:
126:
102:
91:
83:
68:
60:LinuxThreads
42:Linux kernel
39:
21:
17:
15:
629:Linux Voice
615:Ubuntu User
568:Full Circle
555:DistroWatch
428:Lightweight
342:Kernel oops
332:Linux-libre
327:Linus's law
141:system call
50:system call
755:Categories
189:References
111:). And an
608:LinuxUser
574:Linux.com
466:LinuxChix
133:processes
739:Category
658:The Code
645:Phoronix
635:LugRadio
519:Embedded
509:Adopters
501:Adoption
151:See also
64:userland
687:Red Hat
640:LWN.net
514:Desktop
322:History
145:futexes
79:Red Hat
46:threads
36:History
692:Ubuntu
529:Mobile
524:Gaming
248:
123:Design
548:Media
353:more…
306:Linux
55:clone
30:Linux
246:ISBN
117:OPTS
87:Java
71:NGPT
22:NPTL
16:The
347:Tux
109:PTT
75:IBM
757::
230:^
100:.
52:—
298:e
291:t
284:v
254:.
115:(
107:(
20:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.