3120 Operating Systems
Summer 2003
Course Outline
Announcements
Please note that it is not guaranteed that all
announcements made in class will appear here. You are responsible for any
announcements made in class.
August 1
- Last minute exam review session: Thursday, August 7th, 5:30-7:30 pm, in the CS auditorium.
- Chapters covered list has been updated.
- Reminder that the final is cumulative, will be roughly 25% midterm1 material, 25% midterm2 material, 50% post-midterm 2 material.
- I will be in some days next week, email me if you want to set up an appointment.
July 14
- Reminder that a discussion of practice monitor questions will be held Monday, July 21st, after class.
- Assignment 6 available
- Updated final project requirements.
- Groups will be finalized today to relocate students whose group members dropped the course.
- Chapters covered list has been updated.
July 11
- Here are a couple of synchronization problems for practice.
Solve each using a semaphore solution. Solve using a monitor solution.
Solutions will be discussed Monday, July 21st, after class
July 7
- Next topic: Memory Management, Chapter 9
- Midterms will be returned today.
- Assignment 4: A sample solution that can be used as a base for assignment 5 has been posted.
July 3
- Assignment 5 on Threads given out.
- Next topic: Memory Management, Chapter 9
- Assignment 3: A student solution is now posted.
- Assignment 4: A sample solution will be posted tomorrow - can be used as a base for Assignment 5
June 27
- Midterm is Friday, July 4th. Check today's notes for a highlight of topics.
- Next topic: Threads (Chapter 5)
- Assignment 3 back today. A student solution will be posted.
- Assignment 4 is due on Wednesday. Assignment 5 (Programming
with threads) will be ready then for those that want to work on it over
next weekend.
- Updated group paper topic listing.
- Updated chapters covered listing.
June 9
- Wednesday's class will be taught be Dr. Norm Scrimger. Topic: Deadlock (Chapter 8)
- Assignment 3 out
- Midterms and Assignment 1 back (Assignment 2 will be handed back on Friday)
- Updated group paper topic listing. Also, be sure to check the style guide for references. If you have any questions at all about how to reference sources within your reports properly, ask! When the reports are marked, ignorance will not be an acceptable excuse.
May 30
- REMINDER: May 26-June 2, class will be held in room 3157 of the
Dentistry Building.
- As of June 4, class will be back in the CS auditorium
- Final exam timetable out:
Friday, August 8th, 9:00 a.m. - CSCI 3120 - Life Sciences Centre, room 242
May 28
- Midterm 1 is quickly approaching.
- REMINDER: May 26-June 6, class will be held in room 3157 of the
Dentistry Building.
May 26
- A resources page has been uploaded for the group paper. Check the groups doc and make sure I credited you with your contribution to the resources (should have a 3 by your name). If I missed you, resend your original email to me. If you didn't send it yet and want to earn good karma, make sure that you contribute 3 new sources not already listed.
- Posted a link to the required references style guide
- REMINDER: May 26-June 6, class will be held in room 3157 of the
Dentistry Building.
May 23
- Assignment 1 should be handed in (1:35 pm) both electronically and hard copy.
- Each group should have made contact with all members, confirmed with me the exact OS for each member, and given 3 references per member for resources that they have found re: their OS.
- Assignment 2 ready.
- First set of points to discuss for the group paper and a format for the paper available.
- REMINDER: May 26-June 6, class will be held in room 3157 of the
Dentistry Building.
May 21
- Just a reminder that we have a class mailing list (all-cs3120@cs.dal.ca). Feel free to send questions/suggestions to the class list. The emails get sent to your accounts on borg. Those of you who had an account created for this class, may want to log into the account periodically to check for class email or look into forwarding the email to your regular account.
May 20
- I've updated the Groups to omit those that have dropped the class. Groups 21 and 22 have been combined into a single group.
May 19
- I'll be available for help with the assignment from 4-5pm, Tuesday, May 20th (room 311).
May 16
- Check group section - need group updates/reference lists from each group by May 23rd.
May 14
- New tutorial locations:
- Unix tutorial: 12:30-1:30 Wed, May 14, Teaching Lab 1
- C tutorial: 5:30-6:30 Thurs, May 15, Auditorium
- C tutorial: 12:30-1:30 Fri, May 16 Teaching Lab 1
- Listing of Groups is now posted. Please check and make sure I have you grouped properly. Many people have not yet specified the precise OS they will be researching - please do so soon. Also, please ensure that each group member researches a different OS.
- Students who are not CS students should have been given an account on borg. Go to the Help Desk on the 1st floor with your ID and they'll give you all the info you need to log in to your account.
- Please work on your assignments on borg instead of torch. If we are going to bring a system to its knees as we learn to fork, we should bring down the one not meant to still be used by the undergrad population.
May 12
- The times are set for the Unix and C tutorials. I've arranged for 2 of each, hoping that you'll each be able to attend at least one of them.
- Unix tutorial with Ashley George - 4th floor
5:30-6:30 Tuesday (May 13) or 12:30-1:30 Wednesday (May 14)
- C tutorial with Ashley George - 4th floor
5:30-6:30 Thursday (May 15) or 12:30-1:30 Friday (May 16)
-
Ashley's normal shift in the Learning Center is 2-5:30 pm on Tuesdays
- Assignment 1 will be distributed in class today.
- I will have the groups for the paper sorted out for Wednesday and will
hand out the first installment of the paper requirements then. If you
have yet to specify which OS you would like to research or communicate
your group or need for a group, please do so today.
May 7
- Please email me by Friday (or give me a scrap of paper in class) your
group preferences for the paper. Each group must contain 1 person doing
Linux, 1 person doing a flavour of Windows, and 0-2 other people covering
other operating systems (may contain another flavour of Windows). If you
do not have a group, tell me you need a group and what OS you would
prefer to write up and I'll assign you to a group.
- I'm organizing Unix and C tutorials to assist you with the first
programming assignment. Please email me if you would like to attend these
tutorials and let me know what time periods you are available.
- The textbook is on order at the bookstore.
Course notes (Powerpoint)
Notes are based on the slides that accompany the text (Silberschatz, Galvin, Gagne) and those provided by Dr. Jost. Original slides that accompany text may be found here.
Please note that course notes are not guaranteed to contain all material taught in class. You are responsible for all material taught in class whether or not it appears on the course notes.
May 5 - Intro
May 7 - Overview & History
May 9 - Processes
May 12 - Process Creation
May 14 - Process Scheduling part 1
May 16 - Process Scheduling part 2
May 21 - Process Synchronization
May 23 - Critical Section Problem
May 26 - CS Problem, Synchronization Hardware, Semaphores
May 28 - Semaphores
May 30 - Classic Synchronization Problems
June 2 - Reader/Writer with Semaphores
June 4 - Midterm 1
June 6 - Interprocess Communication - Unix Pipes
June 9 - Midterm 1 Solutions
June 11 - Deadlocks with Dr. Scrimger
June 13 - Deadlock Avoidance - Bankers Algorithm
June 16 - Deadlock Avoidance/Detection
June 18 - Message Passing
June 20 - Sockets
June 23 - Monitors
June 25 - Monitor Implementation
June 27 - Clarification of Monitor Implementation, Midterm discussion
June 30 - Threads
July 2 - Threads
July 4 - Midterm 2
July 7 - Midterm 2 Solutions
July 9 - Memory Management (intro & fixed partitions)
July 11 - Memory Management (dynamic partitions, paging intro)
July 14 - Memory Management (paging, TLB)
July 16 - Memory Management (multi-level paging, segmentation)
July 18 - Virtual Memory (Optimal, LRU page replacement)
July 21 - Virtual Memory (FIFO, 2nd Chance page replacement
July 23 - Virtual Memory (Cleaning Policy, Resident Set Management, Other Considerations
July 25 - File System Interface
July 28 - File System Implementation (File System Structure, Disk Allocation Methods)
July 30 - File System Implementation (Disk Allocation Methods (cont.), Free Space Management)
August 1 - Review
Assignments
- Assignment 1 - Due 1:35 pm, Friday, May 23
- Sample makefile for this assignment.
- Reference material on makefiles
- NOTE: If you edit the file, be very careful of leading white
space on a line. Make expects TAB characters
not spaces at the start of any line that is a command to be executed.
All other lines need to start in column one without white space. If you cut and paste the text of the sample makefile into an editor, you may unwittingly end up with spaces instead of tabs.
- TO SUBMIT: create a directory called assignment_1 and place README, test.txt, makefile, mychild.h, mychild.c, myshell.h, and myshell.c in the directory. In the directory above assignment_1, type: submit assignment_1
Select cs3120 from the available options and the submit will take place. You should get a SUCCEEDED message that will tell you that all 7 files were successfuly submitted. You may submit more than once and your latest submission will be the one that is marked. Once 1:35 pm, Friday, May 23rd has passed, the submit program will mark your submission as late and the marker will not mark it. Remember to pass in the hard copies of your files at the beginning of class on Friday.
- Assignment 2 - Due 1:35 pm, Monday, June 2
- Assignment 3 - Due 1:35 pm, Wednesday, June 18
- Assignment 4 - Due 1:35 pm, Wednesday, July 2
- Assignment 5 - Due 1:35 pm, Monday, July 14
- Assignment 6 - Due 1:35 pm, Friday, July 25
- Hard copy of assignment due at beginning of class. Please type your submission (diagrams can be neatly drawn).
- Sample Solution
Group Paper
Material Covered
Chapter Sections covered from text book, updated July 14