Week |
Date |
Lecture and Readings | Readings (Done before the class) |
Lab | Assignments | Note(s) |
---|---|---|---|---|---|---|
1 | Tuesday, May 8, 2018 | Lecture 1 - An Overview of Computer Systems | ostep ch. 1 and 2 |
|||
2 | Tuesday, May 15, 2018 | Lecture 2 - The C Programming Language and C Data Structures | ||||
- | ||||||
3 | Tuesday, May 22, 2018 | Lecture 3 - Assembly and Machine Representation | ||||
4 | Tuesday, May 29, 2018 | Lecture 4 - Compilers and Linkers | ||||
- | ||||||
- | ||||||
5 | Tuesday, June 5, 2018 | Lecture 5 - Processor and Processes | ||||
6 | Tuesday, June 12, 2018 | Lecture 6 - The Memory Hierarchy | ||||
- | ||||||
- | ||||||
7 | Tuesday, June 19, 2018 | Lecture 7 - Virtual Memory and Dynamic Memory Allocation | ||||
8 | Tuesday, June 26, 2018 | Lecture 8 - Concurrency | ||||
- | ||||||
- | ||||||
9 | Tuesday, July 3, 2018 | Lecture 9 - Optimizations and Parallelism with SIMD | ||||
10 | Tuesday, July 10, 2018 | Lecture 10 - OpenMP/GPUs | ||||
- | ||||||
11 | Tuesday, July 17, 2018 | Lecture 11 - Operating Systems and xv6 | ||||
12 | Tuesday, July 24, 2018 | Lecture 12 - Full Project Work Day (Schedulers and Networking) | ||||
- | ||||||
13 | Tuesday, July 31, 2018 | Lecture 13 - Quiz | ||||
14 | Tuesday, Aug. 7, 2018 | Lecture 14 - TRACE/Hand Back Exams/Instrumentation/Class Photo |
In short, we will be diving into many low level components of computer systems. This course is heavily project based, meaning we will be working on real world systems. This is also a graduate level course which means we will be reading both current and foundational research papers.
Registrar Description: Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Reviews computer hardware and architecture including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Introduces distributed operating systems. Discusses issues arising from concurrency and distribution, such as scheduling of concurrent processes, interprocess communication and synchronization, resource sharing and allocation, and deadlock management and resolution. Includes examples from real operating systems. Exposes students to the system concepts through programming exercises. Requires admission to MS program or completion of all transition courses.
By the end of this course, you will be ready to:
There will be no required textbook for this course. However, these resources are recommended.
Students and instructors are to follow the Northeastern policies on these important issues.
Students participating in varsity athletics(this does not include club sports or intramurals) or other University sanctioned events may have the need for a make-up. Please contact me in advance of such events, so that appropriate accommodations can be made.
Occasionally, other life events and circumstances occur that were not planned. If this is the case, please e-mail me privately.
Part of what makes Northeastern University unique, is our diverse cohort of students, faculty, and staff. In order to support this, Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the University experience. If you have a disability that requires accommodations, please contact the Student Accessibility Services office at DRC@northeastern.edu or (617) 373-2675 to make an appointment with the Disability Resource Center representatives in 20 Dodge Hall to determine appropriate accommodations.
Students who do well in this course tend to show up to the course consistently, participate, and engage with their peers. Come to class, come on time, and build good habits! In-Class activities that are not attended are a zero.
Please find below the grading distribution that will be used for this course. You will find the grade you earn in this course on blackboard.