EECS 3221

Operating Systems

Contact Info
Last Modified:
May 11 2021

Frequently Asked Questions

Assignment I

What should the output format be? Something like "%d %7.3e\n", or something similar.

What does the timing.out look like? Like this:

    10 2.402e-02
    100 5.610e-02
    1000 3.490e-01
    10000 2.773e+00

Do I put anything in the the handler? Not in the code you submit. You may put a printf during debugging and remove it later.

How many comments are required? A header for sure for the program. A short header for any function you define. And a few comments here and there.

Is style important? Yes! Your code should be professional.

Can I use the signal? No. This is an old system call and very inflexible. So not confuse the manual page in section 2 that describes this old system call and the one in section 7 that describes the signalling conventions on Linux.

Do I need to use exec after fork? Yes. It is very hard otherwise. Use any of the functions/syscalls in the exec family.

How do I debug this code? Code with system calls and multiple child-processes is very hard to debug. Make sure that ALL system calls that may return an error condition (usually a negative number but not always) are checked and a meaningful error message is printed in the standard output.

How do I pass parameters to a child process? Read the exec family of syscalls/functions manual. You need to convert the numbers to ASCII strings (you can use sprintf).

General Questions

How can I connect to EECS computers? The easiest way is to use remotelab. For more info on remotelab you can have a look here.

Is ssh OK to connect to York computers? Yes, it is a great way. You have to be comfortable with the command line interface to make the best use of it, but it is faster if you have a slow connection at home. See here.

How do I mount my home directory at York to my Windows desktop? Please see here.

How do I mount my home directory at York to my desktop if I have a real computer? On Linux it is very easy. Download and install sshfs with

    sudo apt install sshfs
Then create an empty directory, let's call it EECS:
    mkdir ~/EECS
Do not use this directory for anything else. Just leave it empty.

Every time you want to mount your York directory just do

    sshfs ~/EECS
and to unmount
    fusermount -u ~/EECS

What studying practices do you recommend, other than reading the text and doing the assignments? The best way to learn operating systems is to spend time exploring the system: reading the manual pages, trying various commands, looking through the system directories, etc. The other way is to to install a Linus distro and play with it (mount another disk, create logical volumes, intall a web server, etc)

Which parts of each chapter do we cover? We cover practically everything, except for Ch. 1&2 which covered lightly (mainly basic definitions and system calls). We cover lightly, or not at all the sections at the end of each chapter which explain the features of specific operating systems.

Final Exam

Does the final cover the material before the midterm? Yes, the exam covers everything from the first lecture to the last. I'll try to have the questions evenly distributed over the material (to the extend that this is statistically possible)

Will there be a review for the final? Yes, please click on the dates button.

Is swapping the same as context switching? No. Swapping (as a technical term) is when we move frames from the main memory (RAM) to the disk. Context switching is when when we take the CPU from one process and give it to another. Unfortunately, the word swap is used in other places with its everyday (non-technical) meaning, like "the scheduler swapped the two processes"

Is "processes are copied to the disk" the same as "processes swapped into the backing store"? Yes, "swapped" is a technical term for writing out frames to the disk. Backing store nowadays means disk or SSD. At the time the first edition was written it was disk or drum.

Is segmentation in the exam? There will be no questions regarding segmentation in the exam. I left the slides on segmentation as an intro to the paging system.


Are the class notes enough? Derpends on your style of studying. For most people the notes I posted would not be enough since they are too terse and brief. I strongly recommend the textbook (older and cheaper versions are OK).

How should I use the notes? If you read my notes and arenot sure what they are talking about, then go back to the textbook and study again the corresponding chapter. Also, you can deduce the relative importance of a topic by the number of slides in the notes.

Will there be programming in the midterm? Yes. Mainly related Assign. I and the semaphore/monitors chapter.

What material is covered in the midterm? Ch. 1 and 2 we covered lightly (this is mostly stuff that either is suited for an encyclopedia or was covered in other courses). Use the notes as a guide. Ch. 3-9.2 (but not Ch. 8 (deadlocks)) (inclussive) we covered pretty much everything.

Is the sample midterm a good representation of the midterm? No, it is an old midterm and the material has shifted over the years.

Last Modified: Jun 13 11:19