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 189202 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 25
• missing pages 164165 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
|
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 handoutsespecially the last
onebefore setting off on this assignment.
Assignment
- Get Squeak from http://www.squeak.org. There are
versions for all major operating systems. Use the 3.7 release.
- Go through the Morphic introduction and build the
accelerating-ellipse-and-kicker demo. Put it into its own Playground
object.
- Figure out where the code lives that makes the ellipse make the
scratchy sound and bounce off the bottom of the screen.
- 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.
- 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.
- 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
|