CSCI 3753: Design and Analysis of Operating Systems - Tam Vu
CSCI 3753: Design and Analysis of Operating Systems
Spring 2019
General Information
-
Course number: CSCI 3753
-
Instructors:
Tam Vu
-
Email: Tam [dot] vu [at] colorado [dot] edu
-
Class hours: M, W, F 9:00AM - 9:50AM
-
Class location: VAC 1B20
-
Office hours: M, W 10:00AM - 11:00AM (Available other times as needed, send me an email to schedule)
-
Office location: ECCS 111
Recitation:
-
Section 1:
- Room: KOBL 255 - Time: F 11:00AM - 11:50AM
-
Section 2:
- Room: KOBL 255 - Time: F 12:00PM - 12:50PM
-
Section 3:
- Room: KOBL 102 - Time: F 1:00PM - 1:50PM
-
Section 4:
- Room: KOBL 102 - Time: F 2:00PM - 2:50PM
TAs & CAs Office Hours
TA: Anh Nguyen (Anh [dot] TL [dot] Nguyen [at] colorado [dot] edu) - W 10:00AM - 11:30AM @ ECCS 102 - F 12:00PM - 1:30PM @ ECCS 102
TA: Zaid Alali (Zaid [dot] Alali [at] colorado [dot] edu) - T 3:30 - 4:30pm @ ECCS 112A - Th 3:30 - 4:30pm @ ECCS 102
TA: Christopher Godley (Christopher [dot] Godley [at] colorado [dot] edu) - W 3:00 - 4:00PM @ ECCR 1B11 - F 10:00 - 11:50AM @ ECCR 1B11
TA: Nagarajan Shanmuganathan (nagarajan [dot] shanmuganathan [at] colorado [dot] edu) - M 5:00PM - 7:00PM - Th 3:30PM - 5:30PM
CA: Ashley Kim (ashleykim0506 [at] gmail.com) - M 1:00PM - 3:45PM @ ECCS 112 - T 2:00PM - 3:15PM @ ECCS 112 - Th 12:15PM - 3:15PM @ ECCS 112
CA: Ryan Loi (Ryan [dot] Loi [at] colorado [dot] edu) - T, Th 11:00AM - 2:00PM @ Couch room
Course overview
This course introduces students to important Operating Systems concepts. The course will cover key aspects of how an operating systems functions on a modern computer. The following major topics will be covered:
Basic System Structure
Processes and Threads
Virtual Memory
File Systems
Security
Networking and Distributed (File) Systems
Virtual Machines
In addition, the class will gain familiarity with important software tools such as debuggers, compilers, editors, kernel modules, and virtual machines.
Prerequisites: CSCI 2400
Course Credits: Three (3).
Required Textbook: Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter Galvin, Greg Gagne (electronic or hardcover)
Course schedule
Week |
Time |
Lecture Content |
Reading |
Day 1 |
Day 2 |
Day 3 |
9th Edition |
10th Edition |
1 |
01/14 - 01/20 |
Machine Components, Boot Loader, Kernel Mode, System Calls, Virtual Machines (VM) |
Ch. 1, 2 |
Ch. 1, 2 |
2 |
01/21 - 01/27 |
Bus, Controllers, Direct Memory Access (DMA), Device Drivers, LKMs |
Ch. 2, 13.1-13.4 |
Ch. 2, 12.1-12.4 |
3 |
01/28 - 02/03 |
Processes |
Ch. 3 |
Ch. 3 |
4 |
02/04 - 02/10 |
InterProcess Communication (IPC) |
Ch. 3 |
Ch. 3 |
5 |
02/11 - 02/17 |
Threads, Thread Safe and Reentrant Code, Synchronization |
Ch. 4, 5 |
Ch. 4, 6 |
6 |
02/18 - 02/24 |
Mutual Exclusion, Synchronization Monitors, Conditional Variables |
Ch. 5 |
Ch. 7 |
7 |
02/25 - 03/03 |
Scheduling Processes and Tasks, Performance Criteria |
Ch. 6 |
Ch. 5 |
8 |
03/04 - 03/10 |
Deadlock (Conditions, Detection, Avoidance) & Midterm ReviewMidterm (03/08) |
Ch. 7 |
Ch. 8 |
9 |
03/11 - 03/17 |
Memory Management, Virtual Memory |
Ch. 8 |
Ch. 9 |
10 |
03/18 - 03/24 |
Paging, Page Replacement, Memory Allocation, On-Demand Paging |
Ch. 8, 9 |
Ch. 9, 10 |
- |
03/25 - 03/31 |
Spring Break |
- |
11 |
04/01 - 04/07 |
Paging, Page Replacement, Memory Allocation, On-Demand Paging |
Ch. 8, 9 |
Ch. 9, 10 |
12 |
04/08 - 04/14 |
Disk hardware, Disk R/W scheduling, Flash drives, RAID File Systems |
Ch. 10, 11 |
Ch. 11, 13 |
13 |
04/15 - 04/21 |
File Allocation, Free Space Management, File Systems, Distributed File Systems |
Ch. 12, 17 |
Ch. 14, 19 |
14 |
04/22 - 04/28 |
Security, Authorization, Symmetric Key Crypto, Public Key Crypto |
Ch. 15 |
Ch. 16 |
15 |
04/29 - 05/05 |
Final Review & Networking |
No Reading |
Final Exam (05/08 @ 1:30PM-4:00PM) |
Course Grade
Course procedures
Exams: Examinations are intended to measure your individual mastery of the material. Exams concentrate on your understanding of the important concepts, rather than your ability to memorize details. All major examinations will be held in class with exact dates determined in class. The exams will generally test your knowledge of lecture material, so you are responsible for mastering all topics and programming material submitted with other partners. All exams will be open book and open notes (unless otherwise stated). The nature of the course material is such that the exams must be cumulative.
Extension/Make-ups: In general, late work will not be accepted. Turn in all work by the established deadline. In case you have difficulties finishing an assignment, contact the instructor before the deadline. Late work can be accepted only under circumstances beyond student's control and after arrangement with the instructor, prior to the deadline. Note: work turned-in on time is eligible for partial credit. It will always be better to turn work in by the deadline, as trying to "perfect" it and turn it in late will give you no points at all. You have to follow the submission and media policies and guidelines written in the syllabus. Plagiarism is the passing of someone else's work as one's own, without giving the original author due credit. Scholastic dishonesty will be treated very strictly as per University of Colorado Boulder rules.
Lectures: Lecture materials will be made available on the web right after the class. Lecture will also consist of chalk drawings, overhead drawings, readings, and content not explicitly present in slides and notes.
E-mail Policy: I will be using the University e-mail system. I will be checking my email frequently and you can expect a response within 48 hours (holidays excluded). All email communication by students must use colorado.edu as the email domain, emails from gmail, hotmail, yahoo, etc are NOT considered valid methods of communication.
Student Expectations
Civility: My commitment is to create a climate for learning characterized by respect for each other and the contributions each person makes to class. I ask that you make a similar commitment.
Professionalism: Since mobile devices can be distracting during class, I ask that all devices be put into “silent” mode and not utilized during class; this includes checking Facebook, sending a Tweet, or checking e-mail. If I feel that your mobile device is becoming a distraction for either other students, you, or myself I will ask you to leave the classroom. Additionally, playing videos or other music without the use of headphones is prohibited. Headphones can only be used during open lab (not during announcements and lecture).
Religious Observations: I understand that an individual’s religion plays a large part in their lives and I do not want this course to interfere with that aspect of their lives. If you find that your religions holiday(s) falls on a class day and you cannot attend due to this, please notify me prior to that class date by e-mail and we can work together to find an acceptable solution.
E-mail Policy: I will be using the University e-mail system. I will be checking my email frequently and you can expect a response within 48 hours (holidays excluded). All email communication by students must use colorado.edu as the email domain, emails from gmail, hotmail, yahoo, etc are NOT considered valid methods of communication.
Collaboration and Cheating
I encourage you to review material and discuss ideas together for the assignments and to work on problems you encounter. It is a characteristic of computation that discussions often help to clarify problems and resolve difficulties – feel free to take advantage of this to improve your understanding of the material, and to complete labs, but make sure that you then create your own work . It’s important that you go through the program design, coding, and debugging process yourself, or you will not be developing your own programming skills and understand. “Working together” does not mean that one student does the majority of the work and other students put their name on it! If you have questions about what this means, please see me. Every student must create their own work on their own! (this is easy to check for, so do your own work).
Any instances of checking will result in either a zero for the lab, a grade of zero in the course, or sanctions determined by the university (including suspension and expulsion).
University Policies
Academic Honesty and Student Code of Conduct: Students are expected to know, understand, and comply with the ethical standards of the university, including rules against plagiarism, cheating, fabrication and falsification, multiple submissions, misuse of academic materials, and complicity in academic dishonesty.
Copyright © Tam Vu 2019
|