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
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
Type | In Class | Out of Class |
---|---|---|
Lecture Hours | 5.0 | 10.0 |
Laboratory Hours | 0.0 | 0.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
- Written homework problems requiring analysis of operating systems functions given a set of processes being performed.
- 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.
- Reading assignments from text.
Methods of Evaluation
- Completion of homework assignments evaluated on understanding the material and participating in a minimum number of class discussions related to the material presented.
- Completion of three major examinations demonstrating knowledge of the material presented prior to that exam.
- 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.
- 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.
- None.
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
Silberschatz, Abraham. "Operating System Concepts", Tenth Ed. New York, NY: John Wiley & Sons, 2018. |
Examples of Supporting Texts and References
Author | Title | Publisher |
---|---|---|
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
- Explain the basic concepts of an operating system
- Supervisor
- Polling vs. interrupts
- Describe program preparation and use
- Translation
- Library concept
- Linkers
- Loaders
- Explain input/output (I/O) use
- Logical vs. physical devices
- Operating system control of I/O
- Spooling
- Disk scheduling
- File management
- Effectiveness and efficiency
- Describe multiprogramming concepts
- Basic concepts and motivation
- Uniprocessor
- Multiprocessor/Multi-cores
- CPU bound system
- Memory management
- Multiple fixed partitions
- Multiple variable partitions
- Multiple relocatable partitions
- Demand paging
- Demand segmentation
- Page and segment faults and their resolution
- Processor management: State transitions
- New, Ready, Run states
- Blocked, terminated states
- Suspended-Ready, Suspended-Blocked states
- Dispatch selection
- FIFO
- Round robin
- HRN
- Multilevel queues
- Comparative efficiency
- Basic concepts and motivation
- Describe multiprocessing (including Multi-cores) concepts
- Basic concepts and motivation
- Parallel processing: Language primitives
- Mutual exclusion
- Language primitives
- Implementation
- Decker's algorithm
- Hardware solution
- Semaphores and blocked approach
- Deadlock and indefinite delay
- Dining philosopher's problem
- Relation to mutual exclusion
- Prevention and avoidance
- Safe versus Unsafe states
- Banker's algorithm
- Explain the three levels of scheduling
- Job scheduling
- CPU scheduling
- Suspension
- Describe how the OS utilizes the CPU's interrupts
- How context switch occurs
- How the OS handles various key interrupts
- Describe protection and security concepts
- Protection
- Security