podemos ter vários processos na memória ram do computador ...maiquel.schneider/inicial/so/trabalho...

2
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

Upload: danganh

Post on 19-Jan-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

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.