The C Standard Library Is Not Dependency Free

Like any great systems programming language, it doesn’t take much of anything to get C up and running on a new platform.

In fact, a minimal C “runtime” (typically called crt0) only consists of a short prelude that zeroes out the .bss section and hands off execution to main.

That’s it!

Compared to other popular programming languages, which require substantial runtime machinery to operate (e.g: Java’s virtual machine, Go’s garbage collector, etc…), C’s extremely minimal approach to language design has allowed it to run on just about any platform.

Unfortunately, while C is effectively dependency free at the language level, the same can’t be said about its standard library.

Read more →

Paravirtualized Devices in crosvm - a Performance Panacea for Modern VMs

Paravirtualized devices enable modern VMs to reach near-native speeds in IO heavy workloads such as file access, networking, and graphics processing. In a nutshell, by informing a virtualized OS of the fact that it’s running within a VM, the virtualized OS can use special drivers that directly communicate and cooperate with the host OS, resulting in some incredible performance gains!
Read more →