CMSC 412 Operating Systems (Fall 98)
http://www.cs.umd.edu/~shankar/412-F98
Last updated Monday December 21 11:20 pm 1998
Please check (reload) this page at least twice a week.
Overview -Exams
- Lecture Notes - Projects
-
Grades
News
-
See http://www.inform.umd.edu/CompRes/Docs/.where2go/os.html
for list of wam labs by operating system.
-
Check Cuneyt's project
page frequently for info on projects. Please direct your project questions
to him (you can cc to me).
-
References to listings of real-OS code and to
examples of interfacing Turbo Assembler
with Borland C.
-
Thursday September 24 class will be in AVW 3258.
-
Proof
of progress for Peterson's CS solution (discussed in class 9/29).
-
Reminder: Exam 1 on October 13.
-
Additional office hours: Monday October 12, 1-4 pm.
-
Exam 1,
exam
1 solution, grades.
-
Regrade requests for exam 1 must be made by Tuesday Oct 27.
-
Exam 2 has been postponed to Thursday, December 3.
-
Covers chapters 5, 7, 8, 9, 10, 11, 13.
-
Sample exam
and solution
(from my fall 94 class). IGNORE problems 5, 8, 9.
-
Suggested homework problems (not to be handed in)
-
Chapter 5: 3, 4, 7, 8.
-
Chapter 7: 5, 8, 9, 13
-
Chapter 8: 8, 9, 10, 16
-
Chapter 9: 4, 5, 8, 10, 11, 16
-
Chapter 10: 11
-
Chapter 11: 1, 6
-
Chapter 13: 1, 2, 11, 12
-
solutions
to homework problems (final version).
-
exam 2 solution,
grades.
-
Final exam is in class, Tuesday 8-10am.
-
Covers chapters 1 to 13, and the material covered in class after exam 2.
-
No more sample exams will be put on the class page.
-
Office hours on Monday, December 14: 11 am to 1 pm.
-
If you have zero in each of the last three projects (3, 4, 5), please
turn in your current version. Otherwise I will assume that you have not
made a "good faith attempt to complete all programming projects", and you
may fail the course regardless of your exam performance.
-
Final Grades.
Exam 3 solutions to come later.
Overview
This course is a hands-on introduction to operating systems, including
topics in: multiprogramming, communication and synchronization, memory
management, IO subsystems, and resource scheduling polices. The objective
is an in-depth understanding of how an operating system manages resources
in a computer and provides programmers with a machine and device independent
interface.
The class component emphasizes concepts, with some examples from contemporary
OS's including UNIX and Windows. The laboratory component consists of constructing
a small kernel, including functions for device IO, multi-tasking, and memory
management. This is a difficult course because of concurrency concepts
and because the projects are done on "bare" hardware.
Required Course Text: Operating System Concepts 5th
Edition, Siberschatz and Galvin, Addison-Wesley 1998
Topics covered (in approximately this order)
Introduction to Operating Systems (1 week)
Concurrent Processes (2 weeks)
Kernel implementation techniques (1 week)
CPU scheduling (1 week)
Memory Management (2 weeks)
File and I/O Systems (2 weeks)
Security and Protection (1 week)
Networking and Distributed Systems (2 weeks)
Objects and Naming (1 week)
Window and Display Services (1 week)
Exam Schedule and Course Weightages
-
Midterm 1 --- 15%, in class, October 13, 1998 ( Exam
1, exam
1 solution, grades.)
-
Midterm 2 --- 15%, in class, November 24, 1998 (Postponed
to Dec 3, exam
2 solution)
-
Final --- 30%,
8-10am, December 15, 1998 (in class)
-
Projects --- 40%
The weightages are approximate and may change by upto 5%. I reserve the
right to fail, regardless of overall numeric score, students who do not
submit a good faith attempt to complete all programming assignments.
Projects
Additional material
-
I have no lecture notes on line, but Dr.
Hollingsworth's CMSC 412 spring 98 home page has lecture slides that
you may find useful.
-
Complete code of some real Unix-like operating
systems can be found in
-
Operating Systems: Design and Implementation, edition 1 or 2. By A.S. Tanenbaum.
Prentice Hall, 1997, ISBN 0-13-638677-6.
-
Linux (www.linuxhq.com) and Free-BSD sources are available on the net.
-
Interfacing Borland C++ and Turbo Assembler
is described in Chapter 18 of Borland Turbo Assembler User Guide. You can
borrow a copy from me.
This page and all problem sets, lecture notes, and exams linked to
it are copyrighted. Use of these pages for the class CMSC412 at the
University of Maryland is permitted. Any other use requires permission
of the author (Udaya Shankar, shankar@cs.umd.edu).