Course materials

CSC 362

Operating Systems

Spring 2025

01 · Syllabus

Course information and policies

InstructorQixin Deng

Email[email protected]

OfficeGoodrich Hall 108

Office hoursM/W/F afternoons before 5:00 PM, or by appointment

Meeting timeT/Th, 2:40–3:55 PM

LocationGoodrich Hall 101

Course Description

This course studies the principles and implementation of operating systems through Linux 0.11. Topics include system calls, processes and threads, synchronization, deadlock, scheduling, memory and virtual memory, input/output, and file systems, with experiments performed on a runnable operating system.

Reference Notes & Platforms

Primary references include the Linux 0.11 kernel source, Operating Systems: Three Easy Pieces, and William Stallings’s Operating Systems: Internals and Design Principles, ninth edition. Experimental work uses VirtualBox or VMware with Ubuntu 16.04.

Course Goals

  • Explain the responsibilities and internal organization of an operating system.
  • Trace system calls, process state changes, scheduling, memory management, and file operations through kernel code.
  • Implement and evaluate operating-system mechanisms in Linux 0.11.
  • Apply synchronization techniques to concurrent programs and analyze correctness and performance.

Assignments

Students configure the experimental environment and complete three Linux 0.11 programming projects. Project teams may contain no more than three students, and each submission must document the implementation and results.

Grading

Assignments constitute 50%, exams constitute 40%, and a short essay constitutes 10% of the course grade. Standard letter-grade thresholds begin with A at 93, A− at 90, and B+ at 87.

Class Rules

The classroom must remain respectful and free of discrimination, bullying, and other harmful conduct. Violations are addressed through course and college procedures.

4th Hour

Students participate in fifteen structured study-group sessions. Groups study assigned operating-system topics, prepare explanations and demonstrations, and share their findings with the class outside regular meeting time.

About AI

AI can be a useful assistant when used reasonably, but it must not replace a student’s thinking. Assignments must be completed independently. Students should understand and be able to reproduce and explain all submitted work; significant inconsistencies may require an in-person demonstration and may be reported under academic-integrity procedures.

02 · Contents

Course content

01

Review of Computer Systems

Processor, memory, input/output, instruction execution, interrupts, the memory hierarchy, and the hardware context in which an operating system runs.

02

Operating System Overview

Objectives, services, resource management, evolution, architectures, protection, kernels, and the relationship between users, applications, and hardware.

03

System Calls

The user-kernel interface, traps, system-call dispatch, parameter passing, return values, and adding testable system calls to Linux 0.11.

04

Processes

Process creation and termination, states, process control blocks, context switching, parent-child relationships, and execution trajectories.

05

Threads

Threads and processes, user- and kernel-level threading, multithreaded execution, resource sharing, responsiveness, and implementation tradeoffs.

06

Concurrency: Mutual Exclusion

Race conditions, critical sections, atomicity, locks, semaphores, monitors, producer-consumer coordination, and correctness requirements.

07

Deadlock

Resource allocation, the necessary conditions for deadlock, prevention, avoidance, detection, recovery, and practical tradeoffs.

08

Memory Management

Address spaces, relocation, partitioning, paging, segmentation, allocation, protection, sharing, and the operating system’s control of physical memory.

09

Virtual Memory

Demand paging, page faults, working sets, replacement algorithms, locality, thrashing, and the coordination of memory and secondary storage.

10

Uniprocessor Scheduling

Scheduling goals and metrics, process selection, first-come first-served, shortest-job, priority, round-robin, and feedback strategies.

11

Multiprocessor Scheduling

Processor affinity, load balancing, scheduling on multiple cores, synchronization costs, and approaches for parallel and real-time workloads.

12

I/O Management & Disk Scheduling

Devices, controllers, interrupts, buffering, caching, spooling, disk organization, and algorithms for scheduling storage requests.

13

File Management

Files and directories, allocation, free-space management, access methods, metadata, permissions, mounting, and the implementation of file systems.

03 · Exam preparation

Exam requirements

Gentleman’s Rule

The student is expected to conduct himself, at all times, both on and off the campus, as a gentleman and a responsible citizen.

Exam Rules

  1. This is a closed-book exam with only a pen (no pencil) and exam paper on your desk. No calculators allowed. No outside aids or resources are allowed.
  2. Final exam will be 2 hours, other exams will be using regular class time. Please arrive on time. Late students will not be compensated for their time.
  3. You are responsible for the clarity of your own handwriting. If I cannot recognize your handwriting, you will lose points.
  4. All cell phones and other electronic devices must be turned off.
  5. If you need to use the bathroom during the exam, you need to put your cell phone on the front desk.
  6. You are not allowed to communicate with any other people (other than the professor) while taking this exam.
  7. You may not share, disseminate, or discuss these questions with any other student in another section of this course who has not taken the exam yet; doing so is considered academic dishonesty and will lead to nullification of exam grades.
  8. There will be no tolerance towards academic dishonesty, and cheating can and will lead to automatic failure from the class as well as a report to the Academic Integrity Committee.

Exam Commitments

I will complete this exam in a fair, honest, respectful, responsible, and trustworthy manner. This means that I will complete the exam as if the professor was watching my every action. I will act according to the professor’s instructions, and I will neither give nor receive any aid or assistance other than what is authorized. I know that the integrity of this exam and this class is up to me, and I pledge not to take any action that would break the trust of my classmates or professor, or undermine the fairness of this class.

Midterm PreparationDate:Location:+
Final Exam PreparationDate:Location:+

04 · Assignments

Practice questions

05 · Projects

Project materials