Programação de Sistemas



Documentos relacionados
Sistemas Operacionais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Arquitetura de Computadores. Sistemas Operacionais IV

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Gerenciamento de Memória

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Sistemas Operacionais

Gerenciamento de memória

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Sistemas Operativos I

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória

Infraestrutura de Hardware. Memória Virtual

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

Gerência de processos Estudos de caso - BSD Unix

Introdução a Informática. Prof.: Roberto Franciscatto

Memória cache. Prof. Francisco Adelton

Sistemas Operacionais

Organização de Computadores 1

Gerência de Memória. Paginação

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

AULA 13 - Gerência de Memória

Gerenciamento Básico B de Memória Aula 07

Prof. Sandrina Correia

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Componentes de um Sistema de Operação

AULA 5 Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Sistemas Operativos I

Análises Geração RI (representação intermediária) Código Intermediário


Organização e Arquitetura de Computadores

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Exercícios Gerência de Memória

Gerenciamento de memória

Programação de Sistemas

Programação de Sistemas

Desenvolvimento de um Simulador de Gerenciamento de Memória

Arquitetura de Computadores. Tipos de Instruções

Introdução à Arquitetura de Computadores

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso de Instalação e Gestão de Redes Informáticas

Introdução aos Computadores

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

R S Q Tabela 17 - Tabela verdade NOR

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

Processamento de Dados

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

O Hardware Dentro da Unidade do Sistema

BARRAMENTO DO SISTEMA

Tudo o que você precisa saber sobre cartões de memória

Capítulo 4 Gerenciamento de Memória

Fundamentos de Sistemas Operacionais

Sistema de Arquivos FAT

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

Memória Cache. Prof. Leonardo Barreto Campos 1

Escalonamento no Linux e no Windows NT/2000/XP

Sistemas Operacionais: Sistema de Arquivos

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

Capítulo 4 Gerenciamento de Memória

Hardware de Computadores

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Hardware Fundamental

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas Operacionais. Prof. André Y. Kusumoto

Capítulo 8: Gerenciamento de Memória

Introdução aos Sistemas Operativos

Componentes de um Sistema de Operação

Arquitetura e Organização de Computadores

Dispositivos de Entrada e Saída

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Aula 04 A. Barramentos. Prof. Ricardo Palma

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Grupo I [4v] executaprograma();

ARQUITETURA DE COMPUTADORES

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

CPU Unidade Central de Processamento. História e progresso

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa

Técnicas de Manutenção de Computadores


Fundamentos de Sistemas Operacionais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Introdução aos Sistemas

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Transcrição:

Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard, podendo ser expandida com 3 cartas de memória 64KB cada ao todo 256KB de memória central!!! [2007] PCs possuem, tipicamente, 2GB de memória central! A memória é hierarquizada a 4 níveis: A. Memória virtual, residente em disco B. Memória central RAM, actualmente formada por módulos montados em circuitos com sockets de 30,72 e 168 pinos. C. Cache, colocada entre CPU e a memória central (parte reside no chip do CPU, parte na motherboard ). D. Registos do CPU Aumento de custo, Diminuição no tempo acesso e de capacidade Programação de Sistemas Gestão de memória : 2/16

Introdução (2) CPU registos Tipo Registo Cache RAM Disco Espaço <1KB 1 MB 2 GB 300 GB T acesso 3 ns 6 ns 60 ns 8 ms Largura banda 100GB/s 10GB/s 2GB/s 50MB/s Gerido por Compilador CPU SO SO Ao longo dos anos a memória RAM aumentou, mas o espaço do SO e número/espaço de programas também! Programação de Sistemas Gestão de memória : 3/16 Introdução (3) Programação de Sistemas Gestão de memória : 4/16

Divisão de memória central (1) A. Para um sistema operativo monoprocesso, a memória central é dividida apenas entre o SO e o processo. Arquitecturas possíveis de divisão de memória central: Figura 4-1, Modern Operating Systems Programação de Sistemas Gestão de memória : 5/16 Divisão de memória central (2) B. Nos SO multiprocesso iniciais, na memória central eram criadas partições fixas à partida (não necessariamente todas de tamanho igual). Partições: pequenas-1 e 4, média-2 grande-3 Figura 4-2, Modern Operating Systems Programação de Sistemas Gestão de memória : 6/16

Divisão de memória central (3) Estratégias de distribuição de partições pelos processos: a) O processo lançado colocado na fila de espera da partição que tenha espaço suficiente para as necessidades. Inconveniência: um processo que gasta pouco espaço pode ficar à espera numa partição ocupada, enquanto outras partições maiores se encontram livres. b) Em alternativa, a fila de espera é única com 2 estratégias de alocação Atribuída partição ao processo à frente na lista (pode resultar em desperdício). Logo que uma partição fique livre, ela é atribuída ao maior processo que nela caiba (os processos de reduzida dimensão ficam prejudicados). Programação de Sistemas Gestão de memória : 7/16 Divisão de memória central (4) C. Nos actuais sistemas operativos multiprocessamento, a memória central é dividida por Sistema operativo Vários processos (total ou parcialmente residentes na memória central) Frequentemente, a dimensão do processo (programa e dados) é maior que a fatia de RAM disponível. Para que o processo possa ser executado são usadas 2 técnicas: Paginação ou segmentação: o programa/dados são dividos por várias páginas, ou por segmentos. Permutação ( swapping ), que troca páginas entre disco e RAM. Programação de Sistemas Gestão de memória : 8/16

Divisão de memória central (5) A alocação de memória atribuída a um processo pode ser alterada pelo SO, quando for necessário arranjar espaço para outro processo acabado de ser lançado. Exemplo: localização do processo A deslocada Figura 4-5, Modern Operating Systems Programação de Sistemas Gestão de memória : 9/16 Problemas no acesso em multiprocessamento 1. Relocação Um programa não sabe a zona de memória onde efectivamente reside (essa é tarefa reservada ao SO). O CPU deve garantir que: 1. Os endereços de saltos e rotinas são relativos. Nota: no Intel Pentium, os saltos condicionais são relativos a 8 bits (±127 B de endereço) e os dados /saltos incondicionais/ rotinas são endereçados a 32 bits. 2. Os endereços de código e dados são virtuais. O endereço efectivo de memória é calculado pelo CPU, somando ao endereço virtual um valor base (este pode ser alterado pelo SO durante a vida do processo). 2. Protecção Um processo não pode aceder ao espaço de outro processo. O CPU deve garantir a observação de limites nos acessos. Programação de Sistemas Gestão de memória : 10/16

Objectivos do gestor de memória O sistema de gestão de memória deve: assegurar que cada processo dispõe da memória que precisa. garantir que cada processo só acede à memória a que tem direito (protecção). optimizar (i.e. minimizar) as transferências de informação em memórias organizadas hierarquicamente. tornar o mais rapido possível o acesso aos dados em memória central. Como os processos vêm o PS e o MM: O PS (escalonamento de processos) decide quando o processo corre. O MM (gestor de memória) determina onde o processo é armazenado. Programação de Sistemas Gestão de memória : 11/16 Gestão de memória central (1) A gestão de memória central adopta 3 modelos, por ordem crescente de sofisticação A. Sobreposição ( overlay ): as zonas de memória, definidas estaticamente, são ocupadas sucessivamente por partes de programas. Os dados intermédios são guardados em disco. Programa principal (residente) Memória principal Nota: a sobreposição, usada nos SO antigos quando a memória central era escassa, caiu em desuso. Overlay 1 Overlay 2 Overlay 3 Programação de Sistemas Gestão de memória : 12/16

Gestão de memória central (2) B. Partições dinâmicas : o sistema operativo determina que bloco de memória é atribuído ao processo. As partições dinâmicas podem ser implementadas em 2 formas, de acordo com a estrutura de dados usada para representar os blocos disponíveis. i. Lista: em que o SO executa um algoritmo de procura linear de um bloco que permita encaixar o pedido. Vários algoritmos fit foram identificados. ii. Baseadas em árvore: em que os blocos são divididos e recombinados numa estrutura baseada em árvore. Programação de Sistemas Gestão de memória : 13/16 Gestão de memória central (3) C. Memória virtual (VM- virtual memory ) : o programa referencia sempre endereços virtuais (lógicos) e o gestor de memória mapeia esses endereços para o endereço real (físico). A memória virtual pode ser implementada em 2 formas: i. Paginação: em que o programa é dividido em páginas e num dado instante apenas algumas estão em memória. O SO encarrega-se do carregamento e da permuta ( swap ) de páginas, bem como a transcrição do endereço virtual para o endereço real. Nota: paginação foi implementada pela primeira vez em 1962 no computador Atlas, da Universidade Manchester/UK. Programação de Sistemas Gestão de memória : 14/16

Gestão de memória central (4) A gestão de memória por paginação baseia-se em dois factos: A dimensão dos programas é frequentemente maior que a área de memória central disponibilizada ao processo. Durante a maior parte da vida de um processo, ele passa o tempo a aceder apenas uma pequena fracção de todo o espaço do programa (ex: código-execução de um ciclo, dados-acesso a elementos de uma tabela). A página só é trazida para memória central quando for referenciada ( page-demand ). A página de memória central é enviada para disco apenas se tiver sido modificada. Menor gasto de RAM. Menos I/O. Programação de Sistemas Gestão de memória : 15/16 Gestão de memória central (5) A técnica de paginação é extensivamente usada nos SO modernos (excepto em sistemas limitados, como sistemas embebidos). Este capítulo foca maioritariamente as técnicas de paginação. ii. Segmentação: as secções de um programa (código, dados, pilha) são armazenadas em áreas possivelmente distintas. A segmentação, usada pela primeira vez no Multics, da Honeywell 635, foi adoptada no Intel x86 por forma os 16 bits poderem endereçar 1MB. Nos µp actuais da Intel, a segmentação pura é mantida apenas em modo de endereçamento real. Em geral, o Pentium e Core usam a combinação de segmentação e paginação no modo de endereçamento protegido. Programação de Sistemas Gestão de memória : 16/16