Redox OS
Mon 04 November 2024
Redox OS
I thought it would be cool if I covered the development of Redox OS. This OS is in early development, and is up and coming.
Another Operating System?
You might ask yourself: Why do we need so many different operating systems? That is a valid question, because operating systems are hard to get used to using, and complex to develop, so why are there so many? The answer is simpler than we might think. I believe that answer is in the problem that operating system attempt to solve.
An operating system in simple terms is a collection of software (rarely a single program) that runs on computer hardware. This software manages the computer's resources to accomplish the will of the user, the hard part comes when UI and security comes in.
UI
UI (User Interface) is what a user uses to physically interact with data displayed on the screen in a way that's pleasing to the eyes. A UI must be fast, intuitive, stable, and secure. Because of this they can be difficult to develop.
Security
Security in the context of operating systems usually refers to the way the operating system handles files, user input, network traffic, passwords, down to managing data stored in RAM while a program runs. Security is the most important aspect of an operating system, and is necessary for the developers of an operating system to get right before it is used in production. This is an ongoing process that usually spans the entire life of the OS. And we have only discussed operating systems in the context of individual users, that doesn't cover how they are used to run servers in what's called a "headless" configuration. In this mode the OS doesn't run a UI and only manages the computer resources to host a web site, cloud app, game, or some other software.
So what problems do Redox OS attempt to solve? And how?
Redox OS is YAUOS (Yet Another Unix-like Operating System) but this one differs from Linux or FreeBSD by following a different paradigm. Redox is a microkernel operating system, it minimizes the amount of software that runs and communicates directly with the hardware. This provides better security than traditional kernels because software that would usually run at a lower level can run at a higher level, this makes it safer. Redox has a funny new thing up it's sleeve though, we'll talk about that next.
Redos is written in Rust. So what?
Redox is one of the first operating systems written in a language called Rust. Rust is a special programming language that guarantees certain things while using it that other languages can't. Rust has what's called memory safety. This protects the programmer from pitfalls of languages such as C and C++ that Linux and Windows are written in. This also improves security as a high percentage of vulnerabilites are the result of poor programming practices, and human error. So the idea is, if the programming language used to program the operating system is itself safe and secure, it will to a long way towards writing secure operating systems.