Undergraduate Program - Department of Electrical and Computer Engineering
CONCURRENT PROGRAMMING
Description
- Model of concurrent execution.
- The mutual exclusion problem.
- Application-level algorithms for mutual exclusion.
- Special synchronization instructions in hardware.
- Semaphores.
- Classical synchronization problems with semaphores.
- Monitors.
- Classical synchronization problems with monitors.
- Conditional critical regions.
- The Communicating Sequential Processes (CSP) model.
- The tuple space model.
- Concurrent programming and synchronization in C/pthreads και Java.
Subject area
Software and Information System Engineering
Learning Outcomes
- Understanding of the synchronization problem in concurrent systems.
- Knowledge of the basic synchronization tools and mechanisms, and understanding of how these are implemented in operating systems and/or higher-level runtime environments.
- Knowledge of indicative/classic synchronization problems and their solutions, and understanding of how such solutions are constructed/produced.
- Knowledge of the basic concurrent programming and synchronization functions in C and Java, and application of this functionality in practice.