Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Aula 02 – Estruturas do Computador Universidade Federal da Grande Dourados Faculdade de Ciências Exatas e de Tecnologias Curso de Bacharelado em Sistemas de Informação Profa. Claudia Regina Tinós Peviani claudiapeviani@ufgd.edu.br Um sistema de computação de uso geral consiste em uma CPU e uma série de controles de dispositivos e adaptadores, conectados por meio de um barramento comum, oferecendo acesso à memória compartilhada. 2.1 Operação do Computador Cada controle de dispositivo é responsável por um tipo específico de dispositivo (ex.: unidades de disco, monitores de vídeo, entre outros). A CPU e os controladores de dispositivos podem ser executados simultaneamente, competindo por ciclos de memória. 2.1 Operação do Computador Para garantir o acesso ordenado à memória compartilhada, um controlador de memória é fornecido, cuja função é exatamente sincronizar esse acesso. 2.1 Operação do Computador SO modernos são baseados no uso de interrupções. Podendo ser interrupções: Hardware Software 2.1 Operação do Computador O hardware pode disparar uma interrupção a qualquer momento enviando um sinal à CPU, em geral por meio do barramento do sistema. O software pode disparar uma interrupção executando uma operação especial, denominada system call - chamada de sistema. 2.1 Operação do Computador Para cada tipo de interrupção, segmentos de código separados no sistema operacional determinam que ação deve ser realizada, e a rotina de serviço de interrupção é fornecida para tratar dessa interrupção. 2.1 Operação do Computador 2.2 Estruturas de E/S Como mencionado anteriormente, um sistema computadorizado de uso geral consiste em uma CPU e vários de controladores de dispositivos conectados por um barramento comum. Cada controlador de dispositivo está encarregado de um tipo específico de dispositivo. Dependendo do controlador, pode haver mais de um dispositivo conectado 2.2 Estruturas de E/S Um controlador de dispositivo mantém algum armazenamento em buffer local e um conjunto de registradores de uso especial. O controlador de dispositivo é responsável por mover os dados entre os dispositivos periféricos que controla e seu armazenamento em buffer local. Para iniciar uma operação de E/S, a CPU carrega os registradores apropriados para dentro do controlador do dispositivo, que examina o conteúdo desses registradores para determinar que ação deve ser realizada. Quando a ação é concluída, o controlador de dispositivo informará a CPU que terminou a operação, disparando uma interrupção. 2.2.1 Interrupções de E/S Essa situação ocorrerá como resultado de um processo do usuário solicitando E/S. Quando a E/S for iniciada, duas ações são possíveis: E/S síncrona E/S assíncrona 2.2.1 Interrupções de E/S E/S síncrona: a E/S é iniciada e, ao término desta, o controle é retornado ao processo do usuário. E/S Assíncrona: retorna o controle ao programa do usuário sem esperar que o término da E/S. A principal vantagem da E/S assíncrona é a maior eficiência do sistema. 2.2.1 Interrupções de E/S Existem problemas com as prioridades (baixa/alta) de interrupção. Supondo que no tratamento de interrupções, a CPU gasta tempo para responder a cada interrupção, nesse caso não sobraria tempo para a execução de processos. 2.2.2 Transferências de DMA Para resolver esse problema, o acesso direto à memória (DMA – Direct Memory Access) é utilizado para dispositivos de E/S de alta velocidade. 2.2.2 Transferências de DMA O controlador de DMA transfere um bloco de dados inteiro diretamente para ou de sua própria área de armazenamento local para a memória, sem a intervenção da CPU. 2.2.2 Transferências de DMA Enquanto o controlador de DMA está realizando a transferência dos dados, a CPU está livre para realizar outras tarefas. O controlador de DMA interrompe a CPU quando a transferência termina. 2.2.2 Transferências de DMA Os programas de computador precisam estar na memória principal (RAM) para serem executados. A memória principal é a única grande área de armazenamento que o processador pode acessar diretamente. 2.3 Estruturas de Armazenamento O ideal é que os programas e os dados residam na memória principal permanentemente, mas não é possível por dois motivos: A memória principal é pequena para armazenar todos os programas e dados permanentemente. A memória principal é um dispositivo volátil, que perde seu conteúdo quando a alimentação é cortada. 2.3 Estruturas de Armazenamento Tipos de Estrutura de Armazenamento: Memória Principal Discos Magnéticos Fitas Magnéticas 2.3 Estruturas de Armazenamento MP é o dispositivo de armazenamento no qual o processador tem acesso direto. Se os dados não estiverem na memória, eles precisam ser ali colocados para que a CPU possa realizar suas operações sobre esses dados. 2.3.1 Memória Principal O acesso à memória pode levar vários ciclos e enquanto isso o processador fica parado. A solução é adicionar uma memória rápida entre o processador e a memória principal. 2.3.1 Memória Principal Grande parte da memória secundária é formada por discos magnéticos. Esses discos armazenam uma quantidade muito grande informações. A unidade de disco é ligada a uma computador por um conjunto de fios chamado de barramento de E/S. 2.3.2 Discos Magnéticos 2.3.2 Discos Magnéticos É o meio mais antigo de armazenamento de dados secundário. São utilizadas para armazenar cópias de dados e programas - Backup. 2.3.3 Fitas Magnéticas Um meio relativamente permanente de armazenamento e pode armazenar uma grande quantidade de dados, mas o tempo de acesso é grandioso comparado a memória principal e/ou disco magnético. 2.3.3 Fitas Magnéticas Discos e fitas RAM Cache Registradores 2.4 Hierarquia de Armazenamento 2.4.1 - Caching As informações são mantidas na memória principal, à medida que são utilizadas, elas são copiadas para um sistema de armazenamento mais rápido – o cache – de modo temporário. 2.4.1 - Caching Quando é precisamos de determinada informação, primeiro verificamos se ela se encontra no cache. Se estiver, usamos as informações diretamente dele, caso contrário, lemos as informações da origem mais lenta, colocando uma cópia no cache, supondo que , em breve, precisaremos dela novamente. 2.4.1 - Caching Como os caches possuem tamanho limitado, o gerenciamento de cache é um problema importante no projeto computacional. A seleção cuidadosa do seu tamanho e de sua política de substituição pode resultar em um sistema em que 80 a 99% de todos os acessos ocorram no cache, aumentando bastante o desempenho. 2.4.2 - Coerência e Consistência Em uma estrutura de armazenamento hierárquica, os mesmos dados podem aparecer em diferentes níveis. Disco magnético Memória principal cache Registradores A A A 2.4.2 - Coerência e Consistência Coerência de memória cache - quando é mudado um valor de uma determinada variável, devemos ter a certeza que essa mudança é replicada para as demais cópias de variável; Com isso temos a consistência do sistema computacional. 2.5 - Proteção pelo Hardware Os primeiros sistemas computadorizadoseram sistemas operados por programadores com usuário único – monousuários. A medida que os SOs se desenvolveram, esse controle foi passado para o SO. 2.5 - Proteção pelo Hardware Para melhorar a utilização do sistema, o SO começou a compartilhar recursos do sistema entre vários programas simultaneamente. O compartilhamento melhorou a utilização, mas aumentou os problemas. 2.5 - Proteção pelo Hardware Por exemplo: Quando o sistema era executado sem compartilhamento, um erro em um programa poderia causar problemas apenas para o programa executado. Com o compartilhamento, muitos processos poderiam ser afetados negativamente por um bug em um dos programas. 2.5 - Proteção pelo Hardware Sem a proteção contra esses tipos de erros, ou o computador precisa executar apenas um processo de cada vez ou toda a saída precisa ser suspeita. Um SO projetado corretamente precisa garantir que um programa incorreto (ou malicioso) não possa fazer com que outros programas sejam executados de forma incorreta. 2.5.1 - Operação no Modo Dual Para garantir uma operação apropriada, temos de proteger o SO e todos os outros programas e seus dados contra qualquer programa que não esteja funcionando. 2.5.1 - Operação no Modo Dual A operação no modo dual oferece uma maneira de proteger o SO e outros programas de programas incorretos. Modo monitor Modo usuário 2.5.1 - Operação no Modo Dual Um bit, chamado bit de modo, é adicionado ao hardware do computador para indicar o modo atual: monitor(bit 0) ou usuário (bit 1). Modo Monitor (bit 0): é quando uma tarefa está sendo executada em nome do SO. Modo Usuário (bit 1): é quando uma tarefa está sendo executada em nome do usuário. 2.5.2 – Proteção da E/S Para evitar que um usuário realize operações ilegais de E/S, definimos todas as instruções de E/S como instruções privilegiadas. Os usuários não podem emitir instruções de E/S diretamente, eles precisam fazer isso com o SO, por meio de uma chamada ao sistema. 2.5.2 – Proteção da E/S Para que a proteção da E/S seja completa, temos que garantir que um programa do usuário não possa em momento algum obter o controle do computador no modo monitor. 2.5.3 - Proteção da Memória Para assegurar uma operação correta, devemos proteger o vetor de interrupções contra qualquer modificação por programas de usuários. E também proteger as rotinas de tratamento de interrupção. 2.5.3 - Proteção da Memória A proteção é realizada pelo hardware da CPU, que compara os endereços gerados em modo usuário e modo monitor, qualquer tentativa de usar endereço do modo monitor, causa um interrupção de software. 2.5.4 - Proteção da CPU É necessário assegurar que o SO mantenha controle sobre o processo de execução de programas. É preciso impedir que um programa de usuário, por exemplo, fique preso em um loop infinito e nunca retorne o controle ao SO. 2.5.4 - Proteção da CPU Solução: Usar um Temporizador. O uso do temporizador é por meio da implementação de um mecanismo de compartilhamento de tempo. 2.6 – Estrutura de Rede Até o momento foi abordado computadores isolados, mas conectando dois ou mais computadores a uma rede, pode-se formar um sistema distribuído. Tal sistema pode oferecer um rico conjunto de serviços aos usuários. 2.6 – Estrutura de Rede Existem basicamente dois tipos de redes: Redes locais – LAN Redes de longa distância – WAN A principal diferença entre as duas é a forma como são distribuídas geograficamente. 2.6 – Estrutura de Rede Redes locais: surgiram no início da década de 1970, como substituto para os grandes mainframes. As LANS são usadas em um ambiente de escritório. Normalmente conectadas por cabeamento de par trançado ou fibra ótica, permitem a comunicação entre processadores distribuídos por uma área geográfica pequena. 2.6 – Estrutura de Rede Redes remotas: surgiram no final da década de 1960, como um projeto acadêmico de pesquisa para oferecer comunicação eficiente entre as instalações. As WANs conectadas por linhas telefônicas, linhas de dados dedicadas, microondas e canais de satélites, permitem a comunicação entre processadores distribuídos por uma área geográfica maior. Referências Capítulo 2 da referência abaixo: SILBERSCHATZ, ABRAHAM; GAGNE, GREG; GALVIN, PETER BAES. Sistemas operacionais: com java. . Rio de Janeiro: Elsevier, 2004.
Compartilhar