Active Outline

General Information


Course ID (CB01A and CB01B)
CIS D031.
Course Title (CB02)
Operating System Concepts
Course Credit Status
Credit - Degree Applicable
Effective Term
Fall 2021
Course Description
Concepts and use of operating systems: multiprogramming and multiprocessing systems; processor interrupts, processes and threads, mutual exclusion, indefinite postponement, deadlocks; scheduling considerations and security management.
Faculty Requirements
Course Family
Not Applicable

Course Justification


This course is UC and CSU transferable. This course is required or optional for many degrees and certificates such as the Network Administration Certificate of Achievement-Advanced. This class introduces the basic facilities provided in modern operating systems. Students will obtain the skills to take into account the functions of the operating system when considering concurrent programming, resource management, performance analysis, and many other issues that arise when developing software.

Foothill Equivalency


Does the course have a Foothill equivalent?
No
Foothill Course ID

Course Philosophy


Formerly Statement


Course Development Options


Basic Skill Status (CB08)
Course is not a basic skills course.
Grade Options
  • Letter Grade
  • Pass/No Pass
Repeat Limit
0

Transferability & Gen. Ed. Options


Transferability
Transferable to both UC and CSU

Units and Hours


Summary

Minimum Credit Units
5.0
Maximum Credit Units
5.0

Weekly Student Hours

TypeIn ClassOut of Class
Lecture Hours5.010.0
Laboratory Hours0.00.0

Course Student Hours

Course Duration (Weeks)
12.0
Hours per unit divisor
36.0
Course In-Class (Contact) Hours
Lecture
60.0
Laboratory
0.0
Total
60.0
Course Out-of-Class Hours
Lecture
120.0
Laboratory
0.0
NA
0.0
Total
120.0

Prerequisite(s)


Corequisite(s)


Advisory(ies)


CIS D21JA and (CIS D022B or CIS D22BH)

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


Methods of Instruction


Lecture and visual aids

Discussion of assigned reading

Quiz and examination review performed in class

Homework and extended projects

Collaborative learning and small group exercises

Assignments


  1. Written homework problems requiring analysis of operating systems functions given a set of processes being performed.
  2. Final Project (group project) where students will analyze a present day operating system describing it in terms of the different management functions learned in this course.
  3. Reading assignments from text.

Methods of Evaluation


  1. Completion of homework assignments evaluated on understanding the material and participating in a minimum number of class discussions related to the material presented.
  2. Completion of three major examinations demonstrating knowledge of the material presented prior to that exam.
  3. Final examination requiring the analysis of the function of the operating system given different scenarios of processes taking place and the algorithms and data structures being utilized.
  4. Final Project (group project) -- Completion of a group project that illustrates understanding of basic operating systems concepts by analyzing a present day operating system describing it in terms of the different management functions presented in this course.

Essential Student Materials/Essential College Facilities


Essential Student Materials: 
  • None.
Essential College Facilities:
  • None.

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
Silberschatz, Abraham. "Operating System Concepts", Tenth Ed. New York, NY: John Wiley & Sons, 2018.

Examples of Supporting Texts and References


AuthorTitlePublisher
Deitel, Harvey. "An Introduction to Operating Systems," Third Ed. Menlo Park, CA: Addison Wesley, 2004.

Learning Outcomes and Objectives


Course Objectives

  • Explain the basic concepts of an operating system
  • Describe program preparation and use
  • Explain input/output (I/O) use
  • Describe multiprogramming concepts
  • Describe multiprocessing (including Multi-cores) concepts
  • Explain the three levels of scheduling
  • Describe how the OS utilizes the CPU's interrupts
  • Describe protection and security concepts

CSLOs

  • Analyze the functionality of a modern operating system in terms of different management functions.

  • Describe the algorithms and basic data-structures being utilized in modern operating systems.

Outline


  1. Explain the basic concepts of an operating system
    1. Supervisor
    2. Polling vs. interrupts
  2. Describe program preparation and use
    1. Translation
    2. Library concept
    3. Linkers
    4. Loaders
  3. Explain input/output (I/O) use
    1. Logical vs. physical devices
    2. Operating system control of I/O
    3. Spooling
    4. Disk scheduling
    5. File management
    6. Effectiveness and efficiency
  4. Describe multiprogramming concepts
    1. Basic concepts and motivation
      1. Uniprocessor
      2. Multiprocessor/Multi-cores
      3. CPU bound system
    2. Memory management
      1. Multiple fixed partitions
      2. Multiple variable partitions
      3. Multiple relocatable partitions
      4. Demand paging
      5. Demand segmentation
      6. Page and segment faults and their resolution
    3. Processor management: State transitions
      1. New, Ready, Run states
      2. Blocked, terminated states
      3. Suspended-Ready, Suspended-Blocked states
      4. Dispatch selection
        1. FIFO
        2. Round robin
        3. HRN
        4. Multilevel queues
        5. Comparative efficiency
  5. Describe multiprocessing (including Multi-cores) concepts
    1. Basic concepts and motivation
    2. Parallel processing: Language primitives
    3. Mutual exclusion
      1. Language primitives
      2. Implementation
        1. Decker's algorithm
        2. Hardware solution
        3. Semaphores and blocked approach
    4. Deadlock and indefinite delay
      1. Dining philosopher's problem
      2. Relation to mutual exclusion
    5. Prevention and avoidance
      1. Safe versus Unsafe states
      2. Banker's algorithm
  6. Explain the three levels of scheduling
    1. Job scheduling
    2. CPU scheduling
    3. Suspension
  7. Describe how the OS utilizes the CPU's interrupts
    1. How context switch occurs
    2. How the OS handles various key interrupts
  8. Describe protection and security concepts
    1. Protection
    2. Security
Back to Top