Buscar

Aula 02 Estruturas do Computador

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Ouro Preto - UFOP
Departamento de Computação e Sistemas - DECSI
CSI437 – Sistemas Operacionais
Prof. Samuel Brito
Estruturas do Computador
OPERAÇÃO DO COMPUTADOR
Estruturas do Computador
3
Operação do Computador
• Um computador de uso geral consiste em uma (ou 
mais) CPU e uma série de controladores de 
dispositivos e adaptadores, conectados por meio de 
um barramento comum, oferecendo acesso à memória 
compartilhada.
4
Operação do Computador
• Cada controlador de dispositivo está encarregado de 
um tipo específico de dispositivo.
– Unidades de disco, dispositivos de áudio e monitores de 
vídeo.
• CPU e controladores de dispositivos podem ser 
executados simultaneamente, competindo por ciclos de 
memória.
• Para garantir o acesso ordenado à memória 
compartilhada, um controlador de memória é fornecido.
– Sincronização de acesso.
5
Inicialização
• Para um computador começar a funcionar 
é preciso que haja um programa inicial 
para ser executado.
– Bootstrap ou programa de boot.
– Tende a ser muito simples.
– Em geral, ele é armazenado na memória 
somente de leitura (ROM) ou na memória 
de leitura apagável programaticamente 
(EEPROM - firmware) dentro do hardware 
do computador.
6
Inicialização
• Função do programa de boot:
– Inicializar todos os aspectos do sistema.
• Desde registradores da CPU até controladores de dispositivos 
e conteúdos de memória.
• Importante:
– Programa de boot precisa saber como carregar o 
Sistema Operacional e como começar a executar 
esse sistema.
• Localizar (no disco, por exemplo) e carregar na memória o 
kernel do sistema operacional.
• Sistema operacional executa o primeiro processo (init) e 
espera que ocorra algum evento.
7
Interrupções
• A ocorrência de um evento normalmente é 
sinalizada por uma interrupção do 
hardware ou do software.
– Interrupção por hardware:
• Hardware envia um sinal à CPU por meio do 
barramento do sistema.
– Interrupção por software:
• Software dispara uma interrupção por meio de 
uma chamada de sistema (system call).
8
Interrupções
• Os sistemas operacionais modernos são controlados por 
interrupção.
– Se não houver processos para executar, nenhum dispositivo de 
E/S para atender e nenhum usuário para responder, o sistema 
operacional ficará silencioso, esperando que algo aconteça.
• A forma como o sistema operacional controla as 
interrupções define a estrutura geral desse sistema.
– Para cada tipo de interrupção, segmentos de códigos separados 
no sistema operacional determinam que ação deve ser 
realizada.
– Uma rotina de serviço de interrupção é fornecida para 
tratar essa interrupção.
9
Interrupções
• Quando a CPU é interrompida, ela para o 
que está fazendo, armazena seu estado 
atual e imediatamente transfere a 
execução para uma locação fixa da 
memória.
– Contém o endereço inicial no qual está 
localizada a rotina de atendimento da 
interrupção.
– Essa rotina é executada.
– Ao terminar, a CPU retoma a computação 
interrompida.
10
Interrupções
11
Interrupções
ESTRUTURA DE E/S
Estruturas do Computador
13
Estrutura de E/S
• Grande parte do sistema operacional é dedicada ao gerenciamento de E/S.
– Importante para a confiabilidade e desempenho de um sistema.
– Natureza variável dos dispositivos.
• Dispositivos de E/S possuem controladores, por meio dos quais 
comunicam com demais componentes.
– Mantém algum armazenamento em buffer local e um conjunto de registradores de 
uso especial.
– Tamanho do buffer depende do dispositivo controlado.
• Exemplo:
– O tamanho do buffer de um controlador de disco é igual ou um múltiplo da menor parte endereçável de um 
disco (setor).
• Um driver de dispositivo (device driver) para cada controlador de 
dispositivo.
– Entende o controlador de dispositivo e apresenta uma interface uniforme do 
dispositivo para o restante do sistema operacional.
14
Interrupções de E/S
1. Para iniciar uma operação de E/S, o driver de dispositivo carrega os 
registradores apropriados para dentro do controlador de dispositivo.
2. O controlador de dispositivo examina o conteúdo desses registradores 
para determinar que ação deve ser realizada.
– Exemplo: ler um caractere do teclado.
3. O controlador começa a transferir os dados do dispositivo para o seu 
buffer local.
– Quando a transferência estiver concluída, o controlador de dispositivo informará 
ao driver de dispositivo (via interrupção) que terminou a operação.
4. O driver de dispositivo retorna o controle ao sistema operacional.
– Retornando os dados ou um ponteiro para os dados, se a operação foi uma 
leitura.
– Para outras operações, o driver de dispositivo retorna a informação de status.
15
Interrupções de E/S
Dois tipos de E/S:
–Síncrona:
• E/S é iniciada.
–Ao término da E/S, o controle é retornado ao processo do usuário.
• Instrução de espera especial (wait), que deixa a CPU 
ociosa até a próxima interrupção.
–Alternativa:
» Loop de espera.
• Vantagem:
– Somente uma requisição de E/S poderá estar pendente de cada vez.
» Sistema operacional sabe qual dispositivo está interrompendo.
• Desvantagem:
–Desperdício de CPU!
16
Interrupções de E/S
Dois tipos de E/S:
– Assíncrona:
• Controle é retornado ao processo do usuário sem esperar o 
término da E/S.
– E/S pode continuar enquanto ocorrem outras operações do sistema ou 
do usuário.
• Necessária uma chamada de sistema para permitir que o 
programa do usuário espere o término da E/S, se desejar.
• Caso não haja nenhum programa do usuário pronto para 
execução e o sistema operacional não tiver nenhum outro 
trabalho para realizar, é necessária a instrução wait ou o loop 
de espera.
• Necessário registrar as requisições de E/S que chegam ao 
mesmo tempo.
– Tabela de status de dispositivo.
17
Tabela de Status de Dispositivo
• Uma entrada na tabela para cada dispositivo.
• Entradas da tabela:
– Tipo do dispositivo, o endereço e o estado (não funcionando, 
ocioso ou ocupado).
• Se o dispositivo estiver ocupado com uma requisição, o 
tipo da requisição e outros parâmetros são 
armazenados na entrada da tabela para esse 
dispositivo.
– Vários processos podem emitir requisições para um mesmo 
dispositivo:
• Fila de espera.
18
Tabela de Status de Dispositivo
19
Tabela de Status de Dispositivo
• Um dispositivo de E/S interrompe quando precisa de 
atendimento.
– O sistema operacional determina qual dispositivo causou a 
interrupção.
– Examina a tabela de dispositivos de E/S para determinar o 
status desse dispositivo e modifica a entrada da tabela para 
refletir a ocorrência da interrupção.
– Uma interrupção sinaliza o término de uma requisição de E/S.
– Se houver mais requisições aguardando na fila, o sistema 
operacional inicia o processamento da próxima requisição.
– Controle retorna da interrupção de E/S.
• Se um processo estiver esperando o término de sua requisição, o 
controle pode ser retornado para a execução do programa do 
usuário ou para o loop de espera.
20
Acesso Direto à Memória
• E/S controlada por interrupção funciona para mover 
pequenas quantidades de dados.
– Pode produzir um overhead quando usada para 
movimento de dados em quantidade, como na E/S de 
disco.
– Exemplo:
• Um teclado pode aceitar e transferir um caractere a cada 1.000 
microssegundos.
– Se um driver de dispositivo levar cerca de 2 microssegundos para tratar 
cada caractere, ainda sobram 998 microssegundos para demais 
processamentos (computação de CPU + outras requisições).
– Interrupção de baixa prioridade.
• E se um dispositivo for de alta velocidade, transferindo 
informações em 4 microssegundos?
– Pouco tempo para execução do processo.21
Acesso Direto à Memória
• Para resolver esse problema, o acesso 
direto à memória (Direct Memory Access) é 
utilizado.
• Blocos de dados são transferidos diretamente 
entre o dispositivo e a memória do sistema.
– O controlador de dispositivo comanda a 
transferência, sem intervenção da CPU.
– 1 interrupção por bloco (anteriormente, 1 
interrupção por byte).
22
Acesso Direto à Memória
• Funcionamento:
– Um programa de usuário (ou o sistema operacional) requisita a 
transferência de dados.
– O sistema operacional encontra um buffer (vazio para entrada ou 
cheio para a saída) a partir de um banco de buffers para a 
transferência.
– O driver de dispositivo configura os registradores do controlador de 
DMA para utilizarem endereços de origem e destino apropriados, 
assim como o tamanho dos dados a serem transferidos.
– O controlador de DMA inicia a operação de E/S.
– Enquanto os dados são transferidos, a CPU em si está livre para 
executar outras operações.
– O controlador DMA interrompe a CPU somente quando a 
transferência é finalizada.
• CPU pode liberar o buffer de saída ou avisar ao processo que espera pela 
entrada do buffer que existe um dispositivo aguardando.
23
Acesso Direto à Memória
ESTRUTURAS DE 
ARMAZENAMENTO
Estruturas do Computador
25
Estruturas de Armazenamento
• Programas de computador precisam estar na 
memória principal (memória de acesso 
aleatório – RAM).
– Única grande área de armazenamento que o 
processador pode acessar diretamente.
• O ideal é que os programas e dados residam na 
memória principal permanentemente.
– Problemas?
• Memória principal pequena.
• Memória principal perde seu conteúdo quando a 
alimentação é cortada ou o sistema é reinicializado.
26
Estruturas de Armazenamento
• Solução:
– Armazenamento secundário como extensão 
da memória principal.
• Capaz de manter grandes quantidades de dados 
permanentemente.
– Exemplos: discos magnéticos, memórias flash, etc.
– Programas e dados são armazenados no disco.
• Quando necessário, carrega esses dados para a 
memória principal.
• Gerenciamento apropriado do armazenamento em 
disco é de grande importância!
27
Estruturas de Armazenamento
• Principais diferenças entre as variedades de 
dispositivos de memória secundária:
– Velocidade, custo, tamanho e volatilidade.
• Armazenamento volátil vs não volátil:
– Volátil:
• Perde seu conteúdo quando o dispositivo é 
desligado/reiniciado de alguma maneira.
– Não volátil:
• Dados não são perdidos ao desligar/reiniciar o 
sistema.
28
Estruturas de Armazenamento
Regis
trado
res
Cache
Memória Principal
Disco Eletrônico
Disco Magnético
Tempo de Acesso
Baixo
Alto
Capacidade de
Armazenagem
Baixa
Alta
Fita Disco Ótico
PROTEÇÃO DO HARDWARE
Estruturas do Computador
30
Proteção do Hardware
• Com o compartilhamento dos sistemas por 
diversos programas em execução, é 
preciso garantir formas de proteção entre 
eles.
– Exemplo:
• Sistema operacional batch simples (sequência 
automática das tarefas).
• O que acontece se um programa ficar preso em um 
loop, lendo a entrada de cartões?
– O programa lerá todos os dados!
» Acessa dados de outros usuários e impede a operação 
de muitas tarefas.
31
Proteção do Hardware
• É essencial que existam recursos de 
hardware para:
– Proteção de E/S
– Proteção de memória
– Controle da CPU
• Um programa incorreto (ou 
malicioso) não pode interferir na 
execução de outros.
32
Operação no Modo Dual
• Hardware é construído para diferenciar entre pelo 
menos dois modos de operação:
– Modo usuário
– Modo monitor (supervisor, sistema, privilegiado)
• Bit de modo:
– Adicionado ao hardware do computador para indicar o modo 
atual.
• Monitor = 0
• Usuário = 1
• Certas instruções só podem ser executadas no modo 
monitor.
33
Operação no Modo Dual
• No boot do sistema, o hardware começa no modo 
monitor.
– Sistema operacional é carregado e inicia os processos do 
usuário (passando para o modo usuário).
• Sempre que ocorre uma interrupção, o hardware 
passa do modo usuário para o modo monitor.
– Quando o sistema operacional obtém controle do 
computador, ele está no modo monitor.
• O sistema sempre volta para o modo usuário antes 
de passar o controle para um programa do usuário.
34
Operação no Modo Dual
• Exemplo de falha de proteção:
– MS-DOS foi escrito para a arquitetura 8088 da 
Intel, que não possui modo dual.
• Um programa usuário com problemas pode acabar 
com o sistema operacional, escrevendo dados sobre 
ele.
• Vários programas são capazes de escrever em um 
dispositivo ao mesmo tempo.
• Modo dual fornece maior proteção ao 
sistema operacional!
35
Proteção da E/S
• Garante que um programa não possa reprogramar 
um dispositivo para fazer algo prejudicial a outros. 
– Exemplo:
• Apagar um disco rígido.
• Todas as instruções de E/S são definidas como 
instruções privilegiadas.
– Usuários não podem emitir instruções de E/S diretamente.
– Necessária a intervenção do sistema operacional.
• Chamada de sistema.
• O sistema operacional (modo monitor) verifica e certifica-se de 
que a requisição é válida e realiza a operação de E/S requisitada.
– Em seguida, retorna ao usuário.
36
Proteção da Memória
• Para separar o espaço de memória de cada 
programa do espaço dos outros, é necessário 
determinar o intervalo de endereços válidos 
que o programa pode acessar.
– E proteger a memória fora desse espaço.
• Utilização de dois registradores:
– Registrador base:
• Contém o menor endereço válido de memória física.
– Registrador limite:
• Contém o tamanho do intervalo.
37
Proteção da Memória
38
Proteção da Memória
• O hardware da CPU compara cada 
endereço gerado no modo usuário 
com os registradores.
– Qualquer tentativa de um programa 
executando no modo usuário de acessar 
a memória do monitor ou a memória de 
outros usuários resulta em uma exceção 
para o monitor.
• Erro fatal!
39
Proteção da Memória
40
Proteção da Memória
• Exercício:
– Um processo possui registrador base 
igual a 35 e registrador limite igual a 50. 
Qual(is) do(s) acesso(s) a seguir não 
gera(m) erro fatal?
a) Acesso à posição de memória 85.
b) Acesso à posição de memória 90.
c) Acesso à posição de memória 35.
d) Acesso à posição de memória 79.
e) Acesso à posição de memória 34.
41
Proteção da Memória
• Importante:
– Em modo monitor, o SO tem acesso 
liberado a toda a memória.
– Alterações de registradores base e limite 
são instruções privilegiadas.
42
Proteção da CPU
• Além de proteger E/S e memória, deve-se garantir que o 
sistema operacional mantenha o controle:
– É preciso impedir que um programa do usuário fique preso em 
um loop infinito e nunca retorne o controle ao sistema 
operacional.
• Solução:
– Usar um temporizador (timer).
• Ajustado para interromper o computador após um período 
especificado.
– Período fixo (1/60 segundo, por exemplo) ou variável (1 milissegundo a 1 
segundo).
• Temporizador decrementa um contador à partir de cada pulso de clock.
– Quando contador chega a zero, gera um interrupção.
43
Proteção da CPU
• Exemplo:
– Um programa com tempo limite de execução 
de 5 minutos, teria seu contador inicializado 
com 300.
– A cada segundo, o temporizador interrompe e 
o contador é decrementado em 1 unidade.
– Enquanto o contador for positivo, o controle é 
retornado ao programa do usuário.
• Quando o contador se torna negativo, o sistema 
operacional termina o programa por exceder o 
tempo limite (ou dá mais um tempo de execução).
44
Proteção da CPU
• Antes de passar o controle para o usuário, o 
sistema operacionalgarante que o 
temporizador esteja ajustado para 
interromper.
– Se o temporizador interromper, o controle é 
transferido para o sistema operacional.
• Pode gerar um erro fatal ou dar mais tempo ao 
programa.
• Instruções que modificam o temporizador são 
privilegiadas.
45
Proteção da CPU
• Um uso mais comum de um temporizador é 
para implementar o compartilhamento de 
tempo.
– Usado para interromper a cada N milissegundos, 
onde N é a fatia de tempo durante o qual cada 
usuário tem permissão para executar antes de o 
próximo usuário obter o controle da CPU.
• Troca de contexto.
• Também pode ser usado para calcular a hora 
atual.
46
Exercícios
1. Descreva o papel desempenhado pelas interrupções.
2. Qual a função de um controlador de dispositivo? E de 
um driver de dispositivo?
3. Considerando os tipos de E/S síncrona e assíncrona, 
descreva as características de cada uma com sua 
visão de vantagens e desvantagens.
4. Explique o conceito e como funciona o Acesso Direto 
à Memória (DMA).
5. Qual a diferença entre armazenamento volátil e 
armazenamento não volátil?
6. Apresente as diferenças entre o modo usuário e o 
modo monitor.
47
Dúvidas?
	Slide 1
	Operação do Computador
	Operação do Computador
	Operação do Computador
	Inicialização
	Inicialização
	Interrupções
	Interrupções
	Interrupções
	Interrupções
	Interrupções
	Estrutura de E/S
	Estrutura de E/S
	Interrupções de E/S
	Interrupções de E/S
	Interrupções de E/S
	Tabela de Status de Dispositivo
	Tabela de Status de Dispositivo
	Tabela de Status de Dispositivo
	Acesso Direto à Memória
	Acesso Direto à Memória
	Acesso Direto à Memória
	Acesso Direto à Memória
	Estruturas de Armazenamento
	Estruturas de Armazenamento
	Estruturas de Armazenamento
	Estruturas de Armazenamento
	Estruturas de Armazenamento
	Proteção do hardware
	Proteção do Hardware
	Proteção do Hardware
	Operação no Modo Dual
	Operação no Modo Dual
	Operação no Modo Dual
	Proteção da E/S
	Proteção da Memória
	Proteção da Memória
	Proteção da Memória
	Proteção da Memória
	Proteção da Memória
	Proteção da Memória
	Proteção da CPU
	Proteção da CPU
	Proteção da CPU
	Proteção da CPU
	Exercícios
	Dúvidas?

Outros materiais