Introduction

 

The memory-management algorithms vary from a primitive bare-machine approach to paging and segmentation strategies. Each approach has its own advantages and disavantages. Selection of a memory-management scheme for a specific system depens on many factors, especially on the hardware design of the system. Many algorithms require hardware support.

 

The memory is central to the operation of a modern computer system. Memory is a large array of words or bytes, each with its own address. The CPU fetches instructions from memory according to the value of the program counter. These instructions may cause additional loading and storing to specific memory addresses.

 

A typical instruction execution cyle, for example, will first fetch an instruction from memory. The instruction is the decoded and may cause operands to be fetched from memory. After the instruction has been executed on the operands, results may be stored back in memory. Notice that the memory unit sees only a stream of memory addresses; it does not know how they are generated (the instruction counter, indexing, indirection, literal addresses, and so on) or what they are for (instructions or data). Accordingly, we can ignore how a memory address is generated by a program. We are interested in only the sequence of memory addresses generated by the running program.

 

The process' logical memory is the one that the process view, that is to say, the one that process is able to address and to access using its instructions. The addresses manipulated by the process are logical addresses. In other words, the machine instructions of a processes specify logical addresses. For example, a process executing a C program manipulates pointer type variables. This variables contain logical addresses. In general, each process has its own logical memory, wich is independent of the others process logical memory.

 

The physical memory is the one that is implemented by the memory integrated circuits, by the computer eletronic. The physical address is the one who goes to the physical memory, that is to say, is used to address the memory integrated circuits.

 

The process logical address space is formed by all the logical addresses that this process can generate. There is one logical address space per process. The the physical address space is formed by all the addresses acepted by the memory integrated circuits.

The memory management unit (MMU) is the hardware device responsible for provide the basic mechanisms that will be used by the operating system to manage the memory. Between other things, is the MMU who will map the logical addresses generated by the process in the corresponding physical addresses who will be sented to the memory..

Fontes

SILBERSCHATZ, Abraham, et al. Operating Systems Concepts. 5ª Edição. John Wiley & Sons, Inc., 1999.
OLIVEIRA, Rômulo Silva de, et al. Sistemas Operacionais. 2ª Edição. Porto Alegre: Editora Sagra Luzzato, 2001.