EEN521 T, Operating Systems, Spring 2018
Tues, Thurs at 5:00 p.m. in LC 120

The Book

Documentation

Assignments

email to grader521 at rabbit.eng.miami.edu, include typescript/screenshot.
     1  do it this week      BCPL practice: the Collatz sequence.     
2   Due   14th March One-level index file system.
3   Due   24th April Multi-processing with virtual memory.
4   Due   9th May Make newvec and freevec work together properly, not necessarily with virtual memory.
The grader's reminders page.

Class History

Class 1  Tue 16‑1‑2018    Introductions, etc.
A quick look at some of the mysterious things we'll be studying.
Class 2  Thur 18‑1‑2018 Remember to have the BCPL documentation available today.
The compile-assemble-link process, looking at assembly code.
Introduction to BCPL programming.
Class 3  Tue 23‑1‑2018 Pointers, vec, newvec, and freevec.
Data structures: binary trees and strings.
Class 4  Thur 25‑1‑2018 Magnetic tapes as an introduction to disc technology: A single magnetic tape unit, and a bunch of them in a typical large installation.
A reminder about probability theory for disc and tape drives.
Blocks, checksums, the inter-block gap, hard disc geometry.
Emulated magnetic tape access in BCPL.
Magnetic drums, and one of them opened up, 1957 specs.
A disc drive from 1965, with specs.
Writing output to a "magnetic tape" in BCPL, almost ready but needs to flush its buffer on closing.
Class 5  Tue 30‑1‑2018 Making a library, buffers and FILE-stars.
The library wtape.b, and the program that uses it usetape.b
Basic plans for a disc-based system.
Class 6  Thur 1‑2‑2018 Partitions, clusters, and block numbers.
Contiguous allocation and the need to condense (or defragment) disc space.
Files as linked-lists of blocks.
Header blocks and the level-1 index structure, a very restricted tree of blocks.
Class 7  Tue 6‑2‑2018 1-, 2-, 3-, and N-level indexes for file formats: file sizes and access times.
The effect of cluster size on the calculations.
ReiserFS - the whole file system is a B-Tree indexed by file number and fragment number.
Class 8  Thur 8‑2‑2018 A starting point for a file system.
Class 9  Tue 13‑2‑2018 PhD student Lalintha Polpitiya's teaching day.
Class 10  Thur 15‑2‑2018
Class 11  Tue 20‑2‑2018 Today's notes.
Class 12  Thur 22‑2‑2018 Today's notes.
Class 13  Tue 27‑2‑2018 Some unpredictable things that have to be dealt with.
A little bit of real interrupt processing.
Also processing keyboard interrupts.
Class 14  Thur 1‑3‑2018 The same thing with less assembly language usage,
The keyboard buffer, and its race condition problem.
Critical sections, semaphores and mutexes, P, and V.
Class 15  Tue 6‑3‑2018 Semaphores, Mutexes, and Monitors.
Intel's x86 interlocked instructions.
Single user devices: card reader, (codes), line printer, graph plotter, ASR33 teletype, (paper tape).
The card-reader, line-printer allocation deadlock.
Introducing the dining philosophers.
Class 16  Thur 8‑3‑2018 How can we save the dining philosophers from themselves?
A very primitive view of segmented memory.
Class 17  Tue 20‑3‑2018 Beginning virtual memory (paged). Page directory base register, page directories, page tables, virtual to physical address translation.
Class 18  Thur 22‑3‑2018 Illustrations of a system running with virtual memory.
Under the emulator, making VM really happen, here's the plan.
Organise memory: Make a list of all the free pages.
Now the big thing, Build the page tables, turn on VM, and run something in user mode.
Class 19  Tue 27‑3‑2018 Running a simple function in user mode without virtual memory.
Class 20  Thur 29‑3‑2018 The states and life-cycle of a unix process.
Mercury delay lines, again, Nickel delay line,
Core Memory: C2, C3, C4, C5, C6, C7.
Class 21  Tue 3‑4‑2018 A serious page map.
Creating and using it: vm1.b, vm5.b, os5.b, usr5.b.
Special event at 6.00.
Class 22  Thur 5‑4‑2018 Page faults and system calls.
Class 23  Tue 10‑4‑2018 Two functions running together
Newvec and freevec (malloc and free), part one.
Class 24  Thur 12‑4‑2018 Newvec and freevec, part two,
A diagram.
An alternative: the Buddy system.
Class 25  Tue 17‑4‑2018 Manipulating physical pages under virtual memory.
A quick look at FAT-16.
Class 26  Thur 19‑4‑2018 Special file systems, RAID.
Class 27  Tue 24‑4‑2018 Security: Digital fingerprints, Exclusive Or, RC4,
Class 28  Thur 26‑4‑2018 More security: some very basic things from number theory, RSA, Diffie-Hellman.