CSC 501 (002) Fall 2017 Operating Systems Principles Course

CSC 501 (002) Fall 2017 Operating Systems Principles Course
CSC 501 (002) Fall 2017 Operating Systems Principles
Course description:
This course will describe the principles of designing operating systems. Topics include multithreading, synchronization, scheduling, virtual memory, and distributed systems including
clusters. This course will be based on textbook & paper readings, paper discussions, projects, a
midterm exam, a final exam and in-class participations. The purpose of this course is to teach
computer software system structures from a design point of view. We will look at different
structuring techniques, and we will examine their usage in both important historical systems and
in modern systems. In addition to learning about different system structures and different
operating systems, you will learn:
1. How to read a research paper in an objective manner.
2. How to articulate your understanding of and insights into a research paper.
3. How to synthesize research themes and topics across multiple papers.
4. How to apply paper ideas into real systems.
Instructor:
Hung-Wei Tseng
Office hours: Monday Wednesdays 2p-3p @ EB2 3254
E-mail: [email protected]
Textbook: Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Arpaci-Dusseau Books
March, 2015 (Version 0.90) (free online textbook at http://pages.cs.wisc.edu/~remzi/OSTEP/)
Grading:
20% midterm
30% final (The final will be cumulative.)
30% projects
10% class participation (We will be using clickers in the class!)
10% reading quizzes
The final grading will be based on relative ranking of students in the class instead of absolute
scale of grades
Lecture schedule:
Date
Topic
Reading
08/17/2017 Intro/Logistics
08/22/2017 The Structure of
Operating Systems
Arpaci-Dusseau Chapter 2, 4, 5
08/24/2017 The Structure of
Operating Systems
The Structure of the 'THE'-Multiprogramming
System
HYDRA: The Kernel of a Multiprocessor
Operating System
Project
Date
Topic
Reading
08/29/2017 The Structure of
Operating Systems
The UNIX Time-Sharing System
Mach: A New Kernel Foundation For UNIX
Development
08/31/2017 Processes &
Scheduling
Arpaci-Dusseau Chapter 6, 7, 8
09/05/2017 Processes &
Scheduling
Lottery Scheduling: Flexible Proportional-Share
Resource Management.
Resource containers: A new facility for resource
management in server systems
09/07/2017 Virtual memory
Arpaci-Dusseau Chapter 13, 14, 15, 16, 18
09/12/2017 Virtual memory
Arpaci-Dusseau Chapter 20, 21, 22
09/14/2017 Virtual memory
The Multics Virtual Memory: Concepts and Design
WSCLOCK-A Simple and Effective Algorithm for
Virtual Memory Management
09/19/2017 Virtual memory
Virtual Memory Management in VAX/VMS
Machine-Independent Virtual Memory
Management for Paged Uniprocessor and
Multiprocessor Architectures
09/21/2017 Threads
Arpaci-Dusseau Chapter 26, 27, 28, 29
09/26/2017 Threads
Arpaci-Dusseau Chapter 30, 31
09/28/2017 Threads
Monitors: An Operating System Structuring
Concept Experience with Processes and Monitors in Mesa
10/03/2017 Architecture-OS
interactions
TimeGraph: GPU Scheduling for Real-Time MultiTasking Environment
The Performance of µ-Kernel-Based Systems
10/10/2017 Midterm Review
10/12/2017 Midterm
10/17/2017 Architectural
support for Virtual
memory
Arpaci-Dusseau Chapter 19
10/19/2017 Architectural
support for Virtual
memory
A Look at Several Memory Management Units,
TLB-Refill Mechanisms, and Page Table
Organizations
Efficient Virtual Memory for Big Memory Servers
10/24/2017 I/O
Arpaci-Dusseau Chapter 36, 37, 38
and Appendix--Flash-based SSDs
Project
Project #1 Due
— Device
driver/kernel
module
Date
Topic
Reading
Project
10/26/2017 I/O
eNVy: a non-volatile, main memory storage
system
When Poll is Better than Interrupt
Project #2 Due
—
Multithreaded
support in
kernel module
10/31/2017 File systems
Arpaci-Dusseau Chapter 39, 40, 41
11/02/2017 File systems
A Fast File System for Unix
The Google File System
11/07/2017 Log-structured file
system
The Design and Implementation of a LogStructured File System
Don't stack your log on my log
11/09/2017 Distributed systems Arpaci-Dusseau Chapter 47
The Sprite Network Operating System The Distributed V Kernel and its Performance for
Diskless Workstations
11/14/2017 Networked systems Implementing Global Memory Management in a
Workstation Cluster Arpaci-Dusseau Chapter 48
11/16/2017 Networked systems Web Search for a Planet: The Google Cluster
Architecture
Windows Azure Storage: A Highly Available Cloud
Storage Service with Strong Consistency
11/21/2017 Virtual machine
Arpaci-Dusseau Appendix--Virtual machines
A comparison of software and hardware
techniques for x86 virtualization
11/28/2017 Virtual machine
Xen and the Art of Virtualization
IX: A Protected Dataplane Operating System for
High Throughput and Low Latency
11/30/2017 Final Review
12/12/2017 Final Exam
(1pm-4pm)
Project #3 Due
— File system
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement