Operating Systems and Concurrency

King's College London

Course Description

  • Course Name

    Operating Systems and Concurrency

  • Host University

    King's College London

  • Location

    London, England

  • Area of Study

    Computer Programming, Computer Science, Information Sciences

  • Language Level

    Taught In English

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • UK Credits

    15
  • Recommended U.S. Semester Credits
    4
  • Recommended U.S. Quarter Units
    6
  • Overview

    Module description:

    Aims:
    To explain how the internal structure of operating systems is designed and implemented for management of resources
    and provision of services.

    Learning Outcomes:
    By the end of the course students 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. They 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
    Students should have an understanding of the inter-relationships between these concepts. They should also be able
    to understand and implement programs which accomplish simple tasks such as process and thread creation,
    communication and synchronisation

    Provisional 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

Course Disclaimer

Courses and course hours of instruction are subject to change.

Eligibility for courses may be subject to a placement exam and/or pre-requisites.

Some courses may require additional fees.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.

Please reference fall and spring course lists as not all courses are taught during both semesters.

Please note that some courses with locals have recommended prerequisite courses. It is the student's responsibility to consult any recommended prerequisites prior to enrolling in their course.