Sistemas Operacionais Sincronização e Comunicação entre Processos
|
|
- Giuliana Barreiro Palhares
- 8 Há anos
- Visualizações:
Transcrição
1 Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Sincronização e Comunicação entre Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com
2 Comunicação entre processos A bufferização (Buffering) é uma forma de se estabelecer comunicação entre processos; Dois processos concorrentes, podem compartilhar um buffer para troca de informações através de operações de gravação e escrita; Um processo só pode gravar no buffer caso este não esteja cheio; Um processo só pode ler dados armazenados, caso exista algum dado para ser lido; Em ambos, os processos devem aguardar o buffer estar pronto.
3 Comunicação entre processos Mecanismos de sincronização: Mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados. Estes mecanismos são essenciais para garantir a integridade e confiabilidade na execução de aplicações concorrentes;
4 Especificação de Concorrência em Programas PARBEGIN: Comando que especifica que a sequencia de comandos seja executada concorrentemente em ordem imprevisível através da criação de um processo; PAREND: Define um ponto de sincronização, onde o processamento só continua quando todos os processos ou threads já tiverem terminado suas execuções.
5 Exemplo void Expressao(){ float X, Temp1, Temp2, Temp3; PARBEGIN Temp1 = SQRT(1024); Temp2 = 35,4*0,23; Temp3 = 302/7; PAREND; X = Temp1 + Temp2 Temp3; printf( X = %f, X);
6 Problemas de Compartilhamento de Recursos Imagine um programa de gerenciamento de contas correntes de um banco. Dois programas acessam o arquivo de contas correntes, recuperam o saldo do mesmo cliente e lançam duas despesas distintas. O que de errado pode acontecer, caso façam isto concorrentemente??
7 Problemas de Compartilhamento de Recursos Programa 1: Lê o saldo do cliente (R$ 2.000); Programa 2: Lê o saldo do cliente (R$ 2.000); Programa 1: Soma um débito ao saldo (- R$ 250); Programa 2: Soma um débito ao saldo (- R$ 100); Programa 1: Salva o valor do saldo lido + debito; Programa 2: Salva o valor do saldo lido + debito; Quanto o cliente possui na conta agora? Quanto deveria possuir?
8 Exclusão Mútua (Mutual Exclusion) Impede que dois ou mais processos acessem um mesmo recurso simultaneamente. Enquanto um processo estiver acessando um recurso, todos os demais processos que queiram acessá-lo deverão esperar pelo termino da utilização do recurso. Utilizada apenas quando um processo utiliza um recurso compartilhado. O código do programa onde é feito o acesso ao recurso compartilhado é denominada região critica (Critical Region).
9 Exclusão Mútua (Mutual Exclusion) Os mecanismos que implementam a exclusão mutua utilizam de protocolos de acesso a região crítica; Os protocolos de entrada e de saída garantem a exclusão mútua da região crítica de um programa;
10 Exclusão Mútua (Mutual Exclusion) Programa 1: Caso dos programas de conta bancária: verifica se existe outro programa utilizando o recurso; Como não existe, o programa 1 indica que usará o arquivo; Programa 2: Verifica se existe outro programa utilizando o recurso; Como o programa 1 está utilizando, o programa 2 fica aguardando a saída do programa 2 da região crítica; Programa 1: Efetua o débito, atualiza o saldo da conta e indica que saiu da região crítica; Programa 2: recebe a informação que a região crítica está disponível, indica que usará o arquivo, efetua o débito, atualiza o saldo da conta e indica que saiu da região crítica.
11 Exclusão Mútua - Starvation Starvation: Situação onde um processo nunca consegue executar sua região crítica e, consequentemente acessar o recurso. Starvation acontece em função do critério de escalonamento (todos são postos para executar, menos determinado processo); Possível solução para starvation é a organização de filas segundo critério FIFO. Vilão fila por prioridade
12 Exclusão Mútua Processo fora da região crítica pode impedir que outros processos entrem nas suas próprias regiões criticas; Problema voltado a esquecimentos ou finalizações erradas; Um processo pode entrar na região critica bloqueando os outros, e ao sair não desbloqueá-la.
13 Soluções para exclusão mútua Soluções em Hardware: Desabilitação de interrupções; Instrução test-and-set; Soluções em Software: Implementação de algorítmos (Dekker, Peterson)
14 Hardware Desabilitação de interrupções Considerada a solução mais simples de ser implementada; O processo que acessa a região crítica, desabilita todas as interrupções ao entrar e as reabilita ao sair. Mudanças de contexto de processos são executadas apenas através de interrupções. Pode ocorrer complicações de sincronização devido a esquecimentos de processos.
15 Hardware Desabilitação de interrupções Problema agravado em ambientes multiprocessados; O mecanismo de clock é implementado sobre interrupções; Solução utilizada quando precisa-se garantir atomicidade de pequenos grupos de instruções;
16 Hardware Instrução test and set Muitos processadores possuem esta instrução; A instrução lê uma variável, armazena seu conteúdo em uma outra área e atribui um novo valor a mesma variável; Trata-se de uma instrução indivisível; Isso garante que outros processos não manipulem a mesma área ao mesmo tempo; Test and set(x,y);
17 Soluções de Software Solução dependente do algoritmo implementado; Os primeiros algoritmos tratavam inicialmente de apenas 2 (dois) processos e apresentavam problemas;
18 Algorítmo 1 void Processo_A(){ repeat while (vez == 'B'); Região_Crítica_A; vez = 'B'; Processamento_A; until (false); void Processo_B(){ repeat while (vez == 'A'); Região_Crítica_B; vez = 'A'; Processamento_B; until (false); Int main(){ vez = 'A'; PARBEGIN Processo_A(); Processo_B(); PAREND; return 0;
19 Algorítmo 1 - Análise O mecanismo é utilizável apenas por 2 (dois) processos; O acesso é sempre de maneira alternada; Mesmo que um processo A seja de execução mais rápida, sua velocidade ao final será dependente da velocidade de B; Se o processo A demorar muito no processamento, poderá afetar o acesso do processo B a região crítica, mesmo que o processo A não esteja utilizando o recurso;
20 Algorítmo 2 void Processo_A(){ repeat while (CB); CA = true; Região_Crítica_A; CA = false; Processamento_A; until (false); void Processo_B(){ repeat while (CA); CB = true; Região_Crítica_B; CB = false; Processamento_B; until (false); Int main(){ CA = false; CB = false; PARBEGIN Processo_A(); Processo_B(); PAREND; return 0;
21 Algorítmo 2 - Análise Caso um processo tenha problema dentro da região critica ou antes de alterar a variável, o outro permanecerá indefinidamente bloqueado.
22 Algorítmo de Peterson void Processo_A(){ repeat CA = true; vez = 'B'; while (CB && vez == 'B'); Região_Crítica_A; CA = false; Processamento_A; until (false); void Processo_B(){ Repeat CB = true; vez = 'A'; while (CA && vez == 'A'); Região_Crítica_B; CB = false; Processamento_B; until (false); Int main(){ CA = false; CB = false; PARBEGIN Processo_A(); Processo_B(); PAREND; return 0;
23 Algorítmo de Peterson - Análise Apesar de sua implementação para dois processos, pode ser generalizada para N destes; CA e CB indicam a intenção de cada processo de entrar na região crítica; Variável vez resolve os conflitos gerados pela concorrência; Além de garantir a exclusão mútua, a starvation de um processo nunca ocorrerá (variável vez);
24 Sincronização Condicional Situação em que o acesso ao recurso compartilhado exige a sincronização de processos vinculada a uma condição de acesso. Caso da comunicação através de buffer; Problema do produtor/consumidor;
25 Semáforos Conceito proposto por E.W Dijkstra (1963); Um dos principais mecanismos utilizados em projetos de sistemas operacionais; Consiste em uma variável inteira não negativa que só pode ser manipulada por duas rotinas: UP e DOWN; UP incrementa a variável, DOWN decrementa; Semáforos podem ser binários (Mutexes Mutual Exclusion Semaphores) ou contadores;
26 Exclusão Mútua - Semáforos A exclusão mútua pode ser implementada através da utilização de um semáforo binário; Instruções DOWN e UP funcionam como protocolos de entrada e saída, respectivamente; Semáforo com valor 1 indica recurso liberado, já com valor 0 indica a utilização do recurso; Ao entrar na região crítica o processo executa uma operação DOWN no semáforo, ao sair executa a operação UP, assim outro processo pode utilizá-la.
27 Exclusão Mútua - Semáforos
28 Exclusão Mútua - Semáforo #<bibliotecas>; int semaforo = 1; void Processo_A(){ repeat DOWN(semaforo); Região_Crítica_A; UP(semaforo); until (false); void Processo_B(){ repeat DOWN(semaforo); Região_Crítica_B; UP(semaforo); until (false); UP(int semaforo){ if(semaforo == 0 && existe_processo_bloqueado()) desbloqueia_processo(); else semaforo++; DOWN(int semaforo){ if(semaforo == 0) bloqueia_processo(); else semaforo ; Int main(){ PARBEGIN Processo_A(); Processo_B(); PAREND; return 0;
29 Sincronização Condicional - Semáforos Os semáforos também podem ser utilizados nos casos de sincronização condicional; Utilizados principalmente no caso produtor/consumidor; Se o buffer estiver vazio a operação DOWN(cheio) deixa o consumidor em espera; Apos a gravação de dados pelo produtor este executa UP(cheio) liberando o consumidor;
30 Produtor/Consumidor - Semáforos #<bibliotecas>; int vazio = 2; Int cheio = 0; Int mutex = 1; void Produtor(){ repeat Produz_Dado(); DOWN(vazio); DOWN(mutex); Grava_Buffer(Dado_1, Buffer); UP(mutex); UP(cheio); until (false); void Consumidor(){ repeat DOWN(cheio); DOWN(mutex); Consome_Dado(Dado_2); UP(mutex); UP(vazio); until (false); Int main(){ PARBEGIN Produtor(); Consumidor(); PAREND; return 0;
31 Troca de mensagens Semáforos e monitores não são implementados diretamente pelas linguagens como C/C++, Java, Pascal. Cabe ao programador (masoquista) implementálos manualmente e imbuti-los em bibliotecas; Um descuido com as variáveis e o sistema pode ocasionar deadlocks;
32 Deadlocks - impasses O deadlock ocorre com um conjunto de processos e recursos não-preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo que, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo. (wikipedia) É a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá. (Machado, Maia)
33 Deadlocks -Impasses
34 Deadlocks - Impasses
35 Jantar dos Filósofos Problema clássico de sincronização de processos; Adivinha quem propôs o problema? Dijkstra Consiste em ter 5 filósofos dispostos em uma mesa redonda para jantar espaguete; A mesa possui 5 pratos, um para cada filósofo; Entre cada prato possui um garfo (5 garfos); Um filósofo pode comer e pensar; Para comer, um filósofo necessita de dois garfos; Cada filósofo só pode pegar um garfo por vez; Ao comer, o filósofo usa os garfos e após alguns instantes deve obrigatoriamente soltá-los;
36 Jantar dos filósofos
37 Solução óbvia void filosofo(int i){ while(true){ pense(); pegar_garfo(esquerda); pegar_garfo(direita); comer(); soltar_garfo(esquerda); soltar_garfo(direita); Isto funciona? Por que?
38 Problemas da solução anterior Caso todos os filósofos pegue o garfo do mesmo lado ao mesmo tempo, deadlock ocorrerá; A solução seria, após pegar o garfo, verificar se o do outro lado está em uso, caso esteja, soltar o garfo que havia pego. (mas não funciona starvation); Esperar tempos aleatórios seria uma solução, mas isso não garante 100% dos casos;
39 Solução Jantar dos Filósofos void filosofo(int i){ while(true){ pense(); pegar_garfos(i); comer(); soltar_garfos(i); void pegar_garfos(int i){ DOWN(&mutex); state[i] = FAMINTO; teste(i); UP(&mutex); DOWN(&S[i]); void soltar_garfos(int i){ DOWN(&mutex); state[i] = PENSANDO; teste(esquerda); teste(direita); UP(&mutex); Void teste(int i){ if(state[i] == FAMINTO && state(esquerda)!= COMENDO && state(direita)!= COMENDO{ state[i] = COMENDO; UP(&S[I]);
40 Problema do Barbeiro Um barbeiro precisa atender clientes sem sua barbearia; Na barbearia existe uma cadeira de barbeiro e N cadeiras para clientes esperarem; Caso o barbeiro não tenha clientes, ele se senta e dorme; Quando um cliente chega: Se o barbeiro tiver trabalhando e houver cadeira de espera disponível, o cliente se senta, caso todas as cadeiras estejam ocupadas o cliente vai embora sem atendimento; A solução proposta utiliza três semáforos: clientes: um semáforo contador; barbeiro e mutex: semáforos binários.
41 Solução problema do Barbeiro void barbeiro(){ while(true){ DOWN(clientes); DOWN(mutex); espera ; UP(barbeiro); UP(mutex(); corta_cabelo(); void cliente(){ DOWN(mutex); if(espera < cadeiras){ espera++; UP(clientes); UP(mutex); DOWN(barbeiro); Ter_cabelo_cortado(); eles UP(mutex);
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.
Leia maisSistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 08: Sincronização de Processos Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o problema da seção crítica, cujas soluções podem ser usadas
Leia maisSistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos
Sistemas Operacionais Capítulo 7 Sincronização e Comunicação entre Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisSistemas Operacionais
AULA 09 Sincronização de Processos - II Monitores Conforme comentamos, o uso equivocado dos semáforos pode levar a uma situação de deadlock, por isso devemos tomar cuidado ao programar utilizando este
Leia mais9 - Sincronização e Comunicação entre Processos
1 9 - Sincronização e Comunicação entre Processos 91 Introdução Em um sistema multitarefa, seja com um único processador ou com mais de um processador ou ainda com vários núcleos por processador, os processos
Leia maisSistemas Operacionais
Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis
Leia maisRevisão Ultima aula [1/2]
SOP - TADS Comunicação Interprocessos - 2 IPC Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Sincronização entre Processos Andreza Leite andreza.leite@univasf.edu.br Sincronização Freqüentemente, os processos precisam se comunicar com outros processos. Isto ocorre quando
Leia maisSistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
Leia maisDisciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Processo cooperativo é aquele que pode afetar outros processos em execução no sistema Ou ser por eles afetado Processos
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Principais problemas programação concorrente Deadlocks (impasses) Starvation (inanição) Condições de corrida Erros de consistência na
Leia maisSincronizaçã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
Leia maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Leia maisBC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br
BC1518-Sistemas Operacionais Sincronização de Processos (aula 5 Parte 2) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Semáforos Monitores Passagem de Mensagem Exemplos em S.O.
Leia maisSistemas Distribuídos
Sistemas Distribuídos Processos e Threads Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que são Processos? Uma abstração de um programa em execução. Mantêm a capacidade de operações (pseudo)concorrentes,
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Comunicação e Sincronismo entre processos Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO 1 Comunicação entre Processos Processos
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisProblemas Clássicos de Sincronização
Problemas Clássicos de Sincronização Filósofos Jantando Filósofo i: Solução Óbvia O problema dos filósofos jantando foi introduzido e solucionado por Dijkstra em 1965. Neste problema, 5 filósofos estão
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisDisciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer
Disciplina de Sistemas Distribuídos Sincronização em SD Prof. M.Sc. Alessandro kraemer@utfpr.edu.br Cronograma Contextualização Tipos de sincronização Mecanismos para sincronização da região crítica Exclusão
Leia maisConceito de processo como uma unidade de trabalho em um sistema moderno de tempo compartilhado. Estados de um processo.
gerenciamento de processos Objetivo Compreender a maneira como o sistema operacional controla o gerenciamento dos programas em execução por meio do gerenciamento de processos no qual cada processo representa
Leia maisSistemas Operacionais
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Sistemas Operacionais Carga horária total:
Leia maisMétodos de Sincronização do Kernel
Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.
Leia maisSincronização de Processos (4) Monitores
Sincronização de Processos (4) Monitores Monitores (1) Sugeridos por Dijkstra (1971) e desenvolvidos por Hoare (1974) e Brinch Hansen (1975), são estruturas de sincronização de alto nível, que têm por
Leia maisRedes 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;
Leia maisIII - Processos e Threads
III - Processos e Threads P rocesso é geralmente entendido como um programa em execução porém, na realidade, trata-se de uma estrutura mais complexa que contém, além do programa no seu formato executável,
Leia maisThreads em Java. Sistemas Operacionais - Laboratório Professor Machado
Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,
Leia maisEXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo
4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas
Leia maisProgramação Orientada a Objetos Threads
Threads Prof. Edwar Saliba Júnior Janeiro de 2013 1 Introdução Multithreading: fornece múltiplas threads de execução para a aplicação; permite que programas realizem tarefas concorrentemente; às vezes
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisUdesc/Ceplan Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Alexandre Veloso alexandre.matos@udesc.br
Programação Concorrente [Parte 2] Udesc/Ceplan Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Alexandre Veloso alexandre.matos@udesc.br Condição de Corrida Uma forma de um processo comunicar-se
Leia maisMonitores. Conceito Sistemas Operacionais II
Monitores Conceito Sistemas Operacionais II Monitores Autores Daniel Artur Seelig Fábio Lutz Local Universidade Federal do Rio Grande do Sul Instituto de Informática Sistemas Operacionais II Professor
Leia maisGerência do Processador
Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Desenvolvimento web II IMPORTANTE SABER Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em
Leia maisDeadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisProf.: Roberto Franciscatto. Capítulo 1.1 Introdução
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.
Leia maisMinistério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul
QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem
Leia maisArquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Processo Profº Antonio Carlos dos S. Souza Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço
Leia maisCapítulo 2 Processos e Threads Prof. Fernando Freitas
slide 1 Capítulo 2 Processos e Threads Prof. Fernando Freitas Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª edição. Disponível em: http://www.prenhall.com/tanenbaum_br slide
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisGerência de Processador
Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA DO PROCESSADOR MACHADO/MAIA: CAPÍTULO 08 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento do Processador A gerência do processador pode ser considerada a atividade
Leia maisEstruturas do Sistema de Computação
Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de
Leia maisSistemas Operacionais. Técnicas de Implementação de Exclusão Mútua. Aula VI Prof. Rosemary Silveira
Sistemas Operacionais Técnicas de Implementação de Exclusão Mútua Aula VI Prof. Rosemary Silveira Tópicos de Apresentação Condições de Corrida Técnicas de Implementação de Exclusão Mútua Condições de Corrida
Leia maisIntroduçã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
Leia mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Leia maisSemáforos. Gerenciamento de Recursos I
Semáforos O problema dos leitores/escritores, apresentado a seguir, consiste em sincronizar processos que consultam/atualizam dados em uma base comum. Pode haver mais de um leitor lendo ao mesmo tempo;
Leia maisMODELAGEM E SIMULAÇÃO
MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos
Leia maisLABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistemas Operacionais Conteúdo retirado de: SOsim: SIMULADOR PARA O ENSINO DE SISTEMAS OPERACIONAIS Luiz Paulo Maia
Leia mais1. CAPÍTULO COMPUTADORES
1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes
Leia maisARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr
ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr Processos Conceitos Básicos Nomes Tipos Batch: jobs CPU-bound T.Sharing: Tarefas/Processos
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas
Leia maisSincronizaçã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.
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisSistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)
Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de
Leia maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito
Leia maisNotas da Aula 15 - Fundamentos de Sistemas Operacionais
Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos
Leia maisvoid echo(); { chin = getchar(); chout = chin; putchar(chout); }
Sincronização Processos (Aula de 10) Concorrência Dificuldades: Profa. Patrícia Ação Compartilhamento Gerência Localização D. Proteger Promover de alocação de recursos. globais. CostaLPRM/DI/UFES programas).
Leia maisSérie de Problemas - Sincronização com Semáforos
Sistemas Operativos Série de Problemas - Sincronização com Semáforos Bibliografia essencial para a compreensão/realização da série: "Modern Operating Systems", Andrew S. Tanenbaum, Prentice Hall, Capítulo
Leia mais7 Processos. 7.1 Introdução
1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa
Leia maisCapítulo 2 Processos e Threads. 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 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 1 Processos O Modelo de Processo Multiprogramação de quatro programas
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisSistemas Operacionais
Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)
Leia maisProf. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015
Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas
Leia maisIntrodução aos Sistemas
Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas
Leia maisSistemas Operacionais
7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema
Leia maisCapítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton
Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 4.1 Introdução Capítulo 4 Gerência
Leia maisSincronização de Processos (1) Mecanismos de busy wait
Sincronização de Processos (1) Mecanismos de busy wait Condições de Corrida Exemplo: Fila de impressão. Qualquer processo que queira imprimir precisa colocar o seu documento na fila de impressão (compartilhada).
Leia maisTipos de sistemas operacionais
Tipos de sistemas operacionais Sistemas Operacionais de Computadores de Grande Porte Sistemas Operacionais para Servidores Sistemas Operacionais de Multiprocessadores Sistemas Operacionais para Computadores
Leia maisRecursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.
Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato
Leia maisSistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos
Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br
Leia maisLinguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem
Leia maisEverson Scherrer Borges João Paulo de Brito Gonçalves
Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das
Leia maisANALISTA DE SISTEMAS - SUPORTE
QUESTÃO n o 1 Não é possível estabelecer a comunicação. Analisando o endereçamento do servidor A e do Roteador A, observamos que: o Servidor A está em uma rede IP com o endereço de rede (1º endereço da
Leia maisProgramação Concorrente Processos e Threads
Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisO que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional
O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução
Leia maisBackup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?
Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que
Leia maisO mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.
O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. A multiprogramação tem como objetivo permitir que, a todo instante, haja algum processo
Leia maisAula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.
Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.
Leia maisAULA 5 Sistemas Operacionais
AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento
Leia mais