UlixOS.org
Welcome to UlixOS.org!
Ulix (Literate Unix) is a Unix-like operating system
that was developed at
University of Erlangen-Nuremberg.
We used
Donald E. Knuth's
concept of
Literate Programming
for the implementation and documentation. The intention was to create a fully
working system which can be used in operating system courses to show
students how OS concepts (such as paging and scheduling) can be
implemented. Literate programs are very accessible because they can be
read like a book; the order of presentation is not enforced by program
logic or compiler restrictions, but instead is guided by the implementer's
creative process.
Ulix was written in
C and
Assembler
for the Intel x86 architecture; for literate programming we used
Norman Ramsey's
noweb tool.
Ulix has already been used five times in operating system courses at
TH Nürnberg
(Nuremberg Institute of Technology) and
University of Erlangen-Nuremberg;
lecture slides
and videos in German language are online (see below).
Your options are ...
(Red links point to external resources.)
Releases / News
- 2019/10: The VM image for VirtualBox has been updated (so that apt still works in the old Debian 6.0.1), and there is a new VM image that should work well with VMware.
- 2015/11: Thomas Cyron received a
Förderpreis der DATEV eG award for his bachelor thesis in which he described the implementation of pipes for Ulix.
- 2015/09: rev. 0.13 (initial release, Ulix book, source available on
GitHub)
Publications
Author, Title |
Language |
Early work (before the i386 port) |
[1]
|
Felix C. Freiling:
Betriebssysteme,
Lecture slides of the operating systems course,
University of Mannheim,
2008,
archived version of the slides.
|
German |
[2]
|
Ralf Hund:
The Ulix CPU,
Seminar Paper,
University of Mannheim,
August 2008
|
English |
[3]
|
Balthasar Biedermann:
Entwicklung des ULIX-Compilers,
Bachelor Thesis,
University of Mannheim,
September 2008,
bachelorarbeit-2008-biedermann.pdf
|
German |
[4]
|
Sichol Thanormsuay:
Entwurf und Implementierung einer graphischen Oberfläche für den Ulix-Emulator,
Bachelor Thesis,
University of Mannheim,
December 2008,
bachelorarbeit-2008-thanormsuay.pdf
|
German |
[5]
|
Romi Sorge:
Entwurf und Implementierung einer MMU für den Ulix-Emulator,
Bachelor Thesis,
University of Mannheim,
February 2009
|
German |
[6]
|
Nadine Benedum:
Entwicklung eines Assemblers im Rahmen des ULIX-Forschungsprojekts,
Bachelor Thesis,
University of Mannheim,
June 2009
|
German |
Recent work (since the i386 port) |
[7]
|
Frank Kohlmann:
Implementierung eines ELF-Programm-Loaders für das ULIX-Betriebssystem,
Bachelor Thesis,
Ohm-Hochschule Nürnberg,
February 2013,
ulix-kohlmann-elfloader.pdf
|
German |
[8]
|
Liviu Beraru:
Implementation eines Dateisystems und einer RAM-Disk für das Betriebssystem ULIX,
Bachelor Thesis,
Ohm-Hochschule Nürnberg,
February 2013,
ISBN: 3639626222,
ulix-beraru-fs-ramdisk.pdf
|
German |
[9]
|
Hans-Georg Eßer:
Hobby-Betriebssysteme unter Linux entwickeln,
Presentation at the Linux-Infotag 2013, Linux User Group Augsburg (LUGA),
March 2013,
Slides,
Video
|
German |
[10]
|
Markus Felsner:
Implementation eines Schedulers für das Betriebssystem ULIX,
Bachelor Thesis,
FOM Hochschule für Ökonomie und Management,
August 2013,
ulix-felsner-scheduler.pdf
|
German |
[11]
|
Hans-Georg Eßer:
LiPPGen: A presentation generator for literate-programming-based teaching,
TUGboat, Volume 34 (2013), No. 2, pp. 190-195, TeX Users Group,
August 2013,
tb107esser.pdf
|
English |
[12]
|
Hans-Georg Eßer:
Betriebssystem-Entwicklung mit Literate Programming,
Course at TH Nürnberg,
October 2013-January 2014,
Lecture slides and videos
|
German |
[13]
|
Florian Knoll:
Implementation eines Paging-Subsystems für das Lehrbetriebssystem Ulix mit Literate Programming,
Bachelor Thesis,
FOM Hochschule für Ökonomie und Management,
May 2014,
ulix-knoll-paging.pdf
|
German |
[14]
|
Cliff Dornig:
Implementierung eines SLIP-Moduls für das Lehrbetriebssystem ULIX,
Bachelor Thesis,
FOM Hochschule für Ökonomie und Management,
July 2014,
ulix-dornig-slip.pdf
|
German |
[15]
|
Hans-Georg Eßer:
Betriebssystem-Entwicklung mit Literate Programming,
Course at TH Nürnberg,
October 2014-January 2015,
Lecture slides and videos
|
German |
[16]
|
Malte Kraus:
Vulnerability analysis of the ULIX operating system,
Seminar Paper,
University of Erlangen-Nuremberg,
February 2015,
ulix-kraus-vulnerability.pdf
|
English |
[17]
|
Stefan Konopik:
Implementation eines dynamischen Schedulers für das Lehrbetriebssystem Ulix,
Bachelor Thesis,
University of Erlangen-Nuremberg,
March 2015
|
German |
[18]
|
Thomas Cyron:
Implementation of Pipes for the Ulix Operating System,
Bachelor Thesis,
TH Nürnberg,
June 2015,
ulix-cyron-pipes.pdf
|
English |
[19]
|
Hans-Georg Eßer:
Design, Implementation and Evaluation of the ULIX Teaching Operating System,
Dissertation,
University of Erlangen-Nuremberg,
September 2015,
HansGeorgEsserDissertation.pdf
|
English |
[20]
|
Hans-Georg Eßer and Felix Freiling:
The Design and Implementation of the ULIX Operating System,
University of Erlangen-Nuremberg,
September 2015,
ulix-book-0.13.pdf
|
English |
[21]
|
Simon Brugger:
Implementation eines FAT-Treibers für das Lehrbetriebssystem ULIX,
Bachelor Thesis,
FOM Hochschule,
January 2016,
ulix-brugger-fat.pdf
|
German |
[22]
|
Andreas Kurz:
Entwicklung eines Overlay-Dateisystems für das Lehrbetriebssystem Ulix mit Literate Programming,
Bachelor Thesis,
TH Nürnberg,
September 2016,
ulix-kurz-overlayfs.pdf
|
German |
Ulix used in lectures
- Friedrich Alexander Universität Erlangen-Nürnberg, winter 2019/20
- Friedrich Alexander Universität Erlangen-Nürnberg, winter 2018/19
- Friedrich Alexander Universität Erlangen-Nürnberg, winter 2017/18
- TH Nürnberg (Nuremberg Institute of Technology), winter 2015/16
- TH Nürnberg (Nuremberg Institute of Technology), winter 2014/15
- TH Nürnberg (Nuremberg Institute of Technology), winter 2013/14
Copyright © 2008-2019 Felix Freiling;
Copyright © 2010-2019 Hans-Georg Eßer
Website contact: <feedback [[AT]] ulixos [[DOT]] org>
|
Impressum
|