sistemas operacionais prof. m.sc. sérgio teixeira · sistemas operacionais prof. m.sc. sérgio...

25
Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Cursos de Computação Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007.

Upload: nguyendien

Post on 09-Nov-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Sistemas Operacionais

Prof. M.Sc. Sérgio Teixeira

Aula 04 - Concorrência

Cursos de Computação

Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007.

Page 2: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

2

(a) Sistema Monoprogramáveltempo tempo

E/S E/S

UCP UCPlivre 11

1

(b) Sistema Multiprogramável

Mono x Multiprogramação

Page 3: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Concorrência entre os processos é oprincípio básico da multiprogramação nosSOs.

• A concorrência deve permitir que oprocesso interrompido retorne ao seuestado original após o período deinterrupção.

• O contexto deve ser idêntico para que eleprossiga para a operação seguinte.

Conceitos básicos

Page 4: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

O que devemos fazer quando todos querem a mesma coisa ao mesmo tempo?

Concorrência e compartilhamento

Page 5: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Unidade Lógicae Aritmética

Registradores

Unidade deControle

Tirar uma fotografia dos

registradores

Page 6: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

HD

RAM

Solução: uma fatia de

tempo para cada um

Page 7: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Além de compartilhar o processador,outros recursos também sãocompartilhados em sistemas multitarefa:memória, impressora, disco, etc.

• Quem ajuda ou permite essecompartilhamento de recursos?

Compartilhamento

Page 8: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Durante a execução de um programa, eventosinesperados podem ocorrer. Estes eventos sãosinalizados por interrupções ou exceções.

• A interrupção torna possível a implementação daconcorrência. É através dela que o S.O. sincronizaa execução de suas rotinas e dos programas dosusuários, além de controlar dispositivos.

• Sempre ao final da execução de uma instrução, aunidade e controle verifica a ocorrência de algumainterrupção. Neste caso, o programa éinterrompido e o fluxo é desviado para uma rotinade tratamento de interrupções.

Interrupção e Exceção: A essência da Multiprogramação

Page 9: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Como funciona a

Interrupção e Exceção

Page 10: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Para tratar a interrupção, há um vetor como endereço do início de cada rotina detratamento.

• As interrupções podem ocorrem a qualquermomento, inclusive durante o tratamento deoutra interrupção. Alguns processadoresinibem as demais interrupções durante otratamento. Outros adotam prioridade notratamento. Neste caso, o dispositivocontrolador de pedidos de interrupçõesavalia as interrupções e suas prioridades.

Interrupção e exceção

Page 11: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Uma exceção é semelhante a uma interrupção,sendo a principal diferença o motivo do disparo. Aexceção é resultado da execução de uma instruçãodo programa, como divisão por zero ou overflow.

• A exceção é gerada em eventos síncronos (sãoprevisíveis e se forem repetidos as entradas dedados e o contexto, volta a acontecer) e asinterrupções são assíncronas (podem ocorrer aqualquer momento – dependem de entidadesexternas).

• As rotinas de tratamento de exceção podem serescritas pelo próprio programador.

Interrupção e exceção

Page 12: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Interrupções do Sistema Operacional

• IRQ – Interrupt Request ou Requisição de interrupção: Quando o controladorde interrupções recebe um IRQ de algum dispositivo é gerado um sinal para oprocessador. O controlador também faz a gerência das prioridades entre asinterrupções que leva em consideração interrupções concorrentes.

• Referências:

– Fototeca e videoteca do Prof. Sérgio Teixeira

– http://www.guiadohardware.net/termos/irq

– http://www.laercio.com.br/artigos/HARDWARE/HARD-010/HARD-010.HTM

– http://www.laercio.com.br/artigos/HARDWARE/HARD-019/HARD-019.HTM

Page 13: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

DMA (Direct Memory Access)

• Acesso direto à memória (DMA) – Quando um processo vai fazer I/O épossível liberar a CPU. Esse processo é feito por meio do DMA que é capazde transferir dados da memória direto para o dispositivo sem ocupar otempo da CPU. A imagem mostra o uso dos canais de DMA no Gerenciadorde Dispositivos do Windows .

• Referências:

– http://www.laercio.com.br/artigos/HARDWARE/HARD-010/HARD-010.HTM

– http://www.laercio.com.br/artigos/HARDWARE/HARD-019/HARD-019.HTM

Page 14: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Nos primeiros computadores, a comunicaçãoentre o processador e os periféricos eracontrolada por um conjunto de instruçõesespeciais executada pelo próprioprocessador.

• Estas instruções tinham detalhes específicosde cada periférico, como trilha e setor deum disco.

• O surgimento do controlador permitiu aoprocessador agir de maneira independentedos dispositivos de E/S

Operações de E/S

Page 15: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

MemóriaPrincipal

UCP

Controlador

Dispositivos de E/S

Operações de E/S

Page 16: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Abordagens para a transferência de dados:• Busy wait – o processador se sincroniza com operiférico e fica permanentemente testando operiférico para saber se ele já terminou

• Polling – de tempos em tempos o processador testase o periférico terminou a operação

• Por interrupção – o controlador interrompe oprocessador para notificar o fim da operação.

• DMA – para evitar que na transferência de grandesvolumes de dados o processador seja interrompidotoda vez que o buffer do controlador acabar ouencher, com o DMA (Direct Memory Access) opróprio controlador acessa a memória para buscarou gravar os dados.

Operações de E/S

Page 17: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• Como o acesso ao barramento éexclusivo, enquanto o controlador estiveracessando a memória, o processo ficaimpedido de fazê-lo.

• Usa-se também um processador de E/Spara criar um canal de E/S. Esteprocessador executa programas de E/S.

Operações de E/S

Page 18: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

MemóriaPrincipal

UCP

Canal de E/S

Controlador

Dispositivos de E/S

Controlador

Dispositivos de E/S

Operações de E/S

Page 19: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• memória que ajuda no problema dediferença de velocidade entre osdispositivos

MemóriaPrincipal

UCPBuffer

gravação gravação

leitura leitura

Controlador

Buffer

Page 20: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• A técnica de spooling foi utilizada noscomputadores antigos para gravar os programasnuma fita, que era executada, e os resultados eramgravados em outra fita, que depois era impressa.

• Esta mesma técnica é usada hoje por exemplo comimpressoras. Um área em disco é utilizada como sefosse um grande buffer. Antes de serem impressos,os dados são gravados em arquivo, conhecido comoarquivo de spool, liberando o programa para outrasatividades, enquanto o S.O. direciona o conteúdodo arquivo para a impressora.

Spooling

Page 21: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Programa ImpressoraArquivode Spool

Sistema OperacionalSistema Operacional

• O uso do spooling também desvincula o programa do dispositivo de impressão, impedindo que um programa reserve a impressora de modo exclusivo.

• O S.O. gerencia as impressões solicitadas pelosprogramas, mesmo que sejam ao mesmotempo.

Spooling

Page 22: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• É comum em sistemas multitarefa, várias cópias deum mesmo programa (ex. processador de texto,navegador) em memória, seja do mesmo usuário oude usuários distintos.

• Diversas cópias do mesmo programa na memória édesperdício.

• Reentrância é a capacidade de um código sercompartilhado por vários usuários, exigindo queapenas uma cópia esteja em memória.

• Com a reentrância, cada usuário pode estar em umponto do código, manipulando dados próprios.

• Normalmente os utilitários do S.O tem estacapacidade.

Reentrância

Page 23: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Memória Principal

código reentrante

área de dados do usuário A

usuário A usuário C

usuário B usuário D

área de dados do usuário B

área de dados do usuário C

área de dados do usuário D

Reentrância

Page 24: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

• A eficiência do ambiente multitarefa resulta emmaior complexidade do sistema operacional, já queterá que cuidar de vários problemas de proteção.

• Como vários programas ocupam a memóriasimultaneamente, cada um possui uma áreareservada onde seu código e dados sãoarmazenados. Se um programa tentar acessar umaposição de memória fora de sua área, um erro deviolação de acesso deve ocorrer.

• Da mesma forma, um programa não deve dominar ouso do processador.

Proteção do sistema

Page 25: Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira · Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 -Concorrência Cursos de Computação Referência: MACHADO, F.B. ;

Sistemas Operacionais

Prof. M.Sc. Sérgio Teixeira

Aula 04 - ConcorrênciaObrigado e bons estudos!

Cursos de Computação