Operating Systems, ICS 612
This page is
http://www2.hawaii.edu/~esb/2011fall.ics612/index.html
This page is subject to change without notice -- please reload it
in your browser if an item that might affect you may have changed.
The organization of the course is described here. Please review it at the beginning of the
course and occasionally during the course. It includes information
about course goals, class time and location, contacting the
instructor, office hours, the textbook, grading,
and the no cheating policy.
If you have any questions, please contact the instructor.
Schedule
This schedule is subject to change.
Presentation notes are in HTML. I usually post notes no later than the
day before the lecture.
Chapter references are to the textbook, Data Structures: Abstraction
and Design Using Java, 2nd edition.
- Mon Aug 22. Introduction and Overview. Book, Chapter 1.
Outline
- introductions
- course overview
- Wed Aug 24. Shells.
Outline
- shells and window systems
- what is and what isn't part of the operating system?
- starting programs
- processes
- pipes
- scripting languages
Project 1 assigned, due Sep 7th
- Mon Aug 29. Processes, Chapter 2.
Outline
- processes
- process table
- schedulers
- interrupts and context switch
- layered operating system
Assignment: read Chapter 2 in the textbook.
- Wed Aug 31. Posix System Calls, Chapter 1.
Outline
- Wed Sep 7. Virtual Machines, Chapter 1.
Scheduling, Chapter 2
Outline
- virtual machines
- scheduling
- round-robin scheduling
- priority scheduling
- modified priority scheduling
- real-time scheduling
- Minix scheduling
Project 2 assigned, due Sep 14th
- Mon Sep 12. IPC and synchronization, Chapter 2
Outline
- inter-process communication
- races
- pipes
- semaphores
- monitors
- message passing
- Minix message passing
- read-copy-update (RCU)
- Wed Sep 14. Context switch, execution, and booting, Chapter 2
Outline
- Minix context switch implementation
- Minix kernel synchronization
- Minix process suspension and reactivation
- a.out and kernel executable formats
- booting
- Mon Sep 19. A.out, booting, Chapter 2. I/O, Chapter 3
Outline
- a.out and kernel executable formats
- booting
- I/O hardware
- DMA
- structure of I/O software
Project 3 assigned, due Oct 9th
- Wed Sep 21. Deadlocks, Chapter 3. Minix tasks. Chapter 2
Outline
- deadlocks
- Minix system task
- Minix clock task
- Mon Sep 26. Exam review
Outline
- shell, fork, and exec
- Posix system calls
- kernel structure: monolithic, microkernel, layered
- processes, scheduling, context switch
- virtual machines
- IPC, races, locks, deadlocks, monitors, pipes, and message passing
- booting
- I/O
- Minix code
- Wed Sep 28. Exam 1, on Chapters 1, 2, and 3.1-3.4, as well as the
material in all the preceding lectures and in projects 1 and 2.
- Mon Oct 3. Minix virtual memory basics. Minix I/O, Chapters 3.4-3.6.
Outline
- Minix virtual memory
- Overview of Minix I/O
- Minix Block Devices
- Minix RAM disk
- Wed Oct 5. Minix block devices, RAM disk. Chapters 3.5-3.6
Outline
- Minix Block Devices
- Minix RAM disk
- Minix hard disk driver
- Minix Terminal Driver
- Memory Management: allocation, swapping, and paging
- paging
- Mon Oct 10. Minix Hard disk driver, Terminal drivers. Chapters 3.7-3.8.
Outline
- Minix hard disk driver
- Minix Terminal Driver
- Memory Management: allocation, swapping, and paging
- paging
Project 4 assigned, due Oct 19th
- Wed Oct 12. Minix Terminal Driver, Memory management. Chapters 3.8, 4.
Outline
- Minix Terminal Driver
- Memory Management: allocation, swapping, and paging
- paging
- virtual memory hardware
- minix memory management
- Mon Oct 17. Paging and Memory Management. Chapter 4.3-4.6
Outline
- paging
- virtual memory hardware
- minix memory management
- Wed Oct 19. Minix Process Manager. Chapter 4.7-4.8
Outline
- minix fork and exit
- minix exec
- modules
- Unix/Posix signals
- Minix signals
Project 5 assigned, due Oct 31st
- Mon Oct 24. Minix Exec, Modules, and Signals. Chapter 4.8
Outline
- Minix exec
- modules
- Unix/Posix signals
- Minix signals
- Wed Oct 26. Minix Signals, File System API. Chapter 4.8-5.2
Outline
- Minix signals
- file systems: user interface, API
- file system implementation
- Mon Oct 31. File System Implementation. Chapter 5.3.
Outline
- file system implementation
Project 6 assigned, due Nov 23rd
- Wed Nov 2. Exam review
Outline
- Virtual Memory and Memory Management
- Block Devices
- Drivers: RAMdisk, hard disk, terminal, display
- Fork, exit, exec, and modules implementations
- Signals and signal handling
- File Systems: API, implementation
- Mon Nov 7. Exam 2, on all the material so far, but emphasizing the
material since Exam 1.
- Wed Nov 9. Chapter 5.3.
Outline
- post-exam review
- bad block checking
- journaling file systems
- file system performance
- Mon Nov 14. Chapters 5.6 and 5.7.
Outline
- Minix FS in-memory data structures
- Minix FS disk layout
- Minix buffer cache
- Minix inodes and superblock
- Minix opening files
- Wed Nov 16. Chapters 5.6 and 5.7.
Outline
- Minix buffer cache
- Minix inodes and superblock
- Minix opening and closing files
- Mon Nov 21. Chapter 5.7
Outline
- reading and writing files
- pipes
- linking and unlinking
- slow system calls
- distributed computing overview
- security overview
- multics security
- Wed Nov 23. Chapters 5.4 and 5.5
Outline
- security overview
- multics security
- Security Enhanced Linux (SELinux)
- Mon Nov 28.
Outline
- Security Enhanced Linux (SELinux)
Project 7 assigned, due Dec 8th
- Wed Nov 30.
Outline
- Mon Dec 5. Student presentations on: DMA, B-tree file system,
history of Unix.
- Wed Dec 7. Course review.
Outline
- operating systems overview
- interfaces: APIs, shells, window systems
- processes and threads, scheduling, interrupts, IPC and synchronization,
context switches
- exec, fork, memory management, signals
- I/O and device drivers
- file systems
- security
- operating system structure: distributed, cluster, and grid computing
- projects
- discussion
The final exam for this class is
scheduled for Monday Dec 12th, from 2:15pm to 4:15pm. The exam
is on the material in the entire course, with some emphasis on the
material since exam 2.