Home Syllabus Homework
Example Code Notes Links


UNIX, Linux, and Scripting

    PuTTY - A free ssh client
    SFTP - The Secure File Transfer Protocol
Bash Shell Scripting
UNIX Tutorial for Beginners
Dartmouth Shell Scripting Class
Links to lots of UNIX tutorials
Knoppix a Linux Live CD/DVD
Knoppix Wiki
    BCCD - the Bootable Cluster CD
    BCCD Wiki

Introduction and Computer Organization Links

Operating Systems Introduction
XSEDE - the Extreme Science and Engineering Discovery Environment
cnx.org has a module on computer organization.
Module on Computer Organization by Nguyen Thi Hoang Lan
Wikipedia article on the Von Neumann architecture


UNIX Processes
Process States
 Wikipedia has decent articles on Processes and  Process Control Blocks
UNIX Interprocess Communication
Message Passing Interface
LLNL MPI Tutorial
Introduction to Parallel Programming and Cluster Computing
TACC Course Materials
Purdue Tutorials
Stampede User Guide


    POSIX Threads
    OpenMP Threads
    Multi-threaded Programming with POSIX Threads


Race Conditions
Mutual Exclusion
Critical Sections
Producer-Consumer Problem
Producer-Consumer Demonstrations
Readers-Writers Solution
Readers-Writers Problem
Readers-Writers and Monitors
Dining Philosophers
Deadlock Conditions
Deadlock walkthrough
Deadlock Prevention
Banker's Algorithm
Banker's Algorithm Examples

C Programming

Compiling with gcc
C Programming  by Steve Holmes

Context Switching and Batch Processing

Context Switching
Batch Processing

File Systems

File Systems  by Wikipedia
UNIX File System article by Wikipedia
NTFS article by Wikipedia
Ext4 file system article by Wikipedia
Paging article by Wikipedia