Module details
CO883 Systems Architecture (15 credits)
Syllabus
A computer system's architecture describes the underlying combination of
software and hardware that needs to be provided before the system can be used;
an understanding of the basic principles of computer architecture is essential
if computer systems are to be used effectively.
- Fundamental ideas of computer hardware:
- Boolean algebra.
- Binary and hexadecimal numbers, two's complement, and binary
arithmetic.
- Data representation: bits, bytes, and words; character codes.
- The von Neumann architecture: processor, memory, and peripherals;
registers, RAM and ROM, data and address buses; the fetch-execute cycle.
- Processor microarchitecture: CISC v RISC, superscalar, pipelined,
out-of-order execution, branch prediction, multiprocessing.
- Cache architectures.
- Buses.
- Practical introduction to the use of a UNIX-like operating system:
- The structure of the filing system.
- Syntax of operating system commands: options, files, etc.
- Input/output, redirection and pipes.
- Operating system tools and their use in building pipelines.
- The principles and mechanisms of operating systems:
- Function and historical development of operating systems.
- Processes: states, communication, mutual exclusion, synchronisation,
semaphores, monitors, avoidance of deadlock, high-level scheduling,
process security.
- The kernel: hardware requirements, interrupt handlers, low-level
scheduling.
- Memory management: swapping, virtual memory, paging.
- Input/output; blocking and non-blocking transfers; privileged I/O
processes.
- File systems: functions, storage media, layout and organisation of
files, file security.
- The loading process; libraries; relocation.
- Resource allocation; resource management.
- Local and remote file access.
Note
This web page provides advance information about a module due
to run in the coming academic year. We believe the details are
accurate at the time of writing but they may be subject to
change.