OS News Archive
Xous is a microkernel operating system designed for medium embedded systems with clear separation of processes. Nearly everything is implemented in userspace, where message passing forms the basic communications primitive. ↫ Xous website It’s written in Rust, and it’s been around for a while – so much so it’s sponsored by NLnet and the EU. The Xous Book provides a ton more details and information, with a strong focus on the kernel. You can run Xous in hosted mode on Linux, Windows, or macOS, inside the Renode emulator, or on the one supported hardware device, the Precursor. Obviously, the code’s open and on GitHub (which they should really be moving to a European solution now that the Americans are threatening the EU with war over Greenland).
If you’re only even remotely aware of the operating system Plan 9, you’ll most likely know that it takes the UNIX concept of “everything is a file” to the absolute extreme. In order to make sure all these files – and thus the components of Plan 9 – can properly communicate with one another, there’s 9P, or the Plan 9 Filesystem Protocol. Several Plan 9 applications are 9P file servers, for instance, and even things like windows are files. It’s a lot more complicated than this, of course, but that’s not relevant right now. Since Plan 9 wasn’t exactly a smashing success that took the operating system world by storm, you might not be aware that 9P is actually implemented in a few odd places. My favourite is how Microsoft turned to 9P for a crucial feature of its Windows Subsystem for Linux: accessing files inside a Linux VM running on Windows. To put it briefly: a 9P protocol file server facilitates file related requests, with Windows acting as the client. We’ve modified the WSL init daemon to initiate a 9P server. This server contains protocols that support Linux metadata, including permissions. A Windows service and driver that act as the client and talks to the 9P server (which is running inside of a WSL instance). Client and server communicate over AF_UNIX sockets, since WSL allows interop between a Windows application and a Linux application using AF_UNIX as described in this post. ↫ Craig Loewen at Microsoft’s Dev Blogs This implementation is still around today, so if you’re using Windows Subsystem for Linux, you’re using a little bit of Plan 9 as glue to make it all come together. Similarly, if you’re using QEMU and sharing files between the host and a VM through the VirtFS driver, you’re also using 9P. Both NixOS and GNU Guix use 9P when they build themselves inside a virtual machine, too, and there’s probably a few other places where you can run into 9P. I don’t know, I thought this was interesting.
Since we entered a new year, we also entered a new quarter, and that means a new quarterly report from the Hurd, the project that aims to, to this day, developer a kernel for the GNU operating system. Over the course of the fourth quarter of 2025, an important undertaking has been to port dhcpcd to Hurd, which will ultimately bring IPv6 support to Hurd. For now, the port only supports IPv4, only works on Ethernet, and is still generally quite limited when it comes to its functionality. It’s a great start, though, and an amazing effort. Furthermore, Q4 2025 also saw improvements in symmetric multiprocessing support on x86, not exactly a small feat. There’s a ton of work left to be done, but progress is being made and that’s important considering today’s processor landscape. There’s also the usual load of fixes, smaller improvements, and changes all over the operating system, and the report makes it clear that Debian’s recent announcement that APT will start requiring Rust is not a major issue for Hurd, as it already has a Rust port.
MenuetOS, the operating system written in x86-64 assembly, released version 1.58.00. Since the last time we talked about MenuetOS, the included X server has been improved, networking performance has been increased, there’s now native versions of classic X utilities like XEyes, XCalc, and others, and more. There’s also the usual smaller improvements and bug fixes.
Mark Weiser has written a really interesting article about just how desirable new computing environments, like VR, “AI” agents, and so on, really are. On the topic of “AI” agents, he writes: Take intelligent agents. The idea, as near as I can tell, is that the ideal computer should be like a human being, only more obedient. Anything so insidiously appealing should immediately give pause. Why should a computer be anything like a human being? Are airplanes like birds, typewriters like pens, alphabets like mouths, cars like horses? Are human interactions so free of trouble, misunderstandings, and ambiguity that they represent a desirable computer interface goal? Further, it takes a lot of time and attention to build and maintain a smoothly running team of people, even a pair of people. A computer that I must talk to, give commands to, or have a relationship with (much less be intimate with), is a computer that is too much the center of attention. ↫ Mark Weiser That’s one hell of a laser-focused takedown of “AI” tools in modern computing. When it comes to voice input, he argues that it’s too intrusive, too attention-grabbing, and a good tool is supposed to be the exact opposite of that. Voice input, especially when there’s other people around, puts the interface at the center of everyone‘s attention, and that’s not what you should want. With regards to virtual reality, he notes that it replaces your entire perception with nothing but interface, all around you, making it as much the center of attention as it could be. What’s most fascinating about this article and its focus on “AI” agents, virtual reality, and more, is that it was published in January 1994. All the same questions, worries, and problems in computing we deal with today, were just as much topics of debate over thirty years ago. It’s remarkable how you could copy and paste many of the paragraphs written by Weiser in 1994 into the modern day, and they’d be just applicable now as they were then. I bet many of you had no idea the quoted paragraph was over thirty years old. Mark Weiser was a visionary computer scientist, and had a long career at Xerox PARC, eventually landing him the role of Chief Technology Officer at PARC in 1996. He coined the term “ubiquitous computing” in 1988, the idea that computers are everywhere, in the form of wearables, handhelds, and larger displays – very prescient for 1988. He argued that computers should be unobtrusive, get out of your way, help you get things done that aren’t managing and shepherding the computer itself, and most of all, that computers should make users feel calm. Sadly, he passed away in 1999, at the age of 46, clearly way too early for someone with such astonishing forward-looking insight into computing. Looking at what computers have become today, and what kinds of interfaces the major technology companies are trying to shove down our throats, we clearly strayed far from Weiser’s vision. Modern computers and interfaces are the exact opposite of unobtrusive and calming, and often hinder the things you’re trying to get done more than they should. I wonder what Weiser would think about computing in 2025.
OSNews is funded entirely by you, our readers. There are no ads on OSNews, we are not part of a massive corporate publishing conglomerate like virtually every other technology news website, there are no wealthy (corporate) benefactors – it’s just whatever funds you, our readers, send our way. As such, I sometimes need to remind everyone about this, and December, the holiday month, seems as great a time as any to do this. If you want to support a truly independent technology news website, free from the corrupting influences of corporate interests, advertising companies, managers pushing “AI”, and all the other nonsense destroying the web we once loved, you can do so by donating to keep OSNews alive. This gives me the time and means to write 9000 words about dead computer ecosystems, and I’m already working on an article about the next final UNIX workstation. Every single donation, large or small, is deeply appreciated and keeps the lights on around here. There aren’t many websites like OSNews left, especially not independent ones that answer to nobody. Your support keeps OSNews going, with June 2026 marking a special moment for me: it will mark twenty years since I took over this place. I’m not expecting a party – you’re paying me to work, not to party – but it is still a meaningful anniversary for me personally.
This is the website for APL9, which is an APL implementation written in C on and for Plan 9 (9front specifically, but the other versions should work as well). Work started in January 2022, when I wanted to do some APL programming on 9front, but no implementation existed. The focus has been on adding features and behaving (on most points) like Dyalog APL. Speed is poor, since many primitives are implemented in terms of each other, which is not optimal, but it helped me implement stuff easier. ↫ APL9 website I honestly have no idea what to say.
Moss is a Unix-like, Linux-compatible kernel written in Rust and Aarch64 assembly. It features a modern, asynchronous core, a modular architecture abstraction layer, and binary compatibility with Linux userspace applications (currently capable of running most BusyBox commands). ↫ Moss’ GitHub page I mean, hobby operating systems and kernels written in Rust aren’t exactly the most unique right now, but that doesn’t make them any less interesting for the kinds of people that frequent a site called OSNews. Moss has quite a few things going for it, including support for enough Linux system calls to run most BusyBox commands, complex memory and process management, use of Rust’s async/await model in the kernel, and much more.
LionsOS is an operating system based on the seL4 microkernel with the goal of making the achievements of seL4 accessible. That is, to provide performance, security, and reliability. It is not a conventional operating system, but contains composable components for creating custom operating systems that are specific to a particular task. Components are joined together using the Microkit tool. ↫ LionsOS website The project is under active research and development, led by the Trustworthy Systems research group at UNSW Sydney in Australia. The source code is available on GitHub.
VMS/XDE is an OpenVMS x86 development environment for Linux and WIndows (via WSL). It provides a familiar user experience for OpenVMS developers working in Linux and Windows yet offers 100% binary and file system compatilibilty with OpenVMS. VMS/XDE includes OpenVMS V9.2-3 user, supervisor and executive mode operating system environments and a set of x86 native compilers and layered products geared towards OpenVMS software development and testing. ↫ VMS/XDE website VMS/XDE is a beta version, and comes with the usual annoying OpenVMS x86 time bombs, this time exploding on 3 January 2026. If you intend to use the finalised commercial version after the beta period ends, you’ll have to employ the same licenses as regular OpenVMS. It’s a bit of a mess, but that’s the OpenVMS way, sadly – and I don’t blame them, either, as I’m sure they’re hamstrung by a ton of agreements and restrictions imposed upon them by HP. Regardless, VMS/XDE brings a zero setup OpenVMS environment to the operating system you’re already using, making it easier to develop and cross-compile for the platform. I still have absolutely no clue just how many people OpenVMS is still relevant for, but I absolutely adore the fact VMS Software Inc. is working on this. In a world where so many of its former competitors are being held hostage by corporate indifference, it’s refreshing to see VMS still moving forward.
We’ve talked about Ironclad a few times, but there’s been two new releases since the 0.6.0 release we covered last, so let’s see what the project’s been up to. As a refresher, Ironclad is a formally verified, hard real-time capable kernel written in SPARK and Ada. Versions 0.7.0 and 0.8.0 improved support for block device caching, added a basic NVMe driver, added support for x86’s SMAP, switched from KVM to NVMM for Ironclad’s virtualization interface, and much, much more. In the meantime, Ironclad also added support for RISC-V, making it usable on any 64 bit RISC-V target that supports a Limine-protocol compatible bootloader. The easiest way to try out Ironclad is to download Gloire, a distribution that uses Ironclad and the GNU tools. It can be installed in both a virtual machine and on real hardware.
There’s something incredibly enticing and retrofuturistic about a well-designed TUI, or text-based user interface. There’s an endless list number of these, but two crossed my path these past few days, and I found them particularly appealing. First, we’ve got bluetui, an application for managing Bluetooth connections on Linux systems with bluez installed. The second is resterm. Resterm is a terminal-first client for working with HTTP, GraphQL, and gRPC services. No cloud sync, no signups, no heavy desktop app. Simple, yet feature rich, terminal client for .http/.rest files. It pairs a Vim-like-style editor with a workspace explorer, response diff, history, profiler and scripting so you can iterate on requests without leaving the keyboard. ↫ restterm GitHub page I don’t use TUIs or the command line in general all that much, but these are two excellent examples of just how beautiful and user-friendly a good text-based user interface can really be. The command line is about a lot more than just archaic, cryptic incantations designed in the 1960s.
The world’s best operating system, 9front, has released a new release called Release. 9front is a maintained fork of Plan 9. The new release Release brings atomic(2) functions for arm, arm64, mips, 386 and amd64, improved stability when the kernel runs out of memory, memdraw and devdraw now support affine warp primitive, and more. You can download Release from the usual mirrors.
MicroPythonOS is a lightweight, fast, and versatile operating system designed to run on microcontrollers like the ESP32 and desktop systems. With a modern Android-like touch screen UI, App Store, and Over-The-Air updates, it’s the perfect OS for innovators and developers. ↫ MicroPytonOS’ website It’s quite neat to see this running in such a constrained environment, especially considering it comes with a graphical user interface, some basic applications, and niceties like OTA updates and an application repository. As the name implies, MicroPythonOS uses native MicroPython for application and driver development, making cross-platform portability from microcontrollers to regular PCs a possibility. It’s built on the MicroPython runtime, with LVGL for graphics, packaged by the lvgl_micropython project. It’s still relatively early in development, but it’s completely open source so anyone can help out and improve the project. I’m personally not too well-versed in the world of microcontrollers like the popular ESP32, so I’m not entirely sure just how capable other operating systems and platforms built on top if it are. This particular operating system seems to make it rather easy and straightforward for anyone to build and distribute an application for such microcontrollers, to a point where even an idiot like myself could relatively easily buy, say, an ESP32 kit with a display and assemble my own collection of small applications. To repeat myself, it simply looks neat.
Unite is an operating system in which everything is a process, including the things that you normally would expect to be part of the kernel. The hard disk driver is a user process, so is the file system running on top of it. The namespace manager is a user process. The whole thing (in theory, see below) supports network transparency from the ground up, you can use resources of other nodes in the network just as easily as you can use local resources, just prefix them with the node ID. In the late 80’s, early 90’s I had a lot of time on my hands. While living in the Netherlands I’d run into the QNX operating system that was sold locally through a distributor. The distributors brother had need of a 386 version of that OS but Quantum Software, the producers of QNX didn’t want to release a 386 version. So I decided to write my own. ↫ Jacques Mattheij What a great story. Mattheij hasn’t done anthing or even looked at the code for this operating system he created in decades, but recently got the urge to fix it up and publish it online for all of us to see. Of course, resurrecting something this old and long untouched required some magic, and there’s still a few things which he simply just can’t get to work properly. I like how the included copy of vi is broken and adds random bits of garbage to files, and things like the mouse driver don’t work because it requires a COM port and the COM ports don’t seem to work in an emulated environment. Unite is modeled after QNX, so it uses a microkernel. It uses a stripped-down variant of the MINIX file system, only has one user but that user can run multiple sessions, and there’s a basic graphics mode with some goodies. Sadly, the graphics mode is problematic an requires some work to get going, and because you’ll need the COM ports to work to use it properly it’s a bit useless anyway at the moment. Regardless, it’s cool to see people going back to their old work and fixing it up to publish the code online.
It’s been a little over a month since OSNews went completely ad-free for everyone. I can say the support has been overwhelming, with the accompanying fundraiser currently sitting at 67% of the €5000 goal! Of course things slowed down a bit after the initial week of one donation after the next, so I’m throwing out this reminder that without your support, OSNews can’t exist – doubly so now that I’ve removed any and all advertising. Help us reach that 100%! So, what can you do to support OSNews? By being entirely free from the corrupting influence of advertising, I have even less desire to chase views, entrap users with slop content, game search engines with shitty SEO spam, or turn on the taps of “AI”-generated trash to spew forth as much “articles” and thus views as possible. This also means that OSNews is one of the few technology news websites remaining that is not part of a massive corporate media conglomerate, so there’s no pressure from “corporate” to go easy on advertisers or write favourable stuff about corporate’s friends. You’d be surprised to learn how many technology sites out there are not independent. The response to OSNews no longer having any advertising has been overwhelmingly positive – unsurprisingly – and that has taken away any reservations I might have had about taking this step. In a world where so many websites are disappearing, turning into corporate mouthpieces, or becoming glorified content farms, OSNews can keep on doing what it does, independent of any outside influence, thanks to the countless contributions from all of you. Thank you.
I recently implemented a minimal proof of concept time-sharing operating system kernel on RISC-V. In this post, I’ll share the details of how this prototype works. The target audience is anyone looking to understand low-level system software, drivers, system calls, etc., and I hope this will be especially useful to students of system software and computer architecture. Finally, to do things differently here, I implemented this exercise in Zig, rather than traditional C. In addition to being an interesting experiment, I believe Zig makes this experiment much more easily reproducible on your machine, as it’s very easy to set up and does not require any installation (which could otherwise be slightly messy when cross-compiling to RISC-V). ↫ Uros Popovic This is not the first, and certainly not the last, operating system implemented from scratch as a teaching exercise, both for the creator itself, as well as for others wanting to follow along. This time it’s developed for RISC-V, and in an interesting twist, programmed in Zig (no Rust for once!).
The first time I learned about UTF-8 encoding, I was fascinated by how well-thought and brilliantly it was designed to represent millions of characters from different languages and scripts, and still be backward compatible with ASCII. Designing a system that scales to millions of characters and still be compatible with the old systems that use just 128 characters is a brilliant design. ↫ Vishnu Haridas On a slightly related note, if you are ever bothered or annoyed by text online rendering as unknown squares, you most likely are just missing the proper fonts to render them. At least on most Linux and BSD systems, all you need to do is install the entire set of Noto fonts, including those for every single non-Latin script. Assuming your package manager has sane naming conventions, it’ll most likely come down to something like sudo dnf install google-noto* or whatever your system’s install package command is, and after installing a whole slew of font files, your system will now be able to render virtually every script under the sun. After installing this massive font set, you can do things like write and render in hieroglyphics, write Ea-nāṣir‘s name the way it’s supposed to, and render all kinds of other scripts and symbols without ever having to look at one of those blank squares ever again.
Who doesn’t love a desktop-oriented hobby operating system to start off the weekend? SkiftOS is a hobbyist operating system built from the ground up with a focus on modularity, simplicity, and modern design principles. Driven by a dissatisfaction with the fragmented user experiences prevalent in contemporary operating systems, SkiftOS strives for deep integration and a cohesive aesthetic. This project is a labor of love—an artistic pursuit rather than a commercial product. ↫ SkiftOS gitHub page Reading through the GitHub page and SkiftOS’ actual website, it reminds me so, so much of the desktop-oriented hobby operating systems of the early 2000s, like AtheOS, SkyOS, and others. It has its own microkernel, C++ core library, package manager, reactive UI framework, an entire desktop environment, and even a browser engine. This operating system is remarkably complete in the features that it already offers, especially considering its hobby status. The desktop environment is called Hideo, and it’s remarkably beautiful when you consider we’re talking about a hobby operating system. It comes with a variety of applications, too, mostly covering the basics we’ve come to expect from a desktop operating system, like a text editor, archive manager, task manager, image viewer, media player, a file manager, and so on. Meanwhile, the browser engine is called Vaev and is highly experimental, but its existence illustrates just how broad this project really is. I haven’t been able to find some time to run it yet, but if you’re interested, they advise you to run it using qemu. While running it on real hardware is technically possible, it’s not advisable due to the alpha state of the operating system.
In 9front, we host almost all parts of our development process on 9front — the git repositories, the mailing list, the ci/cd, the web site, and everything else. (The exception is #cat-v IRC) We use the system regularly, both when hacking on the system and in our personal use. Personally, I write most of my code on Plan 9, read my emails there, and often drive Linux from there. I run my home network off of a 9front CPU server, and host my websites off it. I know other people around 9front do similar. ↫ Ori Bernstein It clearly shows, too. If you dive into the 9front community, you’ll quickly realise everything runs on 9front, and that does create a sense that the operating system is capable, and that its developers have confidence and pride in their work. Exploring 9front myself, it feels awesome to see that all the documentation I’m reading is being hosted on 9front machines. I’m going to relaunch the OSNews Gemini capsule, this time hosted on 9front, and since countless 9front users host their own Gemini capsules on 9front, I feel confident that I’ve got people to talk to when I need help. I just need the time to actually sit down and figure out the minutiae of 9front, because it truly is unique.