University of Minnesota
Introduction to Operating Systems
index.php

Class Schedule (Tentative)

Note: All upcoming lecture and assignment dates are tentative and subject to change. The lecture notes are available in PDF format (4 slides/page).

Date

Topic

Reading

Assignments & Exams

Sep 3/5

I. Overview

Introduction

  • Course Overview

  • Course Work and Mechanics

  • Class Resources

  • Operating System definition

Notes


II. Programmer/User view of OS

OS and Unix Overview

  • OS evolution and structure

  • APIs and System Calls

  • General Unix structure

  • Shells and utilities

Notes

Required:


Recommended:

 

Assignment 0 Released: No submission/grading

Sep 10/12

Programs

  • C Program structure

  • Libraries and header files

  • Compiling, running and debugging

Notes


III. OS Components

Processes

  • Process definition

Notes

Required:

  • Robbins Ch. 2

  • Robbins Ch. 3.1


Recommended:

  • Robbins Appendix A

  • Programming in C (Section on C/C++ Program Compilation)

  • Silberschatz Ch. 3.1.1-3.1.2

Form Project Teams

Sep 17/19

Processes (Contd.)

  • Process states and hierarchy

  • Process creation: fork

  • Process execution: exec

  • Process termination and waiting

Required:

  • Robbins Ch. 3.2-3.6, 3.8-3.9


Recommended:

  • Silberschatz Ch. 3.3

Sep 24/26


System I/O and Files

  • File overview

  • File I/O operations

  • File pointers and buffering

  • File descriptors and I/O Redirection

  • Pipes and FIFOs

Notes

Required:

  • Robbins Ch. 4.1-4.3, 4.6-4.7

  • Robbins 6.1-6.3


Recommended:

  • Silberschatz Ch. 10.1-10.2, 12.3


Assignment 1 Released: Sep 23

Oct 1/3


File Systems

  • Unix/Linux file system layout

  • Directories

  • inodes and metadata

  • Soft and hard links

Notes

Required:

  • Robbins Ch. 5.1-5.4



Recommended:

  • Silberschatz Ch. 10.3


Oct 8/10

Dynamic Memory Management

  • Process Memory Layout

  • Stacks and heaps

  • Dynamic memory allocation: malloc and free

  • Memory access problems and bugs

Notes


Recommended:

Assignment 1 Due: Oct 9

Assignment 2 Released: Oct 8

Oct 15/17

OS Memory Management

  • Introduction and Basics

  • Virtual Memory

  • Paging

  • Swapping

  • Demand Paging and Page Faults

Notes


Recommended:

  • Silberschatz Ch. 8.1, 7.5.1

  • Silberschatz Ch. 7.2, 8.2

Mid-Term Exam 1: Oct 17 (In Class)


Oct 22/24

IV. Concurrency and Sharing

Threads

  • Thread definition

  • Threads vs. Processes

  • User vs. Kernel Threads

  • Thread operations

  • Pthreads

Notes

Required:

  • Robbins Ch. 12.1-12.7


Recommended:

  • Silberschatz Ch. 4.1, 4.3


Assignment 2 Due: Oct 25

Oct 29/31


Synchronization: Problems and Concepts

  • Resource Sharing and Concurrency

  • Atomic Operations

  • Mutual Exclusion and Critical Sections

  • Producer-Consumer Problem

Notes

Synchronization Mechanisms

  • Mutex locks

  • Condition variables

Notes

Note: Nov 7 Lecture Pre-recording to be held on Friday Nov 1 from 12.15-1.30 pm in Mechanical Engineering 212.

Required:

  • Robbins Ch. 14.1

  • Robbins Ch. 16.1-16.2

  • Robbins Ch. 13.1-13.2, 13.4

Recommended:

  • Silberschatz Ch. 5.1, 5.2

  • Silberschatz Ch. 5.5

Assignment 3 Released: Oct 28


Nov 5/7

Synchronization Mechanisms

  • Semaphores

Notes

Deadlocks

  • The Deadlock Problem

  • Deadlock Conditions

  • Deadlock Prevention

Notes

Required:

  • Robbins Ch. 16.3-16.6

  • Robbins Ch. 13.8

Recommended:

  • Silberschatz Ch. 5.6.1, 5.7.1

  • Silberschatz Ch. 5.7.3, 5.11


Nov 12/14

V. Communication and Asynchronous Events

Networking

  • Networking Overview

  • ISO/OSI 7-Layered model

  • Layering and Protocols

  • TCP/IP

  • Network addressing and routing

  • Client-Server Model

Notes

Required:

  • Robbins 18.1-18.3

Recommended:

  • The TCP/IP Guide: Sections on:

    • Fundamental Network Characteristics

    • OSI Reference Model Layers

    • IP Addressing Concepts, Delivery and Routing

    • TCP and UDP: Addressing, Fundamentals and General Operation

Assignment 3 Due: Nov 13



Nov 19/21

Sockets

  • Socket Basics

  • Socket Operations

  • TCP sockets

Notes

Required:

  • Robbins Ch. 18.4-18.8


Recommended:

Mid-Term Exam 2: Nov 21 (In Class)

Assignment 4 Released: Nov 18


Nov 26/28

Sockets (Contd.)

  • TCP sockets

  • UDP sockets

Nov 28: Thanksgiving (No Class)

Dec 3/5


Signals

  • Signal Overview

  • Signal generation and delivery

  • Signal handling: catching, ignoring, blocking/unblocking

  • Waiting for signals

  • Signal safety issues

  • Real-Time Signals

Notes

Required:

  • Robbins Ch. 8.1-8.5

Assignment 4 Due: Dec 6


Dec 10

VI. Advanced Topics and Wrapup

Potpourri, Lookback and Lookahead


Final Exam: Location: In-class

For Lecture - Section 1: Dec 16, 8-10 am

For Lecture – Section 10: Dec 17, 4-6 pm




All lecture materials are Copyright (C) 2019 by Abhishek Chandra and may not be used without prior written permission.