University of Texas at El Paso

CS 4375 Operating Systems Concepts

Fall 2025, MW 10:30 am - 11:50 am, CCSB G.0208

General Information

Instructor

Dr. MD Armanuzzaman (Arman)
E-mail: marmanuzzaman@utep.edu
Homepage: https://tomal-kuet.github.io/armanuzzaman/
Office hours will be M 1:30 pm - 3:00 pm or by appointment
CCSB 3.1008 or Teams at https://teams.microsoft.com/meet/2548611600723?p=KTXeMWcUSCJNe5eWgj

Teaching Assistant

Daniel J Marin
E-mail: djmarin1@miners.utep.edu
Office hours will be WF 3.00 PM - 5.00 PM or by appointment
CCSB 1.0706 or Teams at https://teams.microsoft.com/l/meetup-join/19%3ameeting_MzZkNzMyZjMtYjkyOC00MDc3LTk3ZDctMTcyNDc3YzRkNzRi

Overview

CS 4375 is a course about the systems-level software called the operating system that provides an interface between application software and the computer hardware. The operating system is respon- sible for sharing resources, providing common services, and protecting programs from interference from other programs. Topics covered in the course include process management and scheduling, concurrency, interprocess communication, memory management, input/output management, file systems, and networking basics.

Downloads: Course Syllabus

Tentative Schedule

Date Topic Material/Readings Dues
Week-1 Class-1 8/25 Course Overview, Logistics, Introduction to OS, and Low-level C programming; Slides  
Week-1 Class-2 8/27 OS structure; Slides  
Week-2 Class-1 9/1 ===============NO CLASS: Holiday===============    
Week-2 Class-2 9/3 Processes; Slides
Week-3 Class-1 9/8 Introduction to xv6; Slides; HW1; HW1 report template; Quiz 1
Week-3 Class-2 9/10 Threads; Slides  
Week-4 Class-1 9/15 Class activity: Inter Process Coummunication; Slides  
Week-4 Class-2 9/17 System Calls and Context Switches; Slides
Week-5 Class-1 9/22 System Calls in xv6; Slides; HW2; sleep.c;matmul.c; HW2 report template HW1
Week-5 Class-2 9/24 CPU Scheduling; Slides Quiz 2 (On blackboard)
Week-6 Class-1 9/29 MLFQ and Proportional Share Scheduling; Slides
  • xv6 book Chapter 7
  • Chapter 9 & 10 "Operating Systems: Three Easy Pieces"
  • Linux Scheduler
Week-6 Class-1 10/1 Address Spaces Memory API; Slides
Week-7 Class-1 10/6 Address Translation; Slides HW2
Week-7 Class-2 10/8 xv6 Scheduling; Slides; HW3; task1.c;task2.c; task4.c; pexec.c; HW3 report;
  • Chapter 7, xv6 book
  • Chapter 6, 7, "Operating Systems: Three Easy Pieces"
  • xv6 scheduling code base
Quiz 3
Week-8 Class-1 10/13 Review for midterm exam; Slides  
Week-8 Class-2 10/15 ====================   Mid Term Exam
Week-9 Class-1 10/20 Paging TLBs (online class Teams); Slides
  • Chapter 18, 19, "Operating Systems: Three Easy Pieces"
  • Chapter 20, "Operating Systems: Three Easy Pieces"
Week-9 Class-2 10/22 Virtual Memory: Page Faults and Memory Swapping; Slides
  • Chapter 18, 19, "Operating Systems: Three Easy Pieces"
  • Chapter 20, 21, 22, 23, "Operating Systems: Three Easy Pieces"
Quiz 4
Week-10 Class-1 10/27 Virtual Memory: Performance and Analysis; Slides HW3
Week-10 Class-2 10/29 Process Synchronization and Locks; Slides; HW4; HW4 report; free.c;memory-user.c;
Week-11 Class-1 11/3 Lazy Allocation; Slides
Week-11 Class-2 11/5 Process Synchronization, Semaphores, and Mutex; Slides Quiz 5
Week-12 Class-1 11/10 Deadlocks; Slides
Week-12 Class-2 11/12 Deadlocks (cont.) Slides
Week-13 Class-1 11/17 File Systems; Slides; HW5; rwtest-sem.c; prodcons-sem.c; HW5 report HW4; Quiz 6
Week-13 Class-2 11/19 File System (cont.); Slides
Week-14 Class-1 11/24 Implementing xv6 semaphores; Slides
  • C Structs
  • Chapter 28, 29, 30, 31; "Operating Systems: Three Easy Pieces"
  • xv6 code base: proc.c, spinlock.c, sleeplock.c, syscall.c, sysproc.c, user.h, usys.S, usys.pl
Week-14 Class-2 11/26 Protection and Security; Slides   Quiz 7
Week-15 Class-1 12/1 Review for Final Exam; Slides  
Week-15 Class-2 12/3 ====================
Week-16 Class-1 12/8 ==================== ==================== Quiz 8;HW5
Week-16 Class-2 12/12; 10.00 AM - 12.45 PM; Location: CCSB G.0208 ====================   Final Exam

Resources

XV6 OS XV6 Book Make Files C pointers RISC-V Assembly Programming Overview