A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas.

Apresentações semelhantes


Apresentação em tema: "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas."— Transcrição da apresentação:

1 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas A e B Aula 16 – Funcionamento CD/DVD Profa. Sarita Mazzini Bruschi

2 2 Óptico CD Introduzido em 1983 Sistema de áudio digital de disco compacto CD-ROM Compact Disk Read Only Memory Mesma tecnologia do CD de áudio Possui dispositivo de leitura mais resistente e mecanismo de correção de erro para assegurar que os dados sejam transferidos corretamente

3 3 CDs Assim como os discos magnéticos, o CD é um meio de armazenamento digital, ou seja, armazena dois valores: 0 ou 1 Discos magnéticos utilizam campos magnéticos para gravar e o fluxo reverso que é detectado pelo cabeçote para ler CDs utilizam técnica para armazenamento com alterações físicas ao invés de magnéticas

4 4 CDs Feito de um substrato de policarbonato medindo 12 cm de diâmetro e aproximadamente 1 mm de espessura coberto por uma camada altamente reflexiva, normalmente o alumínio Antigamente, utilizava-se somente para leitura (CD-ROM) Atualmente, leitura e gravação (CD-R e CD-RW)

5 5 CD-ROM Primeiro passo: produção de um mestre Mestre: Superfície totalmente lisa Land (lisa) ou pit (queimada por um laser) Produção em série a partir do CD mestre

6 6 CD-ROM Leitura: feixe de laser Nas partes lisas (land) o feixe de laser reflete a superfície de alumínio Nas partes queimadas pelo laser (pit) a luz é difundida Um fotodetector na cabeça de leitura sente essas diferenças, detectando quando é um bit 0 ou 1.

7 7 CD-ROM CD não possui trilhas Existe uma única trilha espiral Em torno de voltas, ou trilhas, totalizando 5,3 Km 74 ou 80 minutos de áudio 650 ou 700 MB de dados

8 8 CD-ROM Discos Magnéticos: Velocidade angular constante (CAV – Constant Angular Velocity) Trilhas mais externas: densidade menor Trilhas mais internas: densidade maior CDs: Velocidade linear constante (CLV – Constant Linear Velocity) Mesma densidade em todas as trilhas Trilhas mais externas: velocidade menor Trilhas mais internas: velocidade maior

9 9 CD-ROM Primeiros operavam numa velocidade de 210 a 519 rpm, dependendo da localização da cabeça, resultando numa taxa de transferência de 150 Kbytes/s Para áudio não é necessário aumentar essa velocidade mas para dados isso é interessante

10 10 CD-ROM A nomenclatura X Relacionado com a taxa de rotação e com a taxa de transferência máxima 2X significa que dobrou-se a velocidade de rotação, ou seja, passou para 420 a 1078 rpm, dependendo da trilha 12X e menores operam com CLV Maiores que 12X operam com CAV Essa velocidade é somente nas bordas, do meio para dentro, 60% mais lento Vantagem: não precisa ficar a toda hora mudando a velocidade

11 11 CD-R Recordable CD Algumas vezes também chamado de CD- WORM Exige um drive diferente que possibilite a gravação Inclui um laser especial que se move a uma velocidade constante Não pode ficar esperando por dados Uma interrupção no processo de gravação pode destruir o CD

12 12 CD-R Base de policarbonato e uma espiral já pré-moldada para a gravação Existe uma camada especial fotossensível que tem a característica de que quando uma luz de um determinado tipo e intensidade de laser é aplicada a ela, ela rapidamente muda sua composição química A área que teve sua composição química alterada reflete menos luz do que as áreas que não tiveram sua composição química alterada

13 13 CD-R Desde que a composição química é alterada fisicamente, as mudanças são permanentes e irreversíveis Técnicas para impedir erros: Buffer: não deixa interromper o fluxo de dados Arquivo de imagem: uma cópia é gerada no HD e depois uma imagem desse arquivo é gravado no CD

14 14 CD-RW Tem um disco mais parecido com o CD-R do que com o CD-ROM Base de policarbonato e uma espiral já pré-moldada para a gravação Várias camadas são aplicadas na superfície do disco, sendo uma onde os dados serão gravados Essa camada é diferente da camada que grava no CD-R

15 15 CD-RW Essa camada é substituída por uma camada especial phase- change composta por um componente químico especial que muda de estado conforme uma energia é aplicada a ela Importante: essa camada pode mudar novamente seu estado Quando esquenta a uma temperatura e depois esfria forma cristalina Reflete mais luz (land) Quando esquenta a uma outra temperatura (mais alta) e depois esfria forma não cristalina Reflete menos luz (pit)

16 16 DVD Nomenclatura Digital Video Disk – para vídeo Digital Versatile Disk – para dados Possui as mesmas aplicações e métodos gerais de armazenamento que CD com a diferença de guardar um maior número de informações Cerca de 7 vezes mais que um CD

17 17 DVD Espiral; Formato (pits e lands); Composição: Várias camadas de plástico Entre as camadas de dentro: alumínio Camadas de fora: ouro

18 18 DVD FormatoCapacidade 1 face, 1 camada 4.38 Gb 1 face, 2 camadas 7.95 Gb 2 faces, 1 camada 8.75 Gb 2 faces, 2 camadas 15.9 Gb

19 19 Formatos de DVD DVD-ROM: similar ao CD-ROM DVD+R e DVD+RW Adotado pelas seguintes empresas: Philips, Sony, Hewlett-Packard, Dell, Ricoh, Yamaha DVD-R e DVD-RW Adotado pelas seguintes empresas: Panasonic, Toshiba, Apple Computer, Hitachi, NEC, Pioneer, Samsung and Sharp DVD+R e DVD-R similares ao CD-R DVD+RW e DVD-RW similares do CD-RW DVD-RAM: igual ao DVD-RW

20 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas A e B Aula 16 – Deadlocks Profa. Sarita Mazzini Bruschi Regina Helena Carlucci Santana Marcos José Santana Slides adaptados de Luciana A. F. Martimiano baseados nos livros Sistemas Operacionais Modernos de A. Tanenbaum

21 21 Deadlocks Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos, etc...; Deadlock: processos ficam parados sem possibilidade de poderem continuar seu processamento;

22 22 Deadlocks eadlock Uma situação de deadlock

23 23 Deadlocks

24 24 Recursos Recursos: objetos acessados, os quais podem ser tanto hardware quanto uma informação Preemptivos: podem ser retirados do processo sem prejuízos; Memória; CPU; Não-preemptivos: não podem ser retirados do processo, pois causam prejuízos; CD-ROM; Unidades de fita; Deadlocks ocorrem com recursos não-preemptivos;

25 25 Recursos Operações sobre recursos/dispositivos: Requisição do recurso; Utilização do recurso; Liberação do recurso; Se o recurso requerido não está disponível, duas situações podem ocorrer: Processo que requisitou o recurso fica bloqueado até que o recurso seja liberado, ou; Processo que requisitou o recurso falha, e depois de um certo tempo tenta novamente requisitar o recurso;

26 26 Recursos Aquisição do recurso Para alguns tipos de recursos, os processos dos usuários gerenciam o uso dos recursos, através, por exemplo, de semáforos Exemplo: acesso a registros em um sistema de banco de dados Se vários processos tentam acessar os mesmos recursos, podem ocorrer situações onde a ordem de solicitação dos recursos pode conduzir ao um deadlock ou não

27 27 Deadlocks Definição formal: Um conjunto de processos estará em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer.

28 28 Deadlocks Quatro condições para que ocorra um deadlock: Exclusão mútua: cada recurso pode estar somente em uma de duas situações: ou associado a um único processo ou disponível; Posse e espera (hold and wait): processos que já possuem algum recurso podem requer outros recursos; Não-preempção: recursos já alocados não podem ser retirados do processo que os alocou; somente o processo que alocou os recursos pode liberá-los; Espera Circular: um processo pode esperar por recursos alocados a outro processo; Todas as condições devem ocorrer para que ocorra um deadlock

29 29 Deadlocks Geralmente, deadlocks são representados por grafos a fim de facilitar sua detecção, prevenção e recuperação Ocorrência de ciclos pode levar a um deadlock;

30 30 Deadlocks Grafos de alocação de recursos a)Recurso R alocado ao Processo A b)Processo B requisita Recurso S c)Deadlock

31 31 Deadlocks Quatro estratégias para tratar deadlocks: 1. Ignorar o problema; 2. Detectar e recuperar o problema; 3. Evitar dinamicamente o problema – alocação cuidadosa de recursos; 4. Prevenir o problema por meio da não satisfação de uma das quatro condições citadas anteriormente;

32 32 Deadlocks (1) Ignorar o problema: Freqüência do problema; Alto custo – estabelecimento de condições para o uso de recursos; UNIX e WINDOWS; Algoritmo do AVESTRUZ;

33 33 Deadlocks (2) Detectar e Recuperar o problema: Processos estão com todos os recursos alocados; Procedimento: Permite que os deadlocks ocorram, tenta detectar as causas e solucionar a situação; Algoritmos: Detecção com um recurso de cada tipo; Detecção com vários recursos de cada tipo; Recuperação por meio de preempção; Recuperação por meio de rollback (volta ao passado); Recuperação por meio de eliminação de processos;

34 34 Ciclo Deadlocks Detecção com um recurso de cada tipo: Construção de um grafo; Se houver ciclos, existem potenciais deadlocks; R S W U T V A C F D B E G Processos: A-G Recursos: R-W Situação: PA usa R e precisa de S; PB precisa de T; PC precisa de S; PD usa U e precisa de S e T; PE usa T e precisa de V; PF usa W e precisa de S; PG usa V e precisa de U; Pergunta: Há possibilidade de deadlock? Nós Arcos alocado precisa

35 35 Deadlocks Detecção com vários recursos de cada tipo: Classes diferentes de recursos – vetor de recursos existentes (E): Se classe1=unidade de fita e E 1 =2, então existem duas unidades de fita; Vetor de recursos disponíveis (A): Se ambas as unidades de fita estiverem alocadas, A 1 =0; Duas matrizes: C: matriz de alocação corrente; C ij : número de instâncias do recurso j entregues ao processo i; R: matriz de requisições; R ij : número de instâncias do recurso j que o processo i precisa;

36 36 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) 4 unidades de fita; 2 plotter; 3 scanner; 1 unidade de CD-ROM Três processos: P 1 usa uma impressora; P 2 usa duas unidades de fita e uma de CD-ROM; P 3 usa um plotter e dois scanners; Cada processo precisa de outros recursos (R); Recursos UF P S UCD C = Matriz de alocação P1P1 P2P2 P3P3 UF P S UCD R = Matriz de requisições P1P1 P2P2 P3P3 UF P S UCD

37 37 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) P 3 pode executar A = ( ) C = Matriz de alocação P1P1 P2P2 P3P3 R = Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotter; 3 scanners; 1 unidade de CD-ROM Requisições: P 1 requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e um scanner; P 3 requisita duas unidades de fita e um plotter;

38 38 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) P 3 pode executar A = ( ) C = Matriz de alocação P1P1 P2P2 P3P3 R = Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotter; 3 scanners; 1 unidade de CD-ROM Requisições: P 1 requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e um scanner; P 3 requisita duas unidades de fita e um plotter;

39 39 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) A = ( ) P 2 pode executar A = ( ) C = Matriz de alocação P1P1 P2P2 P3P3 R = Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotter; 3 scanners; 1 unidade de CD-ROM Requisições: P 1 requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e um scanner; P 3 requisita duas unidades de fita e um plotter;

40 40 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) A = ( ) P 2 pode executar A = ( ) C = Matriz de alocação P1P1 P2P2 P3P3 R = Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotter; 3 scanners; 1 unidade de CD-ROM Requisições: P 1 requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e um scanner; P 3 requisita duas unidades de fita e um plotter;

41 41 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) A = ( ) A = ( ) P 1 pode executar C = Matriz de alocação P1P1 P2P2 P3P3 R = 0 0 Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotter; 3 scanners; 1 unidade de CD-ROM Requisições: P 1 requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e um scanner; P 3 requisita duas unidades de fita e um plotter;

42 42 Deadlocks Recursos existentes E = ( ) Recursos disponíveis A = ( ) C = 0 0 Matriz de alocação P1P1 P2P2 P3P3 R = 0 0 Matriz de requisições P1P1 P2P2 P3P3 Ao final da execução, temos: 4 unidades de fita; 2 plotters; 3 scanners; 1 unidade de CD-ROM

43 43 Deadlocks – Situação 1 Recursos existentes E = ( ) Recursos disponíveis A = ( ) P 3 pode executar A = ( ) Requisições: P 2 requisita duas unidade de fita, um scanner e uma unidade de CD-ROM; C = Matriz de alocação P1P1 P2P2 P3P3 R = Matriz de requisições P1P1 P2P2 P3P3 4 unidades de fita; 2 plotters; 3 scanners; 1 unidade de CD-ROM Nessa situação, nenhum processo pode ser atendido! DEADLOCK

44 44 Deadlocks Detecção com vários recursos de cada tipo: Para esse algoritmo, o sistema, geralmente, procura periodicamente por deadlocks; CUIDADO: Evitar ociosidade da CPU quando se tem muitos processos em situação de deadlock, poucos processos estão em execução;

45 45 Deadlocks Recuperação de Deadlocks: Por meio de preempção: possibilidade de retirar temporariamente um recurso de seu atual dono (processo) e entregá-lo a outro processo; Por meio de rollback: recursos alocados a um processo são armazenados em arquivos de verificação; quando ocorre um deadlock, os processos voltam ao estado no qual estavam antes do deadlock solução cara;

46 46 Deadlocks Recuperação de Deadlocks: Por meio de eliminação de processos: processos que estão no ciclo com deadlock são retirados do ciclo; Melhor solução para processos que não causam algum efeito negativo ao sistema; Ex1.: compilação – sem problemas; Ex2.: atualização de um base de dados – problemas;

47 47 Deadlocks (3) Evitar dinamicamente o problema: Alocação individual de recursos à medida que o processo necessita; Soluções também utilizam matrizes; Escalonamento cuidadoso alto custo; Conhecimento prévio dos recursos que serão utilizados; Algoritmos: Banqueiro para um único tipo de recurso; Banqueiro para vários tipos de recursos; Definição de Estados Seguros e Inseguros;

48 48 Deadlocks Estados seguros: não provocam deadlocks e há uma maneira de atender a todas as requisições pendentes finalizando normalmente todos os processos; A partir de um estado seguro, existe a garantia de que os processos terminarão; Estados inseguros: podem provocar deadlocks, mas não necessariamente provocam; A partir de um estudo inseguro, não é possível garantir que os processos terminarão corretamente;

49 49 Deadlocks Algoritmos do Banqueiro: Idealizado por Dijkstra (1965); Considera cada requisição no momento em que ela ocorre, verificando se essa requisição leva a um estado seguro; Se sim, a requisição é atendida, se não o atendimento é adiado para um outro momento; Premissas adotadas por um banqueiro (SO) para garantir ou não crédito (recursos) para seus clientes (processos); Nem todos os clientes (processos) precisam de toda a linha de crédito (recursos) disponível para eles;

50 50 Deadlocks Algoritmo do Banqueiro para um único tipo de recurso: A C D B A C* D B A C D B Máximo de linha de crédito = 22 Possui Livre: 10Livre: 1Livre: 2 Seguro Inseguro Solicitações de crédito são realizadas de tempo em tempo; * C é atendido e libera 4 créditos, que podem ser usados por B ou D;

51 51 Deadlocks Algoritmo do Banqueiro para um único tipo de recurso: A C D B A C D B A C D B* Máximo de linha de crédito = 22 Possui Livre: 10Livre: 1Livre: 2 Seguro Inseguro Solicitações de crédito são realizadas de tempo em tempo; * B é atendido. Em seguida os outros fazem solicitação, ninguém poderia ser atendido;

52 52 Deadlocks Algoritmo do Banqueiro para vários tipos de recursos: Mesma idéia, mas duas matrizes são utilizadas; C = Recursos Alocados Processos Unidade de Fita Plotters Impressoras A C D B Unidade de CD-ROM E0000 R = Recursos ainda necessários A C D B E2110 Recursos E = ( ); Alocados P = ( ); Disponíveis A = ( );

53 53 Deadlocks Algoritmo do Banqueiro para vários tipos de recursos: C = Recursos Alocados Processos Unidade de Fita Plotters Impressoras A C D B Unidade de CD-ROM E0000 R = Recursos ainda necessários A C D B E2110 Alocados P = ( ); Disponíveis A = ( ); - Podem ser atendidos: D, A ou E, C;

54 54 Deadlocks Algoritmo do Banqueiro para vários tipos de recursos: C = Recursos Alocados Processos Unidade de Fita Plotters Impressoras A C D B Unidade de CD-ROM E0010 R = Recursos ainda necessários A C D B E2100 Alocados P = ( ); Disponíveis A = ( ); Deadlock atender o processo E; Solução: Adiar a requisição de E por alguns instantes;

55 55 Deadlocks Algoritmo do Banqueiro: Desvantagens Pouco utilizado, pois é difícil saber quais recursos serão necessários; Escalonamento cuidadoso é caro para o sistema; O número de processos é dinâmico e pode variar constantemente, tornando o algoritmo custoso; Vantagem Na teoria o algoritmo é ótimo;

56 56 Deadlocks Prevenir Deadlocks: Atacar uma das quatro condições: Exclusão MútuaAlocar todos os recursos usando um spool Posse e EsperaRequisitar todos os recursos inicialmente para execução – difícil saber; sobrecarga do sistema Não-preempçãoRetirar recursos dos processos – pode ser ruim dependendo do tipo de recurso; praticamente não implementável Espera CircularOrdenar numericamente os recursos, e realizar solicitações em ordem numérica Permitir que o processo utilize apenas um recurso por vez CondiçãoAbordagem

57 57 Deadlocks Deadlocks podem ocorrer sem o envolvimento de recursos, por exemplo, se semáforos forem implementados erroneamente;.. down(&empty); down(&mutex); down(&mutex); down(&empty);.... Inanição (Starvation) Todos os processos devem conseguir utilizar os recursos que precisam, sem ter que esperar indefinidamente; Alocação usando FIFO;

58 58 Deadlocks semaphore resource_1; semaphore resource_2; void Process_A (void){ down(&resource_1); down(&resource_2); use_both_resources(); up(&resource_2); up(&resource_1); } void Process_B (void){ down(&resource_2); down(&resource_1); use_both_resources(); up(&resource_1); up(&resource_2);} semaphore resource_1; semaphore resource_2; void Process_A (void){ down(&resource_1); down(&resource_2); use_both_resources(); up(&resource_2); up(&resource_1); } void Process_B (void){ down(&resource_1); down(&resource_2); use_both_resources(); up(&resource_1); up(&resource_2);} Potencial deadlock Livre de deadlock


Carregar ppt "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas."

Apresentações semelhantes


Anúncios Google