CS385 - Operating System Concepts and Design

This is the course website for the Spring 2012 offering of CS385.

Lecture Recordings

To download a lecture, simply tack on "movie.f4v" to the end of the URL of the lecture below.

C Programming

Lecture 1 - Introduction to Operating Systems
Lecture 2 - Subversion, Assembly in a Linux
Lecture 3 - Intro to C, Types
Lecture 4 - Pointers, Casting and Function Calls
Lecture 5 - Assignments and function calls by value or by reference
Lecture 6 - Allocation and lifetime of variables / memory management
Lecture 7 - Linking and loading, position independent code
Lecture 8 - build tools by Tim: gcc, make, (gdb didn't make it)
Lecture 9 - C programming wrap-up. Libraries, declaration vs definition, etc.

Concurrency

Lecture 10 - fork(), exec(), file descriptors etc. (lost first 15 mins due to OS crash)
Lecture 11 - homework 3 solutions, homework 4 hands-on example setting up a pipe
Lecture 12 - kernel dive: fork() system call. (process abstraction discussion lost due to crash)
Lecture 13 - intro to concurrency (audio only, my mistake)
Lecture 14 - pthreads API: thread, mutex, condition variable and barrier.
Lecture 15 - concurrency concepts, deadlock avoidance. lost due to crash

Scheduling

Lecture 16 - Introduction to Scheduling, green threads example
Lecture 17 - hw6 and the many objectives of scheduling
Lecture 18 - overview of scheduling policies
Lecture 19 - addl. hw6 review, CFS scheduler, kernel dive
Lecture 20 - boot: from power-up to /sbin/init

Main Memory Management

Lecture 21 - the memory hierarchy, start of virtual memory
Lecture 22 - virtual memory
Lecture 23 - memory management with malloc/free and hw7
Lecture 24 - page replacement
Lecture 25 - mmap(), shared memory, slab allocators
Lecture 26 - disk swapping and performance
Tim's lecture on debuggers and HW8 - template addendum
Lecture 27 - Memory Management Wrap-Up

Secondary Storage

Lecture 28 - File Systems Intro: Directories, Links, Inode numbers
Lecture 29 - Representing Files: FAT and inodes
Lecture 30 - ext2 disk layout, preserving consistency through journaling
Lecture 31 - RAID, beginning hw9
Lecture 32 - hw9 discussion
Lecture 33 - btrees and btrfs

Security

Lecture 34 - beginning protection and security, file system access controls
Lecture 35 - setuid, inner workings of sudo, restrictions on non-disk resources
Lecture 36 - authentication
Lecture 37 - shared key cryptosystems
Lecture 38 - public key cryptosystems
Lecture 39 - program vulnerabilities and exploits

Lecture 40 - inter-process communication and synchronization
Lecture 41 - summary and wrap-up


This topic: CS385spring12 > WebHome
Topic revision: r6 - 2012-01-14 - 23:20:02 - Main.jakob
 
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
WISEST
Helping Women Faculty Advance
Funded by NSF