------------------------------------------------------ Session 32 - April 30, 2003 ------------------------------------------------------ AGENDA: 0 Admin 1 P6: adding a new task 2 Ch. 4.6: segmentation ------------------------------------------------------ 0 - ADMIN ------------------------------------------------------ Due Friday * HM 6: Questions 4.2, 4.7, 4.14, 4.17, and 4.21. P6 due next Monday night ------------------------------------------------------ 1 - ADDING A NEW TASK ------------------------------------------------------ Hints for adding a new task. By the way, there is a test suite in /usr/src/test * do a "make" * then "./run" * This will help warn you of any problems in your system. You should redo the "make" and "run" after you think that everything is set. New device drivers * To be really safe, force a recompile of everything each time you change one of the global minix.h files. * The new driver should use same message interface as existing drivers. /usr/src/kernel * Driver should be put in kernel directory * Update "makefile" * new entry point must be added to list contained in the array "task" in "table.c". Add entries in "dmp.c" /usr/include/minix * "const.h": NR_TASKS must be increased by 1 * New task must be given a name in "com.h" /dev * new special file will have to be created. A line has to be added to the array "dmap" in "fs/table.c" ------------------------------------------------------ 2 - CH 4.6 SEGMENTATION ------------------------------------------------------ fig 4-19 p. 344 * play Robin Hood with memory? * fig 4-20 p. 345 * shared segments * fig 4-21 p. 347 Pure segmentation * fig 4-22 p. 348 * notice checkerboarding + compaction COS 421 - Lecture Notes #32 SPRING 2003 COS421-lect-2003-04-28 Page 1 Printed 30.04.03