A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerenciamento de Memória Sistemas Recentes

Apresentações semelhantes


Apresentação em tema: "Gerenciamento de Memória Sistemas Recentes"— Transcrição da apresentação:

1 Gerenciamento de Memória Sistemas Recentes
(1) Paginação (2) Paginação sob Demanda (3) Segmentação (4) Segmentação/Paginação sob Demanda

2 Gerenciamento de Memória Paginação
Baseia-se no conceito de divisão de cada programa em páginas de igual tamanho. O gerenciador de memória divide o programa em números de páginas e as carrega na memória para execução, trabalhando com três tabelas de controle: Tabela de Programas (TP), Tabela de Mapa de Páginas (TMP) e Tabela de Mapa de Memória (TMM). A fórmula básica de cálculo de localização é: número da linha a ser localizada | tamanho da página xxx número da página deslocamento

3 Gerenciamento de Memória Paginação sob Demanda
Introduziu o conceito de carregar parte do programa em memória, mas continua com tamanho fixo de páginas. Viabilizou o uso da Memória Virtual por estender as páginas para memória secundária (disco). Realiza substituição de páginas entre a memória real e a memória virtual através de alguns algoritmos, quando esta substituição ocorre em excesso, temos o problema de thrashing, tornando o mecanismo ineficiente. Alguns algoritmos são usados para tornar o mecanismo mais eficiente: “Primeiro a Chegar, Primeiro a Sair (FIFO)”, e Página Usada Menos Recentemente (UMR)”.

4 Gerenciamento de Memória Segmentação
O conceito baseia-se na estruturação dos programas em módulos, onde a alocação de memória é baseada nos tamanhos dos módulos dos programas, sendo um processo dinâmico. Há uma semelhança com a alocação por paginação sob demanda, porém o controle dos segmentos é feito através de uma Tabela de Mapa de Segmentos (TMS) para cada segmento de programa. Há uma grande desvantagem neste esquema dinâmico em relação a fragmentação, pois sempre haverá necessidade de recompactação da memória disponível.

5 Gerenciamento de Memória Segmentação/Paginação sob Demanda
Reúne os benefícios lógicos da segmentação aos benefícios físicos da paginação sob demanda. Os segmentos são divididos em páginas de igual tamanho, menores que a maioria dos segmentos e facilmente manipuladas dos que os segmentos inteiros, eliminando muitos problemas de fragmentação.

6 Gerenciamento de Memória Memória Virtual
Com a Paginação sob demanda, o conceito de Memória Virtual foi apresentado considerando o armazenamento secundário das informações para ampliação da memória real, que para o usuário torna-se transparente, eliminando as restrições do tamanho da memória real. Exige uma interação grande entre o Gerenciador de Memória e o Gerenciador de Dispositivos, uma vez que o dispositivo secundário é controlado por este. Em termos de custo-benefício, as vantagens são inúmeras e permitiram a evolução ampla dos sistemas mais complexos uma vez que “não” há mais restrições de tamanho de memória para aplicações.

7 Gerenciador do Processador
Em sistemas monousuário, a CPU só é ocupada quando há execução de programas. Já no ambiente multiusuário, o gerenciamento da ocupação da CPU deve ser rígido para melhor aproveitamento do “coração” da máquina. Definições: Programa: é uma unidade inativa, como um arquivo; Processo: é uma entidade ativa, é uma instância executável de um programa. Thread (linha de execução): é uma parte de um processo que pode ser executado independentemente, ou seja, em paralelo.

8 Gerenciador do Processador
Processador (CPU): é a parte da máquina que faz os cálculos e executa os programas. Em resumo, o Gerenciador do Processador é responsável por administrar a execução das tarefas (programas) com base em critérios pré-definidos de prioridades uma vez que a(s) CPU(s) são restritas e devem executar as tarefas de forma lógica.

9 Gerenciador do Processador Escalonamento de Programas e Processos
O Escalonador de Programas é responsável por administrar uma fila de processos a serem executadas, ou seja, é o “gerente” responsável por aproveitar bem os recursos disponíveis (E/S, processamento, etc), com base em alguns critérios para ordenar a execução dos processos. O que isto significa ? Por exemplo, se há programas que fazem muitos acessos a disco e outros que fazem muitos processamentos, o Escalonador de Programas deverá administrar a lista de processos de forma a otimizar o uso da CPU e do Disco, procurando evitar a sobrecarga do sistemas. Para isto, critérios para escalonamentos são usados.

10 Gerenciador do Processador Escalonamento de Processos
O Escalonador de Processos é o “gerente” responsável por trabalhar a Fila gerada pelo escalonador de programas, de forma a instruir a CPU de quando executar, quando parar, quando retomar e quando terminar a execução dos processos. É um escalonador de baixo nível que tira partido da característica dos “Ciclos da CPU” para otimizar a execução dos processos. READ A,B C = A + B D = (A * B) – C E = A – B F = D/E WRITE A, B, C, D, E, F STOP END Ciclo de E/S Ciclo de CPU Ciclo de E/S

11 Gerenciador do Processador Estados de Programas e Processos
Na medida que o programa se movimenta pelo sistema, ele se encontra em um dos cinco estados possíveis: NOVO, PRONTO, EM EXECUÇÃO, EM ESPERA e TERMINADO. NOVO PRONTO TERM EXEC ESPERA Escalonador de Programas (equilibrando a utilização dos recursos: MEM, E/S...) Escalonador de Processos (algoritmo) Escalonador de Programas Escalonador de Processos (liberam recursos) Escalonador de Processos (requisição de E/S ...) Escalonador de Processos (sinal do gerenciador de dispositivos ou de interrupção de páginas) Interrupção de Tempo

12 Gerenciador do Processador Blocos de Controle de Processo
Cada processo é representado por uma estrutuda de dados – Bloco de Controle de Processo (BCP), que contém informações básicas sobre o estado do programa. IDENTIFICADOR DO PROCESSO STATUS DO PROCESSO ESTADO DO PROCESSO: Status do Processo, Conteúdo do Registrador, Memória Principal, Recursos, Prioridade do Processo CONTABILIDADE: tempo de utilização da CPU, tempo total que o programa permaneceu no sistema, etc ...

13 Gerenciador do Processador Blocos de Controle de Processo (BCP) e Filas
O BCP é criado quando o Escalonador de Programas aceita o programa e é atualizado ao longo de toda a execução. As filas são criadas e utilizam os BCPs para monitorar os programas durante todos as fases de sua execução. Os BCPs vão sendo atualizados na medida do estado que o programa se encontra. As filas necessitam ser gerenciadas de forma ordenada, isto depende totalmente dos algoritmos de escalonamento de processos.

14 Gerenciador do Processador Critérios de Escalonamento de Processos
Há vários critérios para escalonamento de processos para otimizar a execução dos programas, porém alguns pontos devem ser considerados: Maximizar produtividade Minimizar o tempo de resposta Minimizar o tempo de retorno Minimizar o tempo de espera Maximizar a eficiência da CPU Garantir equanimidade para todos os programas

15 Gerenciador do Processador Algoritmos de Escalonamento de Processos
Primeiro a Chegar, Primeiro a Ser Atendido Programa Menor Primeiro Escalonamento por Prioridade Menor Tempo Restante Rodízio Filas de Múltiplos Níveis


Carregar ppt "Gerenciamento de Memória Sistemas Recentes"

Apresentações semelhantes


Anúncios Google