Sortix
Sortix Download Manual Development Source Code News Blog More

os-test

os-test is a set of test suites for POSIX operating systems designed to make it easy to compare differences between operating systems and to find operating system bugs. It consists of test suites that focus on different operating system areas.

This page visualizes the results for the POSIX operating systems that are relevant today.

os-test has been generously funded by the Next Generation Internet Zero Commons fund managed by the NLnet Foundation.

Source Code

The os-test source code is available on gitlab. You also can view the source code for each test by clicking the test title in the leftmost entry of each row. os-test is licensed under the ISC license, see the LICENSE file in the source code for details.

Please feel free to contribute more tests and suites and I'll be happy to run them on every operating system and publish the data.

Setup

I run os-test on my host Linux system; AIX, macOS, and Solaris are graciously provided by cfarm; and the rest of the systems run in qemu virtual machines. The testing harness connects to each machine over ssh and runs tests there. The systems are:

  • AIX
  • DragonFly
  • FreeBSD
  • Haiku
  • Hurd
  • Linux
  • macOS
  • Minix
  • NetBSD
  • OmniOS
  • OpenBSD
  • Solaris
  • Sortix

I'm still looking for access to Integrity, LynxOS, HP-UX, OpenServer, QNX, UnixWare, VxWorks, and z/OS systems, or any other relevant maintained POSIX systems with a sshd port. Please get in touch if you can help.

Legend

This page is an overview of the test results from the contained suites.

Each cell contains the percentage scores of the test results for a operating system on a suite, along with the number of good test results and the total number of non-neutral test results. Test outcomes that are unknown, neutral, or otherwise non-good and non-bad are not counted.

Click on the the percentages to explore the detailed suite test results.

If the cell scored any partial test outcomes, then a smaller alternate percentage is shown beneath, showing what the score would have been if the following minor problems had not occurred:

  • extension - The POSIX feature macro values did not work, but implementation-specific feature macros did work. This outcome typically indicates a recently standardized feature.
  • previous_posix - The latest POSIX feature macro values did not work, but the previous values worked. This outcome indicates the headers are not forward compatible with new standards.

The table is sliced into the mandatory POSIX section, and a section for each applicable optional part of POSIX. Each table section is headed by an overall score for the option if multiple suites cover that option.

Suites

os-test contains the following suites:

  • include - This suite tests whether headers include the correct declarations.
  • io - This suite tests input/output system calls.
  • malloc - This suite tests memory allocation.
  • process - This suite tests process system calls.
  • pty - This suite tests pseudoterminals.
  • signal - This suite tests signal system calls.
  • udp - This suite tests the UDP stack.

Results

aix
AIX 3 00F9C1964C00
dragonfly
DragonFly 6.4-RELEASE x86_64
freebsd
FreeBSD 14.3-RELEASE-p2 amd64
haiku
Haiku 1 x86_64
hurd
GNU 0.9 i686-AT386
linux
Linux 6.12.38+deb13-amd64 x86_64
macos
Darwin 24.3.0 arm64
minix
Minix 3.4.0 i386
musl
Linux 6.12.34-0-lts x86_64
netbsd
NetBSD 10.1 amd64
omnios
SunOS 5.11 i86pc
openbsd
OpenBSD 7.7 amd64
solaris
SunOS 5.11 sun4v
sortix
Sortix 1.1.0-dev x86_64
§ overall aix:
91%
(2950/3223)
dragonfly:
89%
(2875/3228)
~
91% =
+2% (91) as extension
freebsd:
90%
(2927/3238)
~
92% =
+2% (73) as extension
haiku:
89%
(2892/3227)
~
89% =
+0% (12) as extension
hurd:
91%
(2950/3233)
~
93% =
+2% (73) as extension
linux:
93%
(3004/3223)
~
95% =
+2% (85) as extension
macos:
86%
(2793/3222)
~
88% =
+1% (49) as extension
minix:
75%
(2441/3218)
~
79% =
+3% (116) as extension
musl:
95%
(3087/3224)
~
96% =
+0% (19) as extension
netbsd:
88%
(2877/3240)
~
90% =
+2% (66) as extension
omnios:
93%
(3019/3226)
~
95% =
+1% (58) as extension
openbsd:
85%
(2774/3240)
~
86% =
+0% (22) as extension
solaris:
83%
(2684/3232)
~
93% =
+1% (35) as extension
+9% (309) as previous_posix
sortix:
83%
(2688/3226)
~
83% =
+0% (13) as extension
§ include aix:
92%
(2775/2985)
dragonfly:
90%
(2697/2985)
~
93% =
+3% (91) as extension
freebsd:
92%
(2752/2985)
~
94% =
+2% (73) as extension
haiku:
90%
(2712/2985)
~
91% =
+0% (12) as extension
hurd:
92%
(2773/2985)
~
95% =
+2% (73) as extension
linux:
93%
(2784/2985)
~
96% =
+2% (85) as extension
macos:
87%
(2585/2969)
~
88% =
+1% (49) as extension
minix:
77%
(2303/2985)
~
81% =
+3% (116) as extension
musl:
96%
(2867/2985)
~
96% =
+0% (19) as extension
netbsd:
90%
(2699/2985)
~
92% =
+2% (66) as extension
omnios:
93%
(2800/2985)
~
95% =
+1% (58) as extension
openbsd:
87%
(2598/2985)
~
87% =
+0% (22) as extension
solaris:
83%
(2498/2985)
~
95% =
+1% (35) as extension
+10% (309) as previous_posix
sortix:
83%
(2500/2985)
~
84% =
+0% (13) as extension
§ io aix:
36%
(20/55)
dragonfly:
32%
(18/55)
freebsd:
38%
(21/55)
haiku:
40%
(22/55)
hurd:
36%
(20/55)
linux:
96%
(53/55)
macos:
94%
(52/55)
minix:
29%
(16/55)
musl:
96%
(53/55)
netbsd:
36%
(20/55)
omnios:
98%
(54/55)
openbsd:
36%
(20/55)
solaris:
36%
(20/55)
sortix:
41%
(23/55)
§ malloc aix:
66%
(2/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
100%
(3/3)
linux:
100%
(3/3)
macos:
100%
(3/3)
minix:
100%
(3/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
100%
(3/3)
openbsd:
100%
(3/3)
solaris:
100%
(3/3)
sortix:
100%
(3/3)
§ process aix:
100%
(20/20)
dragonfly:
100%
(20/20)
freebsd:
100%
(20/20)
haiku:
65%
(13/20)
hurd:
95%
(19/20)
linux:
100%
(20/20)
macos:
100%
(20/20)
minix:
20%
(4/20)
musl:
100%
(20/20)
netbsd:
95%
(19/20)
omnios:
100%
(20/20)
openbsd:
100%
(20/20)
solaris:
100%
(20/20)
sortix:
100%
(20/20)
§ pty aix:
87%
(21/24)
dragonfly:
91%
(22/24)
freebsd:
91%
(22/24)
haiku:
70%
(17/24)
hurd:
66%
(16/24)
linux:
86%
(20/23)
macos:
95%
(23/24)
minix:
41%
(10/24)
musl:
86%
(20/23)
netbsd:
91%
(22/24)
omnios:
83%
(20/24)
openbsd:
87%
(21/24)
solaris:
87%
(21/24)
sortix:
95%
(22/23)
§ signal aix:
77%
(24/31)
dragonfly:
83%
(26/31)
freebsd:
83%
(26/31)
haiku:
100%
(31/31)
hurd:
87%
(27/31)
linux:
93%
(29/31)
macos:
77%
(24/31)
minix:
64%
(20/31)
musl:
93%
(29/31)
netbsd:
100%
(31/31)
omnios:
100%
(31/31)
openbsd:
93%
(29/31)
solaris:
100%
(31/31)
sortix:
100%
(31/31)
§ udp aix:
83%
(88/105)
dragonfly:
80%
(89/110)
freebsd:
69%
(83/120)
haiku:
86%
(94/109)
hurd:
80%
(92/115)
linux:
89%
(95/106)
macos:
71%
(86/120)
minix:
85%
(85/100)
musl:
88%
(95/107)
netbsd:
68%
(83/122)
omnios:
84%
(91/108)
openbsd:
68%
(83/122)
solaris:
79%
(91/114)
sortix:
81%
(89/109)
Optional: ADV
Advisory Information
§ include aix:
100%
(21/21)
dragonfly:
100%
(21/21)
freebsd:
100%
(21/21)
haiku:
100%
(21/21)
hurd:
100%
(21/21)
linux:
100%
(21/21)
macos:
61%
(13/21)
minix:
80%
(17/21)
musl:
100%
(21/21)
netbsd:
95%
(20/21)
omnios:
100%
(21/21)
openbsd:
61%
(13/21)
solaris:
28%
(6/21)
~
100% =
+71% (15) as previous_posix
sortix:
23%
(5/21)
Optional: CD
C-Language Development Utilities
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
100%
(1/1)
Optional: CPT
Process CPU-Time Clocks
§ include aix:
100%
(4/4)
dragonfly:
100%
(4/4)
freebsd:
100%
(4/4)
haiku:
100%
(4/4)
hurd:
100%
(4/4)
linux:
100%
(4/4)
macos:
50%
(2/4)
minix:
25%
(1/4)
musl:
100%
(4/4)
netbsd:
100%
(4/4)
omnios:
50%
(2/4)
openbsd:
100%
(4/4)
solaris:
75%
(3/4)
~
100% =
+25% (1) as previous_posix
sortix:
75%
(3/4)
Optional: DC
Device Control
§ include aix:
0%
(0/3)
dragonfly:
0%
(0/3)
freebsd:
0%
(0/3)
haiku:
66%
(2/3)
hurd:
0%
(0/3)
linux:
0%
(0/3)
macos:
0%
(0/3)
minix:
0%
(0/3)
musl:
0%
(0/3)
netbsd:
0%
(0/3)
omnios:
0%
(0/3)
openbsd:
0%
(0/3)
solaris:
0%
(0/3)
sortix:
0%
(0/3)
Optional: FR
FORTRAN Runtime Utilities
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
0%
(0/1)
linux:
0%
(0/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
0%
(0/1)
sortix:
0%
(0/1)
Optional: FSC
File Synchronization
§ include aix:
100%
(2/2)
dragonfly:
100%
(2/2)
freebsd:
100%
(2/2)
haiku:
100%
(2/2)
hurd:
100%
(2/2)
linux:
100%
(2/2)
macos:
100%
(2/2)
minix:
100%
(2/2)
musl:
100%
(2/2)
netbsd:
100%
(2/2)
omnios:
100%
(2/2)
openbsd:
100%
(2/2)
solaris:
100%
(2/2)
sortix:
100%
(2/2)
Optional: FSC|SIO
File Synchronization or Synchronized Input and Output
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
0%
(0/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
100%
(1/1)
netbsd:
100%
(1/1)
omnios:
100%
(1/1)
openbsd:
0%
(0/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: IP6
IPV6
§ include aix:
100%
(39/39)
dragonfly:
100%
(39/39)
freebsd:
94%
(37/39)
~
100% =
+5% (2) as extension
haiku:
100%
(39/39)
hurd:
100%
(39/39)
linux:
100%
(39/39)
macos:
92%
(36/39)
~
100% =
+7% (3) as extension
minix:
100%
(39/39)
musl:
100%
(39/39)
netbsd:
100%
(39/39)
omnios:
89%
(35/39)
~
100% =
+10% (4) as extension
openbsd:
94%
(37/39)
~
100% =
+5% (2) as extension
solaris:
100%
(39/39)
sortix:
100%
(39/39)
Optional: MC1
Non-Robust Mutex Priority Protection or Non-Robust Mutex Priority Inheritance or Robust Mutex Priority Protection or Robust Mutex Priority Inheritance
§ include aix:
100%
(3/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
0%
(0/3)
~
100% =
+100% (3) as extension
linux:
100%
(3/3)
macos:
100%
(3/3)
minix:
0%
(0/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
100%
(3/3)
openbsd:
66%
(2/3)
solaris:
100%
(3/3)
sortix:
0%
(0/3)
Optional: ML
Process Memory Locking
§ include aix:
100%
(5/5)
dragonfly:
100%
(5/5)
freebsd:
100%
(5/5)
haiku:
20%
(1/5)
hurd:
100%
(5/5)
linux:
100%
(5/5)
macos:
100%
(5/5)
minix:
60%
(3/5)
musl:
100%
(5/5)
netbsd:
100%
(5/5)
omnios:
100%
(5/5)
openbsd:
100%
(5/5)
solaris:
100%
(5/5)
sortix:
0%
(0/5)
Optional: MLR
Range Memory Locking
§ include aix:
100%
(3/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
100%
(3/3)
linux:
100%
(3/3)
macos:
100%
(3/3)
minix:
33%
(1/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
100%
(3/3)
openbsd:
100%
(3/3)
solaris:
100%
(3/3)
sortix:
0%
(0/3)
Optional: MSG
Message Passing
§ include aix:
80%
(25/31)
dragonfly:
80%
(25/31)
freebsd:
80%
(25/31)
haiku:
9%
(3/31)
hurd:
100%
(31/31)
linux:
100%
(31/31)
macos:
16%
(5/31)
minix:
67%
(21/31)
musl:
80%
(25/31)
netbsd:
100%
(31/31)
omnios:
100%
(31/31)
openbsd:
9%
(3/31)
solaris:
100%
(31/31)
sortix:
12%
(4/31)
Optional: OB
Obsolescent
§ include aix:
100%
(33/33)
dragonfly:
81%
(27/33)
freebsd:
27%
(9/33)
haiku:
51%
(17/33)
hurd:
93%
(31/33)
linux:
87%
(29/33)
macos:
39%
(13/33)
minix:
24%
(8/33)
musl:
90%
(30/33)
netbsd:
27%
(9/33)
omnios:
27%
(9/33)
openbsd:
100%
(33/33)
solaris:
100%
(33/33)
sortix:
72%
(24/33)
Optional: OB XSI
Obsolescent and X/Open System Interfaces
§ include aix:
100%
(3/3)
dragonfly:
33%
(1/3)
freebsd:
33%
(1/3)
haiku:
100%
(3/3)
hurd:
33%
(1/3)
linux:
33%
(1/3)
macos:
100%
(3/3)
minix:
33%
(1/3)
musl:
100%
(3/3)
netbsd:
33%
(1/3)
omnios:
100%
(3/3)
openbsd:
33%
(1/3)
solaris:
33%
(1/3)
~
100% =
+66% (2) as previous_posix
sortix:
0%
(0/3)
Optional: PIO
Prioritized Input and Output
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
0%
(0/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
100%
(1/1)
musl:
0%
(0/1)
netbsd:
100%
(1/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
0%
(0/1)
sortix:
0%
(0/1)
Optional: PS
Process Scheduling
§ include aix:
100%
(6/6)
dragonfly:
100%
(6/6)
freebsd:
100%
(6/6)
haiku:
33%
(2/6)
hurd:
83%
(5/6)
linux:
100%
(6/6)
macos:
16%
(1/6)
minix:
33%
(2/6)
musl:
83%
(5/6)
netbsd:
100%
(6/6)
omnios:
100%
(6/6)
openbsd:
33%
(2/6)
solaris:
100%
(6/6)
sortix:
0%
(0/6)
Optional: PS|TPS
Process Scheduling or Thread Execution Scheduling
§ include aix:
100%
(6/6)
dragonfly:
100%
(6/6)
freebsd:
100%
(6/6)
haiku:
83%
(5/6)
hurd:
100%
(6/6)
linux:
100%
(6/6)
macos:
83%
(5/6)
minix:
50%
(3/6)
musl:
100%
(6/6)
netbsd:
100%
(6/6)
omnios:
100%
(6/6)
openbsd:
83%
(5/6)
solaris:
100%
(6/6)
sortix:
0%
(0/6)
Optional: RPI
Robust Mutex Priority Inheritance
§ include aix:
0%
(0/1)
dragonfly:
100%
(1/1)
freebsd:
0%
(0/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
0%
(0/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: RPI|TPI
Robust Mutex Priority Inheritance or Non-Robust Mutex Priority Inheritance
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
0%
(0/1)
~
100% =
+100% (1) as extension
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
100%
(1/1)
netbsd:
100%
(1/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: RPP
Robust Mutex Priority Protection
§ include aix:
0%
(0/1)
dragonfly:
100%
(1/1)
freebsd:
0%
(0/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
0%
(0/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: RPP|TPP
Robust Mutex Priority Protection or Non-Robust Mutex Priority Protection
§ include aix:
100%
(5/5)
dragonfly:
100%
(5/5)
freebsd:
100%
(5/5)
haiku:
100%
(5/5)
hurd:
0%
(0/5)
~
100% =
+100% (5) as extension
linux:
100%
(5/5)
macos:
100%
(5/5)
minix:
0%
(0/5)
musl:
60%
(3/5)
netbsd:
100%
(5/5)
omnios:
100%
(5/5)
openbsd:
60%
(3/5)
solaris:
100%
(5/5)
sortix:
0%
(0/5)
Optional: RS
Raw Sockets
§ include aix:
100%
(3/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
100%
(3/3)
linux:
100%
(3/3)
macos:
100%
(3/3)
minix:
100%
(3/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
100%
(3/3)
openbsd:
100%
(3/3)
solaris:
100%
(3/3)
sortix:
66%
(2/3)
Optional: SD
Software Development Utilities
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: SHM
Shared Memory Objects
§ include aix:
50%
(3/6)
dragonfly:
50%
(3/6)
freebsd:
50%
(3/6)
haiku:
50%
(3/6)
hurd:
50%
(3/6)
linux:
50%
(3/6)
macos:
33%
(2/6)
minix:
16%
(1/6)
musl:
50%
(3/6)
netbsd:
50%
(3/6)
omnios:
50%
(3/6)
openbsd:
33%
(2/6)
solaris:
50%
(3/6)
sortix:
0%
(0/6)
Optional: SHM|TYM
Shared Memory Objects or Typed Memory Objects
§ include aix:
0%
(0/2)
dragonfly:
0%
(0/2)
freebsd:
0%
(0/2)
haiku:
0%
(0/2)
hurd:
0%
(0/2)
linux:
0%
(0/2)
macos:
0%
(0/2)
minix:
0%
(0/2)
musl:
0%
(0/2)
netbsd:
0%
(0/2)
omnios:
0%
(0/2)
openbsd:
0%
(0/2)
solaris:
0%
(0/2)
sortix:
0%
(0/2)
Optional: SIO
Synchronized Input and Output
§ include aix:
66%
(4/6)
dragonfly:
33%
(2/6)
freebsd:
50%
(3/6)
haiku:
66%
(4/6)
hurd:
50%
(3/6)
linux:
66%
(4/6)
macos:
33%
(2/6)
minix:
50%
(3/6)
musl:
50%
(3/6)
netbsd:
66%
(4/6)
omnios:
66%
(4/6)
openbsd:
66%
(4/6)
solaris:
66%
(4/6)
sortix:
0%
(0/6)
Optional: SPN
Spawn
§ include aix:
90%
(29/32)
dragonfly:
90%
(29/32)
freebsd:
90%
(29/32)
haiku:
93%
(30/32)
hurd:
90%
(29/32)
~
93% =
+3% (1) as extension
linux:
90%
(29/32)
~
93% =
+3% (1) as extension
macos:
90%
(29/32)
~
93% =
+3% (1) as extension
minix:
87%
(28/32)
musl:
93%
(30/32)
netbsd:
96%
(31/32)
omnios:
100%
(32/32)
openbsd:
90%
(29/32)
solaris:
90%
(29/32)
~
100% =
+9% (3) as extension
sortix:
3%
(1/32)
Optional: SPN PS
Spawn and Process Scheduling
§ include aix:
100%
(6/6)
dragonfly:
100%
(6/6)
freebsd:
100%
(6/6)
haiku:
0%
(0/6)
hurd:
100%
(6/6)
linux:
100%
(6/6)
macos:
0%
(0/6)
minix:
100%
(6/6)
musl:
100%
(6/6)
netbsd:
100%
(6/6)
omnios:
100%
(6/6)
openbsd:
100%
(6/6)
solaris:
100%
(6/6)
sortix:
0%
(0/6)
Optional: SS
Process Sporadic Server
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
0%
(0/1)
~
100% =
+100% (1) as previous_posix
sortix:
0%
(0/1)
Optional: SS|TSP
Process Sporadic Server or Thread Sporadic Server
§ include aix:
25%
(2/8)
dragonfly:
37%
(3/8)
freebsd:
37%
(3/8)
haiku:
37%
(3/8)
hurd:
25%
(2/8)
linux:
25%
(2/8)
macos:
25%
(2/8)
minix:
25%
(2/8)
musl:
37%
(3/8)
netbsd:
25%
(2/8)
omnios:
25%
(2/8)
openbsd:
25%
(2/8)
solaris:
25%
(2/8)
sortix:
25%
(2/8)
Optional: TCT
Thread CPU-Time Clocks
§ include aix:
100%
(3/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
100%
(3/3)
linux:
100%
(3/3)
macos:
66%
(2/3)
minix:
0%
(0/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
33%
(1/3)
openbsd:
100%
(3/3)
solaris:
66%
(2/3)
~
100% =
+33% (1) as previous_posix
sortix:
66%
(2/3)
Optional: TPI
Non-Robust Mutex Priority Inheritance
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: TPP
Non-Robust Mutex Priority Protection
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
100%
(1/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: TPS
Thread Execution Scheduling
§ include aix:
100%
(14/14)
dragonfly:
92%
(13/14)
freebsd:
92%
(13/14)
haiku:
64%
(9/14)
hurd:
100%
(14/14)
linux:
100%
(14/14)
macos:
92%
(13/14)
minix:
0%
(0/14)
musl:
100%
(14/14)
netbsd:
92%
(13/14)
omnios:
100%
(14/14)
openbsd:
92%
(13/14)
solaris:
100%
(14/14)
sortix:
0%
(0/14)
Optional: TSA
Thread Stack Address Attribute
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
100%
(1/1)
musl:
100%
(1/1)
netbsd:
100%
(1/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: TSA TSS
Thread Stack Address Attribute and Thread Stack Size Attribute
§ include aix:
100%
(2/2)
dragonfly:
100%
(2/2)
freebsd:
100%
(2/2)
haiku:
100%
(2/2)
hurd:
100%
(2/2)
linux:
100%
(2/2)
macos:
100%
(2/2)
minix:
0%
(0/2)
musl:
100%
(2/2)
netbsd:
100%
(2/2)
omnios:
100%
(2/2)
openbsd:
100%
(2/2)
solaris:
100%
(2/2)
sortix:
0%
(0/2)
Optional: TSH
Thread Process-Shared Synchronization
§ include aix:
100%
(9/9)
dragonfly:
100%
(9/9)
freebsd:
100%
(9/9)
haiku:
100%
(9/9)
hurd:
100%
(9/9)
linux:
100%
(9/9)
macos:
77%
(7/9)
minix:
0%
(0/9)
musl:
100%
(9/9)
netbsd:
0%
(0/9)
omnios:
100%
(9/9)
openbsd:
44%
(4/9)
solaris:
100%
(9/9)
sortix:
0%
(0/9)
Optional: TSP
Thread Sporadic Server
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
100%
(1/1)
linux:
100%
(1/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
0%
(0/1)
~
100% =
+100% (1) as previous_posix
sortix:
0%
(0/1)
Optional: TSS
Thread Stack Size Attribute
§ include aix:
100%
(3/3)
dragonfly:
100%
(3/3)
freebsd:
100%
(3/3)
haiku:
100%
(3/3)
hurd:
100%
(3/3)
linux:
100%
(3/3)
macos:
100%
(3/3)
minix:
33%
(1/3)
musl:
100%
(3/3)
netbsd:
100%
(3/3)
omnios:
100%
(3/3)
openbsd:
100%
(3/3)
solaris:
100%
(3/3)
sortix:
100%
(3/3)
Optional: TYM
Typed Memory Objects
§ include aix:
7%
(1/14)
dragonfly:
7%
(1/14)
freebsd:
7%
(1/14)
haiku:
7%
(1/14)
hurd:
7%
(1/14)
linux:
7%
(1/14)
macos:
14%
(2/14)
minix:
0%
(0/14)
musl:
7%
(1/14)
netbsd:
0%
(0/14)
omnios:
0%
(0/14)
openbsd:
7%
(1/14)
solaris:
0%
(0/14)
~
7% =
+7% (1) as previous_posix
sortix:
0%
(0/14)
Optional: UP
User Portability Utilities
§ include aix:
100%
(1/1)
dragonfly:
100%
(1/1)
freebsd:
100%
(1/1)
haiku:
100%
(1/1)
hurd:
0%
(0/1)
linux:
0%
(0/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
100%
(1/1)
openbsd:
100%
(1/1)
solaris:
100%
(1/1)
sortix:
0%
(0/1)
Optional: UU
UUCP Utilities
§ include aix:
100%
(1/1)
dragonfly:
0%
(0/1)
freebsd:
0%
(0/1)
haiku:
100%
(1/1)
hurd:
0%
(0/1)
linux:
0%
(0/1)
macos:
0%
(0/1)
minix:
0%
(0/1)
musl:
0%
(0/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
100%
(1/1)
solaris:
0%
(0/1)
sortix:
0%
(0/1)
Optional: XSI
X/Open System Interfaces
§ include aix:
48%
(229/470)
~
92% =
+1% (5) as extension
+42% (199) as previous_posix
dragonfly:
84%
(399/470)
~
86% =
+1% (6) as extension
freebsd:
84%
(398/470)
~
86% =
+2% (10) as extension
haiku:
75%
(357/470)
hurd:
84%
(396/470)
~
88% =
+4% (20) as extension
linux:
86%
(406/470)
~
90% =
+4% (20) as extension
macos:
91%
(429/469)
~
92% =
+0% (3) as extension
minix:
81%
(383/470)
~
82% =
+0% (3) as extension
musl:
87%
(411/470)
~
88% =
+1% (5) as extension
netbsd:
83%
(394/470)
~
84% =
+0% (3) as extension
omnios:
90%
(425/470)
~
91% =
+0% (4) as extension
openbsd:
78%
(371/470)
solaris:
67%
(319/470)
~
91% =
+0% (2) as extension
+23% (109) as previous_posix
sortix:
31%
(150/470)
~
32% =
+0% (2) as extension
Optional: XSI TYM
X/Open System Interfaces and Typed Memory Objects
§ include aix:
0%
(0/1)
dragonfly:
0%
(0/1)
freebsd:
0%
(0/1)
haiku:
0%
(0/1)
hurd:
0%
(0/1)
linux:
0%
(0/1)
macos:
100%
(1/1)
minix:
0%
(0/1)
musl:
100%
(1/1)
netbsd:
0%
(0/1)
omnios:
0%
(0/1)
openbsd:
0%
(0/1)
solaris:
0%
(0/1)
sortix:
0%
(0/1)
Optional: XSI|SIO
X/Open System Interfaces or Synchronized Input and Output
§ include aix:
0%
(0/4)
~
100% =
+100% (4) as previous_posix
dragonfly:
100%
(4/4)
freebsd:
100%
(4/4)
haiku:
100%
(4/4)
hurd:
100%
(4/4)
linux:
100%
(4/4)
macos:
100%
(4/4)
minix:
75%
(3/4)
musl:
100%
(4/4)
netbsd:
100%
(4/4)
omnios:
100%
(4/4)
openbsd:
100%
(4/4)
solaris:
100%
(4/4)
sortix:
0%
(0/4)
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org