Screen Version
School of Computer Science & Engineering
University of New South Wales

 Advanced Operating Systems 
 COMP9242 2005/S2 

Milestone 0: Familiarisation

This is a simple exercise designed to get you started on L4. It contains very detailed instructions, together with the existing source code and the L4 manual you should have no problem doing it.

Your Environment

Most of the 9242 binaries (eg. cross compilers) are in /home/disy/crossdev/$ARCH/bin. You can add this to your path with:
    ~ % export PATH=$PATH:/home/disy/crossdev/$ARCH/bin
If you are lazy you can just use the 9242 command for the cs9242 shell:
    ~ % 9242
    newclass starting new subshell for class COMP9242...
    ~ % mips64-elf-ld
    mips64-elf-ld: no input files

Building the L4 Kernel

Building the L4 User Code (libl4, sigma0)

Building SOS

The second part of milestone zero is to find a partner for the rest of the project. The project is to be completed, in pairs, unless prior permission has been obtained from the LiC.

Recommended procedure

  1. Read (and understand) the code in sos/main.c and the code in the tty_test application.
  2. Read the documentation on libserial.
  3. Design an IPC protocol to transfer data from the user program to your operating system.
  4. Write a client side implementation called tty_send_string (or similar) in ttyout.c.
  5. Change the syscall_loop in main.c to handle recognise your new protocol, and print out a debug message when you receive one of these messages.
  6. Edit tty_test.c so that it tests your tty_send_string function.
  7. Change the server side so that it now prints the data to the serial port.
  8. Change the implementation of printf to use your new tty_send_string function.
  9. Test that all of tty_test's output now goes to the second serial line, not the console debugger.


You will need to demonstrate user applications printing to the 2nd console via the serial driver, running on the U4600 hardware to the tutor during the demonstration period. You should be prepared to show your tutor which files you modified in your solution, and explain any design decisions you made.

You will let the tutor know who your partner is so that group accounts can be created for you.

Last modified: 28 Jul 2005.