Computer Systems
Module aims
The aim of this module is to enable you to acquire the core knowledge of the organisation and operations of a typical computer system. Starting with the understanding of how high-level language programs are represented by a set of assembly instructions for execution at an architecture level, you will get an overview of the organisation and operation of the operating system software that controls the execution of programs and that manages the resources of a computer.
Learning outcomes
By the end of this module, you should be able to:
- Appraise the representations of numbers and text, computer arithmetic, the functions of CPU components, instruction executions and interactions between CPU and memory
- Develop assembly language programmes
- Assess the main principles and techniques used to implement processes and threads as well as the different algorithms for process scheduling.
- Critique the main problems related to concurrency and synchronization mechanisms
- Evaluate the need for virtual memory abstractions in operating systems, and the implications of different implementation mechanisms.
- Interpret the mechanisms of file system structure
Module syllabus
Part 1: Computer Architecture
Logic and Number representation
Architecture and assembly programming - components of a simple CPU, instructions, machine code, fetch-execute cycle, assembly programming (with information for 32 and 64-bit microprocessor as illustrative examples)
Part 2: Operating Systems
OS structure: kernel organisation,
OS functionality
Processes: basic concepts and motivation, process creation and execution, implementation issues,
Threads: basic concepts, motivation and implementation mechanisms.
Inter-process communication: signals. pipes, sockets, shared memory
Process synchronization: critical sections and mutual exclusion, race conditions, locks and semaphores, deadlocks
Process and thread scheduling mechanisms
Memory management: logical/physical address spaces, virtual memory, paging, demand paging, page replacement
File systems: files, file system organisation, directories
Teaching methods
The material will be taught through traditional lectures, backed up by assessed coursework and unassessed tutorials designed to reinforce the material as it is taught. You will have opportunity of interacting with the lecturers during scheduled classes and Q&A sessions.
An online service will be used as a discussion forum for the module.
Assessments
There will be coursework exercises covering both parts of the courses, which collectively contribute 20% of the marks for the module. There will be a final written exam, which counts for the remaining 80% of the marks. Regular formative exercises will enable you to reinforce your understanding of the material taught in the class.
Written feedback on the assessed coursework exercises will be returned electronically within two working weeks of submission. Feedback on formative exercises will be given through solution to exercise problems and/or through verbal discussion in the class.
Reading list
Section 1
-
Operating system concepts
8th ed., J. Wiley & Sons
-
Operating systems : internals and design principles
Ninth edition.; Global edition., Pearson
-
Modern operating systems
Fifth edition., Pearson
Module leaders
Professor Kin LeungDr Soteris Demetriou