The first beta version of the operating system Haiku R1

    After nine years of alpha testing and six years after the formation of the previous alpha release , the first beta release of the Haiku R1 operating system has been prepared . Initially, the project was created as a reaction to the closure of the BeOS OS and developed under the name OpenBeOS, but was renamed in 2004 due to claims related to the use of the BeOS trademark in the name. To evaluate the performance of the new release , several live boot images are available (x86, x86-64). The source code for most of the Haiku OS is distributed under the free MIT license , with the exception of some libraries, media codecs and components borrowed from other projects.


    Haiku OS is focused on personal computers, uses its own kernel, built on the basis of microkernel architecture, optimized for high responsiveness to user actions and efficient execution of multi-threaded applications. For developers, an object-oriented API is presented. The system is directly based on BeOS 5 technologies and is aimed at binary compatibility with applications for this OS. Minimum hardware requirements: Pentium II CPU and 256 MB of RAM (recommended by Intel Core i3 and 2 GB of RAM).

    The file system uses OpenBFS, which supports extended file attributes, journaling, 64-bit pointers, support for storing meta tags (for each file, you can save attributes in the form of key = value, which makes the file system similar to the database) and special indexes to speed up sampling by him. To organize the directory structure, “B + tree” trees are used. From the BeOS code, Haiku includes the Tracker file manager and the Deskbar, the source codes of which were opened after BeOS left the stage.

    Major innovations:

    • Added complete package management tools, including the pkgman command line utility and a graphical interface for installing programs and updating the system. The package manager does not resemble traditional solutions and does not manipulate the installation of individual file sets, but special file system images that are shipped in a compressed form. Package content is mounted during installation and is included in the / system / hierarchy, which is available in read-only mode.


      The user has the opportunity to install the package for personal use and then he is placed in the hierarchy ~ / config / inside his home directory. Automatic mounting of packages involved in a special component of the kernel - packagefs. Packages are enabled and disabled in atomic mode. Since the packages are not installed, but activated, it is possible to download the system state in the past in case of problems that emerged after the update, or use separate blacklists to exclude problematic components, or activate installed updates only after a reboot. Packages are formed on the basis of a revised archive of HaikuPorts , in which most popular open source applications are presented.

    • The capabilities and stability of the WebPositive web browser developed by the project using the WebKit engine port (HaikuWebKit) have been significantly expanded. For example, the browser now correctly plays videos from YouTube, and HaikuWebKit uses its own network layer to support network protocols;

    • The network configurator has been completely reworked, which, in addition to setting up a wireless network and network connections, allows you to manage system network services such as OpenSSH and ftpd. The configurator uses a plugin-based architecture that allows you to connect additional services, such as setting up a VPN and managing a web server;

    • The user interface has been upgraded and a new color scheme has been applied. The interface of Mail and Tracker applications has been reworked; their design has been brought to the same style with other applications;

    • The method of centralized color management has been changed; changes in the color theme in the settings automatically lead to color adjustments in the applications;

    • Extended multimedia subsystem. In the Media Kit framework, work was done to improve stability and reduce delays. Added support for streaming playback using the HTTP and RTSP protocols. Improved decoding plugin based on FFmpeg (FFmpeg port updated from version 0.10 to 4.0). Redesigned DVB tuner implementation. Improved sound drivers and enhanced support for HDA chips (High-Definition Audio);

    • The possibilities of the RemoteDesktop system developed by the project have been expanded for remote access to the desktop, which is based on the idea of ​​transferring drawing commands from the server to the client system without transferring ready bitmaps. To use RemoteDesktop, you do not need to run a separate server software, just connect via SSH and run the application. Any web browser can be used as a client;
    • Added support for booting on systems with EFI and the ability to use GPT partitions;
    • Added SerialConnect application for connecting to the system and transferring files via serial port or USB;
    • By default, instead of GDB, its own built-in debugger is offered, providing both a command line interface and a GUI;

    • The ASLR (Address-Space Layout Randomization), Data-Execution Prevention (DEP) and Supervisor Mode Access Prevention (SMAP / SMEP) protection are implemented and enabled by default. Changed the logic of the protection of the memory areas of the kernel;
    • The launch_daemon initialization daemon has been completely reworked, which has been turned from a simple application for launching shell scripts into a system manager similar to Apple's launchd. Launch_daemon can now take into account dependencies when starting servers, organizes delayed start, automatically restarts failed processes, etc. To manage the services proposed a new utility launch_roster;
    • Expanded support for running inside virtual machines. Added virtio drivers (virtio_scsi / virtio_block, virtio_net, virtio_rng, etc.), which can be used with QEMU / KVM and other hypervisors;
    • Updated drivers for network devices and added new drivers for wireless chips. Most drivers are ported from FreeBSD 11.1. Extended interlayer capabilities to ensure compatibility with FreeBSD;
    • Updated drivers for file systems. Added NFSv4 client and implemented a driver for BTRFS (read-only for now). Included in the delivery is the userlandfs subsystem for writing user-spaceted FS drivers (compatible with FUSE);
    • Added an experimental Bluetooth stack, which is currently limited to the search and pairing devices;
    • In addition to 32-bit assemblies, delivery of official assemblies for x86_64 architecture has begun.
    • In addition, since the release of alpha4, Qt support has been greatly improved and many Qt applications have been ported, which makes it relatively comfortable to use Haiku OS for everyday activities.

    Original article here .
    Release Notes in English here .

    PS: Any questions? We invite you to the Russian telegram channel.

    Also popular now: