Computer Structures G2
Tel: 201 2422
An Operating System is the most widely used piece of software in any computer.
This unit aims to teach the concepts underlying Operating Systems, and to
show how different choices in Operating System design and implementation have
effects on applications, application programmers and user environments.
At the end of this unit students will understand the various levels of system
and application software. They will be familiar with the major Operating System
services such as file systems, memory management, process management, device
control and network services. They will understand how design decisions in
Operating Systems affect users of the system.
In addition, students will have used a major Operating System extensively,
with experience in using an interactive command line programming language.
They will also will have experience in using a systems programming language
with an Application Programmers Interface to the Operating System for its
This semester the Operating System will be Unix, and the systems programming
language will be C.
For undergraduates: Data Structures and Algorithms, and Computer Organisation
2. For graduates: Programming Techniques G1, Systems Analysis G1 and Computer
If you do not have CO2, you should not do this unit.
CO2 and about half of Operating Systems will combine to form a new
unit Systems Software next year. The other half will combine with
Data Comms to form a new third year unit.
Similarly, CSG1 and CSG2 will combine into a new 4CP unit next year.
Computer Engineers shold be studying this material as the second half
of Comp Eng 2 this year.
Students have the ability to program in both high and low level languages.
They understand how to design algorithms using abstract data
types, and implement the algorithms. In addition, they have an
understanding of basic machine architecture and organisation.
There will be three assignments in this unit, plus a final exam. To achieve
a pass, it is necessary and sufficient to
(If an assignment is graded as unsatisfactory, it may be resubmitted at most
The assignments are due
complete all assignments to a satisfactory level.
pass the final exam.
pass overall (assignments plus exam).
week 5. Shell programming.
week 10. Simple C program.
week 15. IPC program.
The recommended text is: Andrew S. Tanenbaum,
Modern Operating Systems, Prentice-Hall.
Recommended further reading includes
Kelly and Pohl, A Book on C, Addison-Wesley
Mark G Sobell, A Practical Guide to the Unix System, Benjamin-Cummings
IEEE, The POSIX 1003.1 Standard, IEEE Inc
Call number: QA76.76.O63.158
ANSI, ANSI X3 C Programming Language Standard, ANSI
Call number: QA76.73.C15.A43
A. Robbins, Korn Shell Reference, SCC
Beginning Unix Command Summary, SCC
The lecture schedule is expected to be
Overview of Operating System functions; Common Unix and MSDOS commands
Basic shell programming
Advanced shell programming and regular expressions
Introduction to C; comparison to Ada and Pascal
Paging and virtual memory.
Inter process communication.
Distributed file systems.
There will be a one hour tutorial each week, immediately followed by a one
hour laboratory. The purpose of the tutorial is to discuss more theoretical
issues. The purpose of the laboratory is to gain and practice skills in using
the resources provided by the Operating System.
Both the tutorial and laboratory
are regarded as neccessary.
There will not be a tutorial or laboratory in week one.
Passwords and accounts will be issued later.
What is an Operating System?
What is this?
What is this?
What is this?
A view of a computer system is
O/S Command and Response Languages
The command language allows the user to request the computer to
The command response language is used by the computer to signal responses to
Often these are both managed by a Command Interpreter
The command interpreter is command.com.
Typical responses are
Bad command or file name
Not ready reading drive A
Abort, Retry, Fail?
The command language accepts lines of characters. The first word of the line
is expected to be the name for a program somewhere in the system.
it is more complex than this: some words represent commands that command.com
executes directly, some belong to a programming language understood by command.
and the rest are supposed to be ordinary programs.
Microsoft Windows Program Manager
The response ``language'' is a set of icons in program groups and various
dialogs. The command language recognises double-clicks on icons by the mouse
and various menus.
The Operating System is not the command interpreter. The Operating System
is the program that must be running all the time, and cannot be replaced without
it being a different O/S.
command.com can be replaced by other ``shells'' such as ksh.exe, and you still
are running MSDOS
On the other hand, if you run Dr Dos, you are running a different Operating
System - but one that tries to look like MSDOS.
The O/S is responsible for bridging the gap between the hardware and application
needs. That is, it manages the hardware and supplies ``services'' to
programs (including the command interpreter). Example services include:
non-trivial command interpreter
Operating System programming language
theory of O/S services
O/S Application Programmers Interface
The s/w components used in this course are
Unix as principal O/S
A Unix command interpreter
C programming language
plus bits of MSDOS, Windows95, etc
2 x 1 1/2 hour lectures
1 x 1 hour tutorial
1 x 1 hour laboratory
Last year's notes are in the bookshop.
The notes are on the Faculty's World Wide
Web server under http://pandonia.canberra.edu.au/.
These will be updated throughout the semester.
From there you will be able to read/copy them on Unix or Dos.
You will be able to access them from any of the University's computers.
PCs running Linux
X11R6 Window System
bash command interpreter
GNU cc compiler
Unix/C on your PCs
There is a public domain Unix-clone called Linux. This can be used as another
O/S besides MSDOS. You can set up partitions on your hard disk with MSDOS
in one part, Linux in another. The complete Linux installation is available
by arrangement with Ross Johnson. To seriously run Linux you will need at least
8M RAM and 100M disk.
There is a public domain C compiler that runs under MSDOS on 386 machines.
The files for this are stored in D:\DJgpp\gcc260bn.zip.
Some of the Unix utilities have been ported to DOS. They are available
as D:\os\dos-unix. Their quality and completeness is unknown.
This lecture has given a list of the topics to be covered, with details of the
lecture schedule and assessment mechanisms. The supplied course environment
has been described, plus some information on how you can run similar
environments on your own PCs.
This page is
copyright Jan Newmarch.
It is maintained by Jan Newmarch.
Last modified: 18 July, 1995