Buscar

Aula02_Estruturas_do_computador

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.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes