TAKE IT AWAY, MAESTRO!
for LXF and even endured Nate’s terrible French. You can read more about Maestro and Luc on his blog (https:// blog.lenot.re).
LXF: Why did you choose Rust to create Maestro, given that writing a Linux kernel yourself in C would have been more than sufficient for a school project?
Luc Lenôtre: I had heard a lot of good things about the Rust language at the time, and I thought it was probably worth trying. My kernel [originally written in C] needed a major refactor, so I thought it was the right time. [A time-lapse video of Maestro’s transition from C to Rust is available at https://blog.lenot.re/ a/introduction.]
LXF: You must be familiar with Redox, an operating system entirely written in Rust, maintained by around 80 developers. You’re more akin to a lone genius like Mozart, composing code solo. As a solo developer, what challenges have you encountered, and how have you overcome them during the development of Maestro? LL: I have indeed heard about Redox. The project is much more advanced than mine, obviously. The main challenge in developing Maestro on my own is that the workload is colossal. You have to be able to handle every aspect of the kernel, whereas in a multi-person project, each person can specialise in a particular domain.
LXF: What role does Rust play in overcoming the obstacles you faced during the initial development of Maestro in C, and how has it influenced the evolution of the project?
LL: Rust ensures that many bugs related to memory management or concurrency are avoided. There is no need to think about these details because the compiler takes care of them for you as the programmer. However, it doesn’t solve every problem. The language’s typing rules are designed for user-space programs and do not cover the handling of CPU interruptions, for instance.
LXF: Currently, Maestro has no graphical interface. Do