hgesser.com/ulix/

The Implementation of the ULIX Literate Operating System

header

Navigation

Privates

Publikationen

Studium

Software

Sonstiges

Blaue Links: intern
Rote Links: extern

Suche Linux-Bücher bei
Amazon.de


Subscribe ULIX: Literate Unix

A diary documenting the implementation of ULIX-i386

Welcome to the ULIX blog.

Ulix (Literate Unix) is a Unix-like operating system developed at University of Erlangen-Nürnberg. I use D. E. Knuth's concept of Literate Programming for the implementation and documentation. The goal was 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 is written in C and assembler for the Intel architecture. The literate programming part is handled by noweb.

On this page I document my progress with the implementation.


Navigation: 2015 | 2014 | 2013 | 2012 | 2011


User Mode Shell (25.11.2012)


Ulix now boots into a user mode shell -- a real shell process which can fork new processes. Currently the new shell has only a few (internal) commands; it can show the process list (ps) and the files on the floppy (ls) and look into them with the head command. Ah, it also can exit...

The rewrite of the task-switching code seems to work a lot better than the original code which was based on a tutorial that I found on the web. For now, there are no more problems with the stacks. I've also changed the code for the system call handlers which now works with the same set of saved registers as interrupt handlers do; that makes life easier, because there are always the same data on the stack.

Also, the document which describes Ulix has crossed the 400 pages barrier today. It will likely grow to something like 600-700 pages before Ulix is finished.

[ Path: | persistent link ]

Copyright © 2011-2015 Hans-Georg Eßer; Server: Debian Linux, Apache Web Server, blog page powered by blosxom :: the zen of blogging, Theme: Hazard Area 1.6 (modified), created by Bryan Bell, Copyright © 2000-2006 Weblogger.com.