Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MIEIC
Sistemas Operativos
Memria principal
armazena programas e dados
Page 1
Sistemas Operativos
Unidade de controlo
Dispositivos de E/S
Registos
Barramento
MIEIC
Sistemas Operativos
Registos do processador
Program Counter - PC
Contm o endereo da prxima instruo.
Instruction Register - IR
Contm a instruo actual.
Stack Pointer - SP
Aponta para o topo da stack.
Registos do utilizador
Usados para vrios fins, na programao.
Outros
Gesto de memria, etc.
MIEIC
Page 2
Sistemas Operativos
Execuo de instrues
Incio
Busca da instruo
Execuo da instruo
Interrupes inibidas
MIEIC
Sistemas Operativos
Interrupes
Uma interrupo um mecanismo que permite que o processamento normal de um processador seja interrompido. As interrupes so usadas para aumentar a eficincia, especialmente quando se usam componentes que operam a velocidades diferentes.
PROGRAMA DO UTILIZADOR INTERRUPT HANDLER
Permitem que o processador continue a executar enquanto decorre uma operao de E/S base da multiprogramao
ocorrncia de interrupo
MIEIC
Page 3
Sistemas Operativos
Classes de interrupes
Programa
geradas por uma condio que resulta da execuo de uma instruo (ex: overflow, diviso por zero, ref. a memria protegida, )
Temporizador (timer)
geradas por um temporizador; permite que o SO execute certas tarefas regularmente.
E/S
geradas por um controlador de E/S para assinalar o fim de uma operao ou certos erros.
Falha de hardware
geradas por uma falha (ex: alimentao, erro de paridade da memria, )
MIEIC
Sistemas Operativos
Processamento de interrupes
A rotina a executar em resposta a uma determinada interrupo determinada com base num vector de interrupes. Cada plataforma de hardware tem um procedimento particular para tratar uma determinada interrupo. Deve existir qualquer forma de interrupt handler. Combinao de responsabilidade do SO e do hardware no interrupt handler.
MIEIC
Page 4
Sistemas Operativos
Software
6) Guardar restante informao do estado do processo
(registos do processador, )
7) Processar a interrupo (executar rotina) 8) Restaurar informao do estado do processo 9) Restaurar PSW e PC
MIEIC
Sistemas Operativos
Interrupes mltiplas
O que acontece quando uma interrupo interrompe outra interrupo ?
Processamento sequencial
inibir as interrupes durante o processamento de uma interrupo
Processamento embutido
algumas interrupes so mais importantes do que outras prioridades de interrupo
MIEIC
Page 5
Sistemas Operativos
Interrupes mltiplas
Processamento sequencial
PROGRAMA DE UTILIZADOR
INTERRUPT HANDLER X
INTERRUPT HANDLER Y
MIEIC
Sistemas Operativos
Interrupes mltiplas
Processamento embutido
PROGRAMA DE UTILIZADOR INTERRUPT HANDLER X (ex: impressora)
MIEIC
Page 6
Sistemas Operativos
Entrada / Saida
A gesto eficiente das E/S's uma das principais responsabilidades de um SO. 3 mecanismos principais para executar E/S's
E/S programada (ou polling) E/S guiada por interrupo Acesso directo memria (Direct Memory Access - DMA)
MIEIC
Sistemas Operativos
E/S programada
o mdulo de E/S que controla a aco, no o processador O mdulo de E/S indica o seu estado num Status Register No h interrupes O processador est sempre ocupado a verificar o estado do mdulo de E/S
Problemas quando o dispositivo de E/S lento.
MIEIC
Page 7
Sistemas Operativos
MIEIC
Sistemas Operativos
MIEIC
Page 8
Sistemas Operativos
Entrada / sada
Memria principal Memria principal
Processador
Processador
Controlador
Controlador
Dispositivo de E/S
Dispositivo de E/S
sem DMA
com DMA
MIEIC
Sistemas Operativos
Memria
Hierarquia
Registos Cache Memria principal Cache de disco Disco magntico Disco ptico / Fita magntica
custo/bit capacidade tempo de acesso freq. de acesso
Localidade de referncia
As referncias do processador memria tendem a ocorrer em posies contguas durante certos intervalos de tempo utiliz. cache
MIEIC
Page 9
Sistemas Operativos
Proteco do hardware
Aumentar a utilizao do sistema partilha do sistema vrios programas a executar em simultneo proteco O SO deve impedir que um programa incorrecto ou "mal intencionado" impea os outros programas de executar. Alguns erros de programao so detectados pelo hardware. Normalmente estes erros so tratados pelo SO.
MIEIC
Sistemas Operativos
MIEIC
Page 10
Sistemas Operativos
MIEIC
Sistemas Operativos
Chamadas ao sistema
o mtodo usado para um processo pedir uma aco ao sistema operativo.
implicam a comutao do modo utilizador para o modo supervisor usam, em geral, interrupes por software os parmetros da chamada so, geralmente, passados nos registos do processador
MIEIC
Page 11
Sistemas Operativos
MIEIC
Sistemas Operativos
Proteco da memria
Fundamental proteger
vector de interrupes rotinas de servio de interrupo
MIEIC
Page 12
Sistemas Operativos
Proteco do processador
Impedir que um programa do utilizador tome conta do procesador indefinidamente (ex: ciclo infinito) e no retorne o controlo ao SO. Usar um temporizador que aps um perodo especificado interrompe o programa em execuo. As instrues de manipulao do temporizador so privilegiadas. O temporizador tambm usado para implementar time-sharing manter actualizada a hora do sistema
MIEIC
Sistemas Operativos
MIEIC
Page 13
Sistemas Operativos
Arranque de um PC (booting)
Aps o POST (Power On Self Test) que verifica o estado do hardware feito o reset do processador O processador procura uma instruo no endereo 0xFFFFFFF0 A instruo neste endereo um salto para o incio do BIOS, em ROM O BIOS determina, na sua configurao, qual o boot device (disquete/disco/) O BIOS l o MBR-Master Boot Record (primeiro sector) do boot device; o MBR contm informao acerca das parties existentes no disco e o endereo do boot sector O BIOS carrega, em RAM, um pequeno programa, contido neste sector que poder, por sua vez executar outros programas, cuja execuo culminar com o carregamento do sistema operativo O sistema operativo executa vrios procedimentos de inicializao Alguns processos comeam a ser executados
MIEIC
Page 14