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

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

PROJETO LÓGICO DE COMPUTADORES

Apresentações semelhantes


Apresentação em tema: "PROJETO LÓGICO DE COMPUTADORES"— Transcrição da apresentação:

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

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

3 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.

4 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.

5 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

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

7 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.

8 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.

9 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.

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

11 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

12 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.

13 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

14 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.

15 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.

16 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.

17 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

18 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

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

20 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.

21 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.

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

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

24 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.

25 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.

26 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.

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

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

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

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

31 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.

32 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.

33 Nível do Sistema Operacional
Arquivos

34 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

35 Nível do Sistema Operacional
Chamadas de Sitema

36 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.

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

38 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.

39 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.

40 Nível do Sistema Operacional
Gerenciamento de Diretório

41 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.

42 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.

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

44 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.

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

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

47 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.

48 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.

49 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]

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

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

52 Nível do Sistema Operacional
Chamadas de Sistema do UNIX

53 Nível do Conjunto de Instruções
Procedimentos

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

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

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

57 Nível de Microarquitetura
Áreas da Memória

58 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.


Carregar ppt "PROJETO LÓGICO DE COMPUTADORES"

Apresentações semelhantes


Anúncios Google