Another example:

Google Fuchsia's kernel is 199,570 lines of C, C++, and assembly, not including a suitable C/C++ toolchain (it uses GNU extensions, so we'll assume GCC is necessary - about a million lines of code). It supports two architectures, x86 and arm64. It takes about 22 minutes to build on server-grade hardware. It also doesn't work and is far from complete.

The entire self-hosting plan 9 system, including its compiler and entire userspace, desktop windowing system, text editors, POSIX compatibility layer, games, media players, and so on - is 268,001 lines of code. It supports seven architectures and takes less than 10 minutes to build the entire operating system on a raspberry pi.

Also worth pointing out that Fuchsia's kernel is an, ehem, "microkernel", in only the strictest sense of the word... so that number doesn't even include any drivers

The Minix microkernel (which I can say with a straight face) is ~18,000 lines of C, supports two architectures, and is deployed in production spying on your computer from ring -2

Bonus: Fuschia uses their own Clang and GCC toolchains (yes, both), so you have to build those first, or download their pre-built binaries (lol) (which only support glibc-based systems, of course)

@sir Google likes prebuilts and stupidly puts them into Git. When downloading AOSP you're forced to download huge repos with binaries with history with prebuilts.
Follow

@a1batross why anyone admires the engineering culture at Google is beyond me

Sign in to participate in the conversation
Mastodon

cmpwn.com is a private Mastodon instance for friends of SirCmpwn.