Introduction to Computing Systems

Course Objectives

The aim of the module is to outline key concepts in modern operating and distributed systems.

Syllabus

  • Basic computer architecture: CPUs, memory, buses, interrupts, I/O,construction set design, classification, factors impacting performance,caching and pipelining, memory management hardware.
  • Concurrent programming: motivation; mutual exclusion and conditionsynchronisation; synchronisation primitives.
  • Operating systems: internal OS structure; file management; devicedrivers; memory management; process management: scheduling andthreads, process management in Unix; OSs for multiprocessors; parallelI/O; case studies.
  • Distributed Systems: what is a distributed system, why distributedsystems, potential problems, the client server paradigm, distributedsystems platforms; remote procedure calls; fault-tolerance,replication and other services.

Assessment

100% Coursework.

Recommended Reading

  • Computer Organization and Design: The Hardware/Software Interface. David A. Patterson and John L. Hennessy. Morgan Kaufmann, third edition, 2004.
  • Distributed Systems: Principles and Paradigms Andrew S. Tanenbaum andMaarten van Steen, Prentice Hall

Dates and Details

Lecturer: Dr Mike Hazas