CMSI 387 - Operating Systems

Professor Andrew Forney • Andrew.Forney[at]lmu.edu • Spring 2018 • DOO 219 • TR, 2:40 pm - 4:10 pm


Homework 5 Posted! 4 / 24 / 18

One last hurrah!


Homeworks 3, 4 Posted! 3 / 22 / 18

They've been out for some time but I'm just remembering to post this lul!


Classwork 3 Solution Posted! 3 / 8 / 18

Some good study material for your second exam!


Classwork 2 Solution Posted! 2 / 12 / 18

Some good study material for your first exam!


Pre-Exam I Info 2 / 8 / 18

Exam I Guide has been posted under the Materials tab; also, look for the solutions to Classwork and Homework exercises in their respective tabs at least 2 days before the exam!


Boxing Day 1 / 8 / 18

We will be using a Linux distribution within the VirtualBox VM for many classwork and homework exercises; please have it installed on your computer by Lecture 2T (see Lecture 1T for more information).


Welcome to CMSI-387 1 / 8 / 18

If you're reading this then you've successfully found the course page for CMSI 387! Check this page frequently for announcements that are relevant to the course, including notes, homework assignments, and practice problems.

First things first, please read through the course syllabus located here (or in the Materials tab above).



Lecture Notes
Date Lecture Subject
Lecture 14R
4 / 19 / 18
Is Paging a Victimless Crime?
Story at 11 (spoiler: it's not) -- page replacement and optimization
Lecture 14T
4 / 17 / 18
Pages of Demands
We turn the page with more about... paging... and how to demand it!
Lecture 13R
4 / 12 / 18
The Pagemasters
All about physical memory allocation and starts of paging!
Lecture 13T
4 / 10 / 18
I 'Member
Back to humble beginnings with memory management -- the nitty gritty details begin here!
Lecture 12R
4 / 5 / 18
What do OS' and the 405 Have in Common?
Deadlock.
Lecture 12T
4 / 3 / 18
Semaphore, Semaphive, Semasix...
Who knew synchronization could be solved with some simple counting! Semaphores and programmatic implementations.
Lecture 11T
3 / 27 / 18
Everything but the Kitchen Sync
An attempt to address the critical section problem, with motivations for next time!
Lecture 10T
3 / 20 / 18
Critical Role
...s of synchronization: producer-consumer problems, race conditions, and the critical section problem!
Lecture 9R
3 / 15 / 18
Running a Tight Ship
Scheduling algorithms abound!
Lecture 9T
3 / 13 / 18
Weaving Threads
Thread libraries, examples, and motivations for short-term scheduling!
Lecture 8R
3 / 1 / 18
Threading Lightly
Introduction and conceptual overview of threads!
Lecture 8T
2 / 27 / 18
Sharing is Caring
Interprocess communication and POSIX shared memory!
Lecture 7R
2 / 22 / 18
This May Take Time to Process
POSIX programmatic perspective on processes... in C!
Lecture 7T
2 / 20 / 18
Bash... Kill... Fork!
...and other forms of violence against processes. Process scheduling and intro to operations!
Lecture 6R
2 / 15 / 18
Due Process
Introduction to processes.
Lecture 4R
1 / 31 / 18
Syscall Me on my Cell Phone
System calls... all about 'em.
Lecture 4T
1 / 29 / 18
Major and General Concerns About Kernels
OS responsibilities, dual-mode operation, and OS structures!
Lecture 3R
1 / 25 / 18
Today We'll be Talking Aboot...
Memory organization and its role in getting the OS rolling!
Lecture 3T
1 / 23 / 18
A Sed State of Affairs
The bashapalooza continues with find, replace, and chaining it all together!
Lecture 2R
1 / 18 / 18
Pipin' Hot Commands
A varitable bashpouri: disk cmds., network cmds., aliases, text filtering, I/O redirection, and pipes!
Lecture 2T
1 / 16 / 18
What Tangled Links we Weave
More on files, links, and bash file manipulation!
Lecture 1R
1 / 11 / 18
A Bashful Lecture
Intro to files, file systems, and bash!
Lecture 1T
1 / 9 / 18
Linux Begin
Introduction, syllabus info, and a brisk overview of the course!

Homework
Number Date Assigned Date Due
Homework 5: The Pining Ktahsophers 4 / 24 / 18 5 / 4 / 18
Homework 4: bashing a Dead Horse 3 / 22 / 18 4 / 17 / 18
Homework 3: Kernel Desires 3 / 13 / 18 4 / 2 / 18
Homework 2: Sys-iphus 2 / 13 / 18 3 / 2 / 18
Homework 1: Getting to Know U(buntu) 1 / 23 / 18 2 / 9 / 18


Classwork
Number Lecture Assigned Lecture Due
Classwork 3 - Process-C-ing
2 / 22 / 18 3 / 1 / 18
Classwork 2 - C-Lions Unite
2 / 6 / 18 2 / 10 / 18
Classwork 1 - Unabashed
1 / 16 / 18 1 / 23 / 18