CS333N Assignment 5: Understanding OsKit's memory management

Write a comprehensive report on OsKit's memory management for the flat memory model of your OS which you have developed for assignment 4. Note that segmentation cannot really be switched off on X86 architectures.

In particular, elaborate on

  1. How are the OsKit library functions linked with your code?
  2. The role of the bootloader. Where exactly does it load your code (including functions and sub-routines) in the memory?
  3. What all go in the reserved low memory segments?
  4. Where is the interrupt vector table?
  5. Where are the special data structures for memory management that OsKit may be creating?
  6. Where are the data segments - stacks and heaps, anything you malloc, the kernel data structures? how are they managed?

Subhashis Banerjee / Dept. Computer Science and Engineering / IIT Delhi / Hauz Khas/ New Delhi 110016 / suban@cse.iitd.ernet.in