400 likes | 586 Views
CSC 350 - Operating Systems. CSC 350 - Operating Systems. CSC 350 - Operating Systems. Creeds or Chaos?. Memory Management I. II. Memory Management I. manage the scarce resource of memory. Memory Management I. C. Dynamic partitions MMS . Partitions are created dynamically “on the fly”.
E N D
CSC 350 - Operating Systems • Creeds or Chaos?
Memory Management I II. Memory Management I • manage the scarce resource of memory
Memory Management I C. Dynamic partitions MMS • Partitions are created dynamically “on the fly”
Memory Management I 3. OS concept - allocation • programs must be assigned to memory • note: if not enough contiguous RAM, program must wait
Memory Management I • programs must be assigned to memory • how? (tradeoffs)
Memory Management I a. first-fit • the first (lowest) partition big enough for the program will be allocated
Memory Management I a. first-fit • adv: fast allocation
Memory Management I b. best-fit • the best (causing least fragmentation) partition will be allocated
Memory Management I b. best-fit • adv: best utilization
Memory Management I 3. OS concept - allocation • tables 2.2 and 2.3
Memory Management I 3. OS concept - allocation • suitcase analogy
Memory Management I 3. OS concept - allocation example problem 4, p.39 • Job / Program size • Block / Partition size
Memory Management I Memory “map” Jobs = programs on storage block 1 block 2 block 3 610K 850K J1 = 740K J2 = 500K J3 = 700K 700K
Memory Management I Memory “map” a. best fit block 1 block 2 block 3 J2 = 500K 610K J1 = 740K 850K J3 = 700K 700K
Memory Management I Memory “map” b. first fit low - highsearch block 1 block 2 block 3 J2 = 500K 610K J1 = 740K 850K J3 = 700K 700K
Memory Management I Memory “map” b. first fit high-low search block 1 block 2 block 3 610K J1 = 740K 850K J2 = 500K 700K J3 = 700K wait
Memory Management I 3. OS concept - allocation • group exercise :-)modified problem 4, p.39
Memory Management I • modified problem 4, p.39 • Job Size Block Size • 1 740K 1 610K • 2 500K 2 850K • 3 600K 3 500K
Memory Management I 3. OS concept - allocation • anotheranalogy
Memory Management I 4. OS - deallocation • programs must be removed from memory when finished
Memory Management I 4. OS - deallocation easy for fixed partitions • more difficult for dynamic partitions
Memory Management I scenarios: • a. deallocated memory is not adjacent to free memory
Memory Management I • a. deallocated memory is not adjacent to free memory allocated To be deallocated allocated
Memory Management I 4. OS - deallocation • scenarios: • b. deallocated memory is adjacent to one free memory partition
Memory Management I • b. deallocated memory is adjacent to one free memory free To be deallocated allocated
Memory Management I 4. OS - deallocation • scenarios: • c. deallocated memory is between two free memory partitions
Memory Management I • c. deallocated memory is between two free memory blocks free To be deallocated free
Memory Management I D. Relocatable Dynamic partitions MMS • 1. Based upon Dynamic Partitions MMS with additional feature
Memory Management I Based upon Dynamic Partitions MMS with additional feature • At times, OS will “compact” memory
Memory Management I Red = allocated partitions Green = free space (unallocated RAM)
Memory Management I 2. Tradeoffs • a. advantages • b. disadvantages
Memory Management I review CS:AO sections 2.2 and 2.3
Memory Management I 3. OS needs h/w assistance • bounds register • relocation register
Memory Management I B1 = 20K B2 = 10K B3 = 30K Prog K Prog B Prog S now, Program B terminates,
Memory Management I B1 = 20K B2 = 10K B3 = 30K Prog K Prog S now, Program Bterminates,OS deallocates Partition 2
Memory Management I B1 = 20K B2 = 30K Prog K Prog S now, Program Bterminates,OS deallocates Partition 2 and compacts (relocates)
Memory Management I B1 = 20K B2 = 30K Prog K Prog S Prog S Bounds Register = 30K Relocation Register = -10K