Gerenciamento De Memória No Linux
Artigos Científicos: Gerenciamento De Memória No Linux. Pesquise 862.000+ trabalhos acadêmicosPor: rbeserra12 • 17/7/2014 • 1.940 Palavras (8 Páginas) • 724 Visualizações
Gerenciamento de memória
Íthalo Fabrício G. S. de Oliveira / e-mail: ithalofabricio@gmail.com
Ricardo Beserra de Sena / e-mail: rbeserra12@msn.com
Resumo
Como já é de conhecimento dos programadores a principal memória para o funcionamento básico de um computador é a memória principal. E é sobre essa memória que iremos aprofundar nossos estudos, pois mesmo as funções básicas seriam impossíveis de serem executadas sem a utilização dessas memórias.
Os processos são como pessoas que queiram fazer cálculos extremamente complexos , e para isso precisaria de um local para fazer suas anotações para futuramente poder retornar esses dados anotados e fazer comparações com outros dados, e no final, gerar um resultado geral de toda a operação.
Desta mesma forma os processos precisam de um local para armazenarem os controles de dados. E poderem resolver tarefas extremamente complexas.
Existem várias classes de memórias, com propriedades e características diferentes, onde cada uma habilitam funcionamentos distintos, dependendo de onde e como são aplicadas, aqui iremos abordar o funcionamento do gerenciamento de memória no Sistema Operacional Linux, onde na última década teve uma aceitação muito maior do público, principalmente pela sua licença FREE.
Abstract
As is already known programmers main memory for basic operation of a computer 's main memory . And it is about this memory that we will deepen our studies , because even the basic functions would be impossible to be implemented without the use of such memories .
The processes are as individuals wishing to take extremely complex calculations , and it would need a place to make notes for future power return these annotated data and comparisons with other data , and ultimately generate a general result of the whole operation .
In the same way the processes need a place to store data controls . And can solve extremely complex tasks .
There are several classes of memories with different properties and characteristics , which enable each distinct runs , depending on where and how to apply , here we discuss the functioning of the memory management in the Linux operating system , which in the last decade has had a much greater acceptance public , mainly because of its license FREE .
1. Introdução
O gerenciamento de memória no Linux é construído de modo que permita uma portabilidade simples de programas para o Linux em qualquer máquina, desde as mais simples, assim como as avançadas. Essa área por ter um bom funcionamento, quase não ouve muitas alterações no modelo de implementação.
Este artigo aborda os conceitos fundamentais de memória inclusive os de memória virtual, onde se faz boa parte dos gerenciamentos eficazes da memória, auxiliando e muito a memória principal.
Porem podem-se encontrar na literatura outros métodos de gerenciamentos de memória mais complexos, até mesmo com códigos implementados para fazer teste de gerenciamento dessas memórias, mas não foi abordado essas implementações nesse artigo.
2. Conceitos Fundamentais
Os conceitos no Linux são divididos em três segmentos; código, dado e pilha.
O segmento de código ou “segmento de texto” contém todas as instruções da máquina em linguagem de baixo nível, como era muito difícil de compreender em 1950 não foram mais feitas modificações no seu código.
O segmento de dados são divididos em duas partes, inicializados e não inicializados, todos as variáveis são armazenadas nesse segmento, e as variáveis não inicializadas sempre após sua inicialização são iniciadas com 0. A parte não inicializada é chamada também de BSS (Block Starter by Simbol). A parte inicializada já contém os valores e as constantes definidas pelo programa.
O segmento de pilha segundo Tanebaun o segmento de pilha inicia no topo do espaço de endereçamento ou próximo a ele, e cresce para baixo em direção do endereço 0.
Quando um programa se inicia , sua pilha não está vazia, contém todas as variáveis do shell, assim o programa iniciado pode descobrir sues argumentos.
3. Memória Virtual
A principal função de implementar uma memória virtual em um Sistema Operacional é disponibilizar uma maior quantidade de memória, do que a real. Mas como podemos observar, a quantidade real de memória, sempre será a física, acima dessa quantidade o sistema automaticamente o desconsidere ou entende como memória virtual.
O processo de uso de memória virtual é de fácil compreensão. É chamada de memória secundária, e pode ser uma partição na HD, um arquivo ou até mesmo um disco inteiro.
Sabemos que a quantidade de memória disponível em um sistema operacional que implementa memória virtual é a soma da área localizada na memória secundária mais os bytes da memória física. O responsável por todo esse gerenciamento é o Sistema operacional. Isso significa que ao usar um endereço na memória, tanto física quanto virtual, somente o sistema tem como saber, qual delas está sendo usado naquele momento.
Claro que observado os dados acima, a memória secundária é muito mais lenta do que a memória primária, chamada de física, pois delimita maior “trabalho” do processador para ter acesso as informações contidas nessa memória, por esses problemas que o Sistema operacional deverá manter os arquivos que tem uma utilização mais comum sempre na memória física, ficando o cargo para o S.O administrar, tentaremos explicar como o Linux trabalha para gerenciar essa tarefa.
Para o Sistema poder utilizar bem esse benefício de memória virtual, é muito importante que o Sistema saiba exatamente onde estão tais endereços. Conforme Silberschatz (2012), os sistemas operacionais fazem uso de um mecanismo chamado DAT, este item tem a função de realizar tradução do endereço virtual em um endereço real.
É por esse mecanismo que o S.O. é capaz de identificar as relações entre os endereços de memória virtual e a sua real localização. No próximo item, iremos explicar como o Linux utiliza esse recurso de memória virtual
4.
...