sistemas operacionais - amazon simple storage service · sistemas operacionais podem ser vistos...
TRANSCRIPT
Sumário
1. Introdução
2. Sistemas Multiprogramáveis
3. Interrupções e Exceções
4. Operações de E/S
1. Entrada e Saída Controlada por Programa
2. Evolução da Entrada e Saída Controlada por Programa
3. Entrada e Saída Controlada por Interrupção
4. Entrada e Saída por Acesso Direto à Memória (DMA)
1. Introdução
Sistemas Operacionais podem ser vistos como um conjunto de rotinas executadas de forma concorrente e ordenada.
O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas multiprogramáveis.
2. Sistemas Multiprogramáveis
Os sistemas operacionais multiprogramáveis surgiram devido às limitações existentes nos sistemas monoprogramáveis.
Quais eram as limitações dos sistemas monoprogramáveis/monotarefas?
Nos sistemas monoprogramáveis somente um programa pode estar em execução por vez.
O processador permanece dedicado, exclusivamente, a tarefa em execução, desperdiçando o seu uso.
2. Sistemas Multiprogramáveis
Por exemplo: enquanto uma leitura em disco é realizada, o processador permanece ocioso.
2. Sistemas Multiprogramáveis
Os sistemas monoprogramáveis podem subutilizar outro recurso além do processador?
Em sistemas monoprogramáveis pode também ocorrer a subutilização da memória principal.
Qual é a principal diferença entre os sistemas multiprogramáveis e monoprogramáveis?
Nos sistemas multiprogramáveis, vários programas podem estar residentes em memória, concorrendo pela utilização do processador.
Dessa forma, quando um programa solicita, por exemplo, uma operação de E/S, outros programas podem utilizar o processador.
2. Sistemas Multiprogramáveis
A concorrência deve ser implementada da seguinte maneira:
1. O programa perde o uso do processador.
2. O programa retorna para continuar o processamento.
3. O estado do programa deve ser idêntico ao do momento em que foi interrompido.
O programa deverá continuar sua execução exatamente na instrução seguinte àquela em que havia parado, aparentando ao usuário que nada aconteceu.
3. Interrupções e Exceções
Interrupção e exceção são eventos inesperados que ocorrem no sistema, ocasionando um desvio forçado no seu fluxo de execução.
Qual a principal diferença entre interrupção e exceção?
A principal diferença é o motivo pelo qual o evento é gerado.
A interrupção é gerada por algum evento externo ao programa, independente da instrução que está sendo executada.
Já a exceção é depende de instrução do próprio programa. Por exemplo: divisão de número por zero e ocorrência de overflow em operação aritmética.
3. Interrupções e Exceções
As interrupções são geradas por eventos assíncronos.
Podem ocorrer múltiplas vezes simultaneamente.
Diversos dispositivos podem informar ao processador que estão prontos.
de Interrupção
Interrupção
3. Interrupções e Exceções
A exceção é gerada por um evento síncrono.
Os eventos síncronos só podem ocorrer um de cada vez.
A mesma entrada, a exceção ocorrerá sempre na mesma instrução.
de Exceção
Exceção
4. Operações de E/S
O processador não se comunica diretamente com os dispositivos de E/S, mas sim por meio do controlador ou interface de E/S.
4. Operações de E/S
Existem basicamente 3 métodos (fundamentais) pelos quais o processador gerencia as operações de E/S.
1. Entrada e Saída Controlada por Programa:
O processador sincroniza-se com o controlador, para o início da transferência de dados.
Após iniciada a transferência, o programa fica permanentemente testando o estado do controlador, para saber quando a operação está concluída.
4. Operações de E/S
Qual o problema que existe em relação ao método de Entrada e Saída Controlada por Programa?
O processador é mantido ocupado até o término da operação de E/S (busy wait).
Enorme desperdício de tempo do processador.
O processador executa uma instrução muito mais rapidamente que a realização de uma operação de E/S.
4. Operações de E/S
1. Evolução da Entrada e Saída Controlada por Programa
Após o início da transferência dos dados, o processador fica livre para realizar outras tarefas.
O processador deveria testar os controladores, de tempos em tempos, para saber se as transferências de dados já haviam terminado (polling).
Contudo o processamento ainda é interrompido frequentemente para testar estados.
4. Operações de E/S
2. Entrada e Saída Controlada por Interrupção
O processador permanece livre para o processamento de outras tarefas, após a execução de um comando de leitura ou gravação.
O próprio controlador interrompe o processador para avisar do término da operação.
Ao invés do processador verificar periodicamente o estado do controlador.
4. Operações de E/S
Passos da Entrada e Saída Controlada por Interrupção:
1. O controlador, ao receber um sinal de leitura, fica encarregado de ler os blocos do disco e armazená-los em registradores próprios.
2. O controlador sinaliza uma interrupção ao processador.
3. A rotina de tratamento de interrupção transfere os dados dos registradores do controlador para a memória principal.
4. Ao término da transferência, o processador pode voltar a executar o programa interrompido.
O método de Entrada e Saída pode ser melhorado? Como?
4. Operações de E/S
3. Entrada e Saída por Acesso Direto à Memória (DMA)
Operação de leitura
principal
4. Operações de E/S
A extensão do conceito de DMA possibilitou o surgimento do Canal de Entrada e Saída introduzido pela IBM.
O canal é um processador com capacidade de executar programas de entrada e saída, permitindo o controle total sobre operações de E/S.
As instruções do programa de entrada e saída são armazenadas na memória principal pelo processador principal (UCP).
O Canal de Entrada e Saída realiza a transferência e, ao final, gera uma interrupção, avisando do término da operação.
4. Operações de E/S
Processador de Entrada e Saída
A evolução do Canal de Entrada e Saída permitiu que este possuísse sua própria memória.
Diminuindo ainda mais a intervenção do processador.
Essa evolução é chamada de Processador de Entrada e Saída.
Os dois termos (canal ou processador de E/S) são empregados indistintamente.