pop up description layer
Last modified: 20080520:180535/first version for 2008

FIT2022 AJH-2008-10

FIT2022 Computer Systems II Lab Notes

Laboratory Timetable | Laboratories | Lab 1: The Mutual Update Problem

Laboratory Timetable

Lect Tute Lab Date Objs Content
    1 23 Jul 6 Python and Mutual Update
    2 06 Aug 3,4 Processes
    3 20 Aug Disk and File Systems
    4 03 Sep Memory Management
    5 17 Sep Process Scheduling
    6 08 Oct Disk Scheduling

Laboratories

The laboratories are designed to give the student hands-on development of various computer systems concepts. Each lab is offered as a partial developed set of program exercises, where demonstrations show the student what is required, and extensions to complete or extend the exercise are required to be completed by the student. This is called the lab work, and it is a required part of the assessment for the unit. Students may work together in pairs (if they wish) for this purpose.

The laboratories are structured around using the programming language Python to develop the various subsystems of an operating system, and to use these components to explore the working behaviour in a very hands-on way. The labs culminate in the development of a complete working Python Operating System (PythOS) written entirely in Python.

An introduction to the topic of the lab will be provided in the tutorial in the week preceeding the lab. (Students should attend all tutorials, and a roll will be kept.) Students should read through the lab sheet in the week between the tutorial and corresponding laboratory, and should prepare their lab work as required.

Laboratory Hurdle

The laboratories are compulsory, and attendance records will be kept. A mark will be allocated for each lab attended, on the following scale:

0
Non-attendance at lab
1
Lab attended, but lab work unsatisfactory.
2
Lab attended, and lab work satisfactory.

A total mark of 8 or more (over 6 laboratories) is required to complete the laboratory hurdle.

Laboratory Journal

Students should keep a journal of work done for and in the laboratory. This journal may be kept electronically or on paper, but it must be written up as a text or LaTex document (no Word documents will be accepted!) and recorded in your svn repository.

The journal should contain the material prepared in advance to the lab session, together with answers to each of the exercises attempted during the lab session.

You are asked to keep your laboratory journals on-line, using the svn repository provided, for the reason that I will be reviewing these at the end of semester with a view to see what things worked well, and what didn't. This information will be used to improve next year's unit.

Lab 1: The Mutual Update Problem

Lab Session 1 is an introductory session, with some tutorials on Python and Subversion (SVN). Python is an object-oriented scripting language, which allows rapid development of software projects, offers excellent error messaging, comes with a comprehensive library system, and importantly for this unit, has a reflexive eval function. Subversion is a version control system which you can use for the lab work development. The lab also shows what happens when you have several people trying to update a file simultaneously. This is a common scenario in Operating Systems, and the lab will show you how this problem arises, and how it might be solved.

The group work to be used throughout the unit will also be introduced.


Document History

20080520:180535 2.0.0 ajh first version for 2008

This page maintained by John Hurst.
Copyright Monash University Copyright Policy
2578 accesses since
06 Oct 2007
My PhotoTrain Photo

Generated at 20091123:0220 from an XML file modified on 20080528:1058
Maintainer use only; not generally accessible: Local Server Work Server CSSE Server

2580 accesses since 06 Oct 2007, HTML cache rendered at 20091124:1236