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

Changes between Initial Version and Version 1 of ReleaseNotes/0.4.1

2009-08-03T21:25:08Z (11 years ago)
Jiri Svoboda

Copy Trunk release notes to 0.4.1


  • ReleaseNotes/0.4.1

    v1 v1  
     1= Release Notes for HelenOS 0.4.1 =
     3HelenOS 0.4.1 (Escalopino) was released on 2009-08-03.
     5This document contains a summary of changes made to HelenOS since release 0.4.0.
     7== Special Notes for this Release ==
     9HelenOS 0.4.1 contains an ATA disk driver which was only ever tested in Qemu and ''not on real hardware''. There is no telling what it will do with real disks. Running HelenOS on real hardware is always at your own risk. However, under no circumstances you should try to load the ATA driver on your machine, unless your hard drive is disconnected or you consider your data (and possibly your hardware) expendable. '''Only use ''ata_bd'' in Qemu, never on hardware'''!
     11== Features Introduced in This Release ==
     13=== General ===
     15 * Multilingual text support
     16   * HelenOS now uses UCS as its primary representation for characters and UTF-8 as the primary string encoding, both in kernel and in user space. (With UTF-32 as an alternative for some special internal purposes).
     17 * New string API
     18   * The kernel and user space use a new (non-standard) string API which allows convenient processing of UTF-8 strings.
     19 * Architecture independent I/O
     20   * Both kernel and user-space drivers now use PIO functions so the same drivers work on architectures with separate I/O space and memory mapped I/O space.
     21 * User-space drivers are more independent
     22   * User-space drivers can handle interrupts without help from a kernel 'little brother'.
     23 * PowerPC Hardware Support
     24   * The ''ppc32'' now produces an ISO CD image instead of a kernel image. In addition to PearPC it can now boot in Qemu and on real Apple iMac and iBook G4 (keyboard does not work yet, however).
     25 * ARM Hardware Support
     26   * HelenOS has been ported to Integrator/CP (ARM926EJ core module) QEMU target.
     28=== Kernel ===
     29 * Kernel keyboard and output drivers were restructured for more flexibility and portability, with some redundant drivers removed.
     31=== Services and Drivers ===
     32 * ''kbd'' has been rewritten and modularized. It supports three layouts (US QWERTY, US Dvorak and Czech QWERTZ).
     33 * Console inheritance has been implemented at long last. Now tasks executed on the command line will use the same VC as their parent shell. The implementation makes use of the new ''devfs'' and a helper program, ''getvc''.
     34 * ''rd'' now uses an abstract block device interface.
     35 * Added ''gxe_bd'' for GXemul disk device.
     36 * Added ''ata_bd'' for ATA disks simulated in Qemu.
     37 * Added ''file_bd'' block device backed by a file.
     39=== File Systems ===
     41 * Support for multiple file systems mounted at once. (#23)
     42 * Support for stat() and fstat() file system calls.
     43 * The file system block cache will write back blocks to the device, it still does not flush the cache periodically though.
     44 * ''tmpfs'' now handles hard links properly. (#73)
     45 * ''tmpfs'' now supports multiple instances. (#35)
     46 * Added ''devfs'' file system for handling access to console via a file handle.
     48=== Applications ===
     50 * Tester
     51   * ''tester'' is controlled by command-line arguments rather than being interactive.
     52 * Tetris
     53   * ''tetris'' now uses colors.
     54   * Score table is now persistent.
     55 * Bdsh
     56   * A program is started at the same console as the shell. Bdsh waits for it to finish. If it crashed or returned non-zero, the shell will print out a message.
     57   * Support for simple ''mv'' command.
     58   * Support for simple ''mount'' command.
     60=== Miscellaneous ===
     62 * New Memory Allocator
     63   * Doug Lee's memory allocator has been removed and replaced with a simple first-fit allocator. The new allocator has more readable code making it easier to debug, modify and maintain.
     64 * Build system
     65   * Pre-configured defaults greatly simplify the process of configuring a HelenOS build.
     66 * Fibril Synchronization Primitives
     67   * The C library now provides mutexes, reader-writer locks and condition variables that synchronize fibrils (as opposed to threads).
     68 * The recommended gcc version is 4.3.3. Other versions can result in build failures due to overzealous warnings turned into errors by the -Werror gcc option. The toolchain scripts in the contrib/toolchain will install a supported version of gcc and binutils.
     70== Regressions in This Release ==
     71 * Support for mips32 malta machine
     72   * Support for the Simics model of the mips32 malta machine has been removed due to code cleanup.
     73 * Mouse support on ia32 and amd64
     74   * Mouse support was temporarily removed from the i8042 driver due to code cleanup. A new mouse driver will be reintroduced in a near future release.
     75 * Keyboard in PearPC
     76   * We are in progress of rewriting the Mac keyboard driver. The kernel driver is already better than the old one, but the user-space driver is not finished (which means there's no way you can get to the kernel console so you cannot do anything.)
     78== Known Bugs ==
     79 * For the known bugs, please see the [!~doc&keywords=!~wiki&type=defect list] of defects logged for the next releases.