Operating Systems

First Semester AY 2021-2022

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 2013 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
Evaluation/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
OVPAA Memo 2021-122

Policies Related to Remote Teaching and Learning

Attendance Policy

Attendance during Zoom meetings is not required but is encouraged. Videos will be provided.

Collaboration Policy

All activities will be done individually.

Honor Code
  • 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.
Google Classroom: (You will be added manually)

Staff

Name Role Email
Joseph Anthony C. Hermocilla Lecture/Laboratory Instructor jchermocilla@up.edu.ph
Marie Betel B. de Robles Laboratory Instructor mbderobles2@up.edu.ph
Perico Dan B. Dionisio Laboratory Instructor pbdionisio@up.edu.ph
Val Randolf M. Madrid Laboratory Instructor vmmadrid@up.edu.ph

Schedule

Week Date Topics and Videos OSTEP Laboratory
1
  • Introduction to the Course
  • Tutorial01: Installing Ubuntu Desktop 20.04 on VirtualBox
  • Lab01: Advanced Linux Commands
2
  • Introduction to OS
  • The Process Abstraction
  • Process API Example
2,4,5 Lab02: BASH Shell Scripting
3
  • Limited Direct Execution
  • Scheduling
  • Multi-Level Feedback Queue
  • Multiprocessor Scheduling
6,7,8,10 Lab03: Process API in Linux
4
  • Address Spaces
  • Memory API
  • Address Translation
13,14,15 Lab04: CPU Scheduling Simulations
5
  • Segmentation and Paging
16,18,19,20 Lab05: Understanding the PC Boot Process
6
  • Policies and Mechanisms for Memory
  • Memory Management in Linux
21,22,23 Lab06: Unix System V Shared Memory API
7
EXAM 1
  • Concurrency
  • Thread API
  • Locks
  • Lock-based concurrent data structures
26,27,28,29 Lab07: Virtual Memory Simulation
8
  • Condition Variables
  • Semaphores
  • Common Concurrency Problems
  • Event-based concurrency
30,31,32,33 Lab08: Programming with PThreads
9
  • I/O Devices
  • HDD
  • RAID
36,37,38 Lab09: Thread Synchronization in PThreads
10
  • Files and Directories
  • File System Implementation
  • Locality and The Fast File System
39,40,41 Lab10: [ICS-OS]Command Line Interface, System Calls, and System Utilities
11
  • Crash Consistency: FSCK and Journalling
  • Log-structured File Systems
  • Flash-based SSDs
  • Data Integrity and Protection
42,43,44,45 Lab11: [ICS-OS] Environment Variables, Processes, and Threads
12
EXAM 2
PROJECT WEEK

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
Similar OS Courses
Software
Others