Keep OSNews alive by becoming a Patreon, by donating through Ko-Fi, or by buying merch!

OS News Archive

Original Galaxy Gear now being updated to Tizen

Samsung has begun rolling out an update to the Galaxy Gear that will bring over Tizen, the company's in-house OS, to the smartwatch. The update carries software version 2.2.0, and while the entire OS will be replaced, most users won't notice any visual differences. However, quite a few improvements and new features are to be had - improved performance and battery life, features such as an standalone music player (you can store music on the watch itself), customizable shortcuts for tap input, voice commands in the camera, among others.

I'm still waiting on the Tizen phones Samsung has been promising for years. Even though it's essentially 'TouchWiz OS' (in other words, cringe-worthy), it's still an alternative operating system I would love to play with.

Genode 14.05 with new ports management, block-level encryption

The just released Genode version 14.05 comes with new tools that greatly improve the interoperability of the framework with existing software. Together with a new process-local virtual file system embedded in the C runtime, this change should clear the way to scale Genode well beyond the current state. Besides these infrastructural changes, the release comes with a new block-level encryption facility, enables USB 3.0 on x86, introduces SMP support to the base-hw kernel, enables real-time scheduling on the NOVA hypervisor, and adds guest-addition support for VirtualBox on NOVA.

After the feature-rich release 14.02, the Genode developers took the chance to thoroughly revisit the tooling and overall structure of the framework. The goal was to improve its scalability with steadily growing amount of third-party software combined with the framework. Genode-based system scenarios combine the work of up to 70 open-source projects. However, until now, the framework lacked proper tools to manage such third-party code in a uniform way. In particular, upgrades of third-party software were poorly supported. To overcome those problems, the project took the wonderful Nix package manager as inspiration, created a set of new tools, and reworked the build system to make the porting and use of third-party software much more enjoyable and robust.

Most ported 3rd-party software relies on a C runtime. Genode offers a fairly complete libc based on FreeBSD's libc. However, translating the POSIX API to the Genode API is not straight forward. For example, Genode does not even have a central virtual file system service. Hence, different applications call for different ways of how POSIX calls are translated to the Genode world. Until now, the different use cases were accommodated by specially crafted libc plugins that tailored the behavior of the C runtime per application. However, as the number of applications grew, the number of libc plugins has grown too. In the new version, the framework consolidates the existing libc plugins to a generic virtual file system (VFS) implementation. In contrast to a traditional VFS that resides in the OS kernel, Genode's VFS is a plain library embedded in the C runtime. To the C program, it offers the view on a regular file system. But under the hood, it assembles the virtual file system out of Genode resources such as file-system sessions, terminal sessions, or block sessions. Since each process has its own VFS configured by its parent process, the access to resources can be tailored individually per process.

In addition to the infrastructural changes, the new version comes with plenty of platform-related improvements. Genode's custom kernel platform for ARM devices named base-hw has received multi-processor support and a new memory management that alleviates the need to maintain identity mappings in the kernel. The NOVA microhypervisor has been adapted to make static priority scheduling usable for Genode. Thereby the kernel becomes more attractive for general-purpose OS workloads on the x86 architecture. Also related to NOVA, the project has continued its line of work to run VirtualBox on this kernel by enabling support for guest-additions, namely shared folders, mouse-pointer synchronization, and real-time clock synchronization.

In line with the project's road map, the new version features a first solution for using encrypted block devices. The developers decided to use NetBSD's cryptographic device driver (CDG) as a Genode component. One motivation behind the use of CDG was to intensify the work with the rump kernel project, which allows the execution of NetBSD kernel subsystems at user level. After the project successfully used rump kernels as file-system providers with the previous release, extending the use of rump kernels for other purposes was simply intriguing.

These and more topics are covered in the comprehensive release documentation for Genode 14.05.

Clive: new operating system based on Plan 9 design

On May 23 Francisco J. Ballesteros announced a new operating system on the 9fans mailing list. Clive is influenced by the Nix (not to be confused with NixOS) and Plan 9 operating systems, featuring "zx" - a universal resource access protocol conceptually similar to Plan 9. The system is written in a modified version of the Go language.

More details are available in the design paper and in the manual.

The Arrakis research operating system

Arrakis is a research operating system from University of Washinton, built as a fork of Barrelfish.

In Arrakis, we ask the question whether we can remove the OS entirely from normal application execution. The OS only sets up the execution environment and interacts with an application in rare cases where resources need to be reallocated or name conflicts need to be resolved. The application gets the full power of the unmediated hardware, through an application-specific library linked into the application address space. This allows for unprecedented OS customizability, reliability and performance.

The first public version of Arrakis has been released recently, and the code is hosted on GitHub.

OSNews platform and browser statistics

It's been a while since we've done one of these, so here we go: some detailed platform and browser statistics for OSNews. They're collected using Google Analytics, between 12 April and 12 May. As always, these statistics are only relevant for OSNews, and can, in no way, be extrapolated to any other site.

Think OS: a brief introduction to operating systems

Think OS is an introduction to Operating Systems for programmers.

In many computer science programs, Operating Systems is an advanced topic. By the time students take it, they usually know how to program in C, and they have probably taken a class in Computer Architecture. Usually the goal of the class is to expose students to the design and implementation of operating systems, with the implied assumption that some of them will do research in this area, or write part of an OS.

This book is intended for a different audience, and it has different goals. I developed it for a class at Olin College called Software Systems.

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.