Algoritmos De Gestão De Memoria
Casos: Algoritmos De Gestão De Memoria. Pesquise 862.000+ trabalhos acadêmicosPor: felipecdx • 21/11/2013 • 1.764 Palavras (8 Páginas) • 1.346 Visualizações
Sistemas Operativos)-Algoritmos de Gestão de memória2010
Instituto Politécnico de Viseu
Escola Superior de Tecnologia e Gestão de Lamego
Licenciatura em Engenharia Informática e Telecomunicações
Algoritmos Gestão de memória
Licenciatura de engenharia informática e telecomunicações Professor: Carlos Costa
Trabalho realizado por: Tiago Filipe dos Santos Lourenço nº1819
(Sistemas Operativos)-Algoritmos de Gestão de memória2010
Índice de conteúdos
INTRODUÇÃO..........................................................................................................3 PRINCIPAIS OPERAÇÕES DE GESTÃO DE MEMÓRIA..................................4 SEGMENTAÇÃO.......................................................................................................5 PAGINAÇÃO ............................................................................................................7 TIPOS DE ALGORITMOS NOS SO.......................................................................8 CONCLUSÃO.............................................................................................................9
(Sistemas Operativos)-Algoritmos de Gestão de memória2010
Introdução
Os algoritmos de gestão de memória são da responsabilidade do SO, e o que determina as decisões a tomar e quando devem ser tomadas usando mecanismos básicos de memória virtual. Como devem ser alocados transferidos e substituídas entre memória primária e secundária vários algoritmos de segmentação e paginação o seu funcionamento e quais os algoritmos mais utilizados e quais as diferenças entre eles, e que SO utiliza paginação e segmentação.
(Sistemas Operativos)-Algoritmos de Gestão de memória2010
Principais operações de Gestão de memória
Memória virtual
• Alocação de memoria; Os algoritmos de alocação de memoria decidem, dada a memória livre onde colocar o bloco de memória de uma dada dimensão. O SO tem necessidade de utilizar estes algoritmos, na criação e terminação de processos, quando o processo se inicia o SO aloca blocos de memoria e quando termina liberta esses mesmos blocos, e na expansão do espaço de endereçamento, é quando o SO faz um pedido para expandir o espaço de endereçamento do processo. • Transferência de blocos;
A transferência de blocos e utilizado quando é necessário libertar espaço na memória primária para alocar novos blocos. Então o SO copia para a memória secundária designada por swaping os blocos que não irão ser utilizados brevemente, está área de memoria secundária pode ser uma parte do disco ou pode ser um ficheiro, que permite o acesso e gestão de forma maiss simples mas eventualmente menos eficaz. Os algoritmos de transferência para transferir blocos da memoria primária para a secundária são três:
•
A pedido (on request): O SO determina quando se deve carregar o bloco em memória e invoca uma chamada de sistema.
•
Por necessidade (on demand): O programa em execução pretende aceder a um bloco em falta (uma execção detectada por hardware) o SO tem de tratar do carregamento do bloco em falta para a memória primária.
•
Por antecipação (pre-fetching): O bloco é carregado antecipadamente para a memória pelo SO, este considera fortemente provável que ele venha a ser usado nos proximos instantes.
•
Substituição de blocos;
Ao fim de algum tempo de funcionamento a memória estará toda ocupada, quando um novo pedido for feito o SO verifica que não há memória, terá de retirar os blocos da memória primária e envia-los para a secundária para arranjar espaço livre. Para isso o SO mantém sempre um numero de blocos livres de modo que não tenha de efectuar substituição dos mesmo quando a memória esta cheia. Esse numero de blocos livres oscila tem um mínimo e um máximo, quando o numero de blocos livres atinge o mínimo o SO prossegue á substituição de blocos ate o valor atingir o maximo.
(Sistemas Operativos)-Algoritmos de Gestão de memória2010
Segmentação
A segmentação é uma das maneiras mais comuns para a protecção de memória, sendo a memória paginada outro método bastante utilizado. Significa que parte da memória é removida do processo sendo executado actualmente, através do uso de registadores. Se o dado prestes a ser lido ou escrito está fora do espaço de endereços do processo, uma falha de segmentação é lançada. Qualquer programa de computador está dividido em secções, como as declarações de variáveis e declarações de sub rotinas, sobretudo se ele foi escrito numa linguagem de alto nível. Em termos de execução, cada uma dessas secções vai ocupar um segmento da memória. O sistema operativo que suporta este sistema possuirá uma tabela com os tamanhos e endereços de memória dos vários segmentos de um programa para saber onde estão. Cada segmento possui um conjunto de permissões (leitura, escrita ou execução) e um tamanho associado. Se o processo é autorizado pelas permissões a referenciar a memória da maneira como deseja e se o endereço está no trecho do segmento, a referência do endereço da memória é permitida. Senão, a falha de segmentação é lançada. Outra associação além de permissão e tamanho é a informação de onde o segmento está localizado na memória. Uma MMU é responsável pela tradução de um segmento e um endereço relativo no segmento em um endereço de memória, e também pela verificação da permissão da referência e valor do endereço relativo. Seu uso não deve ser confundido com a segmentação de memória utilizada pelas antigas arquitecturas de computador x86, como o Intel 8086 e o Intel 8088, que não forneciam protecção; a segmentação a partir do Intel 80286 passou a fornecer protecção. Os vários algoritmos de alocação de segmentos são: • Best-ftt (o menor possível) • worst-ftt
...