Sistemas Operacionais
|
|
|
- Teresa Philippi Lisboa
- 7 Há anos
- Visualizações:
Transcrição
1 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 pode ser feita via compartilhamento de memória/arquivos evitar inconsistências i i de acesso compartilhado executar de ações de forma ordenada e determinística Concorrência Processos (threads) disputam recursos do sistema (no mínimo a ) Processos (threads) )podem afetar ou serem afetadas por outra Programação concorrente assíncrona Atividades podem ser interrompidas sem aviso prévio e de forma não determinística ti Dois problemas abordados: exclusão mútua e sincronização Sistemas Operacionais I Condição de corrida (race condition) ) Exemplo: reserva assentos em avião Situação onde o resultado final depende da ordem em que processos (threads) são executados Ocorre quando há acesso compartilhado em leitura-escrita ou escrita A ordem de execução é afetada pelo escalonamento P 1 P 1 n C 3 4. n 3D. Exemplo: reserva de assentos em avião int reservaassento() { int n; Mas é se acontecesse isso P 1 1 n C 4 3 P. n C Sistemas Operacionais I 3 Sistemas Operacionais I 4
2 Seção e exclusão mútua O problema do assento de avião revisitado Seção Trecho de código que não pode ser executado por dois ou mais processos simultaneamente sob pena de inconsistência de dados Gera condição de corrida em acessos em escrita a recursos compartilhados Exclusão mútua Consiste em garantir que se um processo está usando um recurso compartilhado os outros processos estão impedidos de fazê-lo Como garantir? Criando mecanismos para P 1 entra na seção P 1 sai da seção exclusão mútua. P 1 P sai da Entrar na SC seção Seção (SC) P Sair da SC P tenta entrar Bloqueado na seção Sistemas Operacionais I 5 int reservaassento() { int n; <Entrar na SC> <Sair da SC> P P 1 1 <Entrar na SC> <Entrar na SC> (estado bloqueado) 4 n C 3 6 <Sair da SC> 5 <Sair da SC> n 3D (estado apto ou bloqueado) Sistemas Operacionais I 6 Propriedades para mecanismos de exclusão mútua Como implementar primitivas de exclusão mútua? Exclusão mútua Dois ou mais processos não podem estar simultaneamente na seção Progressão Um processo fora da seção não pode impedir outro de entrar nela Espera limitadait Um processo não pode ficar esperando eternamente para entrar na seção Suposições Nenhuma suposição pode ser feita sobre a velocidade relativa de execução dos processos, nem de número de processadores Processo ou thread Com suporte de hardware Baseado em habilitação/desabilitação de interrupções Instruções atômicas (test-and-sett d t e swap) ) Sem suporte de hardware, i.é, em software puro Variáveis do tipo trava (lock) Algoritmo de Dekker Algoritmo de Peterson Algoritmo de Lamport Procedural Baseado em suporte por compiladores (monitores) Contexto de INF0114 Contexto de INF01151 Sistemas Operacionais I 7 Sistemas Operacionais I 8
3 Desabilitação de interrupções Variáveis do tipo trava (lock) Mecanismo em hardware (instruções do processador) Só há troca de contexto com a ocorrência de interrupções de hardware Conclusão de E/S, violação de proteção, temporização Problemas: Poder demais para um usuário!! Risco de perda de eventos Não funciona em multiprocessador/multicore, pois apenas a que realiza a instrução é afetada CLI; Desliga interrupções Seção STI; Ativa interrupções Sistemas Operacionais I 9 uto de Info rissimi -15-ago- Institu A. Car Mecanismo em software Uso de uma variável compartilhada que armazena dois estados Livre e ocupado while (flag == 1); flag = 1; flag = 0 Seção Problema: Viola a propriedade de exclusão mútua Condição de corrida na primitiva de entrada Solução: Fazer com que o while e a atribuição sejam feitas de forma indivisível com auxílio do hardware. Sistemas Operacionais I 10 Instruções especiais Uso de TSL para implementar variáveis do tipo trava (lock)) Mecanismo em hardware Processadores são projetados para uso em ambientes de programação concorrente Instruções assembly para leitura e escrita em posições de memória de forma atômica (indivisível). SWAP: swap (a, b) Executa a permutação de valores Compare and Store: cas r1, mem Copia o valor de uma posição de memória para um registrador interno e escreve nela o valor 1 Test and Set Lock: tst registrador, mem Lê o valor de uma posição de memória e coloca nela um valor não zero Intel x86 possuem a instrução assembly XCHG (xchg register,mem) - A. Car rissimi -15-août- Solução baseada em instruções especiais Variável para indicar uso da seção (livre:0; ocupado 0) Duas primitivas: iti lock(flag) ) e unlock (flag) Problemas: lock_t flag=0; lock(flag); Seção unlock(flag); entrada_seçao: tst register,flag cmp register,0 jnz entrada_seção saida_seção: mov flag,0 Inversão de prioridade Desperdício de tempo de processamento (spinlock ou trava giratória) Travamento, se não houver interrupção de tempo (livelock) Sistemas Operacionais I 11 Sistemas Operacionais 1
4 Inversão de prioridades Soluções para inversão de prioridade Uma thread de mais baixa prioridade impede a progressão de uma thread de mais alta prioridade Menos prioritário Mais prioritário lock(m) Troca de processo/thread unlock(m) lock(m) Para piorar: Outros processos/threads Situações indesejadas: Bloqueado ou fazendo busy wait (até quando?) thread ou processo Teto para prioridade (priority ceiling) Aumento da prioridade de uma thread para um valor pré-determinado sempre que ela adquirir uma trava (lock) Teto deve ser maior que a prioridade da maior thread Na liberação (unlock) a thread orna a sua prioridade original Herança (priority inheritance) A prioridade da thread que detém a trava é elevada ao nível da thread mais prioritária que solicita o recurso Elevação da prioridade só ocorre se houver risco de conflito Na liberação (unlock) a thread orna a sua prioridade original Sistemas Operacionais I 13 Sistemas Operacionais I 14 O problema da espera ativa Uma nova versão para lock e unlock Espera ativa ou busy wait Ficar testar testando continuamente se a variável de entrada (flag) foi liberada Desperdício de tempo de processamento Solução: Bloquear o processo (thread) até que alguém libere a seção Oferecido por primitivas mais elaboradas que fazem sleep: bloqueia um processo a espera de um recurso* Executado no lock quando o recurso não estão disponível wakeup: desbloqueia o processo que esperava por um recurso Executado no unlock, na liberação do recurso, quando há alguém a espera Recurso (caso particular) = seção Funciona? lock_t flag=0; lock(flag); Seção unlock(flag); lock: tst register,flag cmp register,0 jnz entra call sleep jmp lock entra: unlock: mov flag,0 call wakeup Sistemas Operacionais I 15 Sistemas Operacionais I
5 Semáforos Primitivas P(s) e V(s) Proposto por Dijkstra (1965) Mecanismo para contar o número de sinais de acordar para uso futuro Semáforo é um tipo abstrato de dados: Um valor inteiro: contabiliza o número de sinais de acordar Fila: processos que esperam sinal de acordar associado a este semáforo Duas primitivas: P (Proberen, testar) similar ao sleep V (Verhogen, incrementar) similar ao wakeup Disponibilizadas para a usuários (programas as aplicativos) Introduzidos a primeira vez em Algol 68 com os nomes down e up. Primitiva P: decrementa o valor inteiro e testa se menor que zero Sim: processo é posto para dormir (sleep) sem continuar a operação P Não: segue adiante Primitiva V: incrementa o valor inteiro e verifica se tem processos esperando no semáforo Sim: um é escolhido para continuar a operação P que iniciou previamente Não: segue adiante P(s): s.valor = s.valor 1; se s.valor < 0 { Insere processo P em s.fila Bloqueia processo P (sleep); V(s): s.valor = s.valor + 1 se s.valor <=0 { Retira um processo P de s.fila; Acorda processo P (wakeup); IMPORTANTE: atentar para as seções s na implementação de P(s) e V(s). As ações são feitas de forma indivisível para evitar condições de corrida Sistemas Operacionais I 17 Sistemas Operacionais I 18 Tipos e empregos de semáforos Leituras complementares Dependendo dos valores assumidos por s.valor Semáforos binários: s.valor = 1 Semáforos contadores: s.valor = n Emprego: Exclusão mútua: semáforos binários Controle de recursos: semáforos contadores Sincronização entre processos É isto que diferencia de travas (locks) Garantir que um processo pode prosseguir após uma condição se tornar verdadeira A. Tanenbaum. Sistemas Operacionais Modernos (3 a edição), Pearson Brasil, 010. Capítulo : seções a A. Silberchatz, P. Galvin; Sistemas Operacionais. (7 a edição). Campus, 008. Capítulo 6 (seções 6.1, 6., 6.4, 6.5 e 6.7) R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Bookman 4 a edição, 010 Capítulo 3 (seções 3.1 a 3.7 e 3.10) Muito mais sobre semáforos (e outras primitivas) em INF01151 Sistemas Operacionais II Sistemas Operacionais I 19 Sistemas Operacionais I 0
6 Mas, espera ativa nem sempre é um problema O caso Missão Mars pathfinder: robô sojourner Em multiprocessadores (multicore) o busy wait pode ser interessante Há outro processador para liberar o recurso O custo de chaveamento pode não compensar (relação com o tamanho da seção ) Porém viola a regra sobre fazer suposições sobre processadores Possibilidade: primitiva trylock Faz busy wait por um período de tempo, se durante esse período o mutex não tiver sido liberado bloqueia (sleep) O programador escolhe entre trylock e lock Problema é dimensionar o período de tempo Compromisso entre o tamanho da seção, tempo de chaveamento de contexto e tempo estimado de espera O problema: A sonda, depois de algum tempo da missão iniciou, de forma não determinística, a fazer resets e se autoinicializar. A cada reset, os dados coletados e não transmitidos eram perdidos. Sistemas Operacionais I 1 Sistemas Operacionais I O problema do robô sojourner Uma nova versão para lock e unlock Thread 1: controle do barramento (alta prioridade) Transferência de dados de controle em um barramento de informações Thread : transmissão de dados (média prioridade) Thread 3: coleta de dados meteorológicos (baixa prioridade) Coleta dados meteorológicos e os publica no barramento de informações lock ( bus); preempção preempção lock ( bus); Watch dog (hardware) RESET T 1 T T 3 Funciona? lock_t flag=0; lock(flag); Seção unlock(flag); lock: tst register,flag cmp register,0 jnz entra call sleep jmp lock entra: unlock: mov flag,0 call wakeup O problema: Não prevê como memorizar o sinal de acordar Condição de corrida Situação: - P 1 executa o lock, entra na seção e perde o processador antes de liberar. -P executa o lock e perde o processador depois do JNZ e antes do CALL -Estava indo dormir, mas ainda não dormiu (não está na fila dos dorminhocos ) - P 1 oma a execução, faz o unlock, mas não libera P porque ele ainda não está na fila. -P oma execução, vai dormir (CALL), e perde o sinal de acordar Sistemas Operacionais I 3 Sistemas Operacionais I 4
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
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 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
Sistemas Operacionais. Comunicação entre processos
Sistemas Operacionais Comunicação entre processos Comunicação entre Processos Os SO s hoje são multi-tarefa Alguns processos precisam cooperar para cumprir seus objetivos Sugestões de implementação? Exemplos
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
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
Sincronização e Comunicação
Sincronização e Comunicação Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 28 Sumário 1 Concorrência 2 Sistemas Multiprogramáveis Troca de mensagens
Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:
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
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Capítulo 3. Programação Concorrente. Conteúdo. Objetivos. Recordando. Recordando. Objetivos de sistema operacional. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 3 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Programação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização e escopo da programação
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
Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização
Sincronização e Comunicação entre Processos Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Condicional
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos Capítulo 1 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos.
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
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
Sistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções
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 (processos e threads)
Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo
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
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
Sistemas Distribuídos
Sistemas Distribuídos Processos e Threads Gustavo Reis [email protected] - O que são Processos? Uma abstração de um programa em execução. Mantêm a capacidade de operações (pseudo)concorrentes,
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
Revisão Ultima aula [1/2]
SOP - TADS Comunicação Interprocessos - 2 IPC Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula
LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador
LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia
Sistemas Operacionais
Escalonadores preemptivos p Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Gerência do processador Escalonamento preemptivo Aula 07 O escalonador retira o processador de um processo*
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
Tipos de Soluções (cont.)
Tipos de Soluções (cont.) Sincronização de Processos: Semáforos Aula 12 Profa. Patrícia Dockhorn Costa Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:
Sistemas Operacionais
Sistemas Operacionais Processos Semáforos Semáforos Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o n o de WAKEUPs para uso futuro Menos
Sistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2
Sincronização e Comunicação entre Processos
Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.
Sistemas Operacionais Gerência de Processos
Sistemas Operacionais Gerência de Processos Dierone C.Foltran Jr. prof.dierone at gmail.com Sistemas Operacionais 1 Introdução Programa executado por apenas um processo é dito de programa sequencial Existe
Técnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
ENADE 2011 SISTEMAS OPERACIONAIS
ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas
1B Conceitos Básicos: Indique Verdade/Falso
INE5645 - Programação Paralela e Distribuída - Prova 1B 24/04/2017 Nome 1B Conceitos Básicos: Indique Verdade/Falso a) (Verdade/Falso) Threads distintas em um processo não são tão independentes quanto
Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores
Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:
Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 2: Tipos de Sistemas Operacionais Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela O que veremos nesta aula? Principais tipos de sistemas operacionais
7 SINCRONIZAÇÃO DE PROCESSOS
7 SINCRONIZAÇÃO DE PROCESSOS Quando se trabalha com processos cooperativos, eles podem afetar uns aos outros. Eles compartilham recursos, principalmente posições de memória e arquivos. O acesso a dados
Sistemas Operacionais
ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação
Sistemas Operacionais
Apresentação Inst tit ormátic ca - UF FRGS i Introdução Aula 0 INF042 Plano de ensino conforme resolução CEPE /203 Prof. Alexandre CARISSIMI (asc at inf.ufrgs.br) Turma A Objetivos da disciplina Prof.
INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)
INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,
Sistemas Operacionais
Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas
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
Introdução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
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
Introdução. Pedro Cruz. EEL770 Sistemas Operacionais
Introdução Pedro Cruz EEL770 Sistemas Operacionais Roteiro Informações úteis Motivação Definições Revisão de arquitetura 2 Contato Site da disciplina www.gta.ufrj.br/~cruz/courses/eel770 Email [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java
Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos
Sistemas Operacionais
Sistemas Operacionais I Índice 2 Processos... 1 2.2.5 Semáforos... 1 2.2.6 Monitores... 2 2.2.7 Passagem de Mensagens... 5 2 Processos 2.2.5 Semáforos Para resolver este problema, Dijkstra propôs em 1965
Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Programação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
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
Ferramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática
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.
Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads
Threads Prof. Edwar Saliba Júnior Março de 2007 1 Definição Partes de um processo que compartilham mesmo espaço de endereçamento Sub-rotina de um programa executada paralelamente ao programa chamador (execução
Algoritmos de escalonamento
Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento
Sistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal [email protected] www.ezequielzorzal.com
Sistemas Operacionais Aula 08: Sincronização de Processos Ezequiel R. Zorzal [email protected] www.ezequielzorzal.com Objetivos Introduzir o problema da seção crítica, cujas soluções podem ser usadas
Sistemas Operacionais
Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução
Sistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Junho, 2017 1 / 44 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Camadas de Software
Notas da Aula 11 - Fundamentos de Sistemas Operacionais
Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados
DinnerRace: Um simulador para técnicas de exclusão mútua através do problema do Jantar dos Filósofos
DinnerRace: Um simulador para técnicas de exclusão mútua através do problema do Jantar dos Filósofos Amanda Barbosa 1, Witássio Oliveira 1, Kádna Camboim 1 1 Unidade Acadêmica de Garanhuns, Universidade
Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
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
SISTEMAS OPERACIONAIS. Sincronização e Comunicação entre Processos UNIBAN
SISTEMAS OPERACIONAIS Sincronização e Comunicação entre Processos UNIBAN 40 SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS Na década de 1960, com o surgimento dos sistemas multiprogramáveis, passou a ser
LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?
LabSO Gerência de AULA 3 Flávia Maristela ([email protected]) Romildo Martins ([email protected]) Porque eu preciso entender este assunto? Para entender como um computador consegue executar
Algoritmos Computacionais
UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE
UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
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
SOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo
Sistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
Introdução aos Sistemas Operacionais
Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma
Sistemas Operacionais. Interrupção e Exceção
Sistemas Operacionais Interrupção e Exceção Interrupção 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
ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR
ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema
Curso: Redes de Computadores
Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, [email protected] 2 29520-000, [email protected]
