Sistemas Operacionais I



Documentos relacionados
Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Capítulo 4 Gerenciamento de Memória

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Sistemas Operacionais

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Gerenciamento Básico B de Memória Aula 07

Gerenciamento de memória

Gerenciamento de memória

AULA 13 - Gerência de Memória

Sistema de Memórias de Computadores

Arquitetura e Organização de Computadores

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais

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

Memória cache. Prof. Francisco Adelton

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Arquitetura e Organização de Computadores

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

Sistemas Operacionais Arquivos

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

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

Arquitetura dos Sistemas Operacionais

Sistemas Operacionais

Sistemas Operativos. Deadlocks. 3º ano ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@ipiaget.net)

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

Capítulo 4 Gestão da memoria

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

SISTEMAS OPERACIONAIS

MODELAGEM E SIMULAÇÃO

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

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Organização e Arquitetura de Computadores

Gerência do Processador

Nível da Arquitetura do Conjunto das Instruções

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

Sistemas Operacionais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Infraestrutura de Hardware. Memória Virtual

Capítulo 1. Introdução

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

Capítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

AULA 16 - Sistema de Arquivos

Filas: conceitos e implementações

Introdução. Software (Parte I)

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Sistemas Operacionais

Nível do Sistema Operacional

Programação de Sistemas

Introdução à Computação: Sistemas de Computação

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

PROCESSOS. Prof. Maicon A. Sartin

Sistemas Operacionais. Prof. André Y. Kusumoto

11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.

Sistemas Operacionais

Sistemas de Arquivos. André Luiz da Costa Carvalho

Arquitetura de Computadores. Sistemas Operacionais IV

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Sistemas Operativos. Gestão de memória. Rui Maranhão

Sistemas Operacionais

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AOS SISTEMAS OPERACIONAIS. Prof. Dr. Daniel Caetano

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

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Sistemas Operacionais

Professor: Gládston Duarte

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Fundamentos de Sistemas Operacionais

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

SISTEMAS OPERACIONAIS

Introdução à estrutura e funcionamento de um Sistema Informático

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

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Atualização, backup e recuperação de software

Arquitetura de Sistemas Operacionais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Introdução à Engenharia de Computação

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Capítulo 3 Gerenciamento de memória

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Sistemas Operacionais

Processos. Estruturas de Controle

Transcrição:

Sistemas Operacionais I Material Baseado no Livro Sistemas Operacionais Modernos 2ª. Ed. da Pearson Education 1 Agenda Deadlocks Gerenciamento de Memória 2 1

DEADLOCKS 3 Recursos Exemplos de recursos de computador impressoras unidades de fita tabelas Processos precisam de acesso aos recursos numa ordem racional Suponha que um processo detenha o recurso A e solicite o recurso B ao mesmo tempo um outro processo detém B e solicita A ambos são bloqueados e assim permanecem 4 2

Recursos Deadlocks ocorrem quando garante-se aos processos acesso exclusivo aos dispositivos esses dispositivos são normalmente chamados de recursos Recursos preemptíveis podem ser retirados de um processo sem quaisquer efeitos prejudiciais (memória: RAM x Disco) Recursos não preemptíveis vão induzir o processo a falhar se forem retirados (gravadores de CD/DVD) propicio à ocorrência de deadlocks 5 Recursos Seqüência de eventos necessários ao uso de um recurso 1. solicitar o recurso 2. usar o recurso 3. liberar o recurso Deve esperar se solicitação é negada processo solicitante pode ser bloqueado pode falhar resultando em um código de erro (deverá aguardar e solicitar novamente) 6 3

Recursos Aquisição de Recursos Para alguns tipos de recursos, os processos de usuários precisam gerenciar Exemplo: registros em um Banco de Dados Associação de semáforos aos recursos Caso um processo precise de mais de um recurso, eles são adquiridos sequencialmente 7 Exemplo: 2 Processos typedef int semaphore; semaphore resource1; semaphore resource2; void processa(void) { down(&resource1); down(&resource2); useresources(void); up(&resource2); up(&resource1); } void processb(void) { down(&resource1); down(&resource2); useresources(void); up(&resource2); up(&resource1); } typedef int semaphore; semaphore resource1; semaphore resource2; void processa(void) { down(&resource1); down(&resource2); useresources(void); up(&resource2); up(&resource1); } void processb( void) { down(&resource2); down(&resource1); useresources(void); up(&resource1); up(&resource2); } 8 4

Introdução aos Deadlocks Definição formal: Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer Normalmente o evento é a liberação de um recurso atualmente retido Nenhum dos processos pode... executar liberar recursos ser acordado 9 Quatro Condições para Deadlock 1. Condição de exclusão mútua todo recurso está ou associado a um processo ou disponível 2. Condição de posse e espera processos que retêm recursos podem solicitar novos recursos 3. Condição de não preempção recursos concedidos previamente não podem ser forçosamente tomados 4. Condição de espera circular deve ser uma cadeia circular de 2 ou mais processos cada um está à espera de recurso retido pelo 10 membro seguinte dessa cadeia 5

Estratégias para Tratar Deadlocks 1. Ignorar por completo o problema 2. Detecção e Recuperação 3. Anulação dinâmica por meio de uma alocação cuidadosa de recursos 4. Prevenção, negando estruturalmente uma das quatro condições necessárias para gerar um deadlock 11 Recuperação de Situações de Deadlock Recuperação por meio de preempção Recuperação por meio de reversão de estado Recuperação por meio da eliminação de processos 12 6

GERENCIAMENTO DE MEMÓRIA 13 14 Gerenciamento de Memória Idealmente, o que todo programador deseja é dispor de uma memória que seja: grande rápida não volátil Hierarquia de memórias pequena quantidade de memória rápida, de alto custo - cache quantidade considerável de memória principal de velocidade média, custo médio gigabytes de armazenamento em disco de velocidade e custo baixos O gerenciador de memória trata a hierarquia de memórias 7

Classes de Sistemas de Gerenciamento Levam e trazem processos entre memória principal e disco Sistemas simplificados 15 Sistema Simplificado Monoprogramação sem troca de processo ou paginação Memória compartilhada entre programa e SO Somente um programa é executado por vez 16 8

Monoprogramação sem Troca de Processos ou Paginação Três maneiras simples de organizar a memória - um sistema operacional e um processo de usuário 17 Monoprogramação sem Troca de Processo ou Paginação Primeiro modelo: computadores de grande porte e minicomputadores (não é mais usado) Segundo modelo: alguns computadores de mão e sistemas embarcados Terceiro modelo: primeiros computadores pessoais (SO: MS-DOS, ROM: BIOS) 18 9

Multiprogramação com Partições Fixas Múltiplos processos em execução simultaneamente Dividir a memória em n partições (tamanhos diferentes) Um job é alocado em uma fila associada a uma partição grande o suficiente para abrigálo Todo espaço não utilizado pelo job é perdido 19 Multiprogramação com Partições Fixas Partições fixas de memória a) filas de entrada separadas para cada partição 20 b) fila única de entrada 10

Filas Separadas x Fila Única Filas Separadas Fila para pequena partição cheia Fila para grande partição vazia Fila Única Job no início da fila é alocado em partição vazia suficiente (poderia desperdiçar memória) Pesquisar a fila para melhor alocação (discrimina os jobs pequenos, solução?) 21 Modelagem de Multiprogramação Melhorar o uso da CPU Utilização da CPU = 1 p n Onde: p: fração do tempo a espera por E/S n: quantidade de processos na memória Grau da multiprogramação 22 11

Modelagem de Multiprogramação 23 Utilização da CPU como uma função do número de processos na memória Análise de Desempenho de Sistemas de Multiprogramação 10% de perda Chegada de 4 jobs e suas necessidades de trabalho Utilização da CPU por até 4 jobs com 80% de espera por E/S Sequência de eventos entre chegada e término dos jobs Note que os números mostram quanto tempo da CPU cada job obtém em cada intervalo 24 12

Relocação e Proteção Não se sabe com certeza onde o programa será carregado na memória Localizações de endereços de variáveis e de código de rotinas não podem ser absolutos Uma possível solução: instruções do programa são modificadas segundo a partição de memória em que ele será carregado Uma solução para relocação e proteção: uso de valores base e limite localizações de endereços são somadas ao valor base antes de serem mapeadas na memória física localizações de endereços maior que o valor limite indicam erro 25 Troca de Processos (swapping) Alterações na alocação de memória à medida que processos entram e saem da memória Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instante 26 13

Troca de Processos a) Alocação de espaço para uma área de dados em expansão b) Alocação de espaço para uma pilha e uma área de dados, ambos em expansão 27 Gerenciamento de Memória Mapa de Bits Lista de Disponíveis 28 14

Mapa de Bits Memória divida em unidades de alocação Um bit no mapa de bits associado a cada unidade de alocação Bit 0: unidade de alocação disponível Bit 1: unidade de alocação ocupada Quanto menor a unidade de alocação, maior o mapa de bits Quanto maior a unidade de alocação, maior a possibilidade de desperdício 29 Gerenciamento de Memória com Mapas de Bits a) Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre pequenos riscos simétricos denotam as unidades de alocação regiões sombreadas denotam segmentos livres b) Mapa de bits correspondente c) Mesmas informações em uma lista encadeada 30 15

Gerenciamento de Memória com Listas Encadeadas Ordenação por endereço Quatro combinações de vizinhança para o processo X em término de execução 31 Algoritmos para Alocar Memória First Fit Next Fit Best Fit Quick Fit 32 16

Memória Virtual O tamanho total do programa pode exceder a quantidade de memória física disponível O SO mantém as partes ativas do programa na memória e o restante no disco Em multiprogramação, pedaços e partes de diferentes programas estão simultaneamente na memória 33 Paginação Endereços podem ser gerados com o uso de indexação, de registradores base, registradores de segmentos ou outras técnicas Esses endereços gerados pelos programas são denominados endereços virtuais e constituem o espaço de endereçamento virutal 34 17

Paginação Endereço virtual não é idêntico ao endereço físico Não pode ser colocado diretamente no barramento de memória O endereço vai para a MMU (Unidade de Gerenciamento de Memória) A MMU mapeia endereços virtuais para endereços físicos 35 Memória Virtual Paginação 36 Localização e função da MMU 18

Paginação O espaço de endereçamento virtual é divido em unidade denominadas páginas As unidades correspondentes em memória física são denominadas molduras Páginas e Molduras têm sempre o mesmo tamanho 37 Memória Virtual Paginação A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas 38 19

Paginação Operação interna de uma MMU com 16 páginas de 4KB26 39 Paginação Tentativa de utilização de página virtual não mapeada: MMU constata o problema de mapeamento Força o desvio da CPU para o SO (interrupção: falta de página) O SO escolhe uma moldura de página pouco usada e a salva em disco Carrega nova página na moldura, atualiza mapeamento e reinicia a instrução que causou a interrupção 40 20