Sistemas Operacionais
|
|
- Victor Alencar Amaral
- 8 Há anos
- Visualizações:
Transcrição
1 Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional
2 sistemas multiprogramáveis Os sistemas multiprogramáveis surgem na década de 60 passou a ser possível estruturar aplicações de maneira que partes diferentes do código do programa pudessem executar concorrentemente. Este tipo de aplicação, denominada aplicação concorrente, tem como base a execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum.
3 sistemas multiprogramáveis Em sistemas multiprogramável com um único processador, os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo Sistema Operacional, mesmo não havendo paralelismo na execução das instruções, ocorre significativo ganho de desempenho. Em sistemas multiprocessados, as vantagens são ainda maiores graças a possibilidade de paralelismo na execução das instruções.
4 Sistemas Multiprogramáveis É natural que processos de uma aplicação concorrente compartilhem recursos do sistema, como arquivos, registros, dispositivos de E/S e áreas de memória. O compartilhamento de recursos entre os processos pode ocasionar situações indesejáveis, capazes até de comprometer a execução das aplicações.
5 MACHADO, fig.7.1, pag 102 Sincronização e comunicação entre processos Comunicação e Sincronização Muitas vezes, em uma aplicação concorrente, é necessário que processos comuniquem-se entre si, e essa comunicação pode ser implementada de diversos mecanismos, como variáveis compartilhadas na memória principal ou troca de mensagens. Nesta situação, é necessário que os processos tenham sua execução sincronizada pelo sistema operacional.
6 MACHADO, fig.7.1, pag 102 Sincronização e comunicação entre processos Comunicação e Sincronização Por exemplo, podemos ter dois processos concorrentes compartilhando um buffer para trocar informações através de operações de gravação e leitura, onde ambos os processos necessitam aguardar que o buffer esteja pronto para realizar as respectivas operações, quer seja de leitura, quer seja de gravação.
7 MACHADO, fig.7.1, pag 102 Sincronização e comunicação entre processos Comunicação e Sincronização Mas cada um dos processos podem ser executados com velocidades diferentes. Para cooperar, processos precisam se comunicar e se sincronizar.
8 Problemas de Compartilhamento de Recurso Alguns problemas que podem ocorrer devido à falha na sincronização entre processos concorrentes. Primeiro exemplo é o problema do programa Conta_Corrente, que atualiza o saldo bancário de um cliente após um lançamento de débito ou crédito no arquivo de contas-correntes Arq_Contas.
9 Problemas de Compartilhamento de Recurso PROGRAM Conta_Corrente;.. READ (Arq_Contas, Reg_Cliente); READLN (Valor_Dep_Ret); Reg_Cliente.Saldo := Reg_Cliente.Saldo + Valor_Dep_Ret; WRITE (Arq_Contas, Reg_Cliente);.. END.
10 Problemas de Simultaneidade Considerando processos concorrentes pertencentes a dois funcionários do banco (caixas), que atualizam o saldo de um mesmo cliente simultaneamente, a situação de compartilhamento do recurso pode ser analisada. Supondo que o primeiro caixa irá ler o saldo do cliente e adicionar o valor de um lançamento. Neste mesmo instante outro caixa irá efetuar uma outra operação de atualização no saldo do mesmo cliente, realizando outro lançamento. Independentemente de qual dos atualize primeiro o saldo no arquivo, o dado gravado estará inconsistente!
11 Problemas de Simultaneidade
12 Problemas de Simultaneidade Outro exemplo de problema de concorrência, mais simples para ser analisado, é a situação onde dois processos (A e B) executam um comando de atribuição. O Processo A soma 1 a variável X e o Processo B diminui 1 da mesma variável que está sendo compartilhada. Inicialmente, a variável X possui o valor 2, Processo A X: = X + 1; Processo B X: = X 1; Seria razoável pensar que ao final da execução dos dois processos, o resultado da variável X continuasse 2, porém isto nem sempre será verdade!
13 Problemas de Simultaneidade Os comandos de atribuição, em uma linguagem de alto nível, podem ser decompostos em comandos mais elementares.
14 Problemas de Simultaneidade Considere que o Processo A carregue o valor de X no registrador Ra, some 1 e, no momento em que vai armazenar o valor em X, seja interrompido. Nesse instante o Processo B inicia a sua execução, carrega o valor de X em Rb e subtrai 1. Dessa vez, o Processo B é interrompido e o Processo A volta a ser processado, atribuindo o valor 3 à variável X e concluindo sua execução. Finalmente, o Processo B retorna a execução, atribui o valor 1 a X, e sobrepõe o valor anteriormente gravado pelo Processo A. O valor final da variável X é inconsistente em função da forma concorrente com que os dois processos executaram.
15 Condições de Corrida Analisando os dois exemplos apresentados, é possível concluir que em qualquer situação, onde dois ou mais processos compartilham um mesmo recurso, devem existir mecanismos de controle para evitar esses tipos de problemas, conhecidos como condições de corrida (race conditions ). Ocorre quando? Quando processos estão lendo ou escrevendo dados compartilhados e o resultado final depende de qual processo executa e quando (em que ordem) este executa.
16 Exclusão Mútua A solução mais simples para evitar os problemas de compartilhamento apresentados é impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acessá-lo deverão esperar pelo término da utilização do recurso. Essa idéia de exclusividade de acesso é chamada de exclusão mútua (mutual exclusion).
17 Regiões Críticas A exclusão mútua deve afetar apenas os processos concorrentes somente quando um deles estiver fazendo acesso ao recurso compartilhado. A parte do código do programa onde é feito o acesso ao recurso compartilhado é denominada região crítica (critical region). Se for possível evitar que dois processos entre em suas regiões críticas ao mesmo tempo, ou seja, se for garantida a execução mutuamente exclusiva das regiões críticas, os problemas decorrentes do compartilhamento serão evitados.
18 Regiões Críticas Os mecanismos que implementam a exclusão mútua utilizam protocolos de acesso à região crítica. Toda vez que um processo desejar executar uma instrução de sua região crítica, deverá obrigatoriamente executar antes um protocolo de entrada nesta região. Da mesma forma, ao sair da região crítica um protocolo de saída deverá ser executado. Estes protocolos garantem a exclusão mútua da região crítica do programa.
19 Regiões Críticas BEGIN.. Entra_Na_Regiao_Crítica; /* protocolo de entrada */ Regiao_Crítica; /* operações executadas */ Sai_Da_Regiao_Crítica; /* protocolo de saída */.. END.
20 Espera Indefinida Estas soluções propostas para o acesso sincronizado devem garantir a exclusão mútua e também evitar que duas outras situações indesejadas ocorram. A primeira situação indesejada é conhecida como espera indefinida (starvation). Starvation é a situação em que um processo nunca consegue executar sua região crítica e, consequentemente, acessar o recurso compartilhado. Quando um determinado recurso é liberado, o Sistema Operacional irá selecionar qual será o próximo processo que fará uso do mesmo.
21 Espera Indefinida Este critério de escolha poderá ocasionar uma espera indefinida, quando for utilizado critério baseado em escolha aleatória ou em função da prioridade do processo (processos de baixa prioridade serão prejudicados). A solução é implementar uma fila, através do esquema FIFO, garantindo que todos os processos que necessitem do recurso façam seu uso em algum momento. Outra situação indesejável é quando um processo fora de sua região crítica impede que outros processos entrem em suas próprias regiões críticas. Isto ocorre devido ao fato do recurso estar livre, porém ainda alocado a um processo, impedindo que os demais utilizem o recurso.
22 Soluções via hardware Exclusão Mútua Soluções! (?) 1 - Desabilitação de Interrupções Nessa técnica o processo desabilite todas as interrupções antes de entrar em sua região crítica, e as reabilite após deixar a região crítica. Embora seja de fácil implementação, pode comprometer seriamente a multiprogramação!
23 Exclusão Mútua Soluções! (?) 2 - Instruções de test-and-set Devido a popularização da multiprogramação os processadores passaram a possuir um instrução de máquina especial que permite ler uma variável, armazenar seu conteúdo em outra área e atribuir um novo valor a mesma variável, tudo isto em uma única instrução de máquina, indivisível. Com isto torna-se impossível que dois processos manipulem uma variável compartilhada ao mesmo tempo. Possibilidade de espera indefinida, pois a seleção do processo para o acesso ao recurso é arbitrária.
24 Soluções via Software Exclusão Mútua Soluções! (?) Diversos algoritmos foram proposto para implementar a exclusão mútua. As primeiras soluções tratavam a exclusão mútua de dois processos e as soluções atuais tratam a exclusão mútua de N processos. A maioria deles trabalham com variáveis de estado que controlam o acesso dos processos à região crítica; Cada um dos algorítmos propostos ( algorítmo de Peterson, algorítmo de Dekker, etc) apresenta vantagens e desvantagens.
25 Mecanismos de Sincronização Sincronização Condicional Entre os mecanismos de sincronização, a sincronização condicional é uma situação onde o acesso ao recurso compartilhado exige a sincronização de processos vinculada a uma condição de acesso. Um recurso pode não se encontrar pronto para uso devido a uma condição específica. Nesse caso, o processo que deseja acessá-lo deverá permanecer bloqueado até que o recurso fique disponível.
26 Mecanismos de Sincronização Um exemplo clássico desse tipo de sincronização é a comunicação entre dois processos através de operações de gravação e leitura em um buffer, onde os processos que geram informações (processos produtores) utilizadas por outros processos (processos consumidores).
27 Mecanismos de Sincronização Nessa comunicação, enquanto um processo grava dados em um buffer, o outro lê os dados, concorrentemente. Os processos envolvidos devem estar sincronizados a uma variável de condição, de forma que um processo não tente gravar dados em um buffer cheio ou realizar uma leitura em um buffer vazio. Este problema sincronização é conhecido como problema do produtor / consumidor ou do buffer limitado.
28 Semáforos Mecanismos de Sincronização O conceito de semáforos foi proposto por E. W. Dijkstra em 1965, sendo apresentado como um mecanismo de sincronização que permitia implementar, de forma simples, a exclusão mútua e sincronização condicional entre processos. De fato, o uso de semáforos tornou-se um dos principais mecanismos utilizados em projetos de sistemas operacionais e em aplicações concorrentes. Um semáforo é uma variável inteira, não-negativa, que só pode ser manipulada por duas instruções: DOWN e UP, Estas instruções são indivisíveis, isto é, não pode ser interrompida.
29 Mecanismos de Sincronização Semáforos são classificados em dois tipos: - Semáforos binários: chamados de mutexes (mutual exclusion semaphores), só podem assumir valores 0 e 1. Permitem a implementação da exclusão mútua e são utilizados nos casos onde a sincronização condicional é exigida. - Semáforos contadores: podem assumir qualquer valor inteiro positivo, além do 0. Semáforos contadores são úteis quando aplicados em problemas de sincronziação condicional onde existem processo concorrentes alocando recursos do mesmo tipo.
30 Mecanismos de Sincronização
31 Mecanismos de Sincronização Monitores São mecanismos de sincronização de alto nível que tornam mais simples o desenvolvimento de aplicações concorrentes. O conceito de monitores foi proposto, como um mecanismo de sincronização estruturado, ao contrário dos semáforos, que são considerados não-estruturados. Estes mecanismos são alto nível e estruturados em função de serem implementados pelo compilador, possibilitando que o desenvolvimento de programas concorrentes fique mais fácil e com chances menores de erros. O monitor é formado por procedimentos e variáveis encapsulados dentro de um módulo, implementando de forma automática a exclusão mútua entre os procedimentos declarados.
32 Mecanismos de Sincronização Toda vez que algum processo faz uma chamada a um procedimento, o monitor verifica se já existe outro processo executando algum procedimento do monitor. Caso exista, o processo ficará aguardando a sua vez em uma fila de entrada. A implementação da exclusão mútua via monitores não é implementada diretamente pelo programador, assim como no caso do uso dos semáforos, o próprio compilador encarrega-se de garantir a exclusão mútua entre os procedimentos previamente definidos.
33 Mecanismos de Sincronização
34 Troca de Mensagens Mecanismos de Sincronização Também é um mecanismo de comunicação e sincronização entre processos. O sistema operacional possui um subsistema de mensagens que suporta esse mecanismo sem que haja a necessidade do uso de variáveis compartilhadas. Para que ocorra a comunicação entre os processos, deve existir um canal de comunicação, podendo esse meio ser um buffer ou um link de uma rede de computadores.
35 Mecanismos de Sincronização Os processos cooperativos podem fazer uso de um buffer para trocar mensagens através de duas rotinas: SEND (receptor, mensagem) e RECEIVE (transmissor, mensagem). A rotina SEND permite o envio de uma mensagem para um processo receptor, enquanto a rotina RECEIVE possibilita o recebimento de mensagem enviada por um processo transmissor.
36 Mecanismos de Sincronização O mecanismo de troca de mensagens exige que os processos envolvidos na comunicação tenham suas execuções sincronizadas. A troca de mensagens entre os processos pode ser implementada de duas maneiras distintas: comunicação direta e comunicação indireta. Comunicação direta entre dois processos exige que, ao enviar ou receber uma mensagem, o processo enderece explicitamente o nome do processo receptor ou transmissor. Uma característica deste tipo de comunicação é só permitir a troca de mensagem entre dois processos.
37 Mecanismos de Sincronização A comunicação indireta entre processos utiliza uma área compartilhada, onde a mensagens podem ser colocadas pelo processo transmissor e retiradas pelo receptor. Esse tipo de buffer é conhecido como mailbox ou port, e suas características, como identificação e capacidade de armazenamento de mensagens, são definidas no momento de criação. Na comunicação indireta, vários processos podem estar associados a mailbox, e os parâmetros dos procedimentos SEND e RECEIVE passam a ser nomes de mailboxes e não mais nomes de processos.
38 Deadlock Deadlock ( espera circular )é a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. Essa situação é consequência, na maioria das vezes, do compartilhamento de recursos, como dispositivos, arquivos e registros, entre processos recorrentes onde a exclusão mútua é exigida.
39 Deadlock Para que ocorra a situação de deadlock, 4 condições são necessárias simultaneamente: 1 Exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante; 2 Espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos; 3 Não-preempção: um recurso não pode ser liberado de um processo só porque outros processos desejam o mesmo recurso; 4 Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa. Problemas de deadlock existem em qualquer sistema multiprogramável e as soluções implementadas devem considerar o tipo do sistema e o impacto em seu desempenho.
40 Deadlock - Presevenção Como vimos, para que um deadlock ocorra, todas as quatro condições listadas devem ocorrer simultaneamente. Isto quer dizer que se garantirmos que somente uma delas não possa ocorrer, estaremos prevenindo a ocorrência de deadlocks em um determinado sistema.
41 Deadlock - Presevenção Examinemos as quatro condições separadamente: 1 - Negando a Condição de Exclusão Mútua Conforme já foi visto, a condição de exclusão mútua não deve ser negada, pois dois processos acessando um recurso simultaneamente poderiam levar o sistema a uma situação de caos. Imagine o exemplo de dois processos acessandouma mesma impressora ao mesmo tempo! Uma solução é utilizar um sistema de spool, onde um único processo de spool acessa a impressora diretamente, e não acessa nenhum outro recurso. Uma vez que os processos não imprimem diretamente, e o processo de spool acessa somente o recurso impressora, deadlocks não podem ocorrer. O problema é que nem todos os recursos podem ser alocados via spooling.
42 Deadlock - Presevenção 2 - Negando a Condição Esperar por Recurso (Hold and Wait) A primeira estratégia requer que todos os recursos que um processo precise devem ser requisitados de uma só vez. O sistema deve liberar os recursos segundo uma política tudo ou nada. Se todos os recursos que o processo requisitou estão disponíveis, então o sistema pode alocá-los todos de uma vez ao processo, que poderá prosseguir. Se, por outro lado, nem todos os recursos requisitados estão disponíveis, então o processo deve esperar até que todos eles estejam disponíveis. Enquanto o processo espera, entretanto, ele não deve deter nenhum recurso. Esta solução parece ser boa, mas pode levar a um sério desperdício de recursos. Outro problema é a possibilidade de um processo requisitando todos os seus recursos de uma só vez ficar indefinidamente esperando.
43 Deadlock - Presevenção 3 - Negando a Condição Não-Preempção (No Preemption) Negar a condição de não-preempção é uma estratégia ainda pior do que a anterior. Para vários recursos, como uma impressora, não é interessante que um processo os perca durante seu uso.
44 Deadlock - Presevenção 4 - Negando a Condição Espera Circular (Circular Wait) A condição circular wait pode ser eliminada de várias formas. Uma maneira é simplesmente estabelecer uma regra que diga que um processo só pode alocar um único recurso em um dado momento. Se ele precisa de um segundo recurso, deve liberar oprimeiro. Para um processo que necessita copiar um arquivo muito grande para uma impressora (o processo de spooling, por exemplo), isto é inaceitável. Uma estratégia melhor seria que todos os recursos devem ser numerados em ordem crescente. Assim, processos podem requisitar recursos sempre que quiserem, mas todas as requisições devem ser em ordem crescente de numeração.
45 Deadlock - Presevenção 4 - Negando a Condição Espera Circular (Circular Wait) A condição circular wait pode ser eliminada de várias formas. Uma maneira é simplesmente estabelecer uma regra que diga que um processo só pode alocar um único recurso em um dado momento. Se ele precisa de um segundo recurso, deve liberar oprimeiro. Para um processo que necessita copiar um arquivo muito grande para uma impressora (o processo de spooling, por exemplo), isto é inaceitável. Uma estratégia melhor seria que todos os recursos devem ser numerados em ordem crescente. Assim, processos podem requisitar recursos sempre que quiserem, mas todas as requisições devem ser em ordem crescente de numeração.
46 BIBLIOGRAFIA MACHADO, F. B. & MAIA, L. P., Arquitetura de Sistemas Operacionais, 4 Edição, São Paulo, LTC, TANENBAUM, A. S. Sistemas Operacionais Modernos: 2ª edição, São Paulo, editora Prentice Hall, SILBERSCHATZ, A. Sistemas Operacionais Conceitos: São Paulo, editora LTC, 2004.
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. 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 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 Sincronização e Comunicação entre Processos
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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 maisSISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN
SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware
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 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 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 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 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 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 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 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 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 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 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 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 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 maisSumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com
Sumário Condições para Ocorrência de Modelagem de Evitando deadlock Algoritmo do banqueiro M. Sc. Luiz Alberto lasf.bel@gmail.com Aula - SO 1 Definição Um conjunto de N processos está em deadlock quando
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 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
Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é
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 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 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 maisOrganização de Computadores 1
Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução
Leia maisSistemas Operacionais
Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos
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 maisSistemas Operacionais
Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário
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 maisProf.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e
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 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 maisSistemas Operacionais
Sistemas Operacionais Aula 08 Processos Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais Funções: máquina virtual
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 maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação
Leia maisCAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Leia maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador A partir do momento em que diversos processos podem
Leia maisEscalonamento no Linux e no Windows NT/2000/XP
Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir
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 mais1.2 Tipos de Sistemas Operacionais
1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais
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 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 maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
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
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 maisArquitetura de Computadores II
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:
Leia maisCapacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Leia maisMANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop
MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop 1 1 INICIANDO O APLICATIVO PELA PRIMEIRA VEZ... 3 2 PÁGINA PRINCIPAL DO APLICATIVO... 4 2.1 INTERFACE INICIAL... 4 3 INICIANDO PROCESSO DE LEITURA...
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 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 maisSISTEMAS OPERACIONAIS
1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri ESTRUTURA DO SISTEMA OPERACIONAL Embora a definição de níveis de privilégio imponha
Leia maisSistema Operacional. Prof. Leonardo Barreto Campos 1
Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução
Leia maisE/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO
E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO
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 Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
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 maisSeja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.
AULA 22 ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.
Leia maisFundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 02-002 Processos
Processos Prof. Edwar Saliba Júnior Março de 2007 1 Processos Programa em execução: processos do próprio sistema (SYSTEM no gerenciador de tarefas); processos do usuário; Sistemas multiprogramáveis: muitos
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 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 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 maisMODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
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 maisArmazenamento de Dados. Prof. Antonio Almeida de Barros Junior
Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,
Leia maisMC714 - Sistemas Distribuídos. Leandro Villas
MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisMemória Cache. Prof. Leonardo Barreto Campos 1
Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.
Leia maisSincronização. Sincronização de Relógios. Relógios Físicos
Sincronização Embora a comunicação entre processos seja essencial em Sistemas Distribuídos, a sincronização de processos é também muito importante. Por exemplo: o É importante que vários processos não
Leia maisUnidade 13: Paralelismo:
Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações
Leia maisSistemas de Banco de Dados Aspectos Gerais de Banco de Dados
Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia mais