OS News Archive

Genode 14.02 runs VirtualBox, supports NetBSD’s file systems

With the release of version 14.02, the Genode project has added two major features to the OS-construction framework: Using VirtualBox on top of Genode/NOVA, a wide range of unmodified guest OSes can now be integrated as components into Genode-based systems. The second feature is the addition of the file systems of the NetBSD kernel as rump kernels. The release documentation covers plenty of further improvements.

With storage and virtualization, the new release addresses two topics that are fundamental for using Genode as general-purpose OS, and both topics have been approached in a pretty holistic manner.

When it comes to storage, the project has significantly advanced over the past year but a few key pieces were still missing, namely mature file systems and a block cache. After having investigated FUSE-based file systems in the previous release, the project started exploring so-called rump kernels, which enable the execution of subsystems of the NetBSD kernel at user level. Originally, the rump kernel project was created to ease the development of drivers on NetBSD. The basic idea behind them is to link a driver to a stripped-down version of the NetBSD kernel that does not contain any privileged instruction. Hence, it can be executed in user mode. To interact with the outside world, a rump kernel uses a small so-called "hypercall" interface. By implementing this interface on top of the Genode API, rump kernels have become usable on Genode now. The immediate benefit is the availability of the time-tested file systems of the NetBSD kernel. But in the future, other NetBSD subsystem such as the TCP/IP stack or device drivers could be considered just as well.

At block level, the project took the chance to redesign the internal interfaces of the existing block-level components to support fully asynchronous operation. This step enables the effective use of modern disk-controller features such as native command queuing, and even the out-of-order processing of block requests. As the cherry on top of this line of work, there is a new block-cache component.

Over the past 5 years, virtualization has always played a role for the project. It started with running the paravirtualized OKLinux on top of the OKL4 microkernel. Later L4Linux was made available to Genode running on the Fiasco.OC kernel. Once the NOVA hypervisor found its way to the framework, the project embraced the use of the Vancouver virtual machine monitor, which enabled the use of unmodified Linux kernels. However, none of these solutions appealed well for a large user base, mainly because they were difficult to use or lacked features. By adding support for VirtualBox on top of NOVA, the project has finally found an answer to the question for product-grade virtualization on top of the framework. The integration of VirtualBox with Genode was no ordinary porting work but quite an engineering feat, which turns the architecture of VirtualBox pretty much upside down. In contrast to the host operating systems already supported by VirtualBox, Genode's version does not extend the host kernel in any way. VirtualBox leverages hardware-based virtualization (VT-x) but lives as a plain user-level program with no special privileges.

As with each new version, there are numerous smaller improvements and new features. For example, a new pseudo file system called trace-fs makes it possible to interactively use Genode's event tracing mechanism via Unix tools such as cat, grep, and echo.

All the changes are covered in detail in the release documentation of version 14.02.

NuttX sees its 100th release

NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS's (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).

NuttX was first released in 2007 by Gregory Nutt under the permissive BSD license.

NuttX saw its 100th release at the end of last month.

Plan 9 released under GPL v2

The University of California, Berkeley, has been authorised by Alcatel-Lucent to release all Plan 9 software previously governed by the Lucent Public License, Version 1.02 under the GNU General Public License, Version 2.

You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

I never really dove too deep into Plan 9, but it has always fascinated me. I think it's time to learn more - and I suggest you do so too. It's weekend, after all, right?

BareMetal OS gets TCP/IP

BareMetal OS now supports TCP/IP by way of a port of LwIP, originally by Adam Dunkels for embedded devices.

BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++.

BareMetal boots via Pure64 and has a command line interface with the ability to load programs/data from a hard drive. Current plans for v0.7.0 call for basic TCP/IP support, improved file handling, as well as general bug fixes and optimizations.

“Long-form” is not a genre

Jonathan Mahler, on 'long-form' articles:

What's behind this revival? Nostalgia, partly, for what only recently had seemed to be a dying art. And technology: High-resolution screens make it much more pleasant to read a long piece online than it was even a few years ago. Also the simple and honorable intention to preserve a particular kind of story, one that's much different from even a long newspaper feature, with scenes and characters and a narrative arc.

Up until the moment I read this article, I had no idea there was a specific term for long(er) articles, let alone that some consider it a genre. I realised that virtually all of my reviews are apparently "long-form"; the Jolla review, for instance, was 9000 words long. I've done much crazier than that, though - the Palm article was 22000 words long.

However, in both of these cases, I never intended for the articles to become that long, or in fact, to achieve any specific length. When I start out, I just have a number of things that I want to discuss, and I won't stop writing until all of those things are in the article. I will make a distinction between things that get lots of attention (say, the gestures in Sailfish) and things that get a passing mention (e.g., the backplate), usually based on some sort of combination between what I personally find interesting and what you, the readers, might find interesting. Since the gestures in Sailfish are at the core of the user experience, it gets a lot of attention; because the backplate and its hardware potential offers little to no benefit right now, it gets a passing mention.

I also like to pick some sort of overarching red thread, like the whole The Last Resort thing in the Jolla/Sailfish review, to tie everything together and frame the article. This can be a dangerous thing, since it's usually very personal and can easily be misinterpreted as pretentious or have other unwelcome side-effects. Originally, I framed the Jolla/Sailfish article using Manifest Destiny, but I quickly realised that its pitch-black consequences were unacceptable in a mere technology article.

Combine these things, and the article is done. Whether the resulting article turns out to be 2000 words or 10000 words is irrelevant to me; if it contains everything I want to convey, it's done. If it leaves things out just to be short and more digestible, it's a bad article. If it contains useless, irrelevant crap just to pad the word count, it's a bad article. Years ago, when both my best friend and I were writing our master's theses, we ended up with very, very different word counts - mine was 27000, hers was a mere 8000. Both contained all the required information; nothing more and nothing less. Both were graded positively. Word count is a measure of nothing.

By now, some of you might be wondering why the sales pitch for the Palm article did contain the word count - which seems to contradict the above. My reasoning there was simple: we were selling the Palm article. I figured that since I was asking people to pay money for an article that was freely available on that very same page, I should at least give them information about what they were spending their money on.

Long articles like the ones mentioned above are not for everyone. In fact, their potential audience is much, much smaller than, say, a three paragraph jab at software patents. While those jabs are fun - sort of - it's these long articles that are by far the most fulfilling to write. The Palm article alone took months and months of work - research, making notes, educating myself about low-level stuff, devising a structure, setting a tone, organising the six hundred different subjects I wanted to cover, the actual writing process, revising it all, while also doing my regular job, and so on - but it is by far the most rewarding experience I've ever had for OSNews.

I'll never forget getting emails from former Palm executives and engineers - big names - congratulating me on a job well done.

Writing articles like that is not easy, with my biggest enemy being a lack of time because OSNews is a hobby, not a full-time job (I wish it was!). A few weeks after publishing the Palm article, I started work on a similar article about Psion and Symbian, but due to work and personal life (which was rather tumultuous in 2013) sucking up a lot of time last year, I never found the time to continue work on it. With things having settled down since December, I'm making plans to dust off the Psion and Symbian material, possibly take a few weeks off work, and finish it.

That article could end up being 8000 words, or 50000 words. I don't know. The goal is not be long, but to be comprehensive, and this is my inherent problem with the term "long-form". This term puts the focus on length instead of content, which absolutely baffles me. A good article is not defined by its length - or lack thereof - but by its content.

The Muen Separation Kernel

The Muen Separation Kernel is the world's first Open Source microkernel that has been formally proven to contain no runtime errors at the source code level. It is developed in Switzerland by the Institute for Internet Technologies and Applications (ITA) at the University of Applied Sciences Rapperswil (HSR). Muen was designed specifically to meet the challenging requirements of high-assurance systems on the Intel x86/64 platform. To ensure Muen is suitable for highly critical systems and advanced national security platforms, HSR closely cooperates with the high-security specialist secunet Security Networks AG in Germany.

The webpage contains instructions for building the kernel yourself, for installing it in a virtual machine, and for running it on real hardware.

New website for Visopsys

We report regularly about Visopsys - one of the few hobby operating systems that survived where virtually all the others (SkyOS, Syllable, etc.) died out. They've got a new website, which seems like a nice occasion to give it some attention again.

The bulk of Visopsys is a fully multitasking, 100% protected mode, virtual-memory, massively-monolithic-style kernel. Added to this is a bare-bones C library and a minimal suite of applications - together comprising a small but reasonably functional operating system which can operate natively in either graphical or text modes. Though it's been in continuous development for a number of years, realistically the target audience remains limited to operating system enthusiasts, students, and assorted other sensation seekers.

MirageOS: rise of the virtual library operating system

ACM Queue posted an article titled "Unikernels: Rise of the Virtual Library Operating System", written by the main developers of MirageOS. The article is a good overview of the motivation and design of Mirage, which is a specialized lightweight hypervisor guest operating system for Xen. It's developed in OCaml and benefits from its features like memory safety, module system and compiler optimisations. It's comparable to OSv on many fronts.

More here.

OSv: a new open source cloud operating system

OSv is a cloud-based operating system with build images for Xen, KVM, Amazon web services and VMware coming up. It is written from scratch, "designed from the ground up to execute a single application on top of a hypervisor, resulting in superior performance and effortless management". Linux.com ran an interview with some of the developers behind OSv.

The operating system will be optimized for Java applications "by exposing OS internals and direct access for page tables, scheduling decisions and the raw IO layer". It will not be restricted to only Java applications though and will run JavaScript, Scala, Clojure, JRuby, Jython and more on JVM. Surprisingly, C is also supported.

OSv promises "Zero OS management" with "no need for administration, template management, configuration and tuning". Common Java framework integration consists of "frameworks such as Tomcat, JBoss, SpringSource . Common open source technologies such as Hadoop and NoSQL are being optimized and integrated to run on top of OSv."

Genode 13.11 adds Qt5 QML, Linux TCP/IP, FUSE file systems

The Genode project has released version 13.11 of their OS framework. This time, the focus lies on exploring new ways for bringing existing protocol stacks to the Genode world. FUSE-based file systems and the Linux TCP/IP stack have become available as user-level libraries, and the improved Qt5 port covers QML. Hardware-wise, the new version extends the support for Exynos-5, Raspberry Pi, and ARM TrustZone.

With the release cycle of version 13.11, the Genode developers took the chance to explore plenty of experimental features across the whole software stack.

Darwin/ARM running on a Nokia N900

Darwin is the core operating system that lies under both Mac OS X and iPhone OS. It is the true core foundation that bridges the kernel to the actual UI above. (SpringBoard/loginwindow/etc).

With the help of @plus_chan and his Nokia N900, I present to you, Darwin/ARM running on a Nokia N900.

I doubt this has any usefulness whatsoever, but that doesn't make it any less awesome. Great work (via Steven Troughton-Smith).

MenuetOS inches towards 1.0

MenuetOS sits in an interesting nexus between astonishing technical achievement and computerised work of art. The super-speedy, pre-emptive multitasking operating system is still, despite adding more driver support, more included applications, an improved GUI and digital TV support over the years, capable of fitting on a floppy disk (assuming you can find one).

MenuetOS is a technical marvel. Not only is it written entirely in assembly, it also shoves a fully capable multitasking operating system on a single floppy disk.

Contiki 2.7 released

The Contiki operating system, known for its super-slim IPv6 stack, has been updated to version 2.7 with support for new Systems-on-a-Chip: single-chip devices with a microprocessor and an integrated 2.4 GHz radio. This new version has a much strengthened IPv6 wireless mesh networking setup that allows a bunch of chips to autonomously form wireless networks that can be connected directly to the Internet.

Samsung is already shipping its first Tizen device

Tizen holds the promise on shipping on lots of different devices. Samsung has already been shipping the Samsung NX-300M Camera for the last month or so but Today at the Tizen Developer Summit, Samsung has officially announced that this camera is actually running Tizen!

So, Tizen is now shipping... On a camera. On a related note, Samsung has let out some details of Tizen 3.0, planned for next year. It's going 64bit, will gain multiuser support, and will switch from X to Wayland.

Wi-Fi Light Bulbs to run the Open Source Contiki OS

The open source Contiki operating system and its commercial Thingsquare distribution are making strides towards the connected home. According to a Computerworld article, a new LED light bulb manufacturer is putting small computers into their light bulbs. Each computer runs the Contiki OS, which gives each bulb an IP address and allows them to be controlled with a smartphone application. To connect the bulbs to the application, the bulbs use both Wi-Fi and the much lower power IEEE 802.15.4 mesh technology.

OpenVMS taken out back, single gunshot heard

"HP has announced the end of support for OpenVMS, the ancient but trustworthy server operating system whose creator went on to build Windows NT. OpenVMS started out as VAX/VMS on Digital Equipment Corporation's VAX minicomputers, then later was ported to DEC's fast Alpha RISC chips – before the Compaq acquisition of Digital led to their untimely demise. HP ported the software to the Itanium, but HP isn't going to bother moving to the last generation of IA64 and support will finally end in 2015." The article seems to have confused the end of support of VMS (which projected to happen some time after December 2020) with the end of IA64 sales for machines that support VMS and/or the end of support of the Alpha version of the operating system, but it seems either way that the venerable operating system is on its way to meeting the same fate as MPE.