Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1
Arquitectura de um sistema de computação Discos Impressora CPU Memória Control. Disco Control. Impressora Outras Barramento do sistema (system bus) 3 Operação de um sistema de computação! Existe um controlador por cada tipo de dispositivo! O controlador mantém um buffer local de armazenamento De tamanho variável dependendo do dispositivo O controlador é o responsável pela passagem dos dados entre o dispositivo periférico e o buffer local! A CPU move dados entre a memória principal e os buffers do controladores! O controlador do dispositivo informa a CPU de que concluiu uma operação através de uma interrupção! A CPU e os controladores dos dispositivos podem executar de forma concorrente, competido pelos ciclos de memória! bootstrap program responsável por: Localizar o SO Carregar o SO para a memória Transferir o controlo para o SO! O SO executa o primeiro processo (init)! E espera que algum acontecimento ocorra 4 2
Interrupções! A ocorrência de um acontecimento é geralmente assinalada por uma interrupção o fluxo de processamento normal do processador é interrompido! Os sistemas operativos modernos são baseados em interrupções! Quando a CPU é interrompida, ela pára o que está a fazer e imediatamente transfere a execução para a rotina de serviço adequada, quando é concluída a CPU retoma o processamento interrompido Existe uma rotina de serviço responsável para tratar cada tipo de interrupção A suspensão do processo causada por uma interrupção é feita de tal forma, que findo o processamento da interrupção, o processo pode ser retomado (salvaguarda do contexto) 5 Interrupções (cont.)! As interrupções podem ser originadas por hardware ou por software Trap ou excepção são designações para interrupções geradas por software :! causadas por um erro Overflow aritmético Divisão por zero Referência a uma zona de memória fora do espaço de endereçamento etc! Causadas por uma chamada ao sistema (system call) Um pedido específico de um programa do utilizador para que um serviço do sistema operativo seja realizado é uma chamada ao sistema! A operação do SO é guiada por interrupções 6 3
Estruturas de E/S! Para iniciar uma operação de E/S, a CPU carrega os registos apropriados dentro do controlador do dispositivo O controlador examina o conteúdo desses registos para determinar a acção que deve tomar Uma vez efectuada a acção o controlador informa a CPU que terminou a operação através de uma interrupção! Uma vez iniciada uma operação E/S, duas abordagem são possíveis: E/S síncrona E/S assíncrona 7 E/S síncrona! O controlo retorna para o programa do utilizador que a desencadeou somente a conclusão dessa operação Não há processamento útil em simultâneo com a operação de E/S! Não máximo está pendente um pedido de E/S Quando há uma interrupção sabe-se automaticamente o dispositivo originador 8 4
E/S assíncrona! O controlo retorna para o programa do utilizador que desencadeou a operação de E/S, ou para o SO, sem esperar pela conclusão da operação de E/S Podem existir vários pedidos E/S pendentes! É necessária uma tabela de estado dos dispositivos Contém um entrada para cada dispositivo de E/S indicando o seu tipo, estado e pedidos em lista de espera Quando ocorre uma interrupção, o SO determina o dispositivo originador e acede à entrada respectiva na tabela e actualiza-a, lança a próxima operação de E/S da fila e retorna o controlo ao processo interrompido! Aumenta a eficiência do sistema em relação às E/S síncronas 9 Estrutura de Acesso Directo à memória (DMA)! A troca de dados entre a memória principal e os periféricos (preparados para DMA) ocorre sem necessidade de intervenção do processador! Uma interrupção é gerada quando a transferência está completa! O processador fica livre para outras actividades Consequente aumento da eficiência da utilização da CPU 10 5
Estruturas de armazenamento! Registos! Cache! Memória principal! Discos! Fitas magnéticas Os sistemas de armazenamento podem organizar-se numa hierarquia segundo a sua velocidade, custo, volatilidade e capacidade 11 Hierarquia de armazenamento Registos Cache Memória principal Disco electrónico Discos magnéticos Disco óptico Fita magnética 12 6
Memória principal! A única memória de grandes dimensões à qual a CPU pode aceder directamente! Tipicamente de dimensão insuficiente para albergar todos os dados e instruções necessárias! Geralmente volátil! O acesso à memória principal pode consumir vários ciclos de CPU Utilização de memórias cache 13 Memória secundária! Elevada capacidade de armazenamento! Não volátil! Exemplos: Discos magnéticos! pratos rígidos de metal ou vidro, cobertos por um material magnético regravável, suspensos num eixo comum Fitas magnéticas! acesso tipicamente lento (sequencial)! apropriadas para backup 14 7
Cache! Por forma a prevenir os tempos mortos da CPU utilizam memória cache Memória de acesso muito rápido De pequenas dimensões! Contém blocos replicados da memória principal Que se espera que venham a ser acedidos! Sempre que o processador precisa de aceder à memória principal verifica primeiro a cache Caso o bloco pretendido não se encontre em cache, ele é lido da memória principal para a cache! Uma cache tira partido do princípio da localidade de referências! A duplicação de dados em vários níveis pode levar a problemas de incoerência 15 Registos do processador! Estão no chip do processador! Memória muito mais rápida que a memória principal! Armazenam dados durante o processamento! Alguns são específicos do sistema, outros estão acessíveis ao utilizador 16 8