OS News Archive

MINIX from scratch

I believe that learning MINIX is probably the best way to learn about operating systems. Until now, I have not been able to find a MINIX 3 project that allows you to compile the code that is referenced in the book Operating Systems: Design and Implementation (3e) (v3.1.0). It was tricky to get a reasonable development setup to make it possible for newbies like myself to learn from the book. This is an attempt to fix that and make it easy to browse, edit, recompile, and execute the code. An easy way to get started with MINIX, the famous microkernel teaching operating system from the university I got my two degrees at – although I’m not entirely sure if that’s a ringing endorsement.

Living alone in the wild Siberian forest for 20 years

As a complete and utter juxtaposition to the usual tech stuff we quibble about here on OSNews, I stumbled upon this interesting video about Samuil, a man who, for the past 20 years, has been living in the middle of the Yakutia wilderness, the coldest place on earth with temperatures that go down to -71°. This is a story of Samuil. For the past 20 years, Samuil has chosen to live far away from civilization, together with bears and wolves, in one of the harshest environments on Earth. I’m not going to make some sort of philosophical statement about how this guy’s got it all figured out, and how we, with all our tech, are truly the ones living in the wilderness, because not only would that be incredibly pretentious, it would also be deeply untrue. I’m also not going to make some sort of smug remark about how the guy’s an idiot for living this way, because not only would that be an incredibly douchy thing to say, it would also also be deeply untrue. A few years ago I moved from the stable, predictable, mild, and gentle climate of the Dutch coast to the harsh, unpredictable, cold, and frozen climate of the north of Sweden, a short distance below the arctic circle. Summers here are short, Spring and Autumn last a few weeks, at best, and for the rest of the year, it’s Winter. Every Winter, temperatures drop to -30°, and most days it’ll hover between -5° and -25°. Adapting to this climate wasn’t easy, and the amount of planning even something as simple as walking to the grocery store can take when it’s -27° can be tiring and frustrating. That one time I brought my kid to preschool when it was -28° wasn’t exactly easy-going either. At those temperatures, breathing will slowly start to hurt, your nostrils take a massive beating, your eyes are painful, and your facial hair will freeze. Putting on the countless layers of clothing takes forever, and the temperature difference between outside and inside can feel like walking into a wall of ice or fire, respectively. Taking the car requires planning, as you need to plug it in the external heating system for at least two hours before you can use it, and of course, removing the ice and snow off a car in this kind of climate is basically hard labour. And yet, I love it here. Living in this kind of cold is exhilarating, and it makes you appreciate the comforts of a warm home and modern life much more than I did back in The Netherlands. The transformation from the lush green forests and scattered fields to white, frozen wonderland – and back again – never fails to give me that feeling that somehow we won, again. We survived another Winter. In the comforts of modern civilisation and really not all that dramatic, but still. I’m definitely not going to say that because of this, I understand Samuil at some deeper level, because I really don’t. The difference between my life and his is a million times bigger than the difference between my life in The Netherlands and my life in Sweden, and I wouldn’t survive more than one or two days in his Winter, and probably end up frozen in a ditch somewhere because I got lost, or mauled by a bear because I’m an idiot and didn’t see it. For people used to mild climates, it may seem like the difference between -30° or -35° is academic, but it really isn’t – once you hit temperatures like these, every single degree starts to matter, and one degree can mean the difference between “extremely cold, but manageable” and “good thing we only wanted two kids”. The temperatures Samuil experiences blow my mind. In the microcosm that is a site like OSNews, it’s easy to forget just how varied our world really is, but thanks to the same technology we report on, we can experience a slice of life of someone living on his own in the coldest wilderness on earth, and learn that he is not that different from us.

I don’t understand terminals, shells and SSH

Confession time: I don’t fully understand how terminals, shells and SSH really work (and my guess is you don’t either). And I don’t mean the cryptography behind SSH. I mean how SSH and the terminal — and the shell for that matter — interact with one another. I recently realized that even though I’ve been daily remotely logging into Linux systems for all of my adult life (and type in the shell and Vim) I didn’t really grasp how these things actually work. I mean, it’s one of those things I kind of understand, but not completely. The author of the short linked post found four articles that detail all this stuff quite well, so go on over there and see just how well you really understood it.

Redox OS 0.8.0 released

We have a lot to show since the 0.7.0 release! This release, care has been taken to ensure real hardware is working, i686 support has been added, features like audio and preliminary multi-display support have been enabled, and the boot and install infrastructure has been simplified and made more robust. I highly recommend skimming through the changes listed below before jumping into the images, if you want more details. It is also recommended to read through the Redox OS book if you want more information on how to build and use Redox OS. Redox OS is written in Rust, and created and maintained by System76 Principal Engineer Jeremy Soller. There’s a ton of changes in this release – far too many to list here – and while native installation is possible, there’s always going to be struggles with hardware support for any alternative operating system.

DOS/4GW and Protected Mode

We’ll start our conversation by saying that DOS/4GW is a DOS extender. That means DOS/4GW is a program responsible for adding some useful stuff on top of the vanilla DOS kernel you have installed on your system. And look, I know this does not really answer anything yet, but we’ll get there. Let’s begin our journey trying to understand why DOS needs extending in the first place. I definitely remember seeing DOS/4GW a lot when playing MS-DOS games back in the ’90s, but I had entirely forgotten about it. This article is from 2021, and explains what it is, and why it was needed.

ZealOS: a modernised fork of TempleOS

The Zeal Operating System is a modernized, professional fork of the 64-bit Temple Operating System. Guiding principles of development include transparency, full user control, and adherence to public-domain/open-source implementations. ZealOS strives to be simple, documented, and require as little of a knowledge gap as possible. One person should be able to comprehend the entire system in at least a semi-detailed way within a few days of study. Simplify, don’t complicate; make accessible, don’t obfuscate. Yes, somebody picked up Terry Davis‘ baton and ran with it. This makes me happy – it seemed wrong for TempleOS to remain but an inanimate memorial.

RustyHermit: a Rust-based, lightweight unikernel

RustyHermit is a unikernel targeting a scalable and predictable runtime for high-performance and cloud computing. Unikernel means, you bundle your application directly with the kernel library, so that it can run without any installed operating system. This reduces overhead, therefore, interesting applications include virtual machines and high-performance computing. The kernel is able to run Rust applications, as well as C/C++/Go/Fortran applications. Exactly as it says on the tin.

Whipping up a new Shell – Lash#Cat9

Arcan, the unique development framework for user interfaces that’s exploring a ton of new and different ideas, has released a new project – Lash#Cat9, a new command line shell. A guiding principle is the role of the textual shell as a frontend instead of a clunky programming environment. The shell presents a user-facing, interactive interface to make other complex tools more approachable or to glue them together into a more advanced weapon. Cat9 is entirely written in Lua, so scripting in it is a given, but also relatively uninteresting as a feature — there are better languages around for systems programming, and better UI paradigms for automating work flows. Another is that of delegation – textual shells naturally evolved without assuming a graphical one being present. That is rarely the case today, yet the language for sharing between the two is unrefined, crude and fragile. The graphical shell is infinitely more capable of decorating and managing windows, animating transitions, routing inputs and tuning pixels for specific displays. It should naturally be in charge of such actions. Another is to make experience self documenting – that the emergent patterns on how your use of command line processing gets extracted and remembered in a form where re-use becomes natural. Primitive forms of this are completions from command history and aliases, but there is much more to be done here. I’m not a heavy shell user, so I’m not going to make any subjective statements here. It at least seems remarkably interesting, and I’m sure there’s quite a few among us who would love to play with this.

Sculpt OS 22.10 released

Sculpt OS 22.10 is a maintenance release of our Genode-based general-purpose OS. It imposes a new rigid regime to the management of low-level devices, improves USB hotplug support, and comes with numerous performance optimizations. I should really find the time to sit down with Sculpt.

The 4th year of SerenityOS

Well hello friends! Today we celebrate the 4th birthday of SerenityOS, counting from the first commit to the repository, on October 10th, 2018. What follows is a selection of random highlights from the past year, mixed with personal reflections from some of the SerenityOS developers. Just sit down, relax, take a deep breath, forget your day’s troubles, and enjoy a rundown of some of the awesome work being done in the SerenityOS community. There’s few communities that seem so welcoming, friendly, and active like the SerenityOS one, and even reading through this year’s milestones just feels good.

Samsung licenses Tizen OS to other TV makers

Samsung Electronics today announced a partnership with leading international ODM (Original Development Manufacturing) companies such as Atmaca, HKC and Tempo — a collaboration that will enable non-Samsung smart TV models to use Tizen OS for the first time. New TVs from Bauhn, Linsar, Sunny, Vispera and other brands will be available in Australia, Italy, New Zealand, Spain, Türkiye and the United Kingdom this year, allowing more consumers to enjoy a premium smart TV experience enabled by Tizen, an open source OS for Samsung Smart TV. Tizen was, at one point, going to kill Android.

Genode OS Framework release 22.08

The overarching theme of Genode 22.08 is the emerging phone variant of Sculpt OS, touching topics as diverse as USB ECM, Mali-400 GPU, SD-card access, telephony, mobile-data connectivity, the Morph web browser, and a custom user interface. Among the further highlights are new tracing tools, improved network performance USB smart-card support, and VirtIO drivers for RISC-V. Genode never fails to impress.

What have we lost?

We have ended up in a world where UNIX and Windows have taken over, and most people have never experienced anything else. Over the years, though, many other system designs have come and gone, and some of those systems have had neat ideas that were nevertheless not enough to achieve commercial success. We will take you on a tour of a variety of those systems, talking about what makes them special. In particular, we’ll discuss IBM i, with emphasis on the Single Level Store, TIMI, and block terminals Interlisp, the Lisp Machine with the interface of Smalltalk OpenGenera, with a unique approach to UI design TRON, Japan’s ambitious OS standard. This is an hour-long watch, but I’m getting some coffee and snacks ready this weekend. This seems like total OSNews bait.

RSoC: improving drivers and kernel – part 7

In my last blog post, I introduced the userspace_fexec/userspace_clone features. As the names suggest, they move the inherently complex implementations of fork(3) and execve(2), from the kernel into relibc, giving userspace much more freedom while simplifying the kernel. There has been considerable progress since last post; the features userspace_fexec/userspace_clone, userspace_initfs, and userspace_initfs, have now all been merged! I understood some of those words.

Revirt: virtualization on Redox OS

So, as part of RSoC 2022, I have been working on introducing Virtualization on Redox OS. This feature/technology is called Revirt and has wide-ranging consequences for Redox OS as a secure, well-designed, virtualizable and effective operating system. This is a big new addition to Redox OS.

Genode OS Framework 22.05 released

Functionality-wise, the added support for WireGuard-based virtual private networks is certainly the flagship feature of the release. Section WireGuard briefly introduces the new component while leaving in-depth information to a dedicated article. Among the other topics of the release, our continued work on device drivers stands out. We managed to bring Genode’s lineup of PC drivers ported from the Linux kernel up to the kernel version 5.14.21 using Genode’s unique DDE-Linux porting approach. As described by Section New generation of DDE-Linux-based PC drivers, this work comprises complex drivers like the wireless LAN stack including Intel’s Wifi driver and the latest Intel display driver. At the framework’s side, the modernization of Genode’s platform driver for PC hardware is in full swing. Even though not yet used by default, the new driver has reached feature parity with the original PC-specific platform driver while sharing much of its code base with the growing number of ARM platform drivers such as the FPGA-aware platform-driver for Xilinx Zynq (Section Xilinx Zynq). Excellent progress, and as always, exquisite release notes.

OpenVMS E9.2 on x86 now available

We are excited to announce the availability of VSI OpenVMS E9.2 for x86-64, field test version of the upcoming V9.2 release. This is the next step in the journey to migrate OpenVMS to the x86-64 platform. The E9.2 release allows you to use the operating system with some of the most commonly-used hypervisors and includes a host of newly migrated applications. VSI has been porting OpenVMS to x86-64 for a while now, and it seems they’re getting quite close to general availability. E9.2 is focused on x86 hypervisors, and the porting effort as a whole should provide a future upgrade path for VMS users for a long time to come.

Sculpt OS release 22.04 available

Sculpt OS version 22.04 introduces the concept of service-level sandboxing and features completely new drivers for wireless, graphics, and USB. On the user-visible surface, the new version of Sculpt OS looks and feels familiar to users of the previous version. Under the hood, however, at the nitty-gritty hardware-support level, it features completely revamped device drivers for Intel wireless, Intel graphics, and USB. Get Sculpt OS’ latest release from the download page, and be sure to read the documentation for more detailed information.

Redox OS 0.7.0 released

A lot has changed since release 0.6.0! First thing, it is impossible to collect all the changes that happened since December 24, 2020 into one set of release notes, so this will focus on the highlights. It was very important to me that this be a release targeting the foundations of Redox OS. This includes, the bootloader, the filesystem, the package manager, the kernel, the drivers, and much more. The focus was on enabling Redox OS to boot on the widest set of hardware possible. Redox is a Rust-based operating system with a microkernel and a UNIX-like paradigm and an optional GUI. Its lead developer works for System76 as principal engineer.

u+237c ⍼ right angle with downwards zigzag arrow

Known as right angle with downwards zigzag arrow, angle with down zig-zag arrow, \rangledownzigzagarrow, and ⍼, no one knows what ⍼ is meant to represent or where it originated from. Section 22.7 Technical Symbols from the Unicode Standard on the Miscellaneous Technical block doesn’t say anything about it. Who doesn’t love a good what-the-hell-is-this-glyph story?