OS News Archive

Huawei launches 10kB IoT operating system

LiteOS is the world's most lightweight IoT OS. It is small in size at 10KB and supports zero configuration, auto-discovery, and auto-networking. It can be widely applied to different areas including smart homes, wearable, connected vehicles and other industries. The LiteOS helps to simplify the development of smart hardware to enhance IoT connectivity. In addition, Huawei announced that LiteOS will be opened to all developers, which enables them to quickly develop their own IoT products.

Meanwhile, Google is rumoured to be unveiling an IoT OS as well during IO.

MenuetOS 1.0 released

MenuetOS 1.0 has been released.

It all started as a question if computer programming could be made more efficient. And Menuet has matured to be an operating system with modern features including pre-emptive multitasking, smp, usb, tcp/ip, transparent GUI and many other features. And above all, MenuetOS is 100% assembly written operating system. With version 1.00, we made small history today.

Congratulations to the MenuetOS team for sticking with it - this is a great achievement. ComputerWorld Australia has an interview with Ville Turjanmaa, its creator.

MenuetOS 0.99.98 released

An update for an actual alternative operating system from the good old days of yore. Yes, it still happens. MenuetOS 0.99.98 has been released, with "MediaPlayer demo, Updated 3DS viewer, Midiplayer, FTP". Here's some of the settings to help you on your way in VirtualBox, an in case you'r eunfamiliar with MenuetOS:

MenuetOS is a real-time and multiprocessor Operating System in development for the PC written entirely in 32/64 bit assembly language. Menuet64 is released under License and Menuet32 under GPL. Menuet supports 32/64 bit x86 assembly programming for smaller, faster and less resource hungry applications.

The Sortix operating system

Sortix is a small self-hosting Unix-like operating system developed since 2011 aiming to be a clean and modern POSIX implementation. There's a lot of technical debt that needs to be paid, but it's getting better. Traditional design mistakes are avoided or aggressively deprecated by updating the base system and ports as needed. The Sortix kernel, standard libraries, and most utilities were written entirely from scratch. The system is halfway through becoming multi-user and while security vulnerabilities are recognized as bugs, it should be considered insecure at this time.

Sortix 0.9 was released on December 30, 2014. It is a very considerable improvement upon Sortix 0.8 and contains significant improvements all over the base system and ports. The previous release made Sortix self-building and this release works hard towards becoming fully self-hosting and installable. Several real-life prototype self-hosting installations of Sortix exists right now, I expect the following 1.0 release to make real Sortix installations available to the general public.

GNU Hurd 0.6 released

It has been roughly a year and a half since the last release of the GNU Hurd operating system, so it may be of interest to some readers that GNU Hurd 0.6 has been released, along with GNU Mach 1.5 (the microkernel that Hurd runs on), and GNU MIG 1.5 (the Mach Interface Generator, which generates code to handle remote procedure calls). New features include procfs and random translators, cleanups and stylistic fixes, some of which came from static analysis, message dispatching improvements; integer hashing performance improvements, a split of the init server into a startup server and an init program based on System V init, and more.

Genode 15.02 adds support for ARM virtualization

With version 15.02, the Genode OS project complements its existing virtualization support for the x86 architecture with virtualization on ARM by turning their base-hw kernel into a microhypervisor. Besides virtualization, the most prominent underlying theme of the current release is the project's increasing focus on test automation and optimization.

Virtualization has a long history within the Genode project. After originally focusing on paravirtualized Linux kernels (L4Linux and OKLinux), the added support for the NOVA kernel and the Vancouver VMM in 2011 cleared the way towards hardware-based virtualization on the x86 architecture. In 2012, the project started exploring ARM TrustZone as another flavour of virtualization. With the Noux runtime, Genode introduced their take on OS-level virtualization. Finally, the transplantation of VirtualBox to NOVA last year marked the project's most ambitioned virtualization-related work. It enables VirtualBox to run as unprivileged user-level program on top of the NOVA microhypervisor.

During 2014, the Genode developers used those accumulated experiences to conquer another ground, namely the ARM virtualization extensions. The current release extends their custom kernel (called base-hw) with support for hosting virtual machines and adds a user-level virtual machine monitor that is capable of running an unmodified Linux-based system as guest OS. At a high level, it mirrors NOVA's virtualization architecture but for ARM-based systems. The microkernel/hypervisor implements merely the VM world switch and the virtualization of memory but leaves all the complex work to untrusted user-level virtual machine monitors. In fact, the added kernel complexity on account of virtualization support is less than 1,000 lines of code.

Besides the virtualization-related work, the base-hw kernel gained a further improved scheduler that takes IPC relationships into account, which is inspired by the pioneering work of NOVA. Furthermore, the project is happy to announce the principal ability to run Genode as secure-world OS on the upcoming USB Armory hardware platform.

Most of the other topics of the current release are concerned with improving the performance and stability of Genode-based system scenarios. The centerpiece of these efforts is a new tool kit for automating tests on a large variety of kernels and hardware platforms. In line with this overall theme, the new version vastly improves the user experience of VirtualBox on NOVA, comes with updated rump-kernel-based file-system support, and lifts long-standing scalability limitations on PC platforms.

More background information about all the improvements of version 15.02 are available in the extensive release documentation.

JanOS: turn your phone into an IoT board

JanOS is an operating system designed to run on the chipset of mobile phones. It runs without a screen, and allows you to access all phone functionality, from calling to the camera, through JavaScript APIs.

Why?

Current development boards for Internet of Things solutions have one big problem: they are very expensive. Boards like the Raspberry Pi or Arduino have a limited feature set and simple extensions, like a GSM shield, can cost $80. That is a shockingly high price when a full smartphone can be available for just $30. Why not break out the mainboard from a mobile phone and use that to develop embedded projects? Cheaper and more powerful.

It's built on top of Gecko, so you can use Firefox OS APIs. Interesting.

FreeRTOS 8.2.0 released

Version 8.2.0 of the embedded operating system FreeRTOS has just been released and is available to download. A complete list of changes is available, but personally I would highlight two of them: task notifications and some improvements of the popular ARM Cortex-M4F port.

Just a short introduction for those of you who have never heard about FreeRTOS before: it's a popular open source (released under a modified GPL license) embedded operating system (well, a multithreading library would be a more accurate description) which runs on many microcontrollers with just a few kilobytes of memory. It allows your embedded application to be split into several threads (called "tasks") with different priorities, and offers several mechanisms for synchronization/communication among tasks, dynamic allocation of memory etc.

The project officially supports quite a lot of combinations of toolchains and professional microcontrollers, however, it is not too difficult to port it to other microcontrollers. Would you like to run it on your Raspberry Pi? No problem, somebody has already ported it for you. You don't have a R.Pi? Never mind, you can try it in Qemu.

Was isolated with a 486 – built my own 80s operating system

From an Imgur Post of the same title:

I was moved out to an extremely remote country area in the middle of NSW Australia to live with people I didn't want to live with and isolated with no internet for 7 years during my childhood/teenhood. Using the 1980s reference books from my high school library, I decided to build my own OS so that I had a more manageable way of dealing with files than the standard DOS structure.

A short but interesting read about the author's experience with pictures of the finsished product.

Keep your identity small

Paul Graham, way back in 2009:

More generally, you can have a fruitful discussion about a topic only if it doesn't engage the identities of any of the participants. What makes politics and religion such minefields is that they engage so many people's identities. But you could in principle have a useful conversation about them with some people. And there are other topics that might seem harmless, like the relative merits of Ford and Chevy pickup trucks, that you couldn't safely talk about with others.

And the key takeaway:

Most people reading this will already be fairly tolerant. But there is a step beyond thinking of yourself as x but tolerating y: not even to consider yourself an x. The more labels you have for yourself, the dumber they make you.

Run a site like OSNews for almost a decade, and you'll see this article come to life every single day.

Genode 14.11 features the Intel wireless stack

The just released version 14.11 of the Genode OS framework complements the framework's arsenal of device drivers with the Intel wireless stack. This way, Genode enables the realization of microkernel-based systems on modern laptops without relying on any kind of "device-driver OS" or "Dom0". Other highlights of the release are a new dynamic linker, VirtualBox 4.3.16 on the NOVA hypervisor, a new scheduler for the HW kernel, and networking for the Raspberry Pi.

WiFi stacks are known to be extremely complex. In the Linux kernel, it is certainly one of the most sophisticated driver subsystems besides GPU drivers. From the perspective of an alternative OS, it is quite frightening. On the other hand, WiFi is an universally required feature for a general-purpose OS by today's standards. Therefore, the Genode project had to face the issue to enable a full WiFi stack on top of the framework sooner or later. In spring this year, the Genode team finally took on the engineering feat to transplant the Intel wireless stack from Linux to a user-level component on Genode. This line of work was more demanding than originally anticipated. The biggest hurdle was to get a grasp on the interactions between the various involved protocols and mechanisms such as mac80211, cfg80211, nl80211, the netlink API, AF_NETLINK, and the WPA supplicant. The actual porting work followed the approach of prior porting efforts like the Linux USB and TCP/IP subsystems. All Linux kernel threads are executed by a single user-level thread that cooperatively schedules each kernel thread as a light-weight execution context. Compared to the prior porting efforts, the driver environment for the WiFi stack is far more complex. About 8,500 lines of environment code had to be provided to bring the 215,000 lines of WiFi stack to life. However, almost no original code had to be changed, which will make future updates relatively easy.

From its very beginning, Genode was designed to manage resources via a trading mechanism. For example, when a client component connects to a server component, it can provide a part of its own memory budget to the server. This way, the server does not need to perform allocations from its own resources on behalf of its client, which mitigates the risk for denial-of-service attacks driven by malicious clients. This scheme works well for memory but it had not been employed for CPU time, yet. The reason was the lack of the scheduling facilities offered by the kernels supported by Genode. However, with their custom kernel called "base-hw", the Genode developers were finally able to pursue this idea. The outcome of this line of work is featured in the new release.

Besides the WiFi stack and the new scheduler, Genode 14.11 comes with an upgrade of VirtualBox to version 4.3.16 that can be executed directly on the NOVA microhypervisor, a new dynamic linker, added GUI components, and networking support for the Raspberry Pi. The full story behind all those topics is covered by the release documentation.

God’s lonely programmer

TempleOS is more than an exercise in retro computing, or a hobbyist's space for programming close to the bare metal. It's the brainchild - perhaps the life's work - of 44-year-old Terry Davis, the founder and sole employee of Trivial Solutions. For more than a decade Davis has worked on it; today, TempleOS is 121,176 lines of code, which puts it on par with Photoshop 1.0. (By comparison, Windows 7, a full-fledged modern operating system designed to be everything to everyone, filled with decades of cruft, is ​about 40 million lines.)

If you read just one article today, make sure it's this one.

Arrakis: the operating system is the control plane

Recent device hardware trends enable a new approach to the design of network server operating systems. In a traditional operating system, the kernel mediates access to device hardware by server applications, to enforce process isolation as well as network and disk security.We have designed and implemented a new operating system, Arrakis, that splits the traditional role of the kernel in two. Applications have direct access to virtualized I/O devices, allowing most I/O operations to skip the kernel entirely, while the kernel is re-engineered to provide network and disk protection without kernel mediation of every operation.We describe the hardware and software changes needed to take advantage of this new abstraction, and we illustrate its power by showing improvements of 2-5 in latency and 9 in throughput for a popular persistent NoSQL store relative to a well-tuned Linux implementation.

This is a very detailed description of this project in the form of a proper scientific publication, and is part of the Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, accompanied by a presentation. You may want to grab something to drink.

A Love Letter to Obsolete OSes and Emulation

The death of an old friend sent Paul Ford on a bender; emulating old hardware to run familiar obsolete operating systems and software, and remembering 1980s and 1990s computing culture in about the most OSNews-bait article I've ever read. It's a wonderful read, with all your old favorites: Commodore Amiga, dial-up BBSes, Xerox Alto, MacOS 6, Smalltalk-80, Plan 9, LISP, Windows 3.1, NeXT OpenStep. Nostalgic and heartwarming.

Amiga fun with IcAROS Desktop 2.0

The highly anticipated version 2.0 of AROS distribution Icaros Desktop is now available for download. AROS is now an almost-20-years old open source attempt to rewrite the original AmigaOS 3.x operating system from Commodore, starting with its API documentation. Icaros Desktop extends AROS features with many 3rd party programs and libraries, providing a full preconfigured environment to allow modern tasks. In this new version, which has been released 2 years after the latest one, AROS' Workbench clone "Wanderer" can be replaced by x86-native port of DirectoryOpus 5 Magellan, which has been configured to act like a modern GUI, old Amiga programs can run in a more polished emulation layer (AmiBridge) which does not require original Amiga ROMs and Operating System, and whole AROS system files have been replaced with a newer branch, which also includes a new, faster and more reliable TLSF memory manager. For full size screenshots and downloads, you can follow this link.