91.308 home
   FINAL STUDY GUIDE txt

MON MAY 9
lecture 38: course review
   whiteboard pic 1 jpg
   whiteboard pic 2 jpg
   whiteboard pic 3 jpg
   whiteboard pic 4 jpg

WED MAY 4
lecture 36: librarian app txt
assignment 10 – palm os database programming html

MON MAY 2
lecture 35: palm mem mgr & DBMS txt

WED APR 27
lecture 34: palm dev intro txt
assignment 9 – intro to palm programming html

MON APR 25
lecture 33: palm programming intro txt

FRI APR 22
lecture 32: tablet computing intro txt

WED APR 20
lecture 31: how to locate an i-node

FRI APR 15
lecture 30: directories & i-nodes

WED APR 13
lecture 29: file systems

MON APR 11
lecture 28:
ASN 8 DUE WED APR 20 pdf

FRI APR 8
lecture 27: working set, belady's anomoly, and stack algs

WED APR 6
lecture 26: simulating buddy sys and VM paging; LRU page replacement
ASN 7 DUE FRI APR 15 pdf

MON APR 4
lecture 25: page tables & page replacement txt
MEM-MGR ASN CUTOFF IS FRI APR 8

FRI APR 1
lecture 24: buddy memory allocation pt 2 txt

WED MAR 30
lecture 23: buddy memory allocation txt
SQUEAK ASN CUTOFF IS MON APR 4

MON MAR 28
lecture 22: VM and page tables txt

FRI MAR 25
lecture 21: memory manager starter code txt

WED MAR 23
lecture 20: memory manager data structs txt

MON MAR 21
lecture 19: intro to memory management txt
• read pages 189–202 of Tanenbaun
assignment 6: memory allocation pdf
   proj6_data txt
   memmgr.c c
• buddy system html
due Fri Apr 1
assignment 4 cutoff is Fri Mar 25.

FRI MAR 11
lecture 18: squeak's etoys txt
assignment 5: squeak html due Fri Mar 25missing pages 164–165 from handout pdf

WED MAR 9
MIDTERM

MON MAR 7
lecture 16: exam review txt

FRI MAR 4
lecture 15: squeak txt

WED MAR 2
lecture 14: revised grade policy, semaphores in assn 4 sample code, future projects txt

MON FEB 28
lecture 13: deadlock txt

FRI FEB 25
lecture 12: more semaphores, producer-consumer w/3 semaphores txt

WED FEB 23
lecture 11: unix semaphores txt

TUE FEB 22
lecture 10: unix shared memory txt

FRI FEB 18
assignment 4: producer-consumer problem pdf
• sys calls help txt pdf
lecture 9: on asn4 txt
due Fri Mar 4

WED FEB 16
lecture 8: interprocess comms ii txt

MON FEB 14
lecture 7: interprocess comms i txt

FRI FEB 11
lecture 6: more osp scheduling, threads txt

WED FEB 9
lecture 5: osp's PCB, cpu.c, queues, scheduling txt

MON FEB 7
assignment 3: implementing a cpu scheduler pdf
due Wed Feb 16

WED FEB 2
lecture 3: pipes, signals txt

MON JAN 31
lecture 2 notes txt
assignment 2: processes, pipes, signal handers pdf due Wed Feb 9

FRI JAN 28
assignment 1: OS mini-research project html due Wed Feb 9

resources palm OS ikonboard assn cover helpful links

91.308 Introduction to Operating Systems Spring 2005

Contact
Prof. Fred G. Martin
http://www.cs.uml.edu/~fredm/
fr...@...uml.edu
Olsen 208 (office) x1964
Olsen 306 (lab) x2705

TA T.B.D.

Schedule
MWF, 10:30 – 11:20 am, OS 412

Office Hours
Monday 3 – 4 pm, OS 306 (Martin)
Wednesday 11:30 – 12:30 pm, OS 208 (Martin)
Thursday 3 – 4 pm, OS 208 (Martin)

Web Site
http://www.cs.uml.edu/~fredm/courses/91.308/

Discussion Board
The class will use the ikonboard system for web-based threaded discussions of lectures, assignments, and other course-related material. All students are expected to create an account for themselves on the discussion board, and use it when appropriate. Before sending me an email, please consider posting your question to the discussion board. Private/personal matters (e.g., academic standing in the class) should be addressed to me.

Look for the link to the course board at the top of any course web page, in the pink resources menu.

Text
Modern Operating Systems (2nd Edition), (C) 2001 by Andrew S. Tanenbaum, ISBN 0130313580, Prentice-Hall.

The book’s web site on the publisher’s page is http://vig.prenhall.com/catalog/academic/product/0,1144,0130313580,00.html.

The authors’ site is http://www.prenhall.com/divisions/esm/app/author_tanenbaum/custom/mos2e/.

Tanenbaum's text is easy to read and has good technical content. Tanenbaum is a well-known textbook author (he also has texts on architecture and networks) and is a researcher in distributed operating systems.

Tanenbaum is an American who lives in the Netherlands; he created the non-partisan Electoral Vote web site which closely tracked polling leading up to the 2004 US Presidential election.

Course Description
From the UML CS brochure:

“An introduction to major operating systems and their components. Topics include processes, concurrency and synchronization, deadlock, processor allocation, memory management, I/O devices and file management, and distributed processing. Techniques in operating system design, implementation, and evaluation. ”

Course Approach
There are a number of different ways an O.S. course can be organized. Students can:

  1. Study topics in OS design in a theoretical way.

  2. Write code to illustrate/demonstrate these topics.

  3. Implement an operating system.

  4. Write code that exercises the OS of a known/working operating system (in other words, learn standard OS APIs)

We will do all of the above. Ideally, I would like for to write code and build a real operating system, but this is a lot of work and it's hard to debug an OS while you're building it.

So instead, we will work with an OS simulator called “OSP — An Environment for Operating System Projects.” This is a body of code written in ANSI-C that simulates an operating system, with modules for tasks like CPU scheduling, memory allocation, file management, stream and socket communication, and device I/O. In a typical OSP project, you get the job of implementing one of these modules, given a specified external API for the module.

The OSP system is inspired by the Unix OS design, but is a simplified version of it. It's also valuable to learn some practical system programming, so we will have assignments that involve writing code using Unix system APIs.

Finally, while Unix (and Windows NT/XP, which isn't all that different) is an industry-standard OS, it's not the only way one can imagine building an operating system. So we'll explore some alternate operating systems, which while having limited commercial success, are still quite interesting.

Grading
Grades will be assigned based on the following proportions:

programming assignments, 30%
homework can only help you. you still have to do the homeworks (2 may be forgiven, after that, each one drops you a half-letter grade.) basically, homeworks can be worth a whole letter grade increase in your grade. * so if you have a "B" avg on the exams, but high quality (A level) homework, then you would receive an A as your final grade. * example: "B" on HW plus "C" on exams --> BC grade. * example "A" on HW plus "C" on exams --> B. * example "C" on HW (but you did them) plus "B" on exams --> B. will apply the percentage system if it will help you. you can't bring your grade down (except if you miss 3 or more homeworks). mid-term exam, 30%
final exam, 30%
in-class participation, 10%

Late Policy
For each class day an assignment or project is late, 10% of the total points will be deducted from the points received. This will continue for five class days, after which the assignment or project may be submitted at any time up to and including the last day of scheduled class and will receive a maximum of half the total credit. Homework will be accepted late up until the last day scheduled class meeting day.

Copying
Short form: I encourage you to study groups and work with each other, but all prepared work you turn in must be your own. Do NOT copy code, solutions, or other text from your study partners or anyone else.

Long form: In professional as well as academic life outside the classroom, people seldom work completely on their own. They typically work in teams and help each other extensively. I have no objection to you getting help from me or your fellow students. I encourage you to do so. However, prepared work in this course is to be each student’s own.

Students should therefore be familiar with the University’s definitions and policies on academic dishonesty, found in the University course catalog. [above adapted from Prof. Jesse Heines’ copying policy]

The contributions of others to your thinking must be acknowledged in all work you turn in. As UML Prof. Sarah Kuhn says, “Using works of others, or drawing extensively on their ideas, without clearly stating that they are not your work (by using quotation marks, and references to the cited work) is plagiarism, a very serious academic offense.” [Prof. Sarah Kuhn, syllabus for 65.790, from Prof. Marian William’s 91.531 course syllabus.]

Also: With each assignment, you must mention people whom you worked with, who you have helped, or who have helped you.

Honors Program
Students enrolled in the honors program will be expected to do an exemplary job with all coursework. Additionally, a term paper or term project will be required. Please schedule a meeting with Prof. Martin to plan the project by March 15.

Credit for this Course
Most of this course was developed by UMass Lowell professor William Moloney, including the programming assignments. I added the units on the OSP scheduler, Squeak OS, and Palm programming.


Last modified: Tuesday, 12-Mar-2013 21:53:16 EDT by fr...@...uml.edu