Intro to GNU-Hurd

This topic was published by and viewed 388 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author
  • #3433
    • Topics - 444
    • @devyncjohnson

    GNU/Linux is a popular operating system. Linux is the OS kernel and GNU is the userland. Linux is maintained by Linus Torvalds (the inventor) and others, and the GNU userland is managed by the GNU Project. However, the GNU Project has been working on a kernel for the GNU userland to make a complete GNU operating system. This operating system is called Hurd or GNU Hurd.

    "Hurd" stands for "Hird of Unix-Replacing Daemons" and "Hird" stands for "Hurd of Interfaces Representing Depth".

    The Hurd kernel is a microkernel rather than a monolithic kernel like Linux. Since it is a microkernel, the drivers are in the userland. With this design, the kernel is very small and only manages essential and low-level tasks. Also, the kernel acts like a daemon that can be restarted in the event of system crashes. Users can also run multiple instances of the kernel in parallel. The GNU Hurd operating system is a Unix-like OS like Minix, which also uses a microkernel. Once a stable version of GNU Hurd is released, it may be a suitable alternative to Minix.

    Currently, the Hurd kernel only supports the i386 architecture. However, the kernel is still under active development and no stable version has been released at the time this article was written. In addition, since the Hurd kernel is licensed under the GPL license, developers can easily make ports.

    GNU Hurd currently works and can be installed on bare hardware or in a virtual machine (like QEMU and Xen). In addition, LiveCDs are available. However, the Hurd kernel is slow. The developers are working on making it operate faster.

    GNU Hurd userland applications use the glibc C Standard Library and are compiled in the ELF binary format. However, because these characteristics are the same in Linux systems, this does not mean Linux and Hurd users apps will be compatible. This is due to the differing kernels. Linux applications use Linux system calls while Hurd software uses the Hurd syscalls. Although, some software can be ported or re-compiled.

    FUN FACT: The Hurd kernel has less syscalls than the Linux kernel.

    Various Hurd distros are available such as Arch Hurd which is similar to Arch Linux. There is also Debian GNU/Hurd which is similar to Debian Linux. There is also a form of NixOS that uses Hurd instead of Linux.

    NOTE: Remember, Linux and Hurd are not the same. They are two different operating system kernels that both typically use the GNU userland.

    A GUI is available for GNU/Hurd. The X11 display server (Xorg) has been successfully ported to Hurd including many graphical applications. Various window managers also work on GNU/Hurd (such as IceWM). GNU/Hurd may also use a command-line user-interface (shell). Bash is the default shell used by GNU/Hurd.

    GNU/Hurd boots up using the GRUB bootloader. Once booted, init is the first process that begins other processes.

    Hurd supports some filesystems. Additional support can be expected in the future. Currently supported filesystems include ext2, UFS, Swap, ISO9660, NFS, and others. Hurd can use a swap partition (just like Linux). There is no difference between a swap partition made by GNU/Hurd or Linux.

    Further Reading

Viewing 1 post (of 1 total)