memory management
play

Memory Management Summer 2016 Cornell University Today Overview - PowerPoint PPT Presentation

CS 4410 Operating Systems Memory Management Summer 2016 Cornell University Today Overview of memory The role of operating systems in memory management. 2 Program Process For a program to become process, and be executed on CPU,


  1. CS 4410 Operating Systems Memory Management Summer 2016 Cornell University

  2. Today • Overview of memory • The role of operating systems in memory management. 2

  3. Program → Process For a program to become process, and be executed on CPU, it should first be loaded from the hard disk into memory. 3

  4. Execution cycle of an instruction • CPU fetches the next instruction from memory . • Operants of the instruction are loaded from memory and stored into registers. • Store the output of the instruction into a register. • Copy the result into memory . 4

  5. Storage Hierarchy 5

  6. Memory • A large array of words. • Word = 4 or 8 bytes. • One address for every word. • Content: – Instructions – Data 6

  7. Memory Management • The operating system dictates how the memory is shared among processes. • Basic concerns: – Allocation – Protection – Relocation 7

  8. Allocation strategy • Should processes have contiguous space of physical addresses in memory? • Is memory partitioned into fixed- or variable- sized segments? – If variable-sized segments, which allocation algorithm is used? • First fit: allocate first hole that is big enough. • Best fit: allocate the smallest hole that is big enough. • Worst fit: allocate the largest hole.

  9. Fragmentation ● External fragmentation ● First-fit, Best fit ● There is enough total memory space to satisfy a request but the available spaces are small and not contiguous. ● Internal fragmentation ● Break the physical memory into fixed-sized blocks and allocate memory in units based on block size. ● The allocated memory is slightly larger than the requested memory. 9

  10. Physical VS virtual address • Each time a process is loaded into memory may occupy different space of physical addresses. – It may not be contiguous. • But the program code uses fixed virtual addresses. – Example: JMP 0x56789AB1 (jump to a particular program point) – The program is written as if it will run with an infinite contiguous memory space. 10

  11. Address translation • The CPU understands virtual addresses. • The memory unit understands physical addresses. • The OS and specialized hardware are responsible for translating virtual addressed into physical addresses. • The translation mechanism gives protection. 11

  12. Segmented Memory • Allocation and protection scheme. • Each process is contained in a single contiguous section in memory. 0 OS 25600 base process 30004 30004 process 42094 12090 process bound 88000 12

  13. Segmented Memory • The OS is responsible to load the Base and Bound registers. Bound Base logical yes address + memory CPU < physical address no trap: addressing error 13

  14. Today • Overview of memory • The role of operating systems in memory management. 14

  15. Coming up… • Next lecture: Paging • HW3 released today • Deadlock exercises can be solved • Due on Monday. • Short concise answers! 15

Recommend


More recommend