Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
|
|
- Raphael Capistrano Schmidt
- 8 Há anos
- Visualizações:
Transcrição
1 Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
2 Introdução Processo cooperativo é aquele que pode afetar outros processos em execução no sistema Ou ser por eles afetado Processos cooperativos tanto podem: Compartilhar diretamente um espaço de endereçamento lógico A primeira opção é alcançada através do uso de processos ou threads O acesso concorrente a dados compartilhados pode resultar em incosistência de dados como compartilhar dados somente através de arquivos
3 Introdução Sabendo-se destes problemas existe um método eficaz para manter a consistência dos dados? Quais são os mecanismos para assegurar a execução ordenada de processos cooperativos que compartilham um espaço de endereçamento lógico?
4 Relembrando processos cooperativos A execução concorrente de processos cooperativos requer mecanimos que permitam aos processos comunicarem-se uns com os outros e sincronizarem suas ações Para processos cooperativos usa-se o problema do produtor-consumidor Um processo produtor gera informação que é consumida por um processo consumidor Exemplo: um programa de impressão produz caracteres que são consumidos pelo driver da impressora
5 Relembrando processos cooperativos
6 Relembrando processos cooperativos Em síntese os processos cooperativos podem comunicar-se em um ambiente de memória compartilhada O esquema exige que estes processos compartilhem Uma cadeia de buffers comum código para implementação do buffer seja escrito pelo programador da aplicação O SO pode fornecer meios para que os processos cooperativos se comuniquem uns com os outros por intermédio de uma facilidade de comunicação interprocessos IPC
7 Relembrando processos cooperativos A IPC oferece um mecanismo que permite aos processos A IPC é particularmente útil em um ambiente distribuido Se comunicarem e sincronizarem suas ações sem compartilharem o mesmo espaço de endereçamento Onde os processos em comunicação podem residir em computadores diferentes conectados a uma rede
8 Problemas de Gestão de Recursos INANIÇÃO (starvation): Emconsequênciadapolíticade escalonamento da CPU um recurso passa alternadamentede um processo P1 para outro processo P2, deixando um terceiro processo P3, bloqueado sem acesso ao recurso.
9 Problemas de Gestão de Recursos BLOQUEIO MÚTUO (deadlock): Quando 2 processos se bloqueiam mutuamente. Exemplo: o processop1 acede aorecursor1, e o processop2 acedeaorecursor2; a uma dada alturap1 necessitade R2 e P2 de R1. INCONSISTÊNCIA DE DADOS: Doisprocessosquetem acessoa umamesmaestruturade dados nãodevempoderatualizá-la semquehajaalgumprocessode sincronização. Exemplo: a interrupçãode um processodurantea atualização de uma estrutura de dados podedeixá-la num estado de inconsistência.
10 O por quê da Sincronização O acessoconcorrentea dados compartilhados pode criar uma situação de inconsistência nestes dados. Condiçãode corrida(race condition): Situação em que vários processosacessame manipulamdados compartilhados de uma forma simultânea, deixandoosdados emum estadode (possível) inconsistência. A manutenção da consistência de dados requer mecanismos que assegurem a execução ordenadae corretados processos cooperantes. Os processostêm, pois, de ser sincronizados para impedir qualquer condição de corrida.
11 Exemplo Considere o código seguinte: P1 Produtor.. Execute a instrução counter ++ P2 Consumidor -Execute a instrução counter -- O valorinicialde counter é 5 Os dois processo executem concorrentemente. Qualo valorfinal?
12 Inconsistência da Atualização de Dados As seguintes instruções devem ser executadas atomicamente: counter++; counter--; Uma operação atômica é instrução executada na totalidade sem interrupção. A instrução counter++ pode ser implementada em linguagem assembly do seguinte modo: register1 = counter register1 = register1 + 1 counter = register1 A instrução counter--pode ser implementada como: register2 = counter register2 = register2 1 counter = register2
13 Inconsistência da Atualização de Dados Se os dois processos tentam atualizar a variável concorrentemente, as suas instruções em linguagem assembly podem entrelaçar-se. Assuma que counter tem inicialmente o valor 5. Um possível entrelaçamento de instruções dos dois processos é: producer: register1 = counter (register1 = 5) producer: register1 = register1 + 1 (register1 = 6) consumer:register2 = counter (register2 = 5) consumer:register2 = register2 1 (register2 = 4) producer: counter = register1 (counter = 6) consumer: counter = register2 (counter = 4) O valor de count pode ser 4 ou 6, mas o valor correto devia ser 5.
14 Problemas clássicos de sincronização 1 -Produtor-Consumidor (bounded-buffer) O processo produtor produz itens e os insere numa fila, outro processo, o consumidor, retire os itens da fila. A fila é uma estrutura de dados manipulada e compartilhada pelos dois processos. 2 - Readers/Writers Problem Dados compartilhados entre vários processos. Existem processos que apenas leêm os dados e outros que apenas escrevem - modificando os dados. Sincronização necessária para que dados a serem lidos não estejam disponíveis para serem alterados
15 P 1 P 2 Problemas clássicos de sincronização 3 Jantar dos Filósofos Compartilha de um número finito de recursos entre um número de processo maior do que o número de recursos P 4 P P 3
16 Requisitos da manutenção da consistência de dados compartilhados No compartilhamento de dados por vários processos, cada processo tem um segmento de código, chamado de SEÇÃO CRÍTICA, no qual os dados compartilhados são acessados. Problema assegurar que, enquanto um processo está a executar na seção crítica, nenhum outro processo é permitido executar na sua seção crítica.
17 Requisitos da manutenção da consistência de dados compartilhados 1. Exclusãomútua. Sóum processo de cada vez pode entrar e executar na secção crítica. 2. Progressão. Um processo a executar numa secção não-crítica não pode impedir outros processos de entrar na secção crítica. 3. Esperalimitada. Um processo que queira entrar numa secção crítica nãodeveficaràespera indefinidamente. Neste ponto não podemos presumir nada sobre velocidade, prioridade ou número de processos
18 Soluções para o problema de inconsistência dos dados A consistência de dados pode ser garantida através de vários mecanismos de sincronização: Software: Mecanismos genéricos de uma linguagem de programação Algoritmos de Dekker e Lamport Hardware: Mecanismos disponibilizados pelo hardware Ex.: desabilitando interrupções Recursos do SO Semáforos, troca de mensagens, etc. Monitores
19 Solução Alternância Estrita Processo 1 while vez == 2; <secao critica> vez = 2; <resto do algoritmo> Processo 2 while vez == 1; <secao critica> vez = 1; <resto do algoritmo> {testa acesso} {autoriza acesso ao outro processo} {testa acesso} {autoriza acesso ao outro processo}
20 Solução Alternância Estrita Análise do algoritmo: Garante a exclusão mútua, mas só é aplicável a 2 processos. Não garante a progressão. Se um dos processos quiser entrar 2 vezes consecutivas na SC, não pode. Só há a garantia da alternância dos processos na execução da secção crítica. Não garante a espera limitada. Se um processo falha o outro ficará permanentemente bloqueado (deadlock). Só funciona se os dois processos forem absolutamente alternativos:
21 Algoritmo de Decker 2 processos Processo 1 Processo 2 Análise do algoritmo: P1QuerEntrar = true; while P2QuerEntrar do if vez == 2 then { P1QuerEntrar = false; while vez == 2 ; P1QuerEntrar = true; }; <executa seccao critica> vez = 2; P1QuerEntrar = false; <executa resto do algoritmo> {P1 está pronto a entrar na SC} {mas dá a vez a P0, se ele precisar} {testa acesso} {autoriza acesso ao outro processo} P2QuerEntrar = true; while P1QuerEntrar do if vez == 1 then { P2QuerEntrar = false; while vez == 1 ; {testa acesso} P2QuerEntrar = true; }; <executa seccao critica> vez = 1; {autoriza acesso ao outro processo} P2QuerEntrar = false; <executa resto do algoritmo> Garanteexclusãomútua, masobrigaa queo númerode processosseja2. Garante a progressão. Não obriga à alternância estrita.
22 Algoritmo de Lamport n processos A cada processo é atribuída uma senha de entrada na seção crítica. Antes de acessar à seção crítica, o processo executa a função maxque lhe atribui uma senha superior a todas as outras. Depois de atribuída a senha, o processo efetua um ciclo para determinar se o seu número de ordem é o menor de todos. Quando o número de ordem (senha) for inferior ao de todos os outros, o processo entra na seção crítica.
23 Algoritmo de Lamport n processos var senha : array[0..n] of integer; escolha : array[0..n] of boolean; function compara(a, b:integer): boolean; begin if (senha[a]<senha[b]) or (senha[a]=senha[b] and a<b) then compara := true else compara := false; end; function max: integer; var maximo, i:integer; begin maximo := 0; for i:=1 to N do if senha[i]>maximo then maximo := senha[i]; max := maximo; end; procedure PROC(i:integer); var j:integer; begin while true do begin escolha[i]:=true; {atribuicao da senha} senha[i]:=max + 1; escolha[i]:=false; for j:=1 to N do {espera ate senha menor} begin while escolha[i] do; while (senha[j]<>0) and compara(j,i) do; end; <executa seccao critica> senha[i]:=0; <executa resto do algoritmo> end end;
24 Inibição de Interrupções Permitir a um processo desligar interrupções (Inibição de interrupções) antes de entrar em uma seção crítica e ligar as interrupções quando sair da seção crítica AssimCPU nãopodetrocar processos Garante que um processo pode utilizar uma variável compartilhadasema interferência de nenhum outro processo Mas desligando interrupções vai dar muito trabalho Assimo computadornãovai poder atender interrupções durante muito tempo. Podeser queum processo mal escritooucom erro implica que o computador nunca mais conseguir tratar de uma interrupção.. Crash Desvantagens e perigos são maiores que as vantagens
25 Semáforos Semáforo: mecanismo de sincronização sem espera ativa. Para evitar a espera ativa, um processo que espera a liberação de um recurso deve ser bloqueado, devendo a razão que o levou a bloquear ficar memorizada. Um semáforo consiste numa variável e numa fila de espera associada a um recurso. Esta fila contém todos os descritores dos processos bloqueados no semáforo
26 Semáforos Bloquear um processo num semáforo significa retirá-lo do estado de execução (running state) e movê-lo para a fila de processos bloqueados (waiting state) do respectivo semáforo. Desbloquearum processo é o mesmo que retirá-lo da fila de processos bloqueados (waiting state) e inseri-lo na fila de processos executáveis (ready state). Gestão da fila de processos bloqueadosde um semáforo: normalmente, FCFS ou prioridades.
27 Exercícios Site da disciplina... Enviar por
Sistemas 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 maisProgramação Concorrente
Programação Concorrente Monitores e Troca de Mensagens Monitores Considere que, no projeto da solução do produtor-consumidor com semáforos, os 2 downs tenham sido trocados Se o buffer estiver cheio deadlock
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 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 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 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. 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 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. 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 maisExclusão Mútua Distribuída
Exclusão Mútua Distribuída Raimundo Macêdo Laboratório de Sistemas Distribuídos - LaSiD Universidade Federal da Bahia Propriedades de um programa distribuído (Lamport, 1977) Exemplo 2: sistema controlando
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 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 maisFundamentos. Módulo 6: Sincronização de Processos. Bounded-Buffer (Cont.) Bounded-Buffer
Módulo 6: Sincronização de Processos Fundamentos Fundamentos O problema das regiões críticas Hardware de Sincronização Semáforos Problemas Clássicos de Sincronização Regiões Críticas Monitores Sincronização
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 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 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 maisVisão do Usuário da DSM
Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações
Leia maisEstrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1
Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;
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 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 maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo
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 maisGerência de Entrada/Saída
Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo
Leia maisFaculdade Lourenço Filho - ENADE 2011-1
1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode
Leia maisInterrupções. As interrupções são casos especiais de chamadas de procedimentos.
Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.
Leia maisEntrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1
Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal
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 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 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 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 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 maisSoftwares Aplicativos Banco de Dados
Softwares Aplicativos Banco de Dados INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Serviços 3. Usuários 4. Evolução 5. Exemplos 03 Banco
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 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 maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisFundamentos de Banco de Dados
Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
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 maishttp://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br
http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br Características O que são os Sistemas Distribuídos? Benefícios : Não são consequências automáticas da distribuiçã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 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 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 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 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 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. 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 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 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 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 maisProf. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE
Prof. Luiz Fernando Unidade III ADMINISTRAÇÃO DE BANCOS DE DADOS Administração de SGBDs De todo o tipo de pessoal envolvido com desenvolvimento, manutenção, e utilização de bancos de dados há dois tipo
Leia maisGABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios
CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,
Leia maisProgramação Distribuída
Unidade 4 Programação Distribuída Transações Distribuídas O que são? São sistemas compostos por diversas partes cooperantes que são executadas em máquinas diferentes interconectadas por uma rede Exemplos
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 maisUm cliente de cada vez:
Um cliente de cada vez: envia-recebe resposta pedido recebe trata envia o cliente bloqueia-se até que: o servidor receba a mensagem, a trate e lhe responda outros clientes aguardam pela vez Clientes: enviam
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 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 maisdiscos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco
AULA 04 - Estruturas Sistemas Computacionais Nosso objetivo é apenas revisar conceitos relacionados a estrutura geral um sistema computacional para pois explicarmos os talhes operação do sistema e como
Leia maisSistema Operacional Correção - Exercício de Revisão
Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.
Leia maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
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 maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local
Leia maisProjeto de Sistemas de Tempo Real
Projeto de Sistemas de Tempo Real Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides elaborados pelo professor Marcio Cornélio O autor
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 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 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 maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
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 maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Multiprogramação Permite a execução de diversos processos concorrentemente Maior
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 mais