CSCI8530 Advanced Operating Systems (Spring 2024)

Graduate course, UNO, 2024

The course introduces the design and structure of computer operating systems, and also considers advanced operating system topics and exposes students to recent developments in operating systems research. The course involves the concepts, principles, functionality, trade-offs, and implementation of systems that support concurrent processing. The individual components of an operating system (Xinu) will be examined in detail at the source code level, and students will be expected to complete various assignments on real hardware (Intel Galileo board or Raspberry Pi 2B (or 3B) or BeagleBone Black. Others are NOT recommended.) or Oracle VM VirtualBox (if you cannot get this real hardware). At a minimum, you will need a board, a memory card, a USB-micro cable, and a USB-serial adapter. Some of these assignments will involve simple “follow the steps’’ activities, while others will require the design of new or modified system components and application programs. Lectures will closely follow the expected readings which are indicated in the class schedule on the class web pages.

Administrative Information

  • Instructor: Pei-Chi Huang
  • Email: phuang at unomaha dot edu
  • Office Hour: Wednesday 1:15 - 2:30 PM via Zoom or by appointment
  • Class Info: Totally Online
  • Course Schedule

Prerequisites:

This course assumes students have a good understanding of basic operating system principles similar to that provided by a traditional introductory undergraduate operating systems course. In particular, the major functions of an operating system should be familiar, as should the basic algorithms and techniques used to implement them. Concepts of concurrent programming, including processes, threads, and various mechanisms for interprocess communication should be familiar. It is expected that students will have familiarity with the API for a traditional UNIX/Linux operating system, including such things as input/output and process management. All of the programming for the course will be done using the C programming language. Familiarity with the concepts of assembly language for some machines is expected, although it is unlikely that any assembly language code will need to be written for the programming assignments.

The primary textbook: Operating System Design: The Xinu Approach (second edition) by Douglas Comer, 2015, CRC Press.

Supplemental materials

Grading

  • Homework and Quizzes (Individual): 20%
  • Programming Assignments (Teamwork, 1-3 for each group): 25%
  • Discussion (Individual): 10%
  • Midterm: 20%
  • Final Project (Teamwork, 1-3 for each group): 25%

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.

RangeGrade
100% to 97%A+
<97% to 93%A
<93% to 90%A-
<90% to 87%B+
<87% to 83%B
<83% to 80%B-
<80% to 77%C+
<77% to 73%C
<73% to 70%C-
<70% to 67%D+
<67% to 63%D
<63% to 60%D-
<60% to 0%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 a 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.

Accommodations

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: unoaccessibility@unomaha.edu)


Schedule

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 scheduled day.

WeekDatesTopicAssignment
(to be completed before class)
1Jan. 22 - Jan. 26[Introduction & Themes]
[Hardware and Xinu]
Reading: ch.1
[Announcement of Final Project]
2Jan. 29 - Feb. 2[Xinu on Intel Galileo User Manual]
[Xinu Setup Procedure]
[Organization of an Operating System]
[Galileo System Receipt]
Reading: ch.2 & ch.3
Homework 1 Available
3Feb. 5 - Feb. 9[Organization of an Operating System]
[Hardware Architecture and Runtime Systems]
Reading: ch.4 & ch.5
Project Topic Submission
Program 1 Available [stack_frame]
Homework 1 Due (upload to Canvas)
Homework 1 Solution
4Feb. 12 - Feb. 16[Hardware Architecture and Runtime Systems]Reading: ch.5 & ch.6
Homework 2 Available
5Feb. 19 - Feb. 23[Process Management]Reading: ch.6 & ch.7
6Feb. 26 - Mar. 1[Process Coordination and Synchronization]
Project Progress Report (at least 2 page section submission each team; Please follow the IEEE format.)
Reading: ch.7 & ch.8
Project Progress Report (3 mins presentation)
Homework 2 Due (upload to Canvas)
Homework 2 Solution
7Mar. 4 - Mar. 8[Process Coordination and Synchronization]
[Inter-Process Communication]
Reading: ch.9 & ch.10
Program 1 Due, 11:59pm
Homework 3 Available
8Mar. 11 - Mar. 15Spring Break 
9Mar. 18 - Mar. 22[Low-level Memory Management]
Project Progress Report (at least 2 page section submission each team)
Reading: ch.10 & ch.11 & ch.12
Program 2 Available
Homework 3 Due (upload to Canvas)
Homework 3 Solution
10Mar. 25 - Mar. 29[High-level Memory Management]Reading: ch.12 & ch.13
Homework 4 Available
11Apr. 1 - Apr. 5[High-level Memory Management]
[Device Management]
Reading: ch.13 & ch.14
Homework 4 Due (upload to Canvas)
Homework 4 Solution
12Apr. 10 Midterm Anytime
12Apr. 11 - Apr. 12[Device Management]Reading: ch.15
Program 2 Due, 11:59pm
Homework 5 Available
Program 3 Available
13Apr. 15- Apr. 19[Clock and Timer Management]Reading: ch.14 & ch.15
14Apr. 22 - Apr. 26[High-level Synchronous Message Passing]
Project Progress Report (at least 2 page section submission each team)
Reading: ch.16 & ch.17
Homework 5 Due (upload to Canvas)
Homework 5 Solution
15Apr. 29 - May 3Presentation Program 3 Due, 11:59pm
16May 8Final Report and Recorded Demo DueReport Template
Report and Demo Due 11:59pm
Submission: 1) A report, 2) Presentation slides, 3) Presentation video, and 4) Demo video.