Courses/Computer Science/CPSC 457.W2013/Lecture Notes
Contents
- 1 January 8: Introduction
- 2 January 10: From Programs to Processes
- 3 January 15: System Architecture and System Calls
- 4 January 17: Process Creation
- 5 January 22: System Startup
- 6 January 24: No Lecture Today
- 7 January 29: Process Scheduling
- 8 January 31: Scheduling and Timing
- 9 Feb 5: Memory Addressing
- 10 Feb 7: The Process Address Space
- 11 Feb 12: Virtual Memory
- 12 Feb 14: Page Replacement
- 13 February 19: No lecture (Reading week)
- 14 February 21: No lecture (Reading week)
- 15 Feb 26: Midterm Review
- 16 February 28: Midterm Exam
- 17 March 5: Kernel Memory Management
- 18 March 7: Concurrency, Communication, and Synchronization
- 19 March 12: Midterm Post-Mortem, HW2 QandA, Concurrency recap
- 20 March 14: HW2 Q&A, Concurrency (cont)
- 21 March 19: Introduction to Threading
- 22 March 21: Deadlock
- 23 March 26: Kernel Control Flow and Signals
- 24 March 28: Kernel Synchronization
- 25 April 2: Files and File I/O
- 26 April 4: Filesystems
- 27 April 9: Extended Attributes
- 28 April 11: Disk Scheduling
- 29 April 16: Final Exam Review Period
- 30 April 16 Tutorial Session (11am): OS and Networks
- 31 22 April: Final Exam
January 8: Introduction
Today we briefly covered the course outline, structure, topics, and policies.
January 10: From Programs to Processes
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/Prog2Proc
January 15: System Architecture and System Calls
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/SysArch
January 17: Process Creation
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Creation
January 22: System Startup
The boot process, and how to create concurrency out of sequential execution.
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Startup
January 24: No Lecture Today
There will be no lecture today. Prof. Locasto will be away at a conference.
Extra office hours will be available on Monday the 28th.
January 29: Process Scheduling
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/Scheduling
January 31: Scheduling and Timing
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Timing
Feb 5: Memory Addressing
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/MemAddr
Feb 7: The Process Address Space
Here we consider the general abstraction as well as how the Linux kernel supports "memory regions" (vm areas).
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/ProcAddrSpace
Feb 12: Virtual Memory
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/VirtualMemory
Feb 14: Page Replacement
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/PageReplacement
February 19: No lecture (Reading week)
No class, tutorials, or office hours. Study for the midterm or work on HW.
Remember that the university is closed on Feb 18th.
February 21: No lecture (Reading week)
No class, tutorials, or office hours. Study for the midterm.
Feb 26: Midterm Review
A review period for the midterm.
February 28: Midterm Exam
You have 1 hour and 15 minutes for this individual written exercise.
If you have a question during the exam, we will offer clarification of a term or concept, but we will not offer explanation. Students may use 1 page of notes (this may be single or double sided and of any font size of your choice). You may not use a calculator, phone, computer, or other digital device. Leave these devices at home or in your bag.
The questions appear in no particular order of difficulty. Skip questions if you feel unsure and come back to them. Please write your name and email address on the test sheet. Answers may be provided directly on the test sheet. Answers should be concise. Diagrams and lists are welcomed and encouraged. Very long prose answers are likely to represent long, rambling, and incorrect answers.
March 5: Kernel Memory Management
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/KernMem
March 7: Concurrency, Communication, and Synchronization
We will have a guest lecture today from Prof. Mea Wang.
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Concurrency
March 12: Midterm Post-Mortem, HW2 QandA, Concurrency recap
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Concurrency
March 14: HW2 Q&A, Concurrency (cont)
We'll discuss HW2 problems and continue our discussion of concurrency, particularly threads and the pthreads library, touching on some of the material in the Deadlocks lecture.
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Concurrency
March 19: Introduction to Threading
In this session, we continued our discussion of concurrency by looking at how to use a simple user-level threading library, pthreads.
March 21: Deadlock
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Deadlock
March 26: Kernel Control Flow and Signals
Simple IPC: Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Signals
The "signals" topic will be of interest for HW3.
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/KernCtrlFlow
March 28: Kernel Synchronization
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/KernSync
April 2: Files and File I/O
A userland-based consideration of files and related topics. File. Permissions. Attributes. File input and output. Functions (open/read/write/close/lseek/stat).
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/FileIO
April 4: Filesystems
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/Filesystems
In Linux, the VFS plays an important abstraction role in defining a flexible set of file systems.
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/VFS
April 9: Extended Attributes
USRI, starting at 9:30.
Support for extended attributes, labels, and ACLs.
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/XAttr
April 11: Disk Scheduling
A consideration of low-level I/O and how to schedule rotational media requests.
Courses/Computer_Science/CPSC_457.W2012/Lecture Notes/DiskScheduling
April 16: Final Exam Review Period
Agenda
- concept map
- syllabus topic list
- major problem types
- all MOS readings
Exam Parameters
- entire semester
- 2 hours
- 300 points (30% of your grade)
- 4 to 5 problems
- open book
- 1 sheet of notes
Collected Readings
- MOS: 1.1: What is an Operating System?
- MOS: 1.2: History of Operating Systems
- MOS: 1.4: The Operating System Zoo
- MOS: 1.5: Operating System Concepts
- MOS: 10.1: History of Unix and Linux
- MOS: 13.1: The Nature of the Design Problem
- MOS: 1.3: Computer Hardware Review
- MOS: 1.6: System Calls
- MOS: 1.7: Operating System Structure
- MOS: Section 2.1: Processes (this should be partly review of what we've talked about in class)
- MOS: Section 3.2.1: The Notion of an Address Space
- MOS: Section 3.7 (all except 3.7.2) (this should review some of what we touched on in the previous class and lay some groundwork for talking about memory management)
- MOS: Section 10.2.5 (Linux kernel structure)
- MOS: Section 10.3.1 (about processes in Linux) should reinforce some class discussion
- MOS: 10.3.5: "Booting Linux"
- MOS: 2.4.1 "Introduction to Scheduling" (plus 2 intro paragraphs in S2.4)
- MOS: 2.4.5 "Policy vs. Mechanism"
- MOS: 10.3.4: "Scheduling in Linux"
- MOS: 2.7 "Summary" (this talks about some things we'll consider next)
- MOS: 5.5 "Clocks"
- MOS: 3.2.3
- MOS: 3.1 "No Memory Abstraction"
- MOS: 3.2 "A Memory Abstraction: Address Spaces"
- MOS: 3.3 "Virtual Memory" (this subsection also contains a review of paging and TLBs)
- MOS: 3.7.3 "Segmentation with Paging: The Intel Pentium"
- MOS: 3.4
- MOS: 2.2 "Threads"
- MOS: 2.3 "Interprocess Communication"
- MOS: 2.5 "Classical IPC Problems" Beware typos in Figure 2-23, pg 122 (semicolon placement)
- MOS: 6.2 "Introduction to Deadlocks" (NB: MOS 6.2.1 should be memorized!)
- MOS: 6.4 "Deadlock Detection and Recovery"
- MOS: 6.5 "Deadlock Avoidance"
- MOS: 6.6 "Deadlock Prevention"
- MOS: 4.1
- MOS: 4.2
- MOS, Chapter 4.3: File System Implementation
- MOS, Chapter 4.5: Example File Systems
- MOS, Chapter 10.6: The Linux File System
- MOS: 5.1 Principles of I/O Hardware
- MOS: 5.2 Principles of I/O Software
- MOS: 5.4 Disks
April 16 Tutorial Session (11am): OS and Networks
An introduction to networking from the perspective of the OS. The Linux Netfilter Architecture.
Courses/Computer_Science/CPSC_457.W2013/Lecture Notes/Networking
22 April: Final Exam
8am to 10am
Similar format and style to midterm, similar length.
Worth 300 points.