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

Changes between Version 30 and Version 31 of ReleaseNotes/Trunk

2009-08-03T21:31:24Z (12 years ago)
Jiri Svoboda

Purge document


  • ReleaseNotes/Trunk

    v30 v31  
    33'''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 SVN trunk. (But you will also get the latest bugs).
    5 HelenOS ''version'' was released on ''date''.
     5HelenOS ''version (codename) '' was released on ''date''.
    7 This document contains a summary of changes made to HelenOS since release 0.4.0.
     7This document contains a summary of changes made to HelenOS since release 0.4.1.
    99== Special Notes for this Release ==
    11 HelenOS 0.4.0 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'''!
    1313== Features Introduced in This Release ==
    1515=== General ===
    17  * Multilingual text support
    18    * 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).
    19  * New string API
    20    * The kernel and user space use a new (non-standard) string API which allows convenient processing of UTF-8 strings.
    21  * Architecture independent I/O
    22    * 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.
    23  * User-space drivers are more independent
    24    * User-space drivers can handle interrupts without help from a kernel 'little brother'.
    25  * PowerPC Hardware Support
    26    * 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).
    27  * ARM Hardware Support
    28    * HelenOS has been ported to Integrator/CP (ARM926EJ core module) QEMU target.
     17 * Feature
     18   * Description
    3020=== Kernel ===
    31  * Kernel keyboard and output drivers were restructured for more flexibility and portability, with some redundant drivers removed.
     22 * Item
    3324=== Services and Drivers ===
    34  * ''kbd'' has been rewritten and modularized. It supports three layouts (US QWERTY, US Dvorak and Czech QWERTZ).
    35  * 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''.
    36  * ''rd'' now uses an abstract block device interface.
    37  * Added ''gxe_bd'' for GXemul disk device.
    38  * Added ''ata_bd'' for ATA disks simulated in Qemu.
    39  * Added ''file_bd'' block device backed by a file.
     26 * Item
    4128=== File Systems ===
    43  * Support for multiple file systems mounted at once. (#23)
    44  * Support for stat() and fstat() file system calls.
    45  * The file system block cache will write back blocks to the device, it still does not flush the cache periodically though.
    46  * ''tmpfs'' now handles hard links properly. (#73)
    47  * ''tmpfs'' now supports multiple instances. (#35)
    48  * Added ''devfs'' file system for handling access to console via a file handle.
     30 * Item
    5032=== Applications ===
    52  * Tester
    53    * ''tester'' is controlled by command-line arguments rather than being interactive.
    54  * Tetris
    55    * ''tetris'' now uses colors.
    56    * Score table is now persistent.
    57  * Bdsh
    58    * 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.
    59    * Support for simple ''mv'' command.
    60    * Support for simple ''mount'' command.
     34 * Item
    6236=== Miscellaneous ===
    64  * New Memory Allocator
    65    * 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.
    66  * Build system
    67    * Pre-configured defaults greatly simplify the process of configuring a HelenOS build.
    68  * Fibril Synchronization Primitives
    69    * The C library now provides mutexes, reader-writer locks and condition variables that synchronize fibrils (as opposed to threads).
    70  * 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.
     38 * Item
    7240== Regressions in This Release ==
    73  * Support for mips32 malta machine
    74    * Support for the Simics model of the mips32 malta machine has been removed due to code cleanup.
    75  * Mouse support on ia32 and amd64
    76    * 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.
    77  * Keyboard in PearPC
    78    * 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.)
     42 * Item
     43   * Description
    8045== Known Bugs ==
    8147 * For the known bugs, please see the [!~doc&keywords=!~wiki&type=defect list] of defects logged for the next releases.