Operating Systems

ECE344, Spring 2019
University of Toronto

Labs and website created by: Ashvin Goel
Deadlock

Quick Links

Lab AssignmentsQuercus Website

TA Contact Information

Section 101 Monday 12:00 – 15:00 GB251
Pushkar Bettadpur: pushkar.bettadpur@mail.utoronto.ca
Ishita Ray: ish.ray@utoronto.ca

Section 102 Wednesday 15:00 – 18:00 GB243
Kuei (Jack) Sun: kuei.sun@utoronto.ca
David Lion: david.lion@mail.utoronto.ca

Section 103 Monday 9:00 – 12:00 GB251
Shengjie (John) Xu: shengjie.xu@mail.utoronto.ca
He (Shawn) Shuang: he.shuang@mail.utoronto.ca

Lab Assignments

The ECE344 lab assignments will be released here. Please go over the lab documentation and the frequently asked questions below.

Lab 1

Lab 2

Lab 3

Lab 4

Lab 5

Getting Started With Labs

Please fill in this form to sign up for a remote Git repository. This is necessary to submit your labs.

All source code must be compiled and submitted on the lab computers. These computers are Linux machines with names that matches ug*.eecg.utoronto.ca, e.g., ug149.eecg.utoronto.ca. You can tell which machine you are using from the command prompt. For example, if you are using ug149.eecg.utoronto.ca, the command prompt will show ug149. The range of machines that are accessible is roughly ug51-ug100, ug132-ug180 and ug201-250.

After signing up with the above form, students will be assigned a user number for this course. You can find out your user number by typing the groups command after logging into the lab machines.

  $ groups

This command provides information about all the Unix groups to which you belong. One of them should be in the range from os-001 to os-200. The 3-digit number after os- is your user number for this course (e.g., with 031, the user number is 031 and not 31). Expect a small delay (around a day) between signing up on the form and receiving your group number. If you still do not have a user number after signing up with the form, please send an email to David Lion. Make sure to cc your partner if applicable and include your UTORIDs in the email.

Below, we have provided instructions for accessing the lab machines remotely. You can also setup your SSH Keys, which simplifies using ssh for remote access.

Lab Documentation

These documents will be helpful for the ECE344 labs.

Frequently Asked Questions

Please see the frequently asked questions about the ECE344 labs.

Remote Access to Lab Machines

We will be using the ECE Workstation Labs for ECE344. To access these machines remotely, you need to be connected to the U of T network. After that, you can use SSH to access the Unix machines remotely.

You can use the screen program to multiplex multiple virtual terminals onto a single console. This is especially useful when debugging Lab 4 and Lab 5, which involve a client and a server program.

If you wish to use a graphical IDE to develop and debug your programs on the ECE lab machines from a remote site, you will need to use VNC, as described in the SSH link above.

Lab Machine Issues

Some students exceed their disk quota and then they are unable to access the lab machines. In this case, a remote ssh connection will still work (from ECF machines, or from a friend's account). After logging into the lab machines, run the command

du -sk * .??*

to find out exactly where the space is being used. Huge browser caches and/or unemptied Trash are the usual causes. You can also use the command

quota -s

to find out your disk quota on the machines.

If you have additional issues with the lab machines, including with forgotten passwords, please contact Tim Trant, the lab administrator, and make sure to include your UTORID in your email.

The C Language

Here are some links to tutorials for C.