Truong Than CS644 HW1a.6 : Draw a picture of memory, showing the code areas and 4 stacks, in xinu.txt, or on paper. ------------------------------------------------------------------- Here is what we get from the gdb done in hw1a.5: (gdb) p/x proctab[0].paddr $7 = 0x100170 (gdb) p/x proctab[49].paddr $8 = 0x1018a8 (gdb) p/x proctab[48].paddr $9 = 0x100a0c (gdb) p/x proctab[47].paddr $10 = 0x100970 (gdb) p/x proctab[0].pbase $11 = 0x3ffffc (gdb) p/x proctab[49].pbase $12 = 0x3fd7f8 (gdb) p/x proctab[48].pbase $13 = 0x3f87f8 (gdb) p/x proctab[47].pbase $14 = 0x3f5ff8 The lowest extent of the stacks represted by "v" in the below diagram of the stack areas. (gdb) p/x proctab[0].plimit $15 = 0x3fd800 (gdb) p/x proctab[49].plimit $16 = 0x3f87fc (gdb) p/x proctab[48].plimit $17 = 0x3f5ffc (gdb) p/x proctab[47].plimit $18 = 0x3f37fc Code Area: null proc prod cons main --|------------|------------|----------|-------------|-------------- 0x100170 0x100970 0x100A0C 0x1018A8 Stack Area, i.e., continuing the above picture after a big gap-- <-- prod| <-- cons| <-- main| <-- null proc| ----|v----------|v----------|v---------------|v-------------|-|0x400000 0x3F37F8 0x3F5FF8 0x3F87F8 0x3FD7F8 0x3FFFFC eoneil note: 0x100000 is 1MB and 0x4000000 is 4MB, the top of usable memory on the SAPC. Below 0x100000 is the frame buffer and BIOS, and also another area of usable memory which contains the Tutor code. So we have 3MB of memory for downloaded programs.