Sunday 3 March 2013

Introduction to Operating Systems


Professor Remzi Arpaci-Dusseau (7357 CS)  

Download slides here


09/06 Intro 2 09/08 Processes 4   5   6
09/13 Scheduling 7   8 09/15 Mem Mgmt 12  
09/20 Paging 17 09/22 Paging: TLBs 18
09/27 Paging: Smaller 19 09/29 Beyond Physical 20   21
10/04 Threads 25 10/06 Locks(II)
10/11 Locks 27 10/13 CVs 29
10/18 Semaphores 30 10/20 Deadlock 31
10/25 I/O/Disks 35   36 10/27 RAID 37
11/01 File Systems 38 11/03 FS Impl 39
11/08 FFS 40 11/10 Journaling 41
11/15 LFS 42 11/17 SSDs
11/29 DistSys 12/01 NFS 48
12/06 AFS 49 12/08 Google
12/13 Virtual Machines A1 12/15 Security

Instructor: Jonathan Walpole

Description:
This course will introduce the core concepts of operating systems, such as processes and threads, scheduling, synchronization, memory management, file systems, input and output device management and security. The course will consist of assigned reading, weekly lectures, a midterm and final exam, and a sequence of programming assignments. The goal of the readings and lectures is to introduce the core concepts. The goal of the programming assignments is to give students some exposure to operating system code. Students are expected to read the assigned materials prior to each class, and to participate in in-class discussions.
Download Slides here:
Course Overview and Introduction   to Operating Systems
Course outline. Overview of course project and expectations. Introduction to   hardware support for operating systems: privileged mode execution, saving and   restoring CPU state, traps and interrupts, timers, memory protection.   Operating system techniques for protecting user and hardware resources.   Overview of the key operating system abstractions and the use of system calls   to manipulate them.Slides: [ .ppt .pdf ]
Reading: Chapters 1 and 2
Start Project 1 - Introduction to BLITZ
The Process Concept
Complete the overview of the key operating system abstractions and the use of   system calls to manipulate them. Program execution, the process concept,   process-related state, the process table, saving and restoring process state,   the role of the scheduler.Slides: [ .ppt .pdf ]
Reading: Chapter 3
Threads and Concurrency
Threads, process context switch vs thread switch, true concurrency vs pseudo   concurrency, operating systems as concurrent programs, concurrency through   multi-threading, concurrency through interrupt handling, concurrent access to   shared memory, race conditions, mutual exclusion, synchronization primitives   based on atomic instructions.Slides: [ .ppt .pdf ]
Reading: Chapter 4
Project 1 due at start of class.
Start Project 2: Threads & Synchronization
Synchronization Primitives
Atomic instructions, locks, spinlocks, mutex semaphores, counting semaphores,   and their use in solutions to Producer Consumer synchronization.Slides: [ .ppt .pdf ]
Reading: Chapter 6
Classic Synchronization Problems
Classic synchronization problems: Producer Consumer, Dining Philosophers,   Readers and Writers, Sleeping Barber.Slides: [ .ppt .pdf ]
Reading: Chapter 6
Monitors and Message Passing
Monitors, condition variables, message passing, and their use in solutions to   classic synchronization problems: Producer Consumer, Dining Philosophers,   Readers and Writers, Sleeping Barber.Slides: [ .ppt .pdf ]
Reading: Chapter 6
Deadlock
Deadlock, livelock, deadlock detection, avoidance, and prevention.Slides: [ .ppt .pdf ]
Reading: Chapter 7
Project 2 due at start of class.
Start Project 3: Synchronization Problems
Scheduling
Separation of policy from mechanism, scheduling mechanisms, preemptive vs   non-preemptive scheduling, example scheduling policies, FIFO, round-robin,   shortest job first, priority scheduling, Unix-style feedback scheduling,   proportional share scheduling, lottery scheduling.Slides: [ .ppt .pdf ]
Reading: Chapter 5
Memory Management
Memory addresses and binding, static and dynamic addresses translation,   address translation using base and limit registers, memory management   algorithms using linked lists and bitmaps, external and internal   fragmentation, paged virtual memory.Slides: [ .ppt .pdf ]
Reading: Chapter 8
Midterm Exam
In class, closed-book exam based on material covered so far.
Virtual Memory 1
Physical address spaces, virtual address spaces, page table design,   single-level and multi-level page tables, hardware support for dynamic   address translation using a TLB, hardware and software managed TLB refill.Slides: [ .ppt .pdf ]
Reading: Chapter 9
Virtual Memory 2
Inverted page tables, the memory hierarchy, TLB miss faults, segmentation   faults, protection faults, page faults, hardware support for memory   protection, segmentation.Slides: [ .ppt .pdf ]
Reading: Chapter 9
Project 3 due at start of class.
Start Project 4: Kernel Resource Managers
Virtual Memory 3
Implementation issues, page sharing, copy-on-write, page fault handling,   segmentation, segmentation with paging.Slides: [ .ppt .pdf ]
Reading: Chapter 9
Paging Algorithms
Demand paging, swapping, placement and replacement algorithms, memory   hierarchy revisited, overview of cache architecture, performance modeling for   memory management systems.Slides: [ .ppt .pdf ]
Reading: Chapter 9
Input/Output
Devices, memory mapped devices, DMA, device drivers, interrupt handling,   scheduled vs non-scheduled I/O processing, block vs character devices.Slides: [ .ppt .pdf ]
Reading: Chapter 13
Secondary Storage Management
Disks, sectors, tracks, blocks, disk head scheduling algorithms, the file   abstraction, directories, links.Slides: [ .ppt .pdf ]
Reading: Chapter 12
Project 4 due at start of class.
Start Project 5: User Level Processes
File Systems 1
File system architecture, file system data structures and system calls.Slides: [ .ppt .pdf ]
Reading: Chapter 10
File Systems 2
File system architecture and design criteria.Slides: [ .ppt .pdf ]
Reading: Chapter 11
Security
Protection domains and mechanisms, access control lists, capabilities, user   authentication, encryption, common internal and external attacks.Slides: [ .ppt .pdf ]
Reading: Chapters 14 and 15
Project 5 due at start of class.



No comments:

Post a Comment