OS News Archive
I expect our global supply chain to collapse before we reach 2030. With this collapse, we won’t be able to produce most of our electronics because it depends on a very complex supply chain that we won’t be able to achieve again for decades (ever?). Among these scavenged parts are microcontrollers, which are especially powerful but need complex tools (often computers) to program them. Computers, after a couple of decades, will break down beyond repair and we won’t be able to program microcontrollers any more. To avoid this fate, we need to have a system that can be designed from scavenged parts and program microcontrollers. We also need the generation of engineers that will follow us to be able to create new designs instead of inheriting a legacy of machines that they can’t recreate and barely maintain. This is where Collapse OS comes in. That’s one way to introduce an operating system. This is a very unique project aimed at creating an operating system that can run on microcontrollers and which can self-replicate.
Eventually, that’s going to mean a single software stack common across VW Group’s vehicles—everything from the instrument displays and the infotainment to powertrain and chassis management (think traction and stability control or advanced driver assistance systems), plus a common connected car infrastructure and cloud. However, each brand will still get to develop its own UX in the same way that Porsche and Audi can build very different-looking vehicles from the same MLB Evo toolbox. They’re going to base it on Android, but without much of the Google parts because of privacy concerns (i.e., VW wants that data for itself, not share it with Google). And, as always in the car world, it will be many, many years before this initiative will make its way to VW Group’s cars – the unit won’t be fully staffed until 2025.
LG has announced that it will demonstrate a new system that integrates its webOS Auto In-Vehicle Infotainment (IVI) system with Microsoft Connected Vehicle Platform (MCVP). By combining webOS Auto and MCVP, the In-Vehicle Infotainment system will be able to collect and transmit data about the driver status, door status, and app usage. I can’t decide whether it’s sad or great that webOS has managed to find a second, third or even fourth life as an operating system for cars. I do wonder, though, how much of this platform is really webOS – webOS was basically a badly optimised and cobbled together Linux distribution, and I’m assuming very little of what we would recognise as webOS remains in LG’s current automotive and television platforms.
James Lu, Product Manager of Huawei recently shared the roadmap of Harmony OS at an event in Jakarta. The Huawei product manager also explained the company’s latest operating system. According to the roadmap, the Harmony OS will make its mark to the smartwatches and bands, head units, and most importantly, what they call “Innovative PCs” by the end of 2020. It’ll also be able to power other devices such as smart speakers, VR glasses two years down the line. One of the largest technology companies dropping Android and Linux and going for an entirely homegrown multi-device open source operating system that other countries and regions can adopt and adapt to their needs is probably not the outcome the US government should be aiming for. I don’t think sharpies will be enough here.
In the city of Dongguan, China, Huawei finally took the wraps off its long-rumored, first-party operating system. The OS, called Harmony OS, has been in development for several years, but it’s recently taken on a role as a key player in Huawei’s contingency plan since the U.S. enacted a trade ban on the Chinese technology company. At the Huawei Developer Conference, Huawei finally shared the first details about its in-house OS, but the company wasn’t ready to show off Harmony on smartphones just yet. Tomorrow, the company will show off Harmony OS on the Honor Vision TV. For now, Android remains the go-to mobile OS for Huawei and Honor smartphones and tablets. The operating system runs on a custom microkernel architecture that’s been developed in-house, which makes sense considering Huawei has been holding talks about microkernels at FOSDEM for a few years now (2018, 2019). They claim it’s faster than the competition, more secure, and more flexible – so much so that they say they can switch over from Android in a matter of days. Other details about HarmonyOS include no root access, because Huawei considers it a security risk. Huawei will be supplying an IDE for the operating system, capable of building applications for various device types. Huawei also intends to release HarmonyOS as open source. There’s a lot of skepticism about Huawei’s ability to build an operating system out there, but I do not share that at all. Huawei is one of the largest, most successful technology companies in the world, for both enterprise networking technology as well as consumer technology, and there’s no doubt in my mind that they are more than capable of developing a good, solid operating system. That being said, the real issue is of course that between iOS and Android, there isn’t really much room left for a viable third option. HarmonyOS could certainly work in China – especially since it boasts Android compatibility and Chinese Android phones are Google-free anyway – but in the rest of the world people expect their smartphones to be either iOS or Google Android. I highly doubt any non-Android smartphone, with or without Android application compatibility, has any serious chance in the market. Which is obviously sad, but that’s the way it is.
bootOS is a monolithic operating system that fits in one boot sector. It’s able to load, execute, and save programs. Also keeps a filesystem. It can work with any floppy disk size starting at 180K. It relocates itself at 0000:7a00 and requires further 768 bytes of memory starting at 0000:7700. Impressive work.
The Genode OS Framework is written in C++, but has support (to one degree or another) for writing components in several other languages. Perhaps foremost of these is Ada/SPARK, thanks in part to active development/support by Componolit, which maintains the Ada/SPARK toolset for Genode (SPARK is a subset of Ada, designed to be verifiable). On Genodians.org, there have been three recent articles exploring the use of Ada/SPARK on Genode, each approaching the subject from a different angle. First, in “C++ and SPARK as a Continuum“, Genode co-founder Norman Feske shows how to create hybrid C++/SPARK components. There are a few restrictions, but the results fit well with the Genode component philosophy. By regarding C++ and SPARK as a continuum rather than an black-and-white decision, we can use SPARK at places where we regard formal verification as most valuable while not restricting Genode components to be entirely static. It gives us Genode developers the chance to slowly embrace the application of formal methods and recognize their benefit in practice. Second, Martin Stein takes the first steps toward converting (a fork of) the in-house “base-hw” kernel to Ada in “Spunky: A Kernel Using Ada – Part 1: RPC“. This is just the beginning of this project, so stay tuned. What should I say? Thanks to the almost pedantic need for correctness of the Ada compiler and the sheer endless chain of complains it kept throwing at me, the final image worked out of the box and put a big smile on my face. Third, Johannes Kliemann of Componolit dives into the deep end of the pool in “SPARK as an Extremum: Components in Pure SPARK“, which describes the arduous journey that led them to create an API for creating components completely in SPARK. With the realization that generated bindings are not feasible and both binding and API need to be created by hand, previous API limitations such as functions that are not allowed in SPARK could be removed. This API should not resemble any characteristics of any language or platform that implements it. The goal was to create a pure SPARK API for asynchronous verified components. The result is the Componolit Ada Interface, an interface collection that provides component startup, shutdown and platform interaction. As you can see, even though the Genode core has become pretty mature, there is still much interesting research and experimentation being done on the eternal quest for more trustworthy computing.
VSI is porting OpenVMS to x86-64. The company has done a lot of work, and it is beginning to bear fruit. Recently they’ve managed to boot the kernel and perform a DIR command. Grand steps indeed. Truly amazing work!
An IEEE Spectrum article outlines some interesting new OS-related research. Martin Maas, a University of California, Berkeley, PhD student who is now at Google, designed “a new type of device that relieves the CPU from its garbage collection duties.” Maas notes that CPUs, which have traditionally been assigned garbage collection, were never specifically designed for the task. “CPUs are built to be flexible and run a wide range of applications. As a result, they are relatively large and can take up a significant amount of power,” he explains.Instead, Maas and his colleagues created a compact accelerator unit that requires a small amount of chip area and power. It can be added to the CPU, similar to how many modern processor chips are integrated into graphics processing units.“While the software application is running on the CPU, this unit sits on the side and performs garbage collection for the application,” says Maas. “In principle, this means that you could build a system where the software does not have to worry about garbage collection at all and just keeps using the available memory.”
OSNews reader Rui Caridade brought our attention to a YouTube channel with retrospectives about various computing devices from the past 40 years or so that would be interesting to our readers, such as RISCy Business – The Acorn RiscPC – ARM in a desktop, NeXTSTEP on a 486 Packard Bell, and The World’s First Laptop – Epson HX-20 / HC-20.
Ultron OS is an x86 Operating System written in C++. It is able to boot, initialise the GDT and IDT and do a couple of things that operating systems are supposed to do. Exactly what is says on the tin: a high school project to write an operating system.
RIOT powers the Internet of Things like Linux powers the Internet. RIOT is a free, open source operating system developed by a grassroots community gathering companies, academia, and hobbyists, distributed all around the world. RIOT supports most low-power IoT devices and microcontroller architectures (32-bit, 16-bit, 8-bit). RIOT aims to implement all relevant open standards supporting an Internet of Things that is connected, secure, durable & privacy-friendly. Back in my day, we used to call this an embedded operating system.
If you’ve been looking at operating systems for the TI-84+, chances are you’ve come across KnightOS. It’s well developed and has plenty of Unix-like features such as filesystems and tasks, and even a C compiler. But maybe that’s not what you want. You want an minimal operating system that allows you to extend it in any way you wish, bonus points if you don’t need to know Z80 assembly to do so. zkeme80 is that operating system, a minimal core with a mostly ANS standard conforming Forth interpreter/compiler. From words covering sprites and graphics, to text and memory access, everything you need to make the next hit Snake clone or RPN-based layer is already there. zkeme80 lowers the barrier of entry for customizing an operating system and enable rapid development cycles. Below the Forth layer, you’ll find two lowest level and highest level languages, Z80 assembly and Scheme. The best assembler is an extensible one, where writing macros should be a joy, not a pain, and Scheme has that macro system. I wish I still had the TI-83 I used back in high school. A friend and I bought a communication cable for our TI-83s so that we could play multiplayer Bomberman during classes. Fun times.
Updates & improvements– Menu, Process manager, CtrlAltDel, Cmd, Faster bootup The release is available from the download page. And just in case you forgot, MenuetOS is a pre-emptive, real-time and multiprocessor operating system written entirely in assembly.
HelenOS 0.8.0 has been released. HelenOS is a portable microkernel-based multiserver operating system designed and implemented from scratch. It decomposes key operating system functionality such as file systems, networking, device drivers and graphical user interface into a collection of fine-grained user space components that interact with each other via message passing. A failure or crash of one component does not directly harm others. HelenOS is therefore flexible, modular, extensible, fault tolerant and easy to understand. You can read the release notes to figure out what’s new and improved, and download this new release.
Guest post by Daniel Nesbitt
2018-12-04
OS News
Blueway Software Works (who purchased the intellectual property rights to PC/GEOS from the estate of Frank Fischer of Breadbox when he passed away) seems to have published the source code for PC/GEOS on their GitHub repository.
This repository is the official place to hold all the source code around the PC/GEOS graphical user interface and its sophisticated applications. It is the source to build SDK and release version of PC/GEOS. It is the place to collaborate on further developments.
While I can't ascertain the exact version that they have published, it looks like it contains all of the UI options/themes provided in Ensemble 2.0 onwards (i.e. Motif, OS/2 2.0 PM and Windows 95). It also looks like they have published the source code for all of the Breadbox titles (extra games and so on) that were sold separately. By the looks of it, they are also re-factoring the source to allow it to be compiled on Windows and Linux with more modern toolchains.
IHK/McKernel is a light-weight multi kernel operating system designed specifically for high performance computing. It runs Linux and McKernel, a lightweight kernel (LWK), side-by-side on compute nodes primarily aiming at the followings:
- Provide scalable and consistent execution of large-scale parallel applications and at the same time rapidly adapt to exotic hardware and new programming models
- Provide efficient memory and device management so that resource contention and data movement are minimized at the system level
- Eliminate OS noise by isolating OS services in Linux and provide jitter free execution on the LWK
- Support the full POSIX/Linux APIs by selectively offloading system calls to Linux
Submitted by Jason Morris
2018-11-20
OS News
Now the 10th official release of Xformer, released on October 10 2018 and of course called Xformer 10, has been largely rewritten and optimized for today's Windows 10 PCs and Windows 10 ARM64 devices, such as Microsoft Surface tablets, all-in-one touch-screen Sony VAIO desktops, and all-day Qualcomm Snapdragon-based ARM64 tablets. Xformer 10 has also been verified to run on Windows 7 machines but some of the cool new features that you will read about below are best used with modern touch-screen hardware.
After almost three years of development by Xformer creator Darek Mihocka and fellow Atari 8-bit developer Danny Miller, there are two big themes in this major upgrade of the classic ATARI 8-bit emulator Xformer.
Xformer runs Atari 400/800, Atari 800XL, and Atari 130XE software on Windows PCs. This new version comes, among other things, with autodetection functionality that automatically selects the right settings based on the Atari program you load. Nifty.
Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) and Plan 9 (everything is a file system). It boots to a JITting Lisp-like REPL and offers the programmer/user the system's resources as filesystems.
You can run it on a Raspberry Pi 2, or as a hosted operating system on ARM Linux, x86 Linux, OS X, Windows, and even on AmigaOS 3.x.
This paper presents an evaluation of the use of a high-level language (HLL) with garbage collection to implement a monolithic POSIX-style kernel. The goal is to explore if it is reasonable to use an HLL instead of C for such kernels, by examining performance costs, implementation challenges, and programmability and safety benefits.
The paper contributes Biscuit, a kernel written in Go that implements enough of POSIX (virtual memory, mmap, TCP/IP sockets, a logging file system, poll, etc.) to execute significant applications. Biscuit makes liberal use of Go's HLL features (closures, channels, maps, interfaces, garbage collected heap allocation), which sub- jectively made programming easier. The most challenging puzzle was handling the possibility of running out of kernel heap memory; Biscuit benefited from the analyzability of Go source to address this challenge.
On a set of kernel-intensive benchmarks (including NGINX and Redis) the fraction of kernel CPU time Biscuit spends on HLL features (primarily garbage collection and thread stack expansion checks) ranges up to 13%. The longest single GC-related pause suffered by NGINX was 115 microseconds; the longest observed sum of GC delays to a complete NGINX client request was 600 microsec- onds. In experiments comparing nearly identical system call, page fault, and context switch code paths written in Go and C, the Go version was 5% to 15% slower.
Scientific papers about operating system experiments - who doesn't love them?