CSCI4500 Operating Systems (Spring 2021)

Undergraduate course, UNO, 2021

An operating system is an abstraction of computer system hardware; it manages the sharing of various hardware and software resources among the users of the computer system. The parallel history of hardware and operating system development introduces many key concepts including, for example, processor modes, direct memory access (DMA), device controllers, and virtual memory. Basic approaches to kernel organization and implementation are considered. This is often the first course in which students encounter concurrency and concurrent programs. Additional topic areas include system performance evaluation (particularly relating to processor and memory management), security, virtualization, resource allocation and scheduling, and file systems.

Administrative Information

  • Instructor: Pei-Chi Huang
  • Email: phuang at unomaha dot edu
  • Office Hour: Tuesday 1:15PM - 2:15PM via Zoom or by appointment
  • Date: Jan 11, 2021 - May 07, 2021
  • Class Info: TTH 12PM - 1:15PM, Remote Learning
  • Course Schedule


CSCI 3710 (Introduction to Digital Design and Computer Organization), CSCI 3320 (Data Structures), and MATH 1950 (Calculus I). CSCI 4350 (Computer Architecture) is recommended; open only to students in the School of Engineering and declared Computer Science minors.

Tanenbaum and Woodhull, Operating Systems: Design and Implementation (3rd edition), Prentice-Hall (2006)

Supplemental materials

  • The online book Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (indicated by OSTEP; this book is available for purchase at the site above if you prefer a print copy)
  • Operating System Concepts 9th Edition, by Abraham Silberschatz, Peter B. Galvin, and Greg Gagne.

Get Odin account

You need to apply for an account at Odin: IS&T Core Linux Server to finish your programs. More details are shown below: Please email to UNO IST support (Email: uno-ist-support at unomaha dot edu) if you have any questions about Odin. **Please get one asap. Don’t wait until the last-minute, always finish ahead of deadlines. **


There will be six homeworks, three programming assignments, one midterm and one final. The final course grade will be computed as follows:

  • Homework and Quizzes: 16%
  • Programming Assignments: 30%
  • Midterm: 22%
  • Final 32%

If you have questions regarding the grading of homework, programming assignments, midterms and final, you MUST come to see the instructor WITHIN ONE WEEK after the date your homework, programming assignments, or exams have been returned to you.

Grading Type

Letter grades will be determined using the weighted average of the various items used to evaluate students. A typical grade mapping is illustrated below.

97 – 100%A+
93 – 96%A
90 – 92%A-
87 – 89%B+
83 – 86%B
80 – 82%B-
77 – 79%C+
73 – 76%C
70 – 72%C-
67 – 69%D+
63 – 66%D
60 – 62%D-
0 – 59%F

Late Policy

Homeworks and Programming Assignments are subject to late penalty. Here is the point deduction policy: 20% deduction (late by 1 day), 40% deduction (late by 2days), 80% deduction (late by 3 days), and no credit if late by more than three days.

Contact the instructor in case of medical emergency, and a written proof from your doctor is required. You are allowed to extend one more day after the approval.

Academic Integrity

You may discuss the homeworks and assignments with anyone and use any reference materials, but provided you do not copy any other person’s work. We will follow the University Policy on Academic Integrity regarding any cheating and plagiarism. Take the time to familiarize yourself with the contents of this page, as you are responsible for its contents.


Reasonable accommodations are provided for students who are registered with Accessibility Services Center (ASC) and make their requests sufficiently in advance. For more information, contact ASC (Location: 104 H&K, Phone: 402.554.2872, Email:


This schedule, and the links contained in it, are subject to change during the semester. Exam dates, however, are final. Readings from additional sources are linked from the schedule. All reading assignments are required and are expected to be completed before class on the schedule day.

Date TopicAssignment
(to be completed before class)
TueJan. 12Introduction & Themes 
ThurJan. 14Introduction to Operating Systems & HistoryReading: ch.1.1 - 1.2
TueJan. 19Introduction to Operating Systems & HistoryReading: ch.1.3 - 1.4
ThurJan. 21Basic Operating Systems ConceptsReading: ch.1.4 - 1.5
TueJan. 26Processes and File SystemsReading: ch.2.1
Homework 1 Available
ThurJan. 28Processes and File SystemsReading: ch.2.2
Program 1 Available
TueFeb. 2Concurrency Homework 1 Due (Upload to Canvas)
Homework 1 Solution
ThurFeb. 4ConcurrencyReading: OSTEP: Common Concurrency Problems, pages 1-11 (stop at “Deadlock Avoidance via Scheduling”)
Homework 2 Available
TueFeb. 9Communication & Synchronization - Part 1Reading: ch.2.3
OSTEP Lock (skip 28.8-28.11)
ThurFeb. 11Communication & Synchronization - Part 1Reading: OSTEP: Monitors
TueFeb. 16SEVERE WEATHER (No Class)Reading: ch.2.4
The Multi-Level Feedback Queue
ThurFeb. 18Communication & Synchronization - Part 2Reading: ch.3.1
Homework 2 Due (Upload to Canvas)
Homework 2 Solution
Homework 3 Available
TueFeb. 23Communication & Synchronization - Part 2Reading: ch.3.2
ThurFeb. 25Classic Task Communication - Part 1Reading: ch.3.3
Program 1 Due, 11:59pm
TueMar. 2Classic Task Communication - Part 1Program 2 Available
ThurMar. 4Classic Task Communication - Part 2Reading: CPU Scheduling
Homework 3 Due (Upload to Canvas)
Homework 3 Solution
TueMar. 9DeadlockReading: ch.4.1
ThurMar. 11 Midterm Anytime, 75 mins
TueMar. 16Spring Vacation (Student Holiday) - No classes 
ThurMar. 18Spring Vacation (Student Holiday) - No classes 
TueMar. 23DeadlockReading: OSTEP Address Spaces
ThurMar. 25SchedulingReading: ch.4.2
Homework 4 Available
TueMar. 30SchedulingReading: ch.4.3
ThurApr. 1Memory Overview - Part I: Memory Partition and RelocationReading: ch.4.4
Program 2 Due, 11:59pm
Program 3 Available
TueApr. 6Conference (No Class)Reading: ch.4.5
Homework 4 Due (Upload to Canvas)
Homework 4 Solution
ThurApr. 8Memory Overview - Part II: Techniques and SwappingReading: ch.5.1
TueApr. 13Virtual Memory - Part I: Mechanisms (Address Translation and Page Tables)Reading: ch.5.2-5-3
Homework 5 Available
ThurApr.15Virtual Memory - Part II: Policies (Page Replacement Algorithms)Reading: Distributed Systems for Fun and Profit, by Mikito Takada, Chapter 2
TueApr. 20Virtual Memory - Part II: Policies (Page Replacement Algorithms)Reading: ch.5.3
Chapter 3, The Google File System
Homework 5 Due by Nov. 25 (Upload to Canvas)
Homework 5 Solution
Homework 6 Available
ThurApr.22Input/Output Hardware & SoftwareReading: ch.5.4
TueApr.27Prep week - No classesReading: textbook, supplemental materials, and all slides
Program 3 Due at 11:59pm
Homework 6 Due (Upload to Canvas)
Homework 6 Solution
ThurApr.29Prep week - No classesReading: textbook, supplemental materials, and all slides
TueMay 4 Final Exam Reading: textbook, supplemental materials, and all slides
Anytime, 120 mins