Computer Science 213:  Operating Systems and Parallel Algorithms

Laboratory Exercises

Computer Science 213 includes weekly laboratory exercises, as described below:
Laboratory
Exercise Title and Description
Lab. 1 Getting Started With C:
  • Program Structure
  • I/O, Loops, Conditionals
  • Lab. 2 More C Programming:
  • Procedures
  • Parameters
  • Lab. 3 Structures in C:
  • Arrays
  • Sorting
  • Lab. 4 Concurrency in Unix/GNU C:
  • spawning child processes
  • fork, exec
  • Lab. 5 Shell Programming:
  • development of a simple shell
  • based on Chapter 2's lab exercise
  • Lab. 6 More C and Unix-Style Shell Programming:
  • understanding the assignment operator =
  • simple shell development, continued
  • Lab. 7 Shared Memory and Process Synchronization in Linu:
  • Shared Memory: mmap
  • Semaphores: semget, semctl, semop
  • Lab. 8-9 Shared Memory and Semaphores in Unix:
  • Simulation Exercise
  • Sleeping Barbers Problem
  • Lab. 10 Parallel Sorting and Memory Management Algorithms:
  • Parallel Sorting
  • First-fit, next-fit, best-fit, worst-fit, binary-buddies, boundary-tag buddies
  • Lab. 11 Paging and Virtual Memory:
  • Page Replacement Algorithms
  • Issues for Virtual Memory
  • Lab. 12 Files and Directories:
  • Alternatives for Directory Organization
  • File Structure Options
  • Lab. 13 Programming Using Sockets:
  • using streaming sockets for process communication
  • Computing the Julia Set

  • This document is available on the World Wide Web as

    http://www.math.grin.edu/~walker/courses/213.fa00/lab-index.html
    

    created August 20, 1998
    last revised November13, 2000