Download Official Syllabus

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Process management (computing) wikipedia , lookup

OS/2 wikipedia , lookup

VS/9 wikipedia , lookup

Library (computing) wikipedia , lookup

Unix wikipedia , lookup

Smallfoot wikipedia , lookup

Burroughs MCP wikipedia , lookup

DNIX wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

OS-tan wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

RSTS/E wikipedia , lookup

Copland (operating system) wikipedia , lookup

Mobile operating system wikipedia , lookup

CP/M wikipedia , lookup

Spring (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

Paging wikipedia , lookup

Unix security wikipedia , lookup

Security-focused operating system wikipedia , lookup

Transcript
CS 453/552: Operating Systems
Spring 2017
Prerequisites: ECE 330 and CS 253 and CS 321 and CS230
Instructor: Dr. Amit Jain
Phone: 426-3821
Email: [email protected]
Office: CCP 355
Office Hours: On class home page.
Class Home Page
http://cs.boisestate.edu/~amit/teaching/453/cs453.html
Piazza
We will be using Piazza for class discussion. The system is catered to getting you help fast and
efficiently from classmates, the Graduate Assistant, and the instructor. Rather than emailing
questions to the teaching staff, please post your questions on Piazza. Find our class discussion
forum page on Piazza at:
https://piazza.com/boisestate/spring2017/cs453552/home
Please note that all important announcements will be made on Piazza so it is your
responsibility to keep up. You should have already received an invitation to join Piazza. Please
contact the instructor if you cannot locate the invite.
Current Catalog Description
CS 453 OPERATING SYSTEMS (3-0-3)(F). Process management, concurrency, inter-process
communication, synchronization, scheduling, memory management, file systems and security. Case
studies of multiple operating systems. PREREQ: CS 253 and CS 321 and ECE 330.
CS 552 OPERATING SYSTEMS (3-0-3)(F). Process management, concurrency, inter-process
communication, synchronization, scheduling, memory management, file systems and security. Case
studies of multiple operating systems. PREREQ: CS 253 and CS 321 and ECE 330, or regular
admission to the program.
Textbook
None
References
• Other useful textbooks.
– Operating Systems: Principles and Practice by Thomas Anderson and Michael Dahlin.
– Modern Operating Systems (3rd edition) by Andrew S. Tanenbaum.
– Operating Systems Concepts (7th or 8th edition) by Abraham Silberschatz, Peter Baer
Galvin and Greg Gagne.
The following books are helpful with systems programming.
– The C programming language (2nd edition) by Brian W. Kernighan and Dennis M.
Ritchie.
– Advanced Programming in the UNIX Environment by W. Richard Stevens.
The following books give specific details about the internals of Linux and Microsoft Windows.
– Linux Kernel Development by Robert Love.
– Microsoft Windows Internals (Part 1 and 2) (6th edition) by Mark E. Russinovich and
David A. Solomon.
The following book is an excellent introduction to using the shell and writing shell scripts. It
also covers some systems programming in C.
– The UNIX Programming Environment by Brian W. Kernighan and Rob Pike.
Course Goals
By taking this course, a student will be able to:
• explain the structure of an Operating System,
• explain the function of an Operating System,
• solve problems arising in Operating System design and implementation,
• describe strategies used to implement commonly used Operating Systems,
• write concurrent system programs that run correctly,
• create a large piece of system software in stages and
• analyze the impact of system software on individuals, organizations and society.
2
Major Topics Covered in the Course
• Introduction.
• Process Management.
• Scheduling.
• Basic Synchronization Principles.
• High-level Synchronization and Deadlock.
• Device Management.
• Memory Management.
• Virtual Memory.
• File Management.
• Protection and Security.
• Introduction to Networking.
• Examples from Linux, Microsoft Windows and Mac OS X.
Laboratory Projects (subject to change)
• Simple device driver (1 week)
• Multi-threaded program using semaphores (2 weeks)
• Multi-threaded library monitors (2 weeks)
• Shell project, part 1: basic version (2 weeks)
• Shell project, part 2: custom memory manager (2 weeks)
• One to two Linux kernel projects (modifying source code, rebuilding and testing) (2 weeks)
• Multi-threaded project using Microsoft Windows API (2 weeks)
Attendance and Class Participation
Students are expected to attend all classes. Missing classes without explanation may result in a
grade penalty.
3
Format, Student Activities, and Grading
Grading
• Homework and Programming Projects:(65%)
• Quizzes: (20%)
• Final Examination:(15%)
• Class participation: -5% to +5%
Grading Policy
• Programming assignments can be turned in within 48 hours of the deadline, although resulting
in a 10% penalty. If you are having difficulty, please talk to me before the deadline.
• Homework will not be accepted late without arrangements made before the deadline.
• Each student must work independently on assignments unless specified otherwise.
• Graduate students signed up for CS 552 will be assigned more challenging assignments (or
extra parts to the assignments) and may have extra problems on the exams.
4