Operating Systems

First Semester AY 2025-2026

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 55%. No grade of 4.0 will be given. Grading scale is shown below.
0.00 54.99 5.0
55.00 59.99 3.0
60.00 64.99 2.75
65.00 69.99 2.5
70.00 74.99 2.25
75.00 79.99 2.0
80.00 84.99 1.75
85.00 89.99 1.5
90.00 94.99 1.25
95.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, GitHub Classroom, and Slack.

Staff

Name Role Email
Joseph Anthony C. Hermocilla Lecture/Laboratory Instructor jchermocilla@up.edu.ph
Fermin Roberto G. Lapitan Laboratory Instructor @up.edu.ph
Leonard Paul A. Garchitorena Laboratory Instructor @up.edu.ph
Von Michael B. Arellano Laboratory Instructor @up.edu.ph
Danilo J. Mercado Laboratory Instructor @up.edu.ph

Schedule

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

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
OS Courses from other universities