Arquitetura e Organização de Computadores

Documentos relacionados
Arquitetura e Organização de Computadores

William Stallings Arquitetura e Organização de Computadores 8 a Edição

ARQUITETURA DE COMPUTADORES

Sistemas de Computação. Gerenciamento de memória

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Sistemas Operacionais

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

MEMÓRIA LÓGICA E FÍSICA (1)

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

EA075 Memória virtual

Sistemas Opera r cionais Gerência de Memória

Gestão de Memória. Espaço de Endereçamento

Sistemas Operacionais. Processos IC - UFF

Organização e Arquitetura de Computadores

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Segmentação de Memória

Programas Aplicativos. Sistema Operacional. Hardware

Gestão de Memória. Espaço de Endereçamento

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Gerenciamento de Memória

Davidson Rodrigo Boccardo

AULA 14 - Memória Virtual

Fundamentos de Sistemas Operacionais

Memória Virtual. MAC Arquitetura de Computadores Prof. Siang Wun Song. Baseado em W. Stallings Computer Organization and Architecture

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Fundamentos de Sistemas Operacionais

SISTEMAS OPERACIONAIS

Arquitetura de Sistemas Operacionais

2ª Lista de Exercícios de Arquitetura de Computadores

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Gerenciamento de Memória

GERENCIAMENTO DE PROCESSOS

Gerência da Memória. Adão de Melo Neto

8.1 VISÃO GERAL DE SISTEMAS OPERACIONAIS

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Sistemas Operacionais: Memória Virtual

Sistemas Operacionais

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Sistemas Operacionais

Barramento. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores I

Sistemas Operacionais. - Gerência de Memória -

Swapping. Desvantagem:

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais

Sistemas Operacionais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

SSC510 Arquitetura de Computadores 1ª AULA

Introdução à Informática

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

Sistemas de Computação. Processos e escalonamento

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Visão Geral

SOP Sistemas Operacionais Módulo 04: Processo

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais Gerência de Memória

Arquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória

Gerenciamento de Memória

SOP - TADS Gerência de Memória Cap 3 Tanenmbaum

Organização e Arquitetura de Computadores I

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais

Disciplina: Sistemas Operacionais

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Infra-Estrutura de Software

Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal

Gerência de Memória. Execução de um Programa (1) Introdução. Introdução

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Sistemas Operacionais

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Administração de Memória

Gerenciamento de Memória

Fundamentos de Sistemas Operacionais. Gerência de Memória. Prof. Edwar Saliba Júnior Março de Unidade Gerência de Memória

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos

Introdução. Considerações:

SSC0640 Sistemas Operacionais I

Infra-Estrutura de Software

2ª Lista de Exercícios de Arquitetura de Computadores

Gerenciamento de Memória

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Organização e Arquitetura de Computadores I

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Gerência da Memória. Adão de Melo Neto


Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Gerência de Recursos. Gerência do Processador

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

Programação de Sistemas em Tempo Real

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

Capítulo 6 Gerência de Memória 103

Organização e Arquitetura de Computadores I

ENADE 2011 SISTEMAS OPERACIONAIS

Sistemas de Informação. Sistemas Operacionais

Transcrição:

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Helcio Wagner da Silva

Introdução Usuário final Programador Programas Aplicativos Utilitários Projetista do SO Sistema Operacional Hardware do computador 2

SO como um Gerente de Recursos O SO controla o processamento, o armazenamento e a transferência de dados Como mecanismo de controle, o SO é incomum em dois aspectos O SO é um programa como outro qualquer, sendo executado pelo μp O SO renuncia ao controle do μp para, em seguida, obter o controle novamente 3

SO como um Gerente de Recursos Recursos controlados Memória SO (núcleo) Módulo de E/S Módulo de E/S Programas e dados μp Módulo de E/S μp 4

Tipos de SO Monoprogramado O µp carrega para a MP e executa apenas um programa de cada vez Multiprogramado Diversos programas são carregados simultaneamente na MP, e o tempo do μp é dividido entre eles 5

Características de um SO Interrupções Fornecem ao SO a capacidade de obter o controle do µp quando este está executando programas dos usuários Proteção de memória Programas do usuário não devem alterar a área de memória que contém o SO Temporização Um relógio é usado para evitar que um único programa monopolize o sistema Instruções privilegiadas Algumas instruções só podem ser executadas pelo SO (instruções de E/S, por exemplo) 6

Latência das Instruções de E/S Suponha um programa que processa um arquivo de registros e executa, em média, 100 instruções do µp por registro Ler um registro Executar 100 instruções Escrever um registro TOTAL 0,0015 segundo 0,0001 segundo 0,0015 segundo 0,0031 segundo Utilização P 0,0001 0,0031 0,032 3,2 % 7

Efeito da Multiprogramação Executar Esperar Executar Esperar Esperar Executar Esperar Executar Esperar Esperar Executar Esperar Executar Esperar Executar Executar Executar Esperar Executar Executar Executar Esperar tempo 8

Comparação Monoprogramação x Multiprogramação Memória com capacidade igual a 256 K palavras de memória (não usadas pelo SO) Processo P1 P2 P3 Tipo de tarefa Computação intensiva E/S intensiva E/S intensiva Duração 5 min 15 min 10 min Memória requerida 50 K 100 K 80 K Usa disco? Não Não Sim Usa terminal? Não Sim Não Usa impressora? Não Não Sim 9

SO Monoprogramado MONOPROGRAMAÇÃO CPU 100 0 Memória Disco 0 100 0 Terminal Impressora 0 100 0 0 5 10 15 20 25 30 P1 P2 P3 10

SO Multiprogramado CPU Memória Disco Terminal Impressora 100 0 100 0 100 0 0 100 MULTIPROGRAMAÇÃO 0 0 5 10 15 P1 P2 P3 11

Conclusões Monoprogramação Multiprogramação Uso de processador 17 % 33 % Uso de memória 30 % 67 % Uso de disco 33 % 67 % Uso de impressora 33 % 67 % Tempo decorrido 30 min 15 min Taxa de execução de tarefas 6 tarefas/h 12 tarefas/h Tempo de resposta médio 18 min 10 min 12

Um SO Multiprogramado é Mais Complexo que SO Monoprogramado Eles requerem que os programas estejam carregados na MP para serem executados (gerência de memória) Quando diversas programas estão prontos para serem executados, o processador deve decidir qual deles deve ser executado (escalonamento) 13

Escalonamento Conceito de processo Introduzido nos anos 60 Termo mais genérico que tarefa (job) Pode ser definido de várias maneiras, incluindo Um programa em execução O espírito animado de um programa A entidade à qual um processador é alocado 14

Tipos de Escalonamento Escalonamento de longo prazo Escalonamento de médio prazo Escalonamento de curto prazo Escalonamento de E/S 15

Escalonamento de Longo Prazo Converte (ou não) uma tarefa em um novo processo, que é colocado na fila do escalonador de médio prazo Fila do escalonador de longo prazo tarefa SO comporta mais um processo? Que tarefas devem ser transformadas em processos? Memória Principal P0 T7 T6 T5 T4 Fila do escalonador de médio prazo T3 Escalonador de Longo Prazo P1 P3 P2 processos 16

Escalonamento de Médio Prazo Acrescenta um novo processo ao conjunto de processos a serem executados na MP P2 e P3 movidos para a MP! Memória Principal Fila do escalonador de médio prazo P3 processos P2 Escalonador de Médio Prazo P0 P1 P2 P3 17

Escalonamento de Médio Prazo É também responsável pela troca de processos (swapping) entre a MP e o disco P2 removido da MP para a fila, e P4 movido da fila para a MP! Memória Principal Fila do escalonador de médio prazo P2 processos P5 Escalonador de Médio Prazo P0 P1 P4 P3 18

Escalonamento de Curto Prazo Também chamado de despachante (dispatcher), decide qual dos processos residentes na MP deve ser executado P1 deve ser executado pelo processador neste instante! Memória Principal P0 Escalonador de Curto Prazo P1 P2 P3 19

Escalonamento de E/S Decide qual processo deve ser atendido por um dado dispositivo de E/S. Fila para o Dispositivo de E/S # 01 Dispositivo de E/S # 01 Servindo a P1! P3 P2 P1 Fila para o Dispositivo de E/S # 02 P6 P5 P4 Escalonador de E/S Dispositivo de E/S # 02 Servindo a P4! 20

Estado de um Processo Novo Admitir Ocorrência de evento Pronto Despachar Fim do período de execução Em execução Aguardar evento Liberar Concluído Suspenso 21

Bloco de Controle de Processos Quando o escalonador admite um novo processo, ele cria um bloco de controle para esse processo; O bloco de controle possui seus campos em branco, exceto o estado novo; Depois que o SO tiver preenchido adequadamente as informações, o estado muda para pronto. Identificador Estado Prioridade Contador de programa Limites de memória Informações de contexto Informação de estado de E/S Informação de contabilidade... 22

Técnicas de Escalonamento SO SO Com o controle SO Tratador de Serviço Escalonador Tratador de Serviço Escalonador Tratador de Serviço Escalonador Tratador de interrupção Tratador de interrupção Tratador de interrupção A Em execução Com o controle A Em espera A Em espera B Pronto B Pronto B Em execução Com o controle Outras partições Outras partições Outras partições 23

Elementos-chave de um SO com multiprogramação SO Chamada ao SO feita Por um processo Rotina de tratamento de chamadas de sistema Interrupção do processo Interrupção de E/S Rotina de tratamento de interrupções Fila de longo prazo Fila de curto prazo Escalonador de curto prazo Filas de E/S Transferência de controle para o processo 24

Diagrama de Filas de Escalonamento de Processos Requisição de processo Fila de longo prazo Fila de curto prazo µp FIM E/S Fila de E/S E/S Fila de E/S E/S Fila de E/S 25

Gerência da Memória - Swapping O µp é mais rápido que os dispositivos de E/S É possível ter TODOS os processos aguardando operações de E/S ao mesmo tempo Soluções possíveis 1. Aumentar a quantidade de memória principal Memória ainda é relativamente cara Quantidades maiores de memória têm resultado em processos maiores, e não em mais processos 2. Troca (swapping) de processos na memória 26

Gerência da Memória Estabelecimento de Partições Processos são carregados para a MP Lá, eles ocupam partições da MP Suponha (inicialmente) que um processo não possa ocupar mais de uma partição Como se dá essa ocupação? Processos ocupam partições definidas estaticamente (i.e., à priori)? Processos ocupam partições definidas dinamicamente (i.e., assim que eles são caregados)? 27

Exemplos de Particionamento Estático SO (8 M) 8 M 8 M 8 M 8 M 8 M 8 M 8 M SO (8 M) 2 M 4 M 6 M 8 M 8 M 12 M 16 M (a) Partições de mesmo tamanho (a) Partições de tamanhos diferentes 28

Efeito de Partições Estáticas de Tamanhos Iguais 8 M SO (8 M) 8 M 8 M 8 M Processo 1 Processo 2 Processo 1 Processo 2 8 M 8 M 8 M Desperdício! Não cabe na partição! Processo 3 29

Efeito de Partições Estáticas de Tamanhos Diferentes 2 M 4 M 4 M 8 M SO (8 M) Processo 1 Processo 1 Processo 2 Processo 2 8 M Processo 3 Processo 3 12 M Desperdício! 16 M Processo 4 Não cabe na partição! 30

Efeito de Partições Dinâmicas SO 128 K SO SO SO Processo 1 320 K Processo 1 320 K Processo 1 320 K 896 K Processo 2 224 K Processo 2 224 K 576 K 352 K Processo 3 (a) (b) (c) (d) SO SO SO SO 288 K 64 K Processo 1 320 K 224 K Processo 1 Processo 4 320 K 128 K 96 K Processo 4 320 K 128 K 96 K Processo 2 Processo 4 224 K 96 K 128 K 96 K Processo 3 288 K Processo 3 288 K Processo 3 288 K Processo 3 288 K 64 K 64 K 64 K (e) (f) (g) (h) 31 64 K

Sumário sobre Partições Partições estáticas Mais simples Maior desperdício Partições dinâmicas Começam bem Surgimento de buracos na memória Amenizados com o uso da compactação Compactação requer tempo de processamento 32

Paginação de Memória Memória é dividida à priori em partes iguais de tamanho fixo denominadas blocos Cada processo também é dividido em pequenos pedaços de tamanho fixo denominados páginas As páginas de um processo são alocadas em blocos disponíveis na memória. Desperdício é reduzido Espaço desperdiçado é apenas uma fração do último bloco alocado ao processo 33

Alocação de Blocos Livres Lista de Blocos Livres 13 14 15 18 20 Processo A Página 0 Página 1 Página 2 Página 3 13 14 15 16 17 18 19 20 Livre Livre Livre Em uso Em uso Livre Em uso Livre Lista de Blocos Livres 20 21 Processo A Página 0 Página 1 Página 2 Página 3 Processo A Tabela de páginas 13 14 15 16 17 18 19 20 Página 0 de A Página 1 de A Página 2 de A Em uso Em uso Página 3 de A Em uso Livre 21 Livre 13 14 21 Livre 15 18 3

Tradução de Endereços Memória Principal Número de página Endereço Lógico Deslocamento dentro da página 1 30 Número de bloco Endereço Físico Deslocamento dentro do bloco 14 30 Página 0 de A Página 1 de A Página 2 de A Em uso 13 14 15 16 Em uso 17 13 14 15 Página 3 de A Em uso Livre 18 19 20 18 Livre 21 Tabela de páginas do Processo A 35

Memória Virtual Paginação sob demanda Cada página de um processo é trazida para a memória apenas quando é necessária É possível que um processo seja maior que toda a área da memória principal! Interrupção por Falta de Página Processo desvia para uma instrução localizada em uma página que não está na memória, ou dados referenciados encontram-se em uma página que não está na memória SO deve carregar a página desejada 36

Tabelas de Páginas Podem Ser Muito GRANDES! Suponha um processo com endereços lógicos de 32 bits e páginas de 4 KB 1 B Página (2 12 posições) 0 1 2 20 bits 12 bits N o da página Deslocamento 32 bits 4095 Tabela de Páginas (2 20 entradas) Entrada 0 Entrada 1 Entrada 2 Entrada (2 20 1) 37

Tabelas de Páginas Podem Ser Muito GRANDES! Se cada entrada ocupar 4 B, a Tabela inteira ocupa 4 MB na MP Imagine agora N processos iguais àquele Se cada processo possui uma Tabela de Páginas, há N Tabelas iguais àquela ocupando espaço na MP! Estratégias usadas para contornar este problema Paginação Multinível Tabela de Páginas Invertida (IPT) 38

Paginação Multinível 10 bits Endereço lógico 10 bits 32 bits 12 bits Entrada 0 Entrada 1 N o Pág. #1 N o Pág. #2 Deslocamento Entrada 1023 Entrada 0 Entrada 25 + Entrada 0 Entrada 1 Entrada 1023 Carregada permanentemente na MP (4KB) Entrada 1023 Entrada 0 Entrada 1 Entrada 1023 Endereço físico Carregada temporariamente na MP 39

Exemplo de Paginação Multinível N o Pág. # 1 N o Pág. # 2 Deslocamento 0x0 0x1 0x123 Apontador para a Tab. Pág. de 2º nível 0xB1284000 0x94A1C000 0x0831A000 Bloco 0xAF013 0x18F1B 0x0A921 0x18F1B N o Bloco 0x123 Deslocamento 40

Efeitos da Paginação Multinível Menor espaço ocupado na MP Apenas uma Tabela de Páginas é armazenada permanentemente na MP Maior quantidade de acessos à MP Para uma paginação de N níveis, são necessários N+1 acessos à MP para um acesso simples 41

IPT (Tabela de Páginas Invertida) Há apenas uma Tabela de Páginas Indexação se dá pelo Número do Bloco Tipos IPT Linear IPT com Função Hash Tabelas de Páginas convencionais são também chamadas de Tabelas de Páginas Diretas 42

IPT Linear PID N o Pág. Deslocamento 0 0x1 0x123 Endereço lógico Índice PID N o Pág. 0x0 1 0xA63 0x18F1B 0 0x1 0x18F1C 3 0x31AB N o Bloco Deslocamento 0x18F1B 0x123 Endereço físico 43

IPT com Função Hash PID N o Pág. Deslocamento 0 0x1 0x123 Endereço lógico Função Hash Índice Índice PID N o Pág. Próximo 0x18F1C 0x0 1 0xA63 0x18F1B 0xAF013 0x18F1B 0 0x1 0x0 0x18F1C 3 0x31AB 0x0A921 Tabela de Âncoras Hash N o Bloco Deslocamento 0x18F1B 0x123 Endereço físico 44

Resumo dos Tipos de IPT IPT Linear Ocupa pouco espaço Busca demorada IPT com Função Hash Ocupa um pouco mais de espaço Busca acelerada (com uso de apontadores) Colisões tratadas com o uso de encadeamento 45

TLB (Translation Lookaside Buffer) Um acesso à MP requer, na verdade, dois acessos (no mínimo) 1. Acesso à Tabela de Páginas 2. Acesso efetivo à MP para obtenção dos dados Para solucionar este problema, existe a TLB Trata-se de uma espécie de cache para entradas de Tabelas de Páginas A TLB contém as entradas mais recentemente usadas 46

Paginação e a TLB Programa solicita acesso a uma página Início µp checa a TLB N o da página na TLB? Não Sim SO instrui µp a ler a página do disco µp ativa HW de E/S Rotina de manipulação de falha de página Não Acessa a Tabela de Páginas Página está na MP? Sim Atualiza a TLB Página transferida do disco para a MP Memória cheia? Sim Realiza substituição de páginas µp gera endereço físico Não Tabela de páginas atualizada 47

Operação da TLB e da Cache Operação da TLB Endereço lógico N o página Desloc. TLB 2 1 2 falha 2 acerto 3 4 Endereço físico Operação da TLB + Rótulo (resto) Cache 5 falha 6 6 acerto palavra 2 6 6 palavra Tabela de páginas MP 48

Conceitos de Segmentação MP não é particionada à priori Espaço de endereçamento lógico do processo é dividido em segmentos de vários tamanhos Exemplos: segmentos de código, dados e pilha Quando um processo é executado, todos os segmentos são carregados para a MP Segmentos são carregados em qualquer posição livre da MP 49

Exemplo de Segmentação Memória Principal Segmento 1 Segmento 0 Espaço de Endereçamento Lógico do Processo Segmento 1 Segmento 2 Segmento 3 Segmento 2 Segmento 3 Segmento 0 50

Segmentação Tradução de Endereços Número do segmento Endereço relativo dentro do segmento Endereço Lógico 0x00000001 0x103AD098 + 0x6364D3C3 Endereço Físico R Limite R Base 0x532A032B 0x6CD93E2 1 Tabela de Segmentos > Não Acesso permitido 51

Segmentação Implementando Proteção Número do segmento Endereço relativo dentro do segmento Endereço Lógico 0x00000001 0x203AD098 + 0x7364D3C3 Endereço Físico R Limite R Base 0x532A032B 0x6CD93E2 1 Tabela de Segmentos > Sim Falha de Segmentação! 52

Combinação Segmentação-Paginação MP é particionada em Quadros Espaço de endereçamento lógico do processo é dividido em segmentos de vários tamanhos Segmentos são paginados Páginas de um segmento são alocadas em Quadros da MP 53

Exemplo da Combinação Segmentação-Paginação Memória Principal P0 Segmento 0 Segmento 1 Segmento 2 Segmento 3 P0 P1 P2 P3 P0 P1 P0 P1 P0 P1 P2 P1 P1 P0 P0 P1 P0 P2 P3 P2 P1 54

Exemplo da Combinação R Base Segmentação-Paginação Memória Principal Endereço Lógico 1 2 End. Tab.Pág. Tabela de Segmentos 30 14 Tabela de Páginas Endereço Físico 14 30 Página 0 de A Página 1 de A Página 2 de A Em uso Em uso Página 3 de A Em uso 13 14 15 16 17 18 19 Número do Segmento Número da Página Endereço relativo dentro da página/bloco Número de bloco Livre Livre 20 21 55