Difference between revisions of "CMSC412 - Operating Systems"

From CS 400 Level Course Wiki
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{ClassPage|CMSC412: Operating Systems (4 credits)|Neil Spring|https://www.cs.umd.edu/class/fall2015/cmsc412/ , for example.|The operating system is always running and has complete power over the entire machine: it chooses which programs to run and when, how to organize files on a disk, which processes should get the most memory, and how different processes can communicate.  Your task will be to implement pieces of an operating system including virtual memory, a file system, synchronization primitives (maybe), a device (maybe), fork and pipe (maybe).  A bug can be catastrophic and elusive.  In understanding how these features are built, you will be able to design code that better exploits the underlying hardware, write lightweight operating system features for embedded hardware, and sharpen your debugging skills.|10-20 hours.  It's a four-credit class.  The amount of time students spend on the assignments varies widely, and depends largely on their ability to write code that starts with not too many bugs and then the time to reason through any remaining errors.|C|A B or better in 216, or experience in another C-based course (possibly 417) or heavy programming course.  Concretely, a student should have no question on whether to use the & operator or the * operator when dealing with pointers and should understand the difference between sizeof() and strlen(). |The past syllabus can be found at https://www.cs.umd.edu/class/fall2015/cmsc412/syllabus.pdf . ~45% exams, ~35% projects, some quizzes, participation, etc.  No group work outside class.|Qualified CS students do very well in 412; do not be intimidated by CE's.|0101 TuTh 11:00am - 12:15pm CSI 1121MW 12:00pm - 12:50pm CSI 1121 Discussion
+
<div align="right" style="font-weight:bold; font-size:14px; line-height: 12px;">Specialization: Cybersecurity </div>
<br /> 0102 TuTh 11:00am - 12:15pm CSI 1121 MW 1:00pm - 1:50pm CSI 1121 Discussion}}
+
'''Course Information''' <br>
 +
The operating system is always running and has complete power over the entire machine: it chooses which programs to run and when, how to organize files on a disk, which processes should get the most memory, and how different processes can communicate.  Your task will be to implement pieces of an operating system including virtual memory, a file system, synchronization primitives (maybe), a device (maybe), fork and pipe (maybe).  A bug can be catastrophic and elusive.  In understanding how these features are built, you will be able to design code that better exploits the underlying hardware, write lightweight operating system features for embedded hardware, and sharpen your debugging skills.
 +
 
 +
{| style="text-align:left; width: 550PX;"
 +
! Instructor
 +
! Section
 +
! Day & Time
 +
! Location
 +
|- style="vertical-align:top;" |
 +
| Neil Spring || style="vertical-align:top;" | 0101 || TuTh 11:00AM-12:15PM <br> MW 12:00PM - 12:50PM || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 1121]<br>CSI 1121
 +
|- style="vertical-align:top;" |
 +
|||| 0102 || style="vertical-align:top;" | TuTh 11:00AM - 12:15PM <br> MW 1:00PM -  1:50PM || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 1121]<br>CSI 1121
 +
|}
 +
 
 +
''' Course Prerequisite(s) ''' <br>
 +
Prerequisite: 1 course with a minimum grade of C- from (CMSC414, CMSC417, CMSC420, CMSC430, CMSC433). Restriction: Permission of CMNS-Computer Science department; or must be in one of the following programs (Computer Science (Master's); Computer Science (Doctoral)).
 +
 
 +
''' Class Webpage ''' <br>
 +
[https://www.cs.umd.edu/class/fall2015/cmsc412/ Fall 2015], for example.
 +
 
 +
''' Hours Per Week ''' <br>
 +
10-20 hours.  It's a four-credit class.  The amount of time students spend on the assignments varies widely, and depends largely on their ability to write code that starts with not too many bugs and then the time to reason through any remaining errors.
 +
 
 +
''' Languages Used ''' <br>
 +
C
 +
 
 +
''' Recommended Prior Experience ''' <br>
 +
A B or better in 216, or experience in another C-based course (possibly 417) or heavy programming course.  Concretely, a student should have no question on whether to use the & operator or the * operator when dealing with pointers and should understand the difference between sizeof() and strlen().
 +
 
 +
''' Projects, Exams, or other Assessments ''' <br>
 +
https://www.cs.umd.edu/class/fall2015/cmsc412/syllabus.pdf ~45% exams, ~35% projects, some quizzes, participation, etc.  No group work outside class.
 +
 
 +
''' Misc Info ''' <br>
 +
Qualified CS students do very well in 412; do not be intimidated by CE's.

Latest revision as of 19:48, 4 April 2017

Specialization: Cybersecurity

Course Information
The operating system is always running and has complete power over the entire machine: it chooses which programs to run and when, how to organize files on a disk, which processes should get the most memory, and how different processes can communicate. Your task will be to implement pieces of an operating system including virtual memory, a file system, synchronization primitives (maybe), a device (maybe), fork and pipe (maybe). A bug can be catastrophic and elusive. In understanding how these features are built, you will be able to design code that better exploits the underlying hardware, write lightweight operating system features for embedded hardware, and sharpen your debugging skills.

Instructor Section Day & Time Location
Neil Spring 0101 TuTh 11:00AM-12:15PM
MW 12:00PM - 12:50PM
CSI 1121
CSI 1121
0102 TuTh 11:00AM - 12:15PM
MW 1:00PM - 1:50PM
CSI 1121
CSI 1121

Course Prerequisite(s)
Prerequisite: 1 course with a minimum grade of C- from (CMSC414, CMSC417, CMSC420, CMSC430, CMSC433). Restriction: Permission of CMNS-Computer Science department; or must be in one of the following programs (Computer Science (Master's); Computer Science (Doctoral)).

Class Webpage
Fall 2015, for example.

Hours Per Week
10-20 hours. It's a four-credit class. The amount of time students spend on the assignments varies widely, and depends largely on their ability to write code that starts with not too many bugs and then the time to reason through any remaining errors.

Languages Used
C

Recommended Prior Experience
A B or better in 216, or experience in another C-based course (possibly 417) or heavy programming course. Concretely, a student should have no question on whether to use the & operator or the * operator when dealing with pointers and should understand the difference between sizeof() and strlen().

Projects, Exams, or other Assessments
https://www.cs.umd.edu/class/fall2015/cmsc412/syllabus.pdf ~45% exams, ~35% projects, some quizzes, participation, etc. No group work outside class.

Misc Info
Qualified CS students do very well in 412; do not be intimidated by CE's.