Вы находитесь на странице: 1из 1

Maiquel Roberto Schneider

Sistemas Operacionais – 2007/1


Prof. Edson Luiz Padoin

Você esta com o programa bloco de notas aberto e ativo. Descreva tudo o que acontece
no computador quando você digita uma letra. Leve em consideração gerenciamento de
processos, gerenciamento de memória e gerenciamento de Entrada/Saída.

Podemos ter vários processos na memória RAM do computador (Bloco de Notas, Word,
MSN). Somente um aplicativo está ativo, no nosso caso, o Bloco de Notas. Quando a tecla “A” é
pressionada no teclado, o código ASCII da tecla é armazenado em uma região especial de memória
(buffer do teclado na controladora).
Agora, esse código ASCII deve ser armazenado em um acumulador do processador. Uma
maneira de fazer isso, é usando a técnica E/S Programada: ela não é recomendada, nessa técnica o
processador interrompe em períodos de tempo determinados pelo Sistema Operacional a
controladora do teclado, acessando o registrador (buffer) responsável por armazenar os dados de
E/S. Vamos imaginar que o nosso computador não usa essa técnica, e sim a técnica Mecanismo de
Interrupções (IRQ): a placa controladora do teclado envia um sinal (interrupção) ao processador.
Ao receber esse sinal, o processador pára momentaneamente o que está fazendo, ou seja, o contexto
do processo que estava em execução é copiado (troca de contexto) para a memória RAM e o kernel
passa a ocupar o processador. O kernel então executa uma TRAP para descobrir qual a placa (IRQ
da controladora) que enviou esse sinal. Depois disso, o kernel através do driver da controladora,
copia do buffer a letra “A” e armazena em um acumulador do processador.
Obs.: Se a placa controladora do teclado for do tipo DMA (Acesso Direto à Memória), o
processador não é envolvido nesta transferência, pois as informações são enviadas diretamente do
buffer para a memória RAM.
A letra “A” deve ser gravada na memória RAM, mas não pode ser gravada em qualquer
posição da RAM, pois pode ser que aquela posição já esteja sendo usada por outro processo. Então,
a MMU, usando o Registrador de Limite Inferior e o Registrador de Limite Superior do processo
bloco de notas faz um teste para descobrir em qual posição da memória é possível gravar. Para
gerenciamento da Memória Virtual, o computador pode usar Paginação, Segmentação, Paginação
Segmentada. Por exemplo, quando o computador usa Paginação Segmentada, ao receber a letra
“A”, a memória RAM atualiza as partes do processo (Binário, Variáveis, Contexto) do Bloco de
Notas em seus respectivos segmentos, e cada número de segmento em algumas páginas (da Tabela
de Páginas), que estas, por sua vez, recebem um Endereço Físico no Kernel.
Para exibir a letra “A” no dispositivo monitor, o kernel copia do acumulador do processador
a letra e envia através do driver da placa controladora para um registrador (buffer) da placa
controladora de vídeo. Usando Mecanismo de Interrupções, a placa controladora de vídeo grava a
letra no monitor de vídeo, e nesse tempo em que ela faz a gravação, o processador fica livre para ser
usado por processos que estão na RAM. Quando a placa controladora de vídeo terminar sua tarefa,
ela envia uma interrupção ao processador, o processo atual é movido para a RAM e o kernel passa a
ocupar o processador. O kernel executa uma TRAP para descobrir qual a placa que enviou o sinal.
Depois disso, o kernel saí do processador. Se o computador usa a técnica E/S programada, a placa
controladora de vídeo grava a letra no dispositivo de vídeo, e enquanto ela esta gravando, o kernel
fica rodando no processador, aguardando a placa de vídeo concluir o trabalho.