Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 5 and Version 6 of Tutorial


Ignore:
Timestamp:
2014-12-18T17:50:21Z (4 years ago)
Author:
Martin Decky
Comment:

more links

Legend:

Unmodified
Added
Removed
Modified
  • Tutorial

    v5 v6  
    33HelenOS is a portable general-purpose operating system designed and implemented from scratch. It is based on microkernel multiserver design principles. This means that the kernel of the system has relatively limited responsibilities (mostly just memory and resource management, scheduling of threads and facilitating communication between user space tasks) and most of the core system functionality is implemented in user space (including for example device and file system drivers). The core system functionality is decomposed into individual, isolated, intensively communicating and mostly simple user space tasks. This orthogonal decomposition of concerns follows the concepts of component-based software engineering. You can learn more about HelenOS in our [wiki:FAQ FAQ].
    44
    5 The HelenOS project has been in constant development since 2005 (with earlier prototypes even predating its official inception), but the development team is rather small and its manpower is limited. Therefore HelenOS is still not a drop-in replacement for mature operating systems such as GNU/Linux. It simply lacks some end-user features of a desktop operating systems. But it is an excellent research, experimenting and prototyping tool, also thanks to a well-documented and readable code. Over the years, many contributions to HelenOS were done by university students in the context of their bachelor/master theses or programs such as Google Summer of Code and ESA Summer of Code in Space. This also demonstrates the friendly learning curve of HelenOS.
     5The HelenOS project has been in constant development since 2005 (with earlier prototypes even predating its official inception), but the development team is rather small and its manpower is limited. Therefore HelenOS is still not a drop-in replacement for mature operating systems such as GNU/Linux. It simply lacks some end-user features of a desktop operating systems. But it is an excellent research, experimenting and prototyping tool, also thanks to a well-documented and readable code. Over the years, many contributions to HelenOS were done by university students in the context of their bachelor/master theses or programs such as [wiki:GSOC Google Summer of Code] and ESA Summer of Code in Space. This also demonstrates the friendly learning curve of HelenOS.
    66
    7 As for the features, HelenOS currently supports 7 hardware architectures (in most cases on actual hardware, not just in emulators) from a single portable code base. HelenOS has support for SMP, textual and graphical user interface (a composing window manager), IPv4 and IPv6 networking (including drivers for several ethernet cards), USB bus and USB devices, PATA and SATA disk drives, sound (including drivers for Sound Blaster 16 and Intel HD Audio) and more.
     7As for the features, HelenOS currently supports [wiki:HardwareSupport 7 hardware architectures] (in most cases on actual hardware, not just in emulators) from a single portable code base. HelenOS has support for SMP, textual and graphical user interface (a composing window manager), IPv4 and IPv6 networking (including drivers for several ethernet cards), USB bus and USB devices, PATA and SATA disk drives, sound (including drivers for Sound Blaster 16 and Intel HD Audio) and more.
    88
    99This is a brief step-by-step tutorial for running HelenOS in QEMU and experiencing some of its features. There is also a [wiki:UsersGuide more comprehensive guide] and an [wiki: entire wiki] with various user and developer resources.
     
    4848Once you get bored by this, just run `tetris` from the terminal window. This should make you occupied for some time.
    4949
    50 The shell supports some basic commands you are likely familiar with: `ls`, `cat`, `cd`, `pwd`, `cp`, `mv`, `rm`, `mkdir`, `echo`, etc. If you get totally lost, just run the `help` command to give you some hints. You can use `help commands` to list the internal commands of the shell and `help help` to get more information on how the help system works. The shell provides commands history (Up and Down keys) and clipboard integration (Shift + Left and Shift + Right keys to select, Ctrl + C and Ctrl + V to copy and paste).
     50The shell supports some basic commands you are likely familiar with: `ls`, `cat`, `cd`, `pwd`, `cp`, `mv`, `rm`, `mkdir`, `echo`, etc. If you get totally lost, just run the `help` command to give you some hints. You can use `help commands` to list the internal commands of the shell and `help help` to get more information on how the help system works. The shell provides commands history (Up and Down keys) and [wiki:TextEditing clipboard integration] (Shift + Left and Shift + Right keys to select, Ctrl + C and Ctrl + V to copy and paste).
    5151
    5252There is also support for different keyboard layouts. You can switch between three sample layouts using:
     
    7474  - Play an XM module file. The pitch of some of the notes is not correct because the player does not implement all the FastTracker II effects yet.
    7575* `edit demo.txt`
    76   - Run a simple text editor to edit some UTF-8 text file. The entire system uses UTF-8 to store character strings and texts, although the terminal font does not support all Unicode glyphs.
     76  - Run a simple [wiki:UsersGuide/Editor text editor] to edit some UTF-8 text file. The entire system uses UTF-8 to store character strings and texts, although the terminal font does not support all Unicode glyphs.
    7777* `loc`
    7878  - Display the location service entries (mostly hardware devices).
     
    8787* `tetris`
    8888  - Play tetris.
     89
     90If you are interested in the other commands, you can use our [wiki:UsersGuide/CommandReference command reference page].
    8991
    9092== Advanced: Development and Testing ==