Trincos Lógicos: Implementações. Trincos lógicos: Propriedades
|
|
|
- Nathalia Sequeira
- 6 Há anos
- Visualizações:
Transcrição
1 Trincos Lógicos: Implementações Algorítmicas Hardware Sistema Operativo Trincos lógicos: Propriedades Exclusão mútua Progresso (liveness) Ausência de interblocagem (deadlock) Ausência de míngua (starvation) Page 1 1
2 Proposta #1 int trinco = ABERTO; fechar() { while (trinco == FECHADO) ; trinco = FECHADO; abrir() { trinco = ABERTO; Qual a propriedade que não é garantida? Proposta #2 int vez = 1; t1_fechar() { while (vez == 2) ; t1_abrir() { vez = 2; t2_fechar() { while (vez == 1) ; t2_abrir() { vez = 1; Qual a propriedade que não é garantida? Page 2 2
3 Proposta #3 int t1_quer_entrar = FALSE, t2_quer_entrar = FALSE; t1_fechar() { while (t2_quer_entrar == TRUE) ; t1_quer_entrar = TRUE; t1_abrir() { t1_quer_entrar = FALSE; /* t2 -> simetrico */ Qual a propriedade que não é garantida? Proposta #4 int t1_quer_entrar = FALSE, t2_quer_entrar = FALSE; t1_fechar() { t1_quer_entrar = TRUE; while (t2_quer_entrar == TRUE) ; t1_abrir() { t1_quer_entrar = FALSE; /* t2 -> simetrico */ Porque motivo é garantida a exclusão mútua? Qual a propriedade que não é garantida? Page 3 3
4 int trinco_t1 = ABERTO; int trinco_t2 = ABERTO; int tar_prio = 1; Algoritmo de Peterson t1_fechar () { T2 é mais prioritária A1: trinco_t1 = FECHADO; B1: tar_prio = 2; C1: while (trinco_t2 == FECHADO && tar_prio == 2); t1_abrir () {trinco_t1 = ABERTO; T1 pretende aceder à secção crítica t2_fechar () { A1: trinco_t2 = FECHADO; B1: tar_prio = 1; C1: while (trinco_t1 == FECHADO && tar_prio == 1); t2_abrir () {trinco_t2 = ABERTO; Algoritmo de Lamport (Bakery) int senha[n]; // Inicializado a 0 int escolha[n]; // Inicializado a FALSE senha contém o número da senha atribuído à tarefa escolha indica se a tarefa está a pretender aceder à secção crítica Fechar (int i) { int j; escolha[i] = TRUE; senha [i] = 1 + maxn(senha); escolha[i] = FALSE; Pi indica que está a escolher a senha Escolhe uma senha maior que todas as outras Anuncia que escolheu já a senha Pi verifica se tem a menor senha de todos os Pj for (j=0; j<n; j++) { if (j==i) continue; while (escolha[j]) ; while (senha [j] && (senha [j] < senha [i]) (senha [i] == senha [j] && j < i))); Se Pj estiver a escolher uma senha, espera que termine Neste ponto, Pj ou já escolheu uma senha, ou ainda não escolheu Se escolheu, Pi vai ver se é menor que a sua Se não escolheu, vai ver a de Pi e escolher uma senha maior Abrir (int i) {senha [i] = 0; Se a senha de Pi for menor, Pi entra Se as senhas forem iguais, entra o que tiver o menor identificador Page 4 4
5 Conclusão: Soluções Algorítmicas Complexas Latência Só contemplam espera activa Solução: Introduzir instruções hardware para facilitar a solução Soluções com Suporte do Hardware Abrir( ) e Fechar( ) usam instruções especiais oferecidas pelos processadores: Inibição de interrupções Exchange (xchg no Intel) Test-and-set (cmpxchg no Intel) Page 5 5
6 ExclusãoMútuacom Inibição de Interrupções int mascara; Fechar_hard () { mascara = mascarar_int (); Abrir_hard () { repoe_int (mascara); Este mecanismosódeveserutilizadodentrodo sistema operativo em secções críticas de muito curta duração inibição das interrupções impede que se executem serviços de sistema(i/o, etc) se o programase esquecerde chamarabrir(), as interrupções ficam inibidas e o sistema fica parado Não funciona em multiprocessadores Inibição das Interrupções não Funciona em Multiprocessadores Tarefa T1 dentro da região crítica Tarefa T2 dentro da região crítica Tarefa T1 executa Fechar_hard Tarefa T2 executa Fechar_hard t1 Inibiç ão das interrupç ões t2 Inibição das interrupções t do processador Proc1 do processador Proc2 Page 6 6
7 Test-and-Set ABERTO EQU 0 ; ABERTO equivale ao valor 0 FECHADO EQU 1 ; FECHADO equivale ao valor 1 Fechar_hard: L1: MOV AX, 0 ; AX é inicializado com o valor 0 (ABERTO) BTS trinco, AX ; testa se trinco e AX são iguais JC L1 ; a carry flag fica com o valor inicial do trinco ; se carry flag ficou a 1, trinco estava FECHADO ; implica voltar a L1 e tentar de novo ; se carry flag ficou a 0, trinco estava ABERTO RET ; trinco fica a 1 (FECHADO) Abrir_hard: MOV MOV RET AX, ABERTO trinco, AX XCHG ABERTO EQU 0 ; ABERTO equivale ao valor 0 FECHADO EQU 1 ; FECHADO equivale ao valor 1 trinco DW 0 ; trinco com valor inicial ABERTO Fechar_hard: MOV AX, FECHADO L1: XCHG AX, trinco CMP AX, ABERTO ; compara o valor de AX com 0 JNZ L1 ; se AX é diferente de zero volta para L1 RET Abrir_hard: MOV AX, ABERTO MOV trinco, AX RET a instrução XCHG assegura que o trinco fica fechado: pois escreveu o valor um (que estava no registo AX) na posição de memória trinco (bus trancado) qualquer outra tarefa que posteriormente execute a instrução cmp AX,ABERTO vai detectar que o valor do trinco é um (está fechado) Page 7 7
8 XCHG em Multiprocessadores Instante 1 Instante 2 P1 P1 inicia exchange e tranca o bus P1 completa exchange e tranca a secção crítica P2 P2 tenta fazer exchange mas bloqueia-se a tentar obter o bus Instante 3 P1 entra secção crítica P2 verifica que o trinco está trancado e fica em espera activa CPU CPU CPU CPU Cache Cache Cache Cache bus Memoria IO Soluções com Suporte do Hardware Conclusão: Oferecem os mecanismos básicos para a implementação da exclusão mútua, mas... Algumas não podem ser usadas directamente por programas em modo utilizador e.g., inibição de interrupções Outras só contemplam espera activa e.g., exchange, test-and-set Page 8 8
9 Soluções com Suporte do SO Primitivas de sincronização são chamadas ao SO: Software trap (interrupção SW) Comutação para modo núcleo Estruturas de dados e código de sincronização pertence ao núcleo Usao suporte de hardware (exch. / test-and-set) Veremos duas primitivas de sincronização: Trincos Semáforos Soluções com Suporte do SO Vantagens (intuitivas): se SO souber quais processos estão à espera de secção crítica, nem sequer lhes dá tempo de processador evita-se a espera activa! Soluções hardware podem ser usadas, mas pelo código do SO: dentro das chamadas sistema que suportam o abrir(), fechar(), etc. Page 9 9
10 Diagrama de Estado dos Processos / Tarefas Em Execução Seleccionado pelo Despacho Retirado pelo Despacho Bloqueado num Trinco ou Semáforo Executável Bloqueado Desbloqueado Estruturasde Dados Associadas aos Trincos Trinco t Bit trinco Fila de procs./tarefas bloqueadas Processos ou tarefas bloqueados no Trinco t Page 10 10
11 Funções do trinco (mutex) trinco_t = t; t.var=aberto; // trinco inicialmente ABERTO t.numtarefasbloqueadas = 0; Retirar tarefa de execução Salvaguardar o seu contexto Marcar o seu estado como bloqueada Colocar a estrutura de dados que descreve a tarefa na fila de espera associada ao trinco Invocar o algoritmo de escalonamento Fechar_mutex (trinco_t t) { Fechar_hard(t); if (t.var == FECHADO){ numtarefasbloqueadas++; Abrir_hard(t); bloqueia_tarefa(); else { t.var = FECHADO; Abrir_hard(t); Abrir_mutex (trinco_t t) { Fechar_hard(t); if (numtarefasbloqueadas > 0) {desbloqueia_tarefa(); numtarefasbloqueadas--; else t.var = ABERTO; Abrir_hard(t) Este 8/9/2006 programa concorrente está errado! Sistemas É Operativos necessário DEI - ISTassegurar que variáveis partilhadas são acedidas em exclusão mútua Existem tarefas bloqueadas Marcar o estado de uma delas como executável Retirar a estrutura de dados que descreve a tarefa da fila de espera associada ao trinco 8/9/2006 Funções do trinco (mutex) trinco_t = t; t.var=aberto; // trinco inicialmente ABERTO t.numtarefasbloqueadas = 0; Fechar_mutex (trinco_t t) { Fechar_hard(t); if (t.var == FECHADO){ numtarefasbloqueadas++; Abrir_hard(t); bloqueia_tarefa(); else { t.var = FECHADO; Abrir_hard(t); Abrir_mutex (trinco_t t) { Fechar_hard(t); if (numtarefasbloqueadas > 0) {desbloqueia_tarefa(); numtarefasbloqueadas--; else t.var = ABERTO; Abrir_hard(t) É necessário assegurar exclusão mútua no acesso aos atributos do trinco Qual a diferença entre a exclusão mútua no acesso aos atributos do trinco e a exclusão mútua que o trinco assegura? Page 11 11
12 Espera activa com e sem suporte do núcleo T1 Secção Crítica Abrir(mutex) Solução sem suporte do núcleo T2 Espera activa Fechar(mutex) Secção Crítica Solução com suporte do núcleo T2 Fechar(mutex) Fechar_hard(t) Bloqueada Secção Crítica Page 12 12
LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos
Nome: Número: LEIC/LERC 008/09 Primeiro Teste de Sistemas Operativos de Novembro de 008 Duração: h0m Identifique o cabeçalho de todas as folhas da prova. O teste é resolvido no espaço dedicado ao efeito
Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão
Sistemas Operativos Escalonamento e sincronização Rui Maranhão ([email protected]) Benefícios da Multiprogramação maximiza o tempo de utilização do CPU utilização do CPU = 1 - p n n é o número de processos
Sistemas Operacionais
Sistemas Operacionais Processos Exclusão Mútua Mecanismos para se Obter Exclusão MútuaM Mecanismos de Hardware: Inibição de Interrupções Instrução TSL (Test and Set Lock) Mecanismos de Software: Com Espera
Sistemas Operativos. IST - LEIC - 1º Semestre. Autoria. estes transparentes: Page 1
Sistemas Operativos IST - LEIC - 1º Semestre Paulo Ferreira - INESC/IST 1 Autoria estes transparentes: são baseados no livro Fundamentos de Sistemas Operativos, de José Alves Marques e Paulo Guedes, Editorial
Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)
2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal [email protected] http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos
Sistemas Operacionais: Sincronização entre processos
Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:
Exclusão Mútua (mutex)
2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal [email protected] Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)
Sistemas Operacionais II
O problema da seção crítica... Instituto de Informátic ca - UFRGS Sistemas Operacionais II Exclusão mútua (implementação) Aula 04 Seção crítica Porção de código que não pode ser executado por dois ou mais
Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa
Concorrência Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Compartilhamento de recursos globais. Gerência de alocação de recursos. Localização de erros de programação
Programação Concorrente Locks
Programação Concorrente Prof. Eduardo Alchieri Variáveis do tipo trava (lock) Lock: É um mecanismo de sincronização de processos/threads, em que processos/threads devem ser programados de modo que seus
Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução
Sistemas Operativos Objetivo O objetivo deste questionário é levá-lo a rever os conceitos básicos dos sistemas operativos, bem como os algoritmos de scheduling e mecanismos de sincronização estudados.
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento
Sincronização. Objectivos da aula de hoje
Sincronização Parte II Programação Concorrente Objectivos da aula de hoje Como resolver problemas mais complexos de sincronização Produtores-consumidores, leitores-escritores, jantar dos filósofos Como
LEIC/LERC 2009/10 1º Teste de Sistemas Operativos
Número: Nome: LEIC/LERC 2009/10 1º Teste Sistemas Operativos 14 Novembro 2009 Responda no enunciado, apenas no espaço fornecido. Intifique todas as folhas. Duração: 1h30m Grupo I [4,1 v.] 1. [0,5 v] Relativamente
Sistemas Operacionais
Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Introdução à Programação Concorrente Aula 05 Em sistemas multiprogramados há interação entre processos para comunicação, que
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1203 - SISTEMAS OPERATIVOS 2º Semestre 2005/2006 27/7/2007 Resolução 1. Identifique três situações em que ocorra uma transição do modo de execução utilizador
LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos
Nome: Número: LEIC/LERC 2008/09 Repescagem do Primeiro Teste de Sistemas Operativos Identifique o cabeçalho de todas as folhas da prova. 10 de Fevereiro de 2009 Duração: 1h30m O teste é resolvido no espaço
Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados
Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo
Programação Concorrente. Prof. Hugo Vieira Neto
Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas
Sincronização. Cooperação entre Processos
Sincronização Parte II Programação Concorrente Cooperação entre Processos Vários processos executam em conjunto uma ou mais tarefas, nas quais Competem por recursos Indicam uns aos outros a: Ausência/existência
LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012
Número: Nome: LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m
LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos
Número: Nome: LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos 2 de Fevereiro de 2010 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
LEIC/LERC 2010/11 1º Teste de Sistemas Operativos
Número: Nome: LEIC/LERC 2010/11 1º Teste de Sistemas Operativos 13 de Novembro de 2010 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [6,8 v.] 1.
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação Profa: Simone Martins Gabarito - Lista 2 1 Considere um protótipo de uma máquina, utilizado
Grupo I [7 Val] 1. Considere os seguintes 3 algoritmos de escalonamento num sistema operativo de tempo virtual:
Número: Nome: LEIC/LERC 2012/13-1º Teste de Sistemas Operativos 24 de Novembro de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Justifique todas as respostas. Duração:
Arquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo
Programação Concorrente e Paralela. Noemi Rodriguez
2016 o que é programação concorrente e paralela? programação concorrente: composição de linhas de atividades independentes programação paralela: execução simultânea de linhas de atividades Go blog (Rob
Sistemas Distribuídos Aula 5
Sistemas Distribuídos Aula 5 Aula passada Sincronização Race condition Região crítica Locks Algoritmo de Peterson Aula de hoje Atomicidade test-and-set Locks revisitado Semáforos Dois problemas Atomicidade
Sistemas Operativos: Concorrência
Sistemas Operativos: Concorrência Pedro F. Souto ([email protected]) March 16, 2012 Sumário Race Conditions e Secções Críticas Exclusão Mútua via Programação Exclusão Mútua via Inibição de Interrupções. Locks
Comunicação entre Processos
Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira [email protected] http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos
( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011
Aluno(a) : A avaliação terá a duração de uma hora, portanto, seja objetivo nas respostas e procure não perder tempo. A prova deverá ser realizada sem rasuras e com caneta azul ou preta. Eventuais questões
Comunicação entre processos (2)
Comunicação entre processos (2) Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para [email protected] Prazo: dia 02 de abril 2 Aula passada Comunicação entre processos é útil
Sincronização de Processos (2)
Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Sistemas Distribuídos Aula 7
Sistemas Distribuídos Aula 7 Aula passada Atomicidade Test-and-set Locks revisitado Semáforos Dois problemas Aula de hoje Limitação dos semáforos Monitores Variáveis de condição Semântica do signal Sincronização
Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 7. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS: 7.1 Introdução; 7.2 Aplicações Concorrentes;
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma
Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)
Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente
Prof. Silvana Rossetto 9 de julho de DCC/IM/UFRJ
Computação Concorrente (MAB117) Gabarito Segunda Prova Prof. Silvana Rossetto 9 de julho de 2015 1 DCC/IM/UFRJ Questão 1 (2,5 pts) O código Java abaixo implementa uma solução para o problema do barbeiro
Sistemas Operativos. Processos cooperantes e processos independentes
Processos (complementos) Processos cooperantes e processos independentes! Os processos que se executam de forma concorrente podem ser: Cooperantes podem afectar ou ser afectados pela execução de outros
Sincronização e comunicação entre processos
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com
Sistemas Operacionais
Sistemas Operacionais Processos - Parte 2 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 2) 1 / 33 (Processos - Parte 2) 2 / 33 (Processos - Parte 2) 3 / 33 (Processos - Parte 2) 4 / 33 (Processos
Comunicação entre processos
Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Comunicação entre processos Macilon Araújo Costa Neto [email protected] Capítulo 2 do livro do
Função Fundamental do SO
Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a
Problema do Produtor -Consumidor. Solução por semáforos
Problema do Produtor -Consumidor Solução por semáforos Autoria Autores alunos da disciplina SO II Local Instituto de Informática UFRGS Versão v7 agosto de 2008 por C. Geyer Visão geral do assunto...2 Conceito...3
Sistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto [email protected] Fundamentos Paradigma do produtor-consumidor Sincronização de Processos Produtor while (count == BUFFER_SIZE) ; //no-op //adiciona
Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Sistemas Operacionais. Condição de corrida e Região crítica
Sistemas Operacionais Condição de corrida e Região crítica Região Crítica Parte do código que acessa a área compartilhada Condição em que dois processos lêem e escrevem um dado compartilhado e o resultado
Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28
Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 28 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência 2 / 28 Multiprogramação
Sistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Capítulo 2 Processos e Threads
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 1 Processos O Modelo de Processo Multiprogramação de quatro programas
Problema dos Leitores/Escritores
Sincronização: Semáforos Problema dos Leitores/Escritores Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina: Sistemas Operacionais
Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão
Entradas/Saídas Programação por interrupções Conceitos gerais Programação da porta série Transmissão Problemas a resolver Como identificar a interrupção? Motivo da interrupção Que rotina executar? Como
Tipos de Soluções (cont.)
Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância
Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1
Concorrência Sistemas Distribuídos e Tolerância a Falhas Lia Ribeiro 1 Índice Consistência Atómica e sequencial Serializability Controle de concorrência One copy Serializability 2 Exclusão Mútua Técnica
