NSC 205 :  11AM – 12.05PM (MWF)

Bell 138 NSC 205 (Recitations) : 12.05PM – 12.30PM (MWF)

THEORY (60%)

  • Mid-terms – 25% (Introduction, Operating System Structures, Processes, Threads, Process Synchronization, CPU Scheduling, Deadlocks)

  • Finals – 25% (Main Memory, Virtual Memory, Mass-Storage Structure, File-System Implementation, I/O Systems)

  • HW + Quizzes – 10% (5 quizzes will be conducted randomly at any time during the course of the semester. 5 homeworks are meant for discussion with team/Piazza and submission.)

 

PROJECT (40%)

  • Pintos Checkpoint 1 [Thread Support] – 20% (15% source code + 5% design doc) Objective: Extend functionality of Pintos OS to gain clear understanding of thread synchronization. Cross-ref: Chap 4 in textbook.

  • Pintos Checkpoint 2 [User Programs] – 20% (15% source code + 5% design doc) Objective: Understand and implement system calls to make user programs interact with Pintos Kernel. Cross-ref: Chap 5, 6, 7, 8, 9 in textbook.

  • Grads and undergrads would be graded on two separate curves.

  • A VM for Pintos is provided containing bare-bone implementation over which checkpoints 1 and 2 should be implemented. The VM is already shared in the link below.

  • Pintos requires you to be familiar with the C programming language. A good place to practice your C skills is at https://www.codechef.com/

  • The first day of class is May 29th and the end-date is Aug 17th.

  • Please note the academic integritry policy at:  http://academicintegrity.buffalo.edu/policies

Please sign-up for Piazza to follow all discussions of project and classes of CSE 4/521

Objective:
1. This homework is designed to analyze the reading comprehension ability of a student in browsing through and understanding the PintOS source code.
2. Team submission is advocated in-order to promote better communication of technical concepts among team members, develop a sense-of-oneness, help understand each other’s ability, and be responsible for each other in a group setting.

 

Submission deadline: Wednesday- June 20, 2018 (Inclass)

Objective:

  1. To understand the fundamentals of memory management.
  2. To prepare students to answer questions in the recommended time-frame.

 

Submission deadline: Friday – July 20, 2018 (Inclass)

Objective:
1. This homework is designed to analyze the reading comprehension ability of a student in browsing through and understanding the PintOS source code – more specifically, in terms of Project 2.
2. Team submission is advocated in-order to promote better communication of technical concepts among team members, develop an intuition of proper division-of-tasks, and be responsible for each other in a group setting.

 

Submission Deadline : Monday – July 30th, 2018 (Inclass)

Objective:

  1. To understand and practice the knowledge learnt in Mass-Storage Structure, File-System Implementaion, and I/O Systems.

Submission deadline: Monday – August 13th, 2018 (Inclass)

Objective:

  • A mock final exam to prepare students to answer questions in the allocated time frame.

 

Submission Deadline: None

LECTURE SLIDES:

Day-Date Topic Slides Recitation/Supplemental Material Video Link
W-May 30 Intro-1 [pdf; 451KB] https://youtu.be/HUWio2IpAew
F-Jun 1 Intro-2 [pdf; 272KB] Installing VirtualBox[blog] https://youtu.be/dsJNccT1WIE
M-Jun 4 OS Structure [pdf; 1017KB] Pintos Setup https://youtu.be/Pul2ksCqbLI
W-Jun 6 Processes [pdf; 610KB] https://youtu.be/_o9rcVKbqQ4
F-Jun 8 Threads [pdf; 571KB] https://youtu.be/EDItPbbILZY
M-Jun 11 Process Sync-1 [pdf; 262KB] https://youtu.be/ZnjsX661US4
W-Jun 13 Process Sync-2 [pdf; 166KB] https://youtu.be/uD7PPfjmO8I
F-Jun 15 CPU Scheduling-1[pdf;447KB] PintOS source code extension [YouTube] https://youtu.be/mucJjMhJswg
M-Jun 18 CPU Scheduling-2[pdf;662KB] https://youtu.be/420KX4ICrco
W-Jun 20 CPU Scheduling-3[pdf;291KB] https://youtu.be/4fjfJ5Edq7A
F-Jun 22 Deadlocks[pdf;302KB] https://youtu.be/swGlMthKmhM
M-Jun 25 Main Memory-1[pdf;381KB] https://youtu.be/LfCFSONkc7Y
W-Jun 27 Main Memory-2[pdf;333KB] https://youtu.be/V01GP6WldSU
F-Jun 29 Main Memory-3[pdf;587KB] https://youtu.be/BwCrbyeR_64
M-Jul 2 Mid-term Exam Review[pdf;476KB] https://youtu.be/egT7Zj6tLWw
W-Jul 4 Independence Day (no class)
F-Jul 6 Project 1 Review[pdf;1683KB] https://youtu.be/o5ZpMD-8OVQ
M-Jul 9 Mid-term Exam UG-stats    G-stats
W-Jul 11 Virtual Memory-1[pdf;771KB] https://youtu.be/OQ_9BD3xhU4
F-Jul 13 Virtual Memory-2[pdf;362KB] https://youtu.be/GSjwIyDlwig
M-Jul 16 Virtual Memory-3[pdf;315KB] https://youtu.be/azKo8vt6kc4
W-Jul 18 Virtual Memory-4[pdf;311KB] https://youtu.be/rL4yOq7JInI
F-Jul 20 Mass Storage-1[pdf;1024KB] https://youtu.be/gVzmaBdjL_A
M-Jul 23 Mass Storage-2[pdf;222KB] https://youtu.be/EWqpdyEf_Oo
W-Jul 25 Mass Storage-3[pdf;1468KB] https://youtu.be/Pr3GotNyFs8
F-Jul 27 File System Implementation-1[pdf;716KB] https://youtu.be/QtnSkyfLAto
M-Jul 30 File System Implementation-2[pdf;599KB] https://youtu.be/Ka4Gf7PLaJo
W-Aug 1 I/O System-1[pdf;547KB] https://youtu.be/xEltF_yAvx0
F-Aug 3 Project 2 Review[pdf;1350KB] https://youtu.be/q14qaeGXP8A
M-Aug 6 I/O System-2[pdf;360KB] https://youtu.be/FgNCef0SW_g
W-Aug 8 Virtual Machines[pdf;555KB] https://youtu.be/YxaRhyRMveA
F-Aug 10 Final Exam Review[pdf;2901KB] https://youtu.be/bXVUB5bHHls
M-Aug 13 The Linux System[pdf;202KB] https://youtu.be/7U_31fpBBI8
W-Aug 15 Windows 7[pdf;387KB] https://youtu.be/PRpdsDxSCsw
F-Aug 17 Final Exam (NSC 205) 11AM-12.05PM UG-stats    G-stats