Charles Explorer logo
🇬🇧

Computer Systems

Class at Faculty of Mathematics and Physics |
NSWI170

Syllabus

- Introduction to the C/C++ language - basic constructs, pointers and pointer arithmetic, complex data structures, pointers to functions, decomposition

- Computer architecture

- CPU - instruction set, registers, processor stack

- Memory - addressing, data in memory, alignment, memory hierarchy, cache, allocation algorithms

- Programming languages - program translation and compilation, memory organization of a procedural program, function/procedure call mechanism, parameter passing, variable types and lifetimes, stack, heap, runtime, JIT and sandbox concepts, libraries, source code portability

- Operating systems - user mode/kernel mode, OS architectures, interrupts, exceptions, DMA, process, threads, scheduling, file systems, virtual memory

- Parallel programming - synchronization, deadlock

Annotation

The course is a cornerstone for understanding the function of computers, compilers, and operating systems. The skills and knowledge acquired at this course are necessary for completing other subjects.

An integral part of the course are practical exercises on suitably selected simple hardware or in an emulated environment.