Professor Esp. Diego André Sant’Ana

21
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Gerenciamento de memória 1 Livro utilizado com base para conteúdo no slide, corram atrás do conhecimento existem vários exemplares na biblioteca.

description

Gerenciamento de memória. Livro utilizado com base para conteúdo no slide, corram atrás do conhecimento existem vários exemplares na biblioteca. Professor Esp. Diego André Sant’Ana. Disciplina: Sistemas Operacionais II. Gerenciamento de memória. - PowerPoint PPT Presentation

Transcript of Professor Esp. Diego André Sant’Ana

Page 1: Professor Esp. Diego André Sant’Ana

1

Professor Esp. Diego André Sant’AnaDisciplina: Sistemas Operacionais II

Gerenciamento de memória

Livro utilizado com base para conteúdo no slide, corram atrás do conhecimento existem vários exemplares na biblioteca.

Page 2: Professor Esp. Diego André Sant’Ana

2

Gerenciamento de memória

A memória principal (RAM) é um recurso importante que deve ser gerenciado com muito cuidado.

Page 3: Professor Esp. Diego André Sant’Ana

3

Gerenciamento de memória

Apesar de atualmente os computadores pessoais possuírem memorias dez mil vezes maiores que o IBM 7094(o maior computador do mundo no início dos anos 1960).

Page 4: Professor Esp. Diego André Sant’Ana

4

IBM 7094

FONTE: http://www-hpc.cea.fr/en/complexe/images/1-IBM7094.jpg

Page 5: Professor Esp. Diego André Sant’Ana

5

Gerenciamento de memória

Os programas tornam-se cada vez maiores muito mais rapidamente do que as memorias. Parafraseando a Lei de Parkinson, pode-se afirmar que “programas tendem a se expandir a fim de ocupar toda memoria disponível”

Page 6: Professor Esp. Diego André Sant’Ana

6

Gerenciamento de memória

FONTE: http://3.bp.blogspot.com/-pcc90QLdZgo/Tadu_Y1Aw1I/AAAAAAAACI0/IY5zOxbUttk/s1600/mesmo+barco.jpg

Page 7: Professor Esp. Diego André Sant’Ana

7

Gerenciamento de memória

O que todo programador desejar é dispor de uma memoria infinitamente grande , rápida e não volátil, ou seja, uma memoria que não perdesse seu conteúdo quando faltasse energia.

E por que não também de baixo custo? Infelizmente a tecnologia atual não comporta essas memorias. Talvez você seja capaz de desenvolve-las.

Page 8: Professor Esp. Diego André Sant’Ana

8

Gerenciamento de memória

Qual é a segunda opção? Ao longo dos anos, as pessoas descobriram o conceito de hierarquia de memórias, em que os computadores têm alguns megabytes de memória cache muito rápida, de custo alto e volátil, alguns gigabytes de memoria principal volátil de velocidade e custo médios e alguns terabytes de armazenagem em disco não volátil de velocidade e custo baixo.

Page 9: Professor Esp. Diego André Sant’Ana

9

Gerenciamento de memória

A parte do sistema operacional que gerencia(parcialmente) a hierarquia de memórias é denominadas gerenciador de memória. Sua função é gerenciar a memória de modo eficiente: manter o controle de quais partes da memórias estão em uso e quais não estão, alocando memórias aos processos quando eles precisam e liberando-a quando esses processos terminam.

Page 10: Professor Esp. Diego André Sant’Ana

10

Abstração de Memória

A abstração de memória mais simples é a ausência de abstração. Os primeiros computadores de grande porte(antes de 1960), microcomputadores (antes de 1970) e computadores pessoais(antes de 1980) não possuíam abstração de memória.

Page 11: Professor Esp. Diego André Sant’Ana

11

Abstração de Memória

Cada programa simplesmente considerava a memória física. Quando um programa executava uma instrução como

MOV REGISTER1,1000O computador apenas movia o

conteúdo da memória física da posição 1000 para REGISTER 1.

Page 12: Professor Esp. Diego André Sant’Ana

12

Abstração de Memória

Assim, o modelo de memoria apresentado ao programador era simplesmente a memória física, um conjunto de endereços de 0 a algum máximo, cada endereço correspondendo a uma célula que continha certos numero de bits, normalmente oito.

Page 13: Professor Esp. Diego André Sant’Ana

13

Abstração de Memória

Nessas condições, não era possível executar dois programas na memória simultaneamente. Se o primeiro programa escrevesse um novo valor para a posição 2000, por exemplo, apagaria qualquer valor que o segundo programa estivesse armazenado ali. Nenhum deles funcionaria e os dois programas quebrariam quase imediatamente.

Page 14: Professor Esp. Diego André Sant’Ana

14

Abstração de Memória

Ainda que o modelo de memória fosse apenas a memória física, havia várias opções possíveis. São mostradas três variações na Figura 3.1.O sistema operacional pode estar na parte inferior da memória em RAM(random acess memory – memória de acesso aleatório), como mostrado:

Page 15: Professor Esp. Diego André Sant’Ana

15

Abstração de Memória

Figura 3.1(a) ou pode estar em ROM(read-only memory – memoria apenas para leitura) na parte superior da memoria

Page 16: Professor Esp. Diego André Sant’Ana

16

Abstração de Memória

Figura 3.1(b) ou os drivers de dispositivo podem estar na parte superior da memória em ROM e o resto do sistema em RAM embaixo como mostrado na Figura 3.1(c).

Page 17: Professor Esp. Diego André Sant’Ana

17

Abstração de Memória

O primeiro modelo era usado antigamente em computadores de grande porte e minicomputadores e raramente foi utilizado depois disso.O segundo modelo é usado em alguns computadores portáteis e sistemas embarcados.O terceiro modelo foi empregado nos primeiros computadores pessoais(por exemplo, executando o MS-DOS), em que a porção do sistema na ROM é chamada de BIOS(basic input output system – sistemas básico de E/S).

Page 18: Professor Esp. Diego André Sant’Ana

18

Abstração de Memória

Os modelos (a) e (c) apresentam a desvantagem da possibilidade de que um erro no programa do usuário apague o sistema operacional, possivelmente com resultados desastrosos(como a adulteração do disco).

Page 19: Professor Esp. Diego André Sant’Ana

19

Abstração de Memória

Page 20: Professor Esp. Diego André Sant’Ana

20

Abstração de Memória

Quando o sistema é organizado dessa forma, geralmente apenas um processo pode ser executado por vez. Assim o usuário digita um comando, o sistema operacional copia o programa solicitado do disco para a memória e o executa. Quanto o processo termina, o sistema operacional exibe um prompt e espera por um novo comando. Quando recebe um novo comando, carrega um novo programa na memória, sobrescrevendo o primeiro.

Page 21: Professor Esp. Diego André Sant’Ana

21

ReferênciasTanenbaum, Andrew S.; Tanenbaum, Andrew S. Sistemas Operacionais Modernos - 3ª Ed. 2010 Prentice Hall – Br