PROJETO LÓGICO DE COMPUTADORES

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Operacionais
Sistemas Distribuídos
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistema Operacional Introdução
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Sistemas operacionais
Sistemas operacionais
Entrada e Saída Introdução.
Arquitetura de Computadores
Gerenciamento de memória
Gerenciamento de Memória
Processos no Unix e Linux
Sistemas Operacionais
Introdução à organização de computadores e sistemas operacionais
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Gerenciamento de Memória
Sistemas Operacionais
Arquitetura de Computadores
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Threads.
Sistemas Operacionais I
Gerenciamento de Memória
Arquitectura de Computadores II
Proteção de Memória O sistema operacional deve impedir que um processo tenha acesso ou modifique uma página do sistema sem autorização. Proteção para páginas.
Computadores Tipos e estrutura interna
Sistemas Operacionais Gerenciamento de Memória
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
Sistemas Operacionais
Sistemas Distribuídos
SISTEMAS OPERACIONAIS
Sistemas Operacionais I
Gerência de Memória Virtual
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Sistemas Operacionais
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Introdução O que se espera de um sistema de computação?
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Sistemas Operacionais
Subsistema de Entrada e Saída do Kernel
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Infra-Estrutura de Software Gerenciamento de Memória.
Infra-Estrutura de Software
Gerenciamento de Memória
Aula – Sistemas Operacionais
Estrutura de Interconexão
Gerenciamento de Memória Sistemas Recentes
Bruno Iran Ferreira Maciel
Sistemas de Arquivos- Cap4
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Memória Cache.
Memória Virtual.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas de Arquivos Capítulo Arquivos 6.2 Diretórios 6.3 Implementação do sistema.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Hierarquia de Memória – Parte 2 Prof. André Luis M. Silva
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

PROJETO LÓGICO DE COMPUTADORES Nível do Sistema Operacional Prof.: Agostinho S. Riofrio

Nível do Sistema Operacional Agenda Introdução Memória Virtual Paginação Segmentação Instruçoes virtuais de E/S Processamento Paralelo

Nível do Sistema Operacional Introdução Um Sistema Computacional moderno consiste em um ou mais processadores, memória principal, discos, impressoras, teclado, monitor, interface de rede e outros dispositivos de entrada e saída. Essa grande diversidade pode ser uma fonte de dores de cabeça para o desenvolvedor de aplicativos, por isso torna-se desejável oferecer aos programas aplicativos uma forma de acesso homogênea aos dispositivos físicos, que permita abstrair as diferenças tecnológicas entre eles.

Nível do Sistema Operacional Introdução O sistema operacional é uma estrutura de software que incorpora aspectos de baixo nível (como drivers de dispositivos e gerência de memória física) e de alto nível (como programas utilitários e a própria interface gráfica). Fornece interfaces de acesso aos dispositivos, mais simples de usar que as interface de baixo nível, e torna os aplicativos independentes do hardware. Define interfaces de acesso homogêneas para dispositivos com tecnologias distintas. Contém quase todas as instruções do nível ISA e novas instruções denominadas chamadas de sistema.

Nível do Sistema Operacional Introdução O Sistema Operacional é uma máquina virtual Oculta os detalhes complicados que têm quer ser executados Apresenta ao usuário uma máquina virtual, mais fácil de usar O Sistema Operacional é um gerenciador de recursos Cada programa tem um tempo com o recurso Cada programa tem um espaço no recurso

Nível do Sistema Operacional Nível de Máquina do Sistema Operacional

Nível do Sistema Operacional Memória Virtual Há muitos anos, os programadores já eram obrigados a lidar com programas muito maiores que a memória disponível. A maioria dos computadores utiliza uma hierarquia de memórias, que combina uma pequena quantidade de memória cache, muito rápida e de alto custo; uma grande memória principal (RAM), volátil, com dezenas de Megabytes, de velocidade e custos médios; e uma memória secundária , constituída de armazenamento não volátil em disco, com centenas de Gigabytes, velocidade e custos baixos.

Nível do Sistema Operacional Memória Virtual A parte do sistma operacional que gerencia a hierarquia de memórias é denominada Gerenciador de Memória. Sua função é manter o controle de quais partes da memória estão em uso, alocando memória aos processos quando eles precisa, alem de egenciar a troca de processos entre a memória e o disco quando a memória principal não é suficiente.

Nível do Sistema Operacional Memória Virtual Espaço de endereço virtual: Dado pela quantidade de bits de endereçamento existente nas instruções. Espaço de endereço físico: Espaço de memória física onde se pode armazenar programas e dados. Paginação: Processo automático de transferir trechos de programas de tamanho fixo do disco para a memória RAM conforme necessário a CPU. Transparente ao programador.

Nível do Sistema Operacional Paginação – Idéia central Mapeamento no qual endereços virtuais 4.096 a 8.191 são mapeados para endereços da memória principal 0 a 4.095.

Nível do Sistema Operacional Implementação da Paginação Um mapa de memória ou tabela de páginas especifica o endereço físico correspondente para cada endereço virtual. Porções de tamanho fixo da memória principal para onde vão as páginas são denominadas quadros de páginas. Na implementação da memória virtual, o endereço é dividido no número da página virtual e no deslocamento da página

Nível do Sistema Operacional Implementação da Paginação Memória física de 32 KB dividida em oito quadros de página de 4 KB cada. Os 64 KB do espaço de endereço virtual divididos em 16 páginas, cada página com 4K.

Nível do Sistema Operacional Implementação da Paginação MMU - Unidade de Gerenciamento de Memória Converte os endereços virtuais em físicos para poder acessar a memória física. Quando é feita uma referência a um endereço em uma página que não está presente na memória principal, ela é denominada falta de página. A MMU faz a verificação se a página está na memória principal no momento em questão, examinando o bit presente/ausente na tabela de páginas

Nível do Sistema Operacional Paginação por Demanda Formação de um endereço de memória principal a partir de um endereço virtual.

Nível do Sistema Operacional Paginação por Demanda Na paginação por demanda as páginas são trazidas para a memória somente quando ocorre uma requisição de uma página e não antecipadamente. O mapa de memória é exclusivo de cada programa e é trocado quando os programas são trocados. O sistema de memória virtual usa a técnica write-back para gerenciar a escrita na memória virtual.Atualiza o disco na substituição da página.

Nível do Sistema Operacional Formato de Instruções – Pentium 4 Possível mapeamento das 16 primeiras páginas virtuais para uma principal com oito quadros de página.

Nível do Sistema Operacional Política de Substituição Falta de Página Bit presente/ausente Paginação por demanda: Páginas são trazidas da memória secundária para a primária conforme são solicitadas pela CPU, nao entecipadamente. Mapa de memória é exclusivo de cada em memória, e é trocado quando o programa é trocado. Princípio de Localidade

Nível do Sistema Operacional Política de Substituição Conjunto de Trabalho: Conjunto de páginas mais usadas recentemente. Algoritmo de substituição de página do tipo LRU (Least Recently Used): Substitui o a página menos usada recentemente. Algoritmo de substituição de página do tipo FIFO (first-In First-Out): Substitui a página menos usada, não importando quando. Se o conjunto de trabalho for maior que a memória disponível, nenhum algoritmo trará bons resultados Paginação excessiva Melhor páginas maiores

Nível do Sistema Operacional Política de Substituição de Página Falha do algoritmo LRU

Nível do Sistema Operacional Segmentação Espaço de endereços completamente independentes Diferentes segmentos possuem diferentes comprimentos Cada segmento é uma entidade lógica única para o programador Um segmento pode conter um procedimento, ou um vetor, ou um conjunto de variáveis escalares. Simplifica o manuseio de estruturas de dados que podem aumentar ou encolher. Simplifica a interconexão de procedimentos compilados. Facilita compartilhar procedimentos ou dados entre vários programas. Permite implementar proteção aos segmentos de acordo com seu conteúdo.

Nível do Sistema Operacional Segmentação Em um espaço de endereço unidimensional com tabelas que aumentam, uma tabela pode encostar em outra.

Nível do Sistema Operacional Segmentação Uma memória segmentada permite que cada tabela cresça e encolha independentemente das outras tabelas.

Nível do Sistema Operacional Segmentação Comparação entre paginação e segmentação.

Nível do Sistema Operacional Implementação de Segmentação (a)-(d) Desenvolvimento de fragmentação externa. (e) Remoção da fragmentação externa por compactação.

Nível do Sistema Operacional Implementação de Segmentação O gerenciamento de lacunas requer manter uma lista de endereços e tamanho de todas as lacunas. Um algoritmo, chamado melhor ajuste, escolhe a menor lacuna na qual o segmento necessário caberá. Existe um outro algoritmo, chamado primeiro ajuste, percorre a lista de lacunas em circulos e escolhe a primeira lacuna grande o suficiente para conter o segmento. O algoritmo primeiro ajuste tem desempenho global melhor que o algoritmo melhor ajuste.

Nível do Sistema Operacional Implementação de Segmentação Conversão de um endereço MULTICS de duas partes em um endereço dememória principal.

Nível do Sistema Operacional Memória Virtual do Pentium 4

Nível do Sistema Operacional Memória Virtual do Pentium 4

Nível do Sistema Operacional Memória Virtual do Pentium 4

Nível do Sistema Operacional Memória Virtual do Pentium 4

Nível do Sistema Operacional Instruções de Entrada/Saída virtuais O nível de máquina do sistema operacional contém grande parte das instruções ISA, com adição de algumas instruções novas e remoção de algumas potencialmente danosas. O acessso a E/S via ISA gera problemas de segurança e privacidade em sistema de multiplos usuários. Progração de E/S em nível ISA é tremendamrente tediosa e complexa.

Nível do Sistema Operacional Arquivos Um modo de organizar E/S virtual é através de uma abstração chamada arquivo. O arquivo consiste em uma sequência de bytes que pode ser escrito/lido em um disposotivo de E/S. Um disco pode conter muitos arquivos , cada um com algum tipo particular de dados, como, uma figura, uma planilha ou um texto. E/S de arquivo é feita por chamadas de sistema para abrir, ler, escrever e fechar arquivos.

Nível do Sistema Operacional Arquivos

Nível do Sistema Operacional Arquivos Uma vez aberto, um arquivo pode ser lido. A chamada de sistema read deve ter os seguintes parâmetros, no mínimo: 1. Uma indicação de qual arquivo aberto deve ser lido. 2. Um ponteiro para um buffer na memória no qual coloca os dados. 3. O número de bytes a ser lido

Nível do Sistema Operacional Chamadas de Sitema

Nível do Sistema Operacional Instruções Virtuais de E/S O nível de máquina do sistema operacional contém grande parte das instruções ISA, com adição de algumas instruções novas e remoção de algumas potencialmente danosas. O acessso a E/S via ISA gera problemas de segurança e privacidade em sistema de multiplos usuários. Progração de E/S em nível ISA é tremendamrente tediosa e complexa.

Nível do Sistema Operacional Implementação de instruções de E/S virtuais

Nível do Sistema Operacional Implementação de instruções de E/S virtuais É necessário examinar como os arquivos são organizados e armazenados. A unidade de alocação pode ser um setor ou um bloco de setores consecutivos no disco. A arquivo pode ser armazenado em unidades de alocação consecutivas ou não. A tabela índice de arquivo localiza qualquer byte registro lógico.

Nível do Sistema Operacional Implementação de instruções de E/S virtuais Lista de todas as unidades de alocação contíguas disponíveis para uso.

Nível do Sistema Operacional Gerenciamento de Diretório

Nível do Sistema Operacional Instruções virtuais para processamento paralelo Programas/algoritmos podem ser executados em mais de um processador. Outros podem ser dividios em porções que podem ser executadas em paralelo para redizir tempo de execução. Limite físico de propagação: 30cm/ns Dados da memória a 30 cm da CPU: 1ns até que a requisição chegue a memória e 1ns na volta. Computadores de maior desempenho teriam de ser minúsculos. A solução parece estar em usar máquinas com muitas CPUs. 1000 CPUs de 1 ns equivalem a uma CPU de 0,001 ns.

Nível do Sistema Operacional Criação de Processo Um programa para ser executado, ele dever ser executado como parte de um processo. O processador pode ser compartilhado entre vários processos. Processos são caracterizados por um estado e um espaço de endereço por meio do qual o programa e os dados podem ser acessados. O estado inclui no mínimo o PC, uma palavra de estado do programa, um ponteiro de pilha e os registradores gerais.Chamadas de sistema criam processos Existem processos-pais e processos-filhos. O processo pai pode interromper, reiniciar, examinar e encerrar processos-filhos.

Nível do Sistema Operacional Instruções virtuais para processamento paralelo

Nível do Sistema Operacional Condição de disputa Em muitos casos, processos paralelos precisam se comunicar e sincronizar para realizar seu trabalho. Processos produtor e consumidor com buffer circular: Ponteiro in=out  buffer vazio O topo e a base estão interligados criando um espaço contínuo.

Nível do Sistema Operacional Condições de Disputa Buffer Circular

Nível do Sistema Operacional Condições de Disputa Falha no esquema produtor/consumidor

Nível do Sistema Operacional Condições de Disputa Falha: Falta de sincronismo e diferença de tempos de execução de cada processo. No instante em que o consumidor buscou in e out e o instante em que foi dormir, o produtor se esgueirou para dentro do buffer, descobriu que in=out+1, entendeu que o consumidor estava dormindo (mas não estava) e enviou um sinal de despertar que foi perdido porque o consumidor ainda estava acordado.

Nível do Sistema Operacional Sincronização de processos usando semáforos Proposto por Dijkstra em 1968 para o problema de sincronização de processos paralelos. Semáforos são variáveis inteiras não negativas. Sincronização por semáforos é uma técnica que funciona para qualquer número arbitrário de processos. Uma vez iniciada uma operação de semáforo, nenhum outro processopode usar o semáforo até a conclusão da operação outenha sido suspenso na tentativa, ou seja as oerações de semáforos são indivisíveis.

Nível do Sistema Operacional Sincronização de processos usando semáforos Analogia para entender a natureza dos semáforos: Imagine um piquenique com 20 times de voleibol divididos em 10 jogos (processos)[1]

Nível do Sistema Operacional Sincronização de processos usando semáforos

Nível do Sistema Operacional Exemplo de Sistemas Operacionais: UNIX

Nível do Sistema Operacional Chamadas de Sistema do UNIX

Nível do Conjunto de Instruções Procedimentos

Nível do Conjunto de Instruções Memória Virtual do Unix

Nível do Conjunto de Instruções E/S Virtual em UNIX

Nível do Conjunto de Instruções Árvore de Processos em Unix

Nível de Microarquitetura Áreas da Memória

Nível da Lógica Digital REFERÊNCIAS BIBLIOGRÁFICAS [1] TANEMBAUM, Andrew S. Organização Estruturada de Computadores. Quinta Edição. Editora Pearson Prentice Hall, São Paulo, 2007. [2] HENNESSY, John L.; Patterson, David A.; Organização e Projeto de Computadores – 2ª Edição 2000; ED LTC. [3] TANEMBAUM, Andrew S. Sistemas Operacionais Modernos. Segunda Edição. Editora Pearson Prentice Hall, São Paulo, 2003.