Changes between Initial Version and Version 3 of Ticket #402

2012-03-04T20:26:13Z (12 years ago)
Vojtech Horky


  • Ticket #402

    • Property Milestone 0.5.0
    • Property Keywords needswork added
  • Ticket #402 – Description

    initial v3  
    1 Porting [ QEMU] is a highly strategic goal towards being self-hosting. It will allow us to run most HelenOS ports in simulation inside HelenOS itself. This may depend on at least rudimentary support for graphical output in applications.
     1Port [ QEMU] emulator to HelenOS
     3 Details::
     4 QEMU is a machine emulator that is able to emulate environment of various
     5 hardware platforms, including PC, PowerPC, ARM or SPARC.[[br]]
     6 The goal of porting this emulator to HelenOS is to allow developers run
     7 the emulation of HelenOS inside HelenOS.
     8 It is unlikely that single person would be able to port all features of QEMU
     9 to HelenOS. First of all, the scope of QEMU is really big (it offers also
     10 means for virtualization) to be ported during such short period.
     11 Next, HelenOS itself may not provide all the functionality needed
     12 (for example, HelenOS does not provide any graphical toolkit for GUI-oriented
     13 applications and working with graphical output in general is currently not
     14 as comfortable as in other operating systems).[[br]]
     15 Because of these limitations, the applicant shall choose a reasonable subset
     16 of QEMU features (e.g. it is not necessary to support all emulated peripherals) and focus on porting these.
     17 On the other hand, the solution must provide functional emulator with at least rudimentary graphical output.
     19 What Gains and Benefits will this bring?::
     20 The biggest benefit of this task is in the ability to run HelenOS inside
     21 HelenOS, thus possibly speeding-up development process and, as a more
     22 distant goal, develop HelenOS fully inside HelenOS.
     23 Also, the ability of an OS to run inside itself (i. e. be self-hosting) can be seen as a proof of
     24 matureness of the system.
     26 Difficulty::
     27 Medium to difficult.
     29 Required skills::
     30 A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX application environment.
     31 Previous experience with development of machine emulator or some virtualization tool would be beneficial to the applicant.
     33 Possible mentors::
     34 HelenOS Core Team