Context Navigation

Release Notes for HelenOS mainline

Note: This document is a draft describing a future HelenOS release and is subject to change. The software described here has not been released yet. To get these latest and greatest features now, check out our Bazaar mainline. (But you will also get the latest bugs).

HelenOS 0.7.1 (Enlightened Zeal) was released on November 12, 2017.

This document contains a summary of changes made to HelenOS since release 0.7.0.

Special Notes for this Release

HelenOS is still an experimental operating system at this point in time and support for many platforms and hardware devices is not production-ready. For the time being, the agile 6-month release cycle might therefore produce releases that are slightly less "polished" in certain aspects, but it is also a driving force towards turning HelenOS into a production-ready operating system in the near future.

Features Introduced in This Release

General

This is the last release which uses the Bazaar version control system (VCS). Future releases will use Git.

The system can again be built by clang for amd64

Kernel

Basic support for capabilities

IPC phones have in fact been a sort of capabilities since the beginning. This work generalizes some of the IPC code to support more kernel object types.

IRQ structures are now managed using capabilities. It is no longer possible to unregister someone else's IRQ.

The limit of 64 IPC phones has been removed and is now virtually infinite.

The kernel is now using the resizable hash table which has been already used in uspace since 2012.

Services and Drivers

The naming service was converted to use the async framework

CUDA driver was converted to the Device Driver Framework

The interrupt controller drivers were converted to using the Device Driver Framework

User can now unload an idle driver using devctl unload-drv

Framebuffer now gets mapped only when actually used

File Systems

All file system operations are relative to a specified node, client-side root

Mountpoints are no longer stored in the filesystem servers, but in VFS

Inbox mechanism for passing files from parent to a new child

Client-side I/O cursors (file positions)

Overhaul of the client interface; all APIs begin with the vfs_ prefix and can be used after including vfs/vfs.h

Removal of some POSIX-ish headers and definitions

File system probing

Volume label support

Networking

Lots of networking fixes in TCP, DNS and HTTP protocols

TCP unit tests

Applications

The pkg utility was added which allows installing packages from ​ci.helenos.org into a running instance of HelenOS