memory hardware and allocation
play

Memory: Hardware and Allocation Summer 2011 Cornell University 1 - PowerPoint PPT Presentation

CS 4410 Operating Systems Memory: Hardware and Allocation Summer 2011 Cornell University 1 Today How the memory is shared among the ready processes? Memory Address protection Logical vs Physical Address Contiguous memory


  1. CS 4410 Operating Systems Memory: Hardware and Allocation Summer 2011 Cornell University 1

  2. Today ● How the memory is shared among the ready processes? ● Memory ● Address protection ● Logical vs Physical Address ● Contiguous memory allocation 2

  3. Storage Hierarchy Hard Disk Memory Cache (L1, L2, L3) Registers 3

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

  5. Instruction execution cycle ● Fetch instruction from memory. ● The PC saves its address. ● Decode instruction. ● Fetch operants form memory . ● Execute the instruction. ● Store result in memory . ● Program and data should be in Memory to become useful. 5

  6. Memory Management Is memory shared between processes? How? ● Monoprogramming ● Only one process is ready and loaded into memory. ● It shares the memory space with the OS. ● Is it efficient? ● Multiprogramming ● Fixed or variable partitions for every ready process. ● 2 problems: relocation, protection. Solutions? ● Timesharing ● Swapping ● Entire process (code, data) is transferred from disk to memory, and vice – versa. Virtual Memory ● Processes can run when they are partially in the memory. – 6

  7. Memory Management ● What about the memory addresses? ● Monoprogramming – The physical addresses are known to the programmer. ● Multiprogramming – The physical addresses are known at the loading time. ● Timesharing – The physical addresses are known at the execution. – The CPU understands logical addresses. – The Memory understands physical addresses. 7

  8. Memory Management ● Basic concerns: ● Allocation ● Relocation ● Protection 8

  9. Hardware address protection ● Multitasking OS ● Multiple processes loaded in the memory. ● Each process has a separate memory space. ● HW+OS are responsible for address protection. 0 OS 25600 base process 30004 30004 process 42094 12090 process limit 88000 9

  10. Logical vs Physical Address ● Multitasking OS ● Memory management: Swap, Virtual Memory ● Logical Address ● Address generated by the CPU ● Address loaded into PC ● Address used in a program ● Physical Address ● Address seen by the memory unit 10

  11. Address Binding Logical → Physical ● Execution time ● Logical Address ↔ Virtual Address ● Memory-Management Unit (MMU) ● Relocation Hardware device ● register Run-time mapping 14000 ● Physical Logical address address CPU + memory 346 14346 11

  12. Dynamic Loading ● Using Virtual memory: ● Better memory-space utilization ● The main program is loaded into memory. ● A routing of the program is not loaded until it is called. ● It is users' responsibility. 12

  13. Dynamic Linking ● Using Virtual memory: ● Without this, each program should include a copy of its language library. ● It waists disk and memory space. ● With Dynamic Linking: ● A stub substitutes a library-routine reference. ● When stub is executed: – It checks if the routine is in the memory. – If not, the program loads the routine. 13

  14. Contiguous Memory Allocation Share memory between OS and multiple processes. ● Each process is contained in a single contiguous section in memory. ● Memory protection: ● CPU scheduler selects process for execution. ● The dispatcher loads the relocation and limit registers. ● limit relocation register register logical yes address memory + CPU < physical address no trap: addressing error 14

  15. Allocation Strategies ● Fixed-sized partitions ● The degree of multiprogramming is bound by the number of partitions. ● Variable-partition scheme ● The OS keeps a table indicating which parts of memory are available and which are occupied. ● The OS tries to fit the memory demands of a process in the available memory space. ● Dynamic storage allocation problem: – First fit – Best fit – Worst fit 15

  16. 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. ● Solution 1: Break the physical memory into fixed-sized blocks and allocate memory in units based on block size. ● Internal fragmentation: the allocated memory is slightly larger than the requested memory. ● Solution 2: Compaction 16

  17. Today ● How the memory is shared among the ready processes? ● Memory ● Address protection ● Logical vs Physical Address ● Contiguous memory allocation 17

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