F29OC Operating Systems & Concurrency

Prof Mike ChantlerDr Hani Ragab HassenDr Timothy Yap

Course co-ordinator(s): Prof Mike Chantler (Edinburgh), Dr Hani Ragab Hassen (Dubai), Aiman Shariah (Dubai), Dr Timothy Yap (Malaysia).

Aims:

  • For the Operating system part: To provide an introduction to operating systems, and their basic principles.
  • For the Concurrency part: To introduce the theory and practice of concurrent software systems.

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: Good knowledge of OO programming, Data Structures and Algorithms (Java preferable).

Location: ALP, Dubai, Edinburgh, Malaysia.

Semester: 2.

Syllabus:

For the Operating system part: - Overview on operating systems concepts and structures. - Main operating system abstractions such as processes & threads, files, and address space. - CPU scheduling, memory management and disk management

For the Concurrency part: - multi-core systems, threads, inter-thread communication, synchronisation, - mutual exclusion, critical regions, - monitors, semaphores, and atomic variables

Learning Outcomes: Subject Mastery

For the Operating systems part:

  • Understanding of the concepts and structures present in modern operating systems.
  • Extensive and in-depth understanding of the different aspects of resource management performed by modern operating systems, such as CPU scheduling, memory management, and disk management.
  • Hands-on experience

For the Concurrency part:

  • Understanding of concurrency concepts, communication techniques and problems
  • Critical understanding of predominant concurrency patterns
  • Hands-on experience

Learning Outcomes: Personal Abilities

  • Critically evaluate the problematic and concepts related to operating systems.
  • Analysis of the different possible solutions to leveraging concurrency for parallel execution and synchronisation.

SCQF Level: 9.

Credits: 15.