Who is Dusk for?

Dusk OS doesn't have users, but operators. What's the difference? Control. You use a phone, you use a coffee machine, hell you even use a car these days. But you operate a bulldozer, you operate a crane, you operate a plane.

You use Linux, you use Windows. You operate Dusk OS.

Can you operate Linux? Sure, if you're some kind of god1, in the same way that you can operate a Tesla if you're a top Tesla engineer. But you're much more likely to be able to operate a lawnmower than a Tesla.

When you operate a system, there is no problem that can arise that will make you powerless. Sure, you can have a hardware failure that hopelessly breaks your system, but at least you'll be able to identify that failure and know for sure that there is no software solution or workaround. That's control.

The Dusk operator is someone who's creative, close to hardware, can read a datasheet. Dusk shines when one wants to poke around the hardware without limit.

It compares favorably to other more complete OSes because there's no concurrent process to mess with your poking and the driver structure is more approachable, hackable due to its stricter scope and savvier target audience. Also, there is no "userland". Every tool that Dusk provides or that the operator builds can be directly used on system memory. No middleman.

Let's use an example. Let's say you're on a notebook that runs on a chipset of Intel's ICHn family. You read the datasheet and see "oh, nice, there's an SPI interface in there. Maybe that it's not hooked to anything on the notebook, let's play with it."

Now, that chipset is very, very central to the computer. There are good chances, on a BSD or Linux system, that if you begin poking around its registers, you'll step on someone else toes and crash the system because, for example, of some other process that needed to read from disk at the same time.

In Dusk, you could completely break the SATA controller, you'll still be golden as long as you don't access mass storage. Because Dusk doesn't have concurrency, you have tight control over what happen or doesn't happen on the machine, so all you need to do is to avoid words that access mass storage. That gives you ample wiggling space for your hacking session.

To be clear: this is also possible with a custom made BSD or Linux, but you're going to have to strip a lot of pieces from your distro before you get there and some of those pieces might be useful debugging tools which will be difficult to retrofit because they need a wider system. You'll also need a higher cognitive space to fit BSD/Linux wider abstractions in your mind.


  1. Can you fix bugs in GCC, awk, perl and the SATA drivers? Yeah, you're some kind of god.