House

Haskell User's Operating System and Environment

House is a demo of software written in Haskell, running in a standalone environment. It is a system than can serve as a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language. More details are available in our ICFP 2005 paper: A Principled Approach to Operating System Construction in Haskell.

House is based on

To this, we have added

There is also work in progress on implementing an L4 compatible microkernel based on this platform (Rebekah Leslie and Mark P Jones).

Files to download

The table below lists files available for download.

Bootable floppy images for testing house

These are 1.44MB floppy images that can be used for testing House. They can be booted in a PC emulator like QEMU (qemu -m 256 -fda hOp.flp), or if written to a real floppy disk (cp hOp.flp /dev/fd0), directly on your PC.

Source code

Get a source bundle if you want study the source code, or modify the source code and compile your own version of House. In addition to all the required source code, the bundle contains precompiled Linux binaries of GHC (tested under RH9, FC3, FC4 and Ubuntu 6.06), so that you can get started quickly, without first having to compile the hOp version of ghc-6.2 and its run-time system. To create a floppy image, you also need to install the genext2fs program. If your Linux distribution uses gcc >=4.0, you may need to change the CC=gcc line in the kernel/Makefile to use an older version of gcc (e.g. CC=gcc-3.4).

Source BundleFloppy ImageNotes
House-0.8.91.tar.bz2House.flp Ported to GHC 6.8.2. See Kenny Graunke's page on House.
House-0.8.tar.bz2 (26MB) hOp-0.8.flp Updated license info. Interrupt handling fixes.
House-0.7.tar.bz2 (26MB) hOp-0.7.flp August 2006 version. Bug fixes.
hOp-0.6.flp February 2006 version. Includes initial support for TCP and DHCP. Some changes to the interrupt handling.
hOp-0.5.flp Essentially the version that was demoed at ICFP 2005.
hOp-0.3.flp April 2005 version.
hOp-hw2004.flp Essentially the version that was demoed at the 2004 Haskell Workshop. It has some Gadget demos, and application binaries that can be run in a separate address space. See screendump-hw2004.png.
hOp-0.1.flp An early version with some Gadget demo applications. See screendump.png.

House Applications

The following applications are available in the House demo:

Screenshots

[From October 2005] [From ICFP 2005] [From the Haskell Workshop 2004] [From version 0.1

Links

Thomas Hallgren
Last modified: Sep 2009
Check Links