aula sistemas operacionais parte05
DESCRIPTION
sistemasTRANSCRIPT
Sistemas OperacionaisProfessora: Hanna Sérgia Sousa de MagalhãesE-mail: [email protected]
Capítulo 3CONCORRÊNCIAIntrodução
Introdução
• Neste capítulo apresentaremos mecanismos, técnicas e dispositivos quer possibilitam a implementação da concorrência como interrupções e exceções, buffering, spooling e reentrância.
3
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Sistemas Monoprogramáveis x MultiprogramáveisMultiprogramáveis:• Surgiram a partir de limitações existentes nos S.O.
monoprogramáveis (recursos computacionais –processador, memória e dispositivos de E/S- eram pouco eficientes, limitando o desempenho destas arquiteturas);
• Os programas são executados sequencialmente.Monoprogramáveis• Somente um programa pode estar em execução por vez
(processador dedicado a essa tarefa);• Ocorre um desperdício na utilização do processador, pois
enquanto uma leitura em disco é realizada, o processador permanece ocioso. Tempo de espera longo. 4
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Sistemas Monoprogramáveis x Multiprogramáveis
5
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Interrupções e Exceção• Durante a execução de um programa podem ocorrer alguns
eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes tipos de eventos são conhecido por Interrupção ou exceção.
• A diferença entre interrupção e exceção é dada pelo tipo de evento ocorrido.
• A interrupção é o mecanismo que tornou possível a implementação da concorrência nos computadores-fundamento básico nos sistemas multiprogramáveis.
6
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Interrupções e Exceção (cont.)• Um interrupção é sempre gerada por algum evento externo
ao programa;• Um exemplo de interrupção ocorre quando um dispositivo
avisa ao processador que alguma operação de E/S esta completa. O processador interrompe o programa para tratar o término da operação.
• Ao final da execução de cada instrução, a unidade de controle verifica a ocorrência de algum tipo de interrupção;
• Programa interrompido e o controle desviado para uma rotina responsável por tratar o evento ocorrido (rotina de tratamento de interrupção);
• O conjunto de informações sobre a execução é preservada nos registradores, para serem restauradas posteriormente.
7
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Interrupções e Exceção (cont.)
8
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Operações de Entrada/Saída• Anteriormente a comunicação entre o processador e os
periféricos era controlada por um conjunto de instruções especiais, denominadas Instruções de Entrada/Saída, executadas pelo próprio processador.
• Essas instruções continham detalhes específicos de periférico.• Esse modelo criava uma forte dependência entre o
processador e os dispositivos de E/S.• A solução para esse problema foi a implementação de uma
técnica de transferência de dados denominada DMA – técnica que permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S sem a intervenção do processador. 9
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Operações de Entrada/Saída• Esse procedimento não gera interrupção e o processador
pode realizar tarefas como acesso à memória cache.• O canal de E/S, é um processador com capacidade de executar
programas de E/S, permitindo o controle total sobre as operações. O canal atua como um elo entre o processador principal e o controlador.
• A evolução do canal permitiu que este possuísse sua própria memória, eliminando a necessidade de os programas de E/S serem carregados para a memória principal. Com isso, várias funções de E/S puderam ser controladas com mínima intervenção da UCP.
10
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Operações de Entrada/Saída
11
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Controlador• O surgimento do controlador ou interface permitiu ao
processador agir de maneira independente dos dispositivos de E/S. Através desse novo elemento, o processador não se comunicava mais diretamente com os periféricos, mas sim através do controlador.
12
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Controlador
13
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Buffering• A técnica de buffering consiste na utilização de uma área na
memória principal, denominada buffer, para a transferência de dados entre os dispositivos de E/S e a memória.
• Permite que em uma operação de leitura, o dado seja transferido primeiramente de entrada para o buffer , liberando imediatamente o dispositivo de entrada para realizar uma nova leitura.
• O buffering permite minimizar o problema da disparidade da velocidade de processamente existente entre o processador e os dispositivos de E/S.
• O objetivo principal é manter, na maioria do tempo, processador e dispositivos de E/S ocupados. 14
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Buffering• A unidade de transferência usada no mecanismo de buffering
é o registro.• O buffer deve permitir armazenar diversos registros, de forma
que existam dados lidos, mas não processados (operação de leitura), ou processados, mas não gravados (operação de gravação)
• Isso é eficiente, pois dessa forma é possível compatibilizar a diferença existente entre o tempo em que o processador executa instruções e o tempo em que o dispositivo de E/S realiza as operações de leitura e gravação.
15
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Buffering
16
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Spooling• A técnica de spooling foi introduzida para aumentar o grau de
concorrência e a eficiência dos S.O. • Semelhante a técnica de buffering , utiliza uma area em disco
como se fosse um grande buffer. Os dados podem ser lidos ou gravados em disco, enquanto programas são executados concorrentemente.
• Esta presente na maioria dos S.O., sendo utilizada no gerenciamento de impressão.
• Permite desvincular o programa do dispositivo de impressão, e o S.O. é responsável por gerenciar a sequência de impressões solicitadas pelos programas.
17
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Spooling
18
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Reentrância• É comum, em sistemas multiprogramáveis, vários usuários
utilizarem os mesmos aplicativos simultaneamente.• Reentrância é a capacidade de um código executável (código
reentrante) ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória.
• Exemplos de códigos reentrantes:• - editores de texto, compiladores e linkers• Pois proporcionam uma utilização mais eficiente da memória.
19
Ssi
tem
as O
pera
cion
ais
27/0
4/23
Reentrância
20
Ssi
tem
as O
pera
cion
ais
27/0
4/23