Announcement
∗ [Apr/10] Past finals posted.
∗ [Mar/20] Lab 3 has been released.
∗ [Mar/3] Midterm solution posted.
∗ [Feb/27] Lab 2 has been released.
∗ [Feb/15] Past midterms posted.
∗ [Feb/2] Lab 1 has been released.
∗ [Jan/20] Lab 0 has been released.
∗ [Jan/10] Please send your group information to shehbaz.jaffer@mail.utoronto.ca by the end of Jan. 13th. Use the subject "ECE344 group information", and make sure to include your UTORids.
∗ [Jan/9] Welcome to ECE 344!
Course Description
In this course discuss the principles in the design and implementation of operating systems software. Topics include: Introduction to operating systems concepts, process management, memory management, file systems for both hard drive and SSD, virtualization, and distributed operating systems. The laboratory exercises will require implementing a simple, but functional operating system from ground up.
This site provides instructor's lecture notes and all lab-related information.
Course announcements and the course discussion is on the Piazza web site.
Course grades are available at the UoT portal site.
Suggested textbook (not required)
Main: Modern Operating Systems (4th Edition), Andrew Tanenbaum and Herbert Bos, Prentice Hall. 2014
Additional: Operating Systems: Principles and Practice, Second Edition, Thomas Anderson and Michael Dahlin, Recursive Books, Ltd.
Course Information
The lecture and lab times and office hours are shown below:
Lecture Times: Tue./Wed./Fri. 1-2pm (BA1190)
Lab Times: Tue 3-6pm (GB251), Wed 9-12am (GB243), Thu 9-12am (GB251)
Office Hours: 10 minutes after each lecture.
Midterm exam: Mar. 1st, 1:00 - 2:10 PM (Location: UC266)
Course Policies
Grading:Final exam: 45%
Midterm exam: 25%
Lab assignment: 30% (3%, 7%, 9%, 11% respectively for each lab assignment)
Missed Labs: Missed labs will be made up on a case-by-case basis. Please have appropriate documentation (i.e. doctor's note, etc...)
Cheating: Each group should work independently. You may confer with each other, but your work should be your own. You should understand your code well enough to describe it to the TA and make simple changes to it when asked to.