Processos e Threads Capítulo 2
Transcrição
Processos e Threads Capítulo 2
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 * Todo semáforo deve possuir dois métodos: P e V, que têm sua origem das palavras parsen (passar) e e vrygeren (liberar). Esta definição de semáforo foi proposta por Dijkstra para evitar o tão temido DeadLock Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 30 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 31 * No Java, ACQUIRE (lock) e RELEASE (unlock) Pearson Education Sistemas Operacionais Modernos – 2ª Edição 32 EXEMPLO Pearson Education Sistemas Operacionais Modernos – 2ª Edição 33 EXEMPLO Pearson Education Sistemas Operacionais Modernos – 2ª Edição 34 EXERCÍCIO Fazer uma aplicação que gerencie a figura abaixo: Para tal, usar uma variável global sentido, que será alterado pela Thread que controla cada carro com a movimentação do carro. Quando a Thread tiver a possibilidade de ser executada, ela deve imprimir em console o sentido que o carro está passando. Só pode passar um carro por vez no cruzamento. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 35 EXERCÍCIO Você foi contratado para automatizar um treino de Fórmula 1. As regras estabelecidas pela direção da provas são simples: “No máximo 5 carros das 7 escuderias (14 carros no total) presentes podem entrar na pista simultaneamente, mas apenas um carro de cada equipe. O segundo carro deve ficar à espera, caso um companheiro de equipe já esteja na pista. Cada piloto deve dar 3 voltas na pista. O tempo de cada volta deverá ser exibido e a volta mais rápida de cada piloto deve ser armazenada para, ao final, exibir o grid de largada, ordenado do menor tempo para o maior.” Pearson Education Sistemas Operacionais Modernos – 2ª Edição 36