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 Assignment 5: Squeak, the Object-Oriented Operating System

Due: Friday, March 25

 

The objective of this assignment is to get some experience using Squeak. Squeak is an operating system and programming environment that is based largely on the Smalltalk language, which was developed as part of the seminal Xerox PARC Star computer in the 1970s.

Squeak is interesting because it demonstrates an approach not seen in the contemporary operating systems with which we are all familiar (Windows, Mac, Linux):

  • Everything is an object, and the Squeak system is built largely in itself.

  • Squeak has a persistent object store. Everytime you create an object, it simply exists in the Squeak environment.

  • The whole Squeak system is interpreted, and is a demonstration proof of the viability of such systems.

Readings

Three readings were handed out related to Squeak:

  • Chapter 1, “Squeak for Nonnative Speakers,” by Noel Rapkin, from Squeak: Open Personal Computing and Multimedia (Mark Guzdial and Kim Rose, editors).

    This chapter is a good introduction to the Squeak environment, object-oriented approach, and language model.

  • Chapter 2, “A Tour of Squeak,” and Chapter 3, “Your First Program: Joe the Box,” from Squeak: Object-Oriented Design with Multimedia Applications, by Mark Guzdial.

    These chapters provide a thorough introduction to the language and show how to create objects and get them to talk to one another.

  • Excerpts from Chapter 5, “Building User Interfaces in Squeak,” from the second book noted just above.

    This material specifically introduces Morphic, the Morphic halo system, and shows how to build applications using the “eToy” programming environment, which was designed for programming novices.

Please make sure you have these handouts—especially the last one—before setting off on this assignment.

Assignment

  1. Get Squeak from http://www.squeak.org. There are versions for all major operating systems. Use the 3.7 release.

  2. Go through the Morphic introduction and build the accelerating-ellipse-and-kicker demo. Put it into its own Playground object.

  3. Figure out where the code lives that makes the ellipse make the scratchy sound and bounce off the bottom of the screen.

  4. Using this knowledge, build some kind of multi-agent demonstration of the producer-consumer problem, semaphores, synchronization, and/or race conditions. Think about how these concepts map to the Squeak environment.

    Your program should have at least a half-dozen objects in it. If you can figure out how to get entities to spawn other ones, that would be great. If you want to make something like a video game, go for it.

  5. To turn in your work: Save your work in your Squeak image, and upload the whole image to Mercury (make sure to use binary mode to get the file across). Then type submit fredm 308a4 and submit your Squeak binary.

    Make sure your project is in the foreground when Squeak is booted in your binary. I shouldn't need to go hunting down inside your image for your work.

  6. Also, turn in a physical cover sheet. The cover sheet should include a printed 3-paragraph discussion of what you did. Also, the discussion should include an answer to #3 above.

Last modified: Friday, 11-Mar-2005 10:15:41 EST by fred_martin@uml.edu