Show/hide main menu

Modules

5CCS2OSC Operating Systems and Concurrency

Credit value: 15

Lecturers: Dr Amanda Coles and Dr Andrew Coles (office hours)
Semester: 2
Teaching pattern: weekly 3-hour lecture

Assessment

Qualifying Mark
Students are required to attain a mark of at least 40% in the coursework, and at least 40% overall, in order to pass the module.

Learning aims & outcomes
To explain how the internal structure of operating systems is designed and implemented for management of resources and provision of services.

By the end of the course you will be able to describe the basic principles used in the design of modern operating systems and be able to explain some of the basic features necessary to support a modern operating system. You will have knowledge and understanding of concepts underlying the following aspects of operating systems:

  • process and thread creation and management
  • communication in processes and threads
  • process synchronisation and deadlocks
  • memory-management strategies
  • protection and security

You should have an understanding of the inter-relationships between these concepts. You should also be able to understand and implement programs which accomplish simple tasks such as process and thread creation, communication and synchronisation.

Syllabus
Introduction to operating systems

Processes
  • Process Concepts
  • Process Scheduling
  • Operations on Processes
  • Inter-process Communication
Threads
  • Multithreading Models
  • Java Threads
  • Threading issues
Process Synchronization
  • The critical-section problem
  • Peterson’s Solution
  • Synchronization Hardware
  • Semaphores
  • Classical Problems of Synchronization
  • Monitors
  • Java Synchronization
Deadlocks
  • System Model
  • Deadlock Characterization
  • Methods for Handling Deadlocks
  • Deadlock Prevention
  • Deadlock Avoidance
  • Deadlock Detection
  • Recovery from Deadlock
Main Memory
  • Swapping
  • Contiguous Memory Allocation
  • Paging
  • Structure of the Page Table
  • Segmentation
Virtual Memory
  • Demand Paging
  • Page replacement
  • Allocation of Frames
  • Thrashing
Protection
  • Goals of Protection
  • Principles of Protection
  • Domain of Protection
  • Access Matrix
  • Access Control
  • Revocation of Access Rights
  • Language-Based Protection

Suggested Reading and Resources (Link to MyReadingLists)

 


28 September 2017
Sitemap Site help Terms and conditions  Privacy policy  Accessibility  Modern slavery statement  Contact us

© 2018 King's College London | Strand | London WC2R 2LS | England | United Kingdom | Tel +44 (0)20 7836 5454