

My first step was to grab the rust compiler, version 0.9, from the website and build and install it. I've wanted to try to "port" rust.ko to OSX for some months now, and have only just got around to trying. Rust has been used to create both a basic Linux kernel module, rust.ko and more recently Julia Evans' standalone (toy) OS kernel.Īs it happens, I've picked up more clients who want me to write or maintain OSX kernel extensions than Linux kernel code, so if there's any chance I might be able to use a new language for serious work, it will need to work on OSX/xnu. So every now and then I take a look to see if there is a realistic alternative to C (and C++) for use in kernel development. I do a lot of kernel-level development, and safety there is of even more interest than in applications. Another that has caught my eye is ATS, but I shall focus on that one another time.

One that has been gathering a lot of buzz lately is Mozilla's Rust. There are now some new kids on the block though, which are trying to take a more sensible approach of blending safety with power, and expressiveness with simplicity. Most of my work involves writing C, C++ and/or Objective-C code.įor the most part, this isn't my preferred choice of language - it happens the only practical choice of the problem and solution domain I tend to inhabit: operating system kernels and systems programming.įor some reason, all the programming languages which enable you to go to such a low level seem to be decades old and were created before software security was more than an academic curiosity. A Minimal OS X kext Written (Partly) in Rust
