CMPT 300: Operating Systems

Resources

Here are some links to various resources on the Web that you might find useful. These include links to background material, news sites, and sites where you can learn about specific products.

Please contribute links to sites you may know about so that everyone can benefit from everyone else's knowledge and experience.

Study Aids for Final Examination

Caveat emptor! These are the overheads I brought with me to the lectures. During a lecture, I often added hand-written notes and corrections to slides and drew additional diagrams as necessary. I also said things out loud that do not appear on the slides. Finally, I occasionally skipped topics that I had prepared slides for especially in the final segment as we ran low on time.

I believe that your textbook and your own notes should be a better resource than these slides, but since some students seem to want to see my slides anyway, I am providing them here.

Note: The links are to PDF files.

Lecture Notes
Overview and History (35 KB)
Unix Basics (65 KB)
Computer System Architecture (75 KB)
Processes and Threads (71 KB)
Processor Scheduling (42 KB)
Synchronization (96 KB)
Deadlock, Livelock, Starvation & Determinacy (96 KB)
Memory Management (145 KB)
Disk and I/O Management (139 KB)
Study Questions
Sample Final Exam (204 KB)

Notes for Midterm Examination

A list of topics covered during the first half of the course (PDF - 132 KB).
Code examples from the lectures on synchronization (gzipped tarfile - 6 KB).

Cheap/Free Unix Operating Systems for Your PC

Solaris
Solaris for Free
ScholarPAC - Solaris Base
ScholarPAC Listing
Freeware for Solaris
Linux
Distributions
Red Hat Linux
Caldera
Debian GNU/Linux
LinuxPPC - Linux for PowerPC Systems
SuSE
TurboLinux Home Page
Yellow Dog Linux (PPC)
Documentation
The Linux Documentation Project: Homepage
The Linux Documentation Project: Linux Documentation Project
Unifix Linux Documentation, Home Page
User Groups
Vancouver Linux Users Group (VanLUG)
*BSD
Distributions
FreeBSD
NetBSD
OpenBSD
Sources
The FreeBSD Mall
Miscellaneous
Daemon News : The Premiere BSD E-Zine
*BSD FAQ Page
NetBSD/FreeBSD System Administration Tools
U/Win
Unix for WINdows

Unix Manual Pages On-Line

Unix 98
Single Unix Specification, Version 2
Solaris
Solaris Documentation (AnswerBook)
Linux
Linux MAN Pages - HTML Version
Linux Manual Pages

C++ and the Standard Template Library (STL)

C++
C++ FAQ
Boost Free C++ Libraries. Some free C++ library code, including pointer management classes that go beyond what you can do with auto_ptr.
C++ Tip-of-the-Day. Provides useful discussion of C++ dos and don'ts.
C++ Guru of the Week. Has regular C++ technical questions to keep you on your toes, with answers to previous weeks' question.
Standard Template Library (STL)
SGI STL Index
Dinkumware STL Index
A Modest STL Tutorial
STLport Enhanced SGI STL
Dr. Dobb's Journal interview with Alexander Stepanov (key designer of the STL)

Useful Links

General Computer Science
Free On-line Dictionary of Computing (North American Mirror)
Linux/Open Source
Kernel Traffic (Weekly Summary of the Linux Kernel Mailing List)
Slashdot
Freshmeat
Free Software Foundation
The Open Source Page
Georg's Brave GNU World - GNU Project - Free Software Foundation (FSF)
The Linux Kernel
Unix
Unix System Administrator's Resources
GNU Emacs FAQ
OMU - The "One Man Unix" System
Unix Guru Universe
Windows NT
Windows NT Magazine - NT Software & Hardware How-to Solutions & Reviews

Interesting Links

Unix
The Elements Of Style: UNIX As Literature
the UNofficial GNUstep homepage
History of UNIX (Ritchie, 1979)
Linux
Performance Computing: Penguin's Brew
LinuxHQ
Linux Today
Linux Weekly News
Miscellaneous
PPT: Unix Reconstruction Project
Caldera Feature - The Linux Standard Base: A Position Paper
Welcome to the IAT Demo Disk

Free Textbooks

Raphael A. Finkel
An Operating Systems Vade Mecum.

Textbook Links

Silberschatz & Galvin
Operating Systems Concepts
Errata (PDF)
Crowley
Operating Systems: A Design Oriented Approach
Stallings
Operating Systems: Internals and Design Principles
Errata
Tanenbaum
Andrew S. Tanenbaum's Home Page
Nutt
Operating Systems: A Modern Perspective
Hahn
Harley Hahn's Student Guide to UNIX, second edition
Haviland, Gray, & Salama
Unix System Programming: A Programmer's Guide to Software Development, second edition
Stevens
W. Richard Stevens' Home Page

Writing

Style Guides
Jack Lynch, Guide to Grammar and Style
The Curmudgeon's Style Book
Paul Brians' Common Errors in English
William Strunk's The Elements of Style (1918)
Grammar, Punctuation, and Capitalization -- A Handbook for Technical Writers and Editors (NASA)
The Chicago Manual of Style FAQ
Beyond the MLA Handbook (Harnack/Kleppinger)
alt.usage.english FAQ
HyperGrammar
On-Line English Grammar
Guide to Grammar and Writing
Frequently Asked Questions about English, Series 1 and 2
Dictionaries
WWWebster Dictionary - Search screen

Disclaimer: Listing here does not imply approval or endorsement. Links are provided for information only.