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
|
v0.12: Ulix code and book finished (02.09.2014) |
One week ago I finished work on the first edition of the Ulix book.
It will be published once my PhD dissertation has been accepted and
defended, but I can already say that the book has almost 700 pages
with lots of figures and tables. Ulix seems to be stable enough
for playing a bit with it.
The latest additions to the code were pthread-style threads
(implemented in the kernel, but with a user mode interface)
and pthread mutexes.
A printed version of the book sits beside my other operating
systems books (see picture), and I like it a lot :)
[ Path: | persistent link ] | |
v0.11: Filesystem Code complete (23.04.2014) |
The latest Ulix version's filesystem code is feature-complete.
All Minix2 functions work fully (including support for single
and double indirection blocks and directories with up to 7x16
entries),
there's a new virtual /dev filesystem which allows access to
the two floppies, two harddisks and RAM (/dev/kmem), the buffer
cache is now used for caching writeblock() calls as well.
There's also the beginning of a kernel mode thread package
with some of the pthread_ and pthread_mutex_ functions.
[ Path: | persistent link ] | |
v0.10: VFS, switch to kernel shell (and back) (07.01.2014) |
The Virtual Filesystem (VFS) mentioned in the 0.09 news is complete now which
means: we can 'cd' to directories on mounted media, read, write, and delete
files and show directory contents.
Entering the kernel mode shell via Shift+Esc (which was possible before) is no
longer a one-way ticket, typing exit brings us back to the user mode program.
Also, the "ULIX lectures" (the OS development course at TH Nuremberg) is about
to end soon, with most of the ULIX code presented during the lectures (or worked
on/rebuilt in the tutorial sessions).
What's left for ULIX? Signaling, Page Replacement, User mode synchronization.
[ 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.
|