Operating System Sizes

Last updated 1994-11-09.

I keep to keep track of the size of different operating systems that I come into contact with or hear about. I'm not sure why. Perhaps partially because I believe the systems we design today are too complex. And perhaps partially to act as a reminder of the difference between academia and the real world.

Kernel size

Size of the kernel source tree for various operating systems. These figures should be taken as indicative only. No attempt has been made to measure things rigourously.
                           lines of code

Synthesis (Sun 3)               5k    experimental kernel                  read it somewhere
Plan 9 (SG Power)              15k    experimental kernel                  dmr@research.att.com
V (Sun 3)                     >15k    experimental kernel                  measured?
Unix 32/V (VAX)                17k    basic unix                           measured
Minix 1.5 (286)                30k    basic unix                           measured
Tenth Edition Unix (VAX)       40k    unix                                 read it somewhere
Ninth Edition Unix (Sun 3)     80k    unix                                 read it somewhere
BSD 4.3 (VAX)                  90k    unix                                 measured
BSD 4.3 Tahoe (VAX)           100k    unix                                 measured
System V R3.2 (3b2)           120k    unix                                 measured
Linux 0.99.9 (x86)             90k    unix                                 measured
Linux 1.1.62 (x86)            270k    unix                                 adam@yggdrasil.com
AIX 3.2.0 (Power)             500k    unix                                 anon.
NetBSD 1.0 (x86)              350k    unix                                 deraadt@fsa.ca
NetBSD 1.0 (all 6 archs.)     700k    unix                                 deraadt@fsa.ca
SunOS 4.0.3 (Sun 3 + Sun 4)   440k    unix                                 measured
SunOS 4.1.3 (Sun 4)           470k    mp unix                              measured
SunOS 5.0 (Sun 4)             560k    mp unix                              measured
SunOS 5.1 (Sun 4)             650k    mp unix                              measured
SunOS 5.2 (Sun 4)             680k    mp unix                              measured
IRIX 5.3 (MIPS)               570k    mp unix                              lm@sgi.com
Umax 4.2 (NS32k)              280k    mp unix                              measured
Mach 2.0 (VAX)                140k    mp unix (minimal kernel)             measured
Mach 2.0 (VAX)                400k    mp unix (full kernel)                measured
Mach 3.0 (x86)                100k    mp distributed kernel                ?
Chorus 3.2 (x86)               60k    mp distributed kernel                measured
Chorus 3.2 + SVR3 (x86)       200k    mp distributed kernel and unix       measured

Total size

The size of the complete source tree for various operating systems. NT looks huge, but it is the only source listed that includes the windowing system.
                         lines of code

Minix 1.5 (x86)               170k                                         measured
Unix 32/V (VAX)               180k                                         measured
BSD 4.3 (VAX)                 640k                                         measured
System V 3.2 (3b2)            960k                                         measured
Mach 2.0 (VAX)               1000k                                         measured
BSD 4.3 Tahoe (VAX)          1000k                                         measured
Umax 4.2 (NS32k)             1800k                                         measured
SunOS 4.03 (Sun 3, Sun 4)    2400k                                         measured
NT (x86)                     4000k                                         from Unigram

Have any questions or comments? thanks!
To gordoni's page.