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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend