91.308 SPRING 2005 FINAL EXAM NOTES Final will be held THURSDAY MAY 19 @ 3 PM IN OS 407 (see http://www.uml.edu/admin/registrar/fe_sched_a52.htm) * Closed Book * One sheet of 8.5" x 11" paper allowed as notes, hand-written only, both sides. * Necessary reference material (e.g., semaphore definition, Unix APIs) will be provided * Comprehensive, with exceptions as noted below THINGS HIGHLY LIKELY TO BE ON THE EXAM 1 Signal/fork/pipes (e.g., midterm problem of evaluating how code will execute) 2 Producer/consumer problem with mutex and empty/full semaphores (Tanenbaum pp. 112) -- COPY THIS ALGORITHM INTO YOUR NOTES. 3 First/best/buddy memory allocation algorithms -- simulate algorithm performance; what are trade-offs amongst these choices; understand data structures related to these algorithms (e.g., how the binary tree representation works with buddy; first/fit best fit --> list of allocated memory, or 2 lists (1 free mem, one of allocations), or 1 combined list that alternates blocks of allocated memroy with blocks of free memroy). BASED ON HW PROBLEM -- SIMULATING BUDDY. tree - based representation of buddy -- e.g., be able to generate tree like diagram http://www.cs.uml.edu/~fredm/courses/91.308-spr05/files/buddy.txt . 4 Page table -- how virtual address and page tables combine to make physical address -- BASED ON HW PROBLEM. 5 disk file systems / page tables / unix I-nodes -- how files are laid out on the disk. Unix v7 file system, pp, 445-448. Unix i-node structure & Unix directories. Also, CP/M file system, pp. 435-438. Be able to calc file sizes based on these structures. 6 paging algorithms. Section 4.4, pp 214 and forward. optimal page replacement, not recently used, first-in, first-out, 2nd chance, clock. belady's anomoly and stack algorithms. if given a reference string. be able to understand and fill in tables corresponding to fifo and stack based page replacement algorithms, per diagrams 4.24 and 4.25. stack algorithms conquer. belady's anomoly. understand definition of distance string. 7 palm. wrt memory manager, the difference between ptr and handles. handle is a relocatable memory block, system has dicretion to relocate the blocks, programmer is given ptr to a ptr. the system maintains a table of ptrs, so that when it moves your block, it updates the ptr in its table. page 185 of palm os programmer's guide i, on local IDs. http://www.cs.uml.edu/~fredm/courses/91.308-spr05/files/palmdocs/Palm%20OS%20Companion.pdf 8 random multiple/choice T/F THINGS THAT WILL NOT BE ON THE EXAM * OSP scheduler coding (scheduling principles may be tested, however!) * resource dependency/conflict graphs OTHER. 9 squeak. there will be an extra-credit question. what's similar/architected in a closely related manner between Palm and Squeak that is not present in the Mac/Windows/Unix OSes?