COMP346/5461 - Operating Systems - Some Course Materials

Updated: Sunday, 16-Jan-2005 13:15:54 EST

Table of Contents

  1. Intro

  2. Tutorials

  3. Assignment Grades and Submission Status (check from time to time)

  4. IMPORTANT! Assignment Submission Guidelines

  5. F.A.Q.
  6. Links


On this page I try to post some relevant and hopefully useful information for the course. There are few links and references and answers to common questions that some of the students had asked.

There is a mailing list for this course where every instructor and all the students taking the course must be subscribed.

To subscribe to the mailing list or to change your subscription:

If you need assistance in subscribing to a mailing list, please visit and/or ask assistance of a tutor/lab instructor.

To visit mailing list archives (requires login):

Please report any typos and bugs to

Tutorial Slides and Examples

Tools and Environment
Title Topics Format Examples Notes
Kickstart Intro to Java: Part I Java basics. PPT | PDF |  
Setting Up the Environment Configuring your CS account to use Java CS:

Kickstart Intro to Java: Part II Slightly Advanced Java: Arrays, Threads, Exceptions PPT | PDF | |  
Makefile   PPT| PDF These examples come from below program examples. cmdwnd: Makefile; ifv: Makefile; shlnno (lib version): Makefile  
OS Concepts
Some Theory Review OS; I/O; Programs, Processes, and Threads; Sync vs. Async; Problems in Multiprogramming PPT | PDF    
Synchronization   PPT | PDF  
Drivers, Interrupts, and Trap Explained   PPT | PDF    
Salsa Theory Debrief II Device Drivers details, ME, Memory Management, Deadlock, Processes and Threads, Take II, Message Passing vs. Syscalls
PPT | PDF LP Driver  
fork() and exec() Process management syscalls HTML   Slides and examples
Memory Management   Tutorial 7, PPT | Tutorial 8, PPT   By Paul and Tony
Deadlock   PPT | PDF    
The Monitor   PPT | PDF | | (examples require and be present in the same directory)
CPU Scheduling   (PPT, zipped, ~850K)    


Q: Where can I download the JDK 1.2.1 software?


----- Original Message -----
Sent: Monday, May 13, 2002 4:13 PM
Subject: Re: JDK 1.2.1

> Hi Serguei,
> I would like to know where I can download the JDK 1.2.1 software. I looked on, but I could not find it.

They've hidden it. :) But you do know how to use search, don't you? ;)


Q: I want to work remotely from home. What's the hostname to connect to?


----- Original Message -----
Sent: Monday, May 13, 2002 5:01 PM
Subject: Re: SSHing from home with PuTTY

> Hello,
> I downloaded PuTTY at home, now what's the host name?

> Are there any other
> settings I need to set to make it work? (I know you did it in class but I
> was too far away and I thought it would be in your notes)

Just check the SSH radio button. Should work as it is. Extra settings are already more cosmetic rather than required to operate.

Q: How do I subscribe to the COMP346 mailing list?


If you wish to subscribe, you go to:

Under the Subscribing to Comp346-f03 heading you have to enter your email address (of your choice, it doesn't have to be your CS email) and pick a password and enter it twice below the email. The password will help you to configure the subscription options if you ever require this. Keep the daily digest option as "No" and hit "Subscribe".

After that you'll receive an email asking you to confirm your subscription. This is needed to prevent somebody subscribing for yourself without your will. Just reply to the email as it is, and you should be all set.

Q: How do I access G: drive using PuTTY or any remote login or from UNIX/Linux?


----- Original Message -----
Sent: Saturday, May 18, 2002 3:15 PM
Subject: Re: Accessing "G:" drive remotely

> hi!
> i'd like to know how to, using Putty, access my G: drive and eventually the
> files blockmanager, blockstack, etc., which are in a directory. I use my cs
> account when logging in on putty.

There's no such a thing in UNIX like G: or A: or C: drives. Unix has a one-root virtual file system and all other filesystems mounted onto its subdirectories. So, when you login either remotely or locally to a Linux/UNIX system, you have to step a bit aside from M$ Windows "mentality".

There are two "home" directories in your CS account. One is Unixhome another NT home (aka G: drive in Windows). Both homes are accessible from either OS.

In Unix to access your NT home, you should go to the /home/nthome/your_username directory:

your_username.alpha % cd /home/nthome/your_username

To go back to your Unix home just type cd without arguments. The pwd command should show you, which directory you're currently working in.

You can also setup a symlink (symbolic link, analogy in Windows - shortcuts) to your NT home and call it g or G for example and then simply do cd g if this makes you happier:

your_username.alpha % ln -s /home/nthome/your_username g
your_username.alpha % cd g

The above is done only once, and you just use it thereafter.


Q: How do I archive and compress my files and what's the heck is WinZip?


For those of you who have never heard of WinZip, WinRar, tar/gzip and alike, here's a brief answer.

WinZip is the most popular in the Windows world archiving and compressing utility which can be downloaded from, and it has nothing to do with a zip drive! It can compress your files, so they get 6-10 (or many more depending on file contents) times smaller for MS Word files and even more for text files, such as source code. If you don't have it yet installed you can grab a copy or use the ones in the CS labs.

Where WinZip installed, it's usage is very simple: just select the files or folder(s) you want to zip, right-click, "Add to Zip" (or similar), and that's it. Then attach the zip file to your email and send it with the proper subject line.

WinRar is another alternative. In many cases it has better compression as that of WinZip. WinRar can be downloaded from Usage is similar to WinZip.

Under *nix systems there are also a number of command-line (and with GUI too) archiving utilities. To name a few: zip/unzip - are 100% compatible with the WinZip, tar, gzip, bzip2. They all can be used separately and together, and their archives can be opened by WinZip and WinRar. Read the manual pages for more info. Sometimes people refer to archived files as tarballs (coming from tar/gzip combo). Examples:

zip -r dir_or_list_of_files_to_zip


tar -cvf myarchive.tar dir_or_list_of_files_to_tar
gzip myarchive.tar


bzip2 myarchive.tar


tar cvfz myarchive.tar.gz dir_or_list_of_files_to_tar_and_gzip


tar cvfj myarchive.tar.bz2 dir_or_list_of_files_to_tar_and_bzip

By using archiving and compressing utilities you save your disk space, network traffic, time to send/receive the files, and my mailbox size. PLEASE, USE ARCHIVING WHENEVER POSSIBLE!


COMP346 Home | Aiman Hanna | Tutorials | Contacts | Site Map
Assignments | Assignment Submission Guidelines | Grades

Maintained by Serguei A. Mokhov,
Last modified: Sunday, 16-Jan-2005 13:15:54 EST