|
Comp 204 - Computer Systems and Their Implementation
Dr. Katie Atkinson. Department of Computer Science,
|
Lecturer:
Room
217,
Department of Computer Science,
Email: K.M.Atkinson@liverpool.ac.uk
Lecture
times and locations:
Tuesday 2pm, Biosciences
Building, Lecture Theatre 3
Wednesday 11am, Faculty of Science Lecture Block, Lecture Theatre C
Thursday 4pm,
Practical
classes:
Practical classes for the second assignment resume in week 10 of in the
module (week beginning 14th April).
Each individual is assigned to one of the slots below; allocations
remain the same as for the first round of practical classes. The list of allocations is posted on VITAL.
Tuesday 11am, Lab 2,
Tuesday 12am, Lab 2,
Wednesday 9am, Lab 2,
Wednesday 10am, Lab 2,
The tutors for the
module are:
Mr. Dan Cartwright
(D.R.Cartwright@liverpool.ac.uk)
Mr. Anthony Hepple (A.J.Hepple@liverpool.ac.uk)
Mr. Michel Ludwig (Michel.Ludwig@liverpool.ac.uk)
Mr. Sunchai Meenorngwar (S.Meenorngwar@liverpool.ac.uk)
Recommended Textbooks:
o Operating System Concepts with Java (7th
edition).
Silberschatz, Galvin and Gagne (Wiley).
o Understanding Operating Systems (4th
edition).
Flynn and McHoes (Thomson).
o Compiler Construction: Principles and Practice. Louden (Thomson)
o
Programming
Language Processors in Java.
Watt and Brown (Prentice Hall).
Lecture notes include material based on examples from
all of the above texts.
Aims:
o To create an
understanding of how the principal software components of modern computer
systems perform their functions, and how they are constructed and interact with
each other.
Learning Outcomes:
o At the end of the
module, students should be able to construct programs which demonstrate in a
simple form the operation of examples of systems programs, including simple
compilers and programs that involve management of concurrent processes.
Assessment:
o 20% continual
assessment exercises, consisting of two Java programming assignments, each
worth 10%.
Assignment 1 is to be completed during weeks 4 –
5. Deadline: 3pm
on Friday 22nd February 2008.
The assignment and submission instructions are posted on VITAL in the ‘Assessment’ section for the
module.
Assignment 2 is to be completed during weeks 10 – 11. Deadline: 3pm on Friday
25th April 2008. The
assignment and submission instructions are posted on VITAL in the ‘Assessment’ section for the
module.
Approximate Syllabus:
o Operating systems
concepts: Communicating sequential processes, process management and
scheduling. Resource allocation, mutual exclusion, semaphores, deadlock.
o Concurrent
programming in Java: threads and how to program them in Java, the
Producer-Consumer problem.
o Memory management:
storage organisation methods, paging, segmentation, memory allocation,
housekeeping.
o Input/output and
files: filestore organisation, buffering, caching,
store allocation and device handling.
o Compilers: a
practical overview of compiler construction, lexical analysis, parsing, code
generation, code optimisation, interpretation examined in the context of Java
and available software tools.
o Runtime store
organisation: dynamic store allocation, treatment of recursion.
o Possible overview
of further related topics.
The lecture notes will be printed on a weekly basis and they will be
available for collection from the computer science helpdesk as the module
proceeds. Subsequent to each lecture
electronic versions of the notes will also be posted on VITAL.
Last updated 15/04/08.
Page created and maintained by Katie Atkinson.