Operating Systems

First Semester AY 2026-2027

About

Catalog Description

Course Number CMSC 125
Course Title Operating Systems
Description Processor management, memory management, file and disk management, resource management, concurrent processes, networks and distributed systems.
Prerequisites CMSC 123 or COI
Credit 3 units

Aim

The aim of this course is to introduce students to operating systems concepts.

Objectives

At the end of this course the student should be able to:
  1. describe the purpose and functions of an operating system;
  2. design and implement programs to perform simple operating system tasks; and
  3. evaluate the performance of different operating system algorithms.

Topics (based on ACM's 2023 Curriculum Guidelines)

  1. OS/Overview of Operating Systems
  2. OS/Operating System Principles
  3. OS/Concurrency
  4. OS/Scheduling and Dispatch
  5. OS/Memory Management
  6. OS/Security and Protection
  7. OS/Virtual Machines
  8. OS/Device Management
  9. OS/File Systems
  10. OS/Real Time and Embedded Systems
  11. OS/Fault Tolerance
  12. OS/System Performance and Evaluation
  13. SF/Cross-Layer Communications
  14. SF/Resource Allocation and Scheduling
  15. SF/Virtualization and Isolation

Assessments and Grading(may be adjusted)

(A) Two Lecture Exams 40%
(B) Lecture Quizzes/Homeworks 10%
(C) ICS-OS Project (individual) 10%
(D) Laboratory 40%
(E) Final A+B+C+D=100%
Passing grade is 60%. No grade of 4.0 will be given. Grading scale is shown below.
0.00 59.99 5.0
60.00 64.99 3.0
65.00 69.99 2.75
70.00 74.99 2.5
75.00 79.99 2.25
80.00 84.99 2.0
85.00 89.99 1.75
90.00 94.99 1.5
95.00 97.99 1.25
98.00 100` 1.0

Policies

Attendance Policy

The University Policy on Attendance will apply.

Collaboration Policy

All lab activities will be done individually. Discussions are allowed but there should be no sharing/direct copying of code.

Academic Integrity and Generative AI Use

  • Properly acknowledge help received by indicating your sources in your submissions.
  • No looking at solutions/programs from previous years.
  • No sharing of code with other students. Be ready to explain your code.
  • By default you are not allowed to used AI tools during lab classes. You may use AI tools in this course only when allowed and never to replace your own work. AI can help with brainstorming, explanations, or debugging (if permitted), but you must verify results, credit the tool, and explain your work yourself. Do not use AI to generate complete solutions for graded work, plagiarize, or submit misleading content. Misuse will be treated as academic misconduct. Use AI to learn, not to cheat.

Communication and LMS

We will use Google Classroom and Slack.

Staff

Name Role Email
Joseph Anthony C. Hermocilla Lecture/Laboratory Instructor jchermocilla@up.edu.ph
John Michael R. Raqueno Laboratory Instructor jrraqueno@up.edu.ph
Leonard Paul A. Garchitorena Laboratory Instructor lagarchitorena@up.edu.ph
Von Michael B. Arellano Laboratory Instructor vbarrellano@up.edu.ph
Daryll Dan C. Caponpon Laboratory Instructor dccaponpon@up.edu.ph

Schedule

Week Scheduled Date Topics OSTEP Laboratory
1 Aug 3-7
  • Introduction to the Course
Tutorial01: Installing Ubuntu Desktop/Server 26.04 on VirtualBox
2 Aug 10-14
  • Introduction to OS
  • The Process Abstraction
  • Process API Example
2,4,5 Lab01: Advanced Linux Commands
3 Aug 17-21 (Aug 21-Ninoy Aquino Day)
  • Limited Direct Execution
  • Intoduction to Scheduling
6,7 Lab02: BASH Shell Scripting
4 Aug 24-28
  • Multi-Level Feedback Queue
  • Fair-Share Scheduling
  • Multiprocessor Scheduling
8,9,10 Lab03: Process API in Linux
5 Aug 31-Sep 4 (Aug 31 - National Heroes Day)
  • Address Spaces
  • Memory API
  • Address Translation
13,14,15 Lab04: Process Scheduling Simulations
6 Sep 7-11
  • Segmentation
  • Free Space Management
16,17 Lab05: Understanding the PC Boot Process
7 Sep 14-18 (Sep 17 - Los Banos Day)
  • Paging
  • TLB
  • Smaller Page Tables
18,19,20 Lab06: Unix System V Shared Memory API
8
EXAM 1 (Sep 25 7PM-9PM, EAALH+ SMALH)
Sep 21-25
  • Swapping Mechanisms
  • Policies and Mechanisms for Memory
21,22,23 Lab07: Virtual Memory Simulation
9 Sep 28-Oct 2
  • Concurrency
  • Thread API
  • Locks
26,27,28 Lab10: [ICS-OS]Command Line Interface, System Calls, and System Utilities
10 Oct 5-9
  • Lock-based concurrent data structures
  • Condition variables
  • Semaphores
29,30,31 Lab08: Programming with PThreads
11 Oct 12-16
  • Common Concurrency Problems
  • Event-based Concurrency
32,33 Lab09: Thread Synchronization in PThreads
12 Oct 19-23
  • I/O Devices
  • HDD
36,37 Lab11: [ICS-OS] Environment Variables, Processes, and Threads
Oct 29-31 Reading Break
13 Nov 2-6
  • Files and Directories
39 Lab12: [ICS-OS] Lottery Scheduling
14 Nov 9-13
  • Filesystem Implementation
40 Lab13: Simple Filesystem
15 Nov 16-20 (buffer week)
16 Nov 23-27 (buffer week)
FINALS WEEK
EXAM 2
Dec 1-7

Resources

Textbook

[OSTEP]Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. 2018. Operating Systems: Three Easy Pieces. CreateSpace Independent Publishing Platform, North Charleston, SC, USA.

Supplementary Textbooks

Software

Others

Linux

OS Courses from other universities