TempleOS is somewhat of a legend in the operating system community. Its sole author, Terry A. Davis, has spent the past 12 years attempting to create a new operating from scratch. Terry explains that God has instructed him to construct a temple, a 640x480 covenant of perfection. Unfortunately Terry also suffers from schizophrenia, and has a tendency to appear on various programming forums with a burst of strange, paranoid, and often racist comments. He is frequently banned from most forums.
This combination of TempleOS's amateurish approach and Terry's unfortunate outbursts have resulted in TempleOS being often regarded as something to be mocked, ignored, or forgotten. Many people have done some or all of those things, and it's understandable why.
You really have no excuse to not read this article.
The just released version 15.05 of the Genode OS Framework is the most comprehensive release in the project's history. Among its highlights are a brand-new documentation in the form of a book, principal support for the seL4 microkernel, new infrastructure for user-level device drivers, and the feature completion of the framework's custom kernel.
For many years, the Genode OS project was primarily geared towards microkernel enthusiasts and the domain of high-security computing. With version 15.05, the project likes to widen its audience by complementing the release with the downloadable book "Genode Foundations" (PDF). The book equips the reader with a thorough understanding of the architecture, assists developers with the explanation of the development environment and system configuration, and provides a look under the hood of the framework. Furthermore, it contains the specification of the framework's programming interface. If you ever wondered what Genode is all about, the book may hopefully lift the clouds.
Besides the added documentation, the second focus of the new version is the project's custom kernel platform called base-hw. This kernel allows the execution of Genode on raw hardware without the need of a 3rd-party microkernel. This line of work originally started as a research vehicle for ARM platforms. But with the addition of kernel-protected capabilities, it has reached feature completeness. Furthermore, thanks to the developers of the Muen isolation kernel, base-hw has become available on the 64-bit x86 architecture. This represents an intermediate step towards running Genode on top of the Muen kernel.
Speaking of kernels, the current release introduces the principle ability to run Genode-based systems on top of the seL4 microkernel. As the name suggests, seL4 belongs to the L4-family of microkernels. But there are two things that set this kernel apart from all the other family members. First, with the removal of the kernel memory management from the kernel, it solves a fundamental robustness and security issue that plagues all other L4 kernels so far. This alone would be reason enough to embrace seL4. Second, seL4 is the world's first OS kernel that is formally proven to be correct. That means, it is void of implementation bugs. This makes the kernel extremely valuable in application areas that highly depend on the correctness of the kernel.
At the architectural level, the framework thoroughly revised its infrastructure for user-level device drivers, which subjects device drivers to a rigid access-control scheme with respect to hardware resources. The architectural changes come along with added support for message-signaled interrupts and a variety of new device drivers. For example, there is a new AHCI driver, new audio drivers ported from OpenBSD, new SD-card drivers, and added board support for i.MX6.
Further noteworthy improvements are the update of the tool chain to GCC 4.9.2, support for GPT partitions, and the ability to pass USB devices to VirtualBox when running on NOVA. These and the many more topics of the version 15.05 are covered in great detail in the release documentation.
Enter qboot, a minimal x86 firmware that runs on QEMU and, together with a slimmed-down QEMU configuration, boots a virtual machine in 40 milliseconds on an Ivy Bridge Core i7 processor.
The code's on github.
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 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.
This is a small 32bit (i586) kernel written using the Nim programming language.
I have been wanting to do this for a while but it wasn't until people in the #nim IRC channel inquired about Nim OS dev and the rustboot kernel inspired me that I finally did it.
It doesn't do much, but it doesn't need to. Its purpose is to provide a starting point for anyone wishing to write an OS in Nim.
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.
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.
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.
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 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.
Mezzano, an operating system written in Common Lisp.
What is says on the tin. Instructions for building this for VirtualBox are also available.
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.
Hewlett-Packard will take a big step toward shaking up its own troubled business and the entire computing industry next year when it releases an operating system for an exotic new computer.
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.
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.
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.
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.
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.