Capítulo 2 Processos e Threads Prof. Fernando Freitas
|
|
- Elza Godoi Palmeira
- 2 Há anos
- Visualizações:
Transcrição
1 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:
2 slide 2 Processos Computadores modernos Várias tarefas ao mesmo tempo Cada instante um programa Cada segundo vários programas Pseudoparalelismo
3 slide 3 O modelo de processo
4 slide 4 O modelo de processo Multiprogramação Troca rápidas Processos Não possui taxa uniforme Não possui taxa reproduzível Diferença processo x programa Fabricação de um bolo
5 slide 5 Criação de processos Eventos que causam a criação de processos: Inicialização de sistema. Execução de uma chamada de sistema de criação de processo por um processo em execução. Requisição do usuário para criar um novo processo. Inicialização de uma tarefa em lotes. Linux (fork), Windows (CreateProcess) Espaços de endereçamento iguais (Linux) Espaços de endereçamento diferentes (Windows)
6 slide 6 Término de processos Eventos que causam o término de um processo: Saída normal (voluntária). Saída por erro (voluntária). Erro fatal (involuntário). Cancelamento por outro processo (involuntário).
7 slide 7 Hierarquia de processos Pai cria um processo filho, processo filho pode criar seu próprio processo Formam uma hierarquia UNIX chama isso de grupo de processos Windows não possui o conceito de hierarquia de processos Todos os processos são criados iguais
8 slide 8 Estados de processos
9 slide 9 Estados de processos - Escalonamento
10 slide 10 Implementação de processos
11 slide 11 Implementação de processos
12 slide 12 Modelando a multiprogramação
13 slide 13 Exercícios 1. O que é pseudoparalelismo? 2. Podemos criar programas baseados somente no critério tempo? Justifique. 3. Cite os eventos que causam a criação de processos. 4. Cite os eventos que causam o término de processos. 5. Quais os estados de um processo? Comente.
14 slide 14 Vantagens: Uso do thread Compartilham espaço de endereçamento e dados São criadas e destruídas de forma mais rápida (até 100x) Permitem que atividades se sobreponham se houver muita E/S Muito úteis em sistemas com múltiplas CPU s Tornam possível manter a idéia de processos sequenciais e mesmo assim conseguem obter paralelismo
15 slide 15 Uso do thread Formatação do texto
16 slide 16 Uso do thread
17 slide 17 Uso do thread
18 slide 18 Uso do thread
19 slide 19 O modelo de thread clássico
20 slide 20 O modelo de thread clássico Multithread = Múltiplos threads por processo Threads distintos em um processo não são tão independentes quanto processos distintos Não há proteção entre threads Impossível Não é necessário Devem cooperar e não competir Cada thread tem sua pilha que armazena rotinas chamadas que ainda não retornaram
21 slide 21 O modelo de thread clássico
22 slide 22 O modelo de thread clássico
23 slide 23 O modelo de thread clássico Threads devem ser corteses Complicações Chamadas fork() alocação extra de memória Threads devem ser pensadas e projetadas com cuidado para funcionarem corretamente
24 slide 24 Pthreads = Padrão de threads definidos pelo padrão IEEE c Threads POSIX
25 slide 25 Threads POSIX
26 slide 26 Exercícios 1. Quais as vantagens de utilizarmos threads? 2. O que são processos multithreads? Cite um exemplo. 3. Porque não há proteção entre threads? 4. O que são Pthreads?
27 slide 27 Espaço do usuário Implementando threads Pode ser implementado em SO que não suporte thread Cada processo tem sua própria tabela de threads Chaveamento mais rápido não envolve núcleo Vantagens Próprio algoritmo de escalonamento Desvantagem Falta de página bloqueia processo inteiro SO não sabe sobre thread
28 slide 28 Espaço do núcleo Implementando threads Única tabela de threads Núcleo pode executar uma nova thread quando a thread em execução for bloqueada Alto custo de criação e destruição de threads reciclagem.
29 slide 29 Implementando threads no espaço do usuário e no espaço do núcleo
30 slide 30 Implementações híbridas
31 slide 31 Ativações do Escalonador Objetivo imitar a funcionalidade dos threads de núcleo ganha desempenho de threads de usuário Evita transições usuário/núcleo desnecessárias Núcleo atribui processadores virtuais para cada processo deixa o sistema supervisor alocar threads para processadores Problema: Baseia-se fundamentalmente nos upcalls - o núcleo (camada inferior) chamando procedimentos no espaço do usuário (camada superior)
32 slide 32 Threads pop-up Chegada de uma mensagem = Criação de um novo thread para lidar com a mensagem Conhecido como thread pop-up Não possui história = criados rapidamente Vantagem: Latência menor entre chegada da mensagem e início do processamento
33 slide 33 Threads pop-up
34 slide 34 Convertendo o código monothread em código multithread Processo complicado. Problemas: Variáveis globais a um thread específico. Solução: Proibir o uso de variáveis globais Cada thread possui sua própria variável global privada Linguagens não possui declarações de variáveis intermediárias. Rotinas de bibliotecas não são reentrantes. Solução: Bit de proteção = elimina grande parte do paralelismo Tratamento de sinais Núcleo não sabe sobre threads = não pode tratar sinais corretamente Gerenciamento de pilha Núcleo não conhece threads = não consegue controlar transbordo de pilha
35 slide 35 Convertendo o código monothread em código multithread
36 slide 36 Convertendo o código monothread em código multithread
37 slide 37 Exercícios 1. Cite as vantagens e desvantagens de se implementar threads no espaço do usuário. 2. Cite as vantagens e desvantagens de se implementar threads no núcleo. 3. O que são ativações do escalonador? 4. O que são threads pop-up? 5. Cite duas dificuldades para converter códigos monothreads em multithreads.
38 slide 38 Condições de corrida OBS: Depuração de código pode ser inútil para detectar condições de corrida
39 slide 39 Regiões críticas Condições necessárias para evitar condições de corridas: Dois processos não podem estar simultaneamente dentro de suas regiões críticas. Nada pode ser afirmado sobre a velocidade ou sobre o número de CPUs. Nenhum processo sendo executado fora de sua região crítica pode bloquear outros processos. Nenhum processo deve esperar eternamente para entrar em sua região crítica.
40 slide 40
41 slide 41 Exclusão mútua com espera ociosa Propostas para obtenção de exclusão mútua: Desabilitando interrupções. Variáveis do tipo trava. Chaveamento obrigatório. Solução de Peterson. A instrução TSL.
42 slide 42 Desabilitando Interrupções Não é uma solução adequada pois: Perigoso dar este privilégio a usuários Problema com múltiplos processadores
43 slide 43 Variáveis do tipo trava Solução apresenta problema de condições de corrida
44 slide 44 Chaveamento obrigatório Não é uma boa ideia quando temos um processo mais lento envolvido Viola a regra 3
45 slide 45 Solução de Peterson
46 slide 46 A instrução TSL
47 slide 47 A instrução XCHG
48 slide 48 Espera ociosa Dormir e acordar Desperdício de CPU Pode ter efeitos inesperados Inversão de Prioridade Solução Bloqueio ao invés de espera ociosa
49 slide 49 O problema produtor-consumidor Problema: Bit de sinal perdido - Pode adormecer eternamente Bit de espera pelo sinal de acordar - Resolve para casos simples
50 slide 50 Semáforos
51 slide 51 Mutexes
52 slide 52 Exercícios 1. Defina condição de corrida. 2. Defina região crítica. 3. Cite e comente 3 soluções para exclusão mútua com espera ociosa. 4. Descreva o funcionamento do chaveamento obrigatório. 5. Descreva o funcionamento da instrução TSL. 6. Qual o problema de se trabalhar com espera ociosa. 7. De forma resumida, diga no que consiste o problema do produtor-consumidor.
53 slide 53 Mutexes em Pthreads
54 slide 54 Mutexes em Pthreads
55 slide 55 Mutexes em Pthreads (Continua)
56 slide 56 (Continuação) Mutexes em Pthreads
57 slide 57 Semáforos. Problemas: Cuidado! Controle de bloqueio por conta do programador Erro sutil pode por tudo a perder Monitores Monitores Somente um processo ativo por vez Compilador implemente exclusão mútua Programador precisa apenas converter regiões críticas p/ rotinas do monitor Solução está na introdução de variáveis condicionais (não são contadores)
58 slide 58 Monitores
59 slide 59 Monitores (Continua)
60 slide 60 (Continuação) Monitores
61 slide 61 Monitores
62 slide 62 Monitores
63 slide 63 Monitores
64 slide 64 Monitores Deixam a programação paralela menos sujeita a erros Problema: Conceito de programação O compilador deve conhecê-lo Semáforos Linguagens não apresenta semáforos Fácil inclusão Conclusão Semáforos x Monitores Semáforos: Nível muito baixo Monitores: Não são úteis Nenhum deles permite troca de informação entre máquinas. Devese buscar outra solução.
65 slide 65 Troca de mensagens Apresentam muitos problemas complexos e dificuldades de projeto que não ocorrem com semáforos ou monitores. Ex: Distinção entre nova mensagem e retransmissão Evitar ambiguidade em nomes de processos Autenticação (Evitar impostor) Copiar mensagens é mais lento do que realizar operações sobre um semáforo ou monitor Pode utilizar caixas postais ou utilizar a estratégia Rendezvous (Encontro marcado em francês) Bastante utilizada em sistemas de programação paralela.
66 slide 66 O problema produtor-consumidor com troca de mensagens
67 slide 67 O problema produtor-consumidor com troca de mensagens
68 slide 68 Barreiras Nenhum processo pode avançar p/ próxima fase até que todos os processos estejam prontos a fazê-lo Ex. de uso: Problema de Relaxação da física ou da engenharia
69 slide 69 Escalonamento Sistemas em lote: Escalonamento simples Sistemas multiprogramados: Escalonamento complexo Computadores pessoais Escalonamento não é tão importante. Servidores e estações de trabalho Escalonamento importante Escalonador deve se preocupar com uso eficiente da CPU
70 slide 70 Comportamento escalonamento-processo Dois tipos: Limitados pela CPU Limitados por E/S Evolução das CPU s Processos tendem a ficar limitados por E/S
71 slide 71 Comportamento escalonamento-processo
72 slide 72 Quando escalonar Escalonamento Criação de um novo processo Término de um processo Bloqueio de um processo Interrupção de E/S Algoritmos divididos em duas categorias Preemptivos Não preemptivos
73 slide 73 Categorias dos algoritimos de escalonamento Em lote. Interativa. Tempo real.
74 slide 74 Exercícios 1.Como funcionam as variáveis de condição? 2.O que são os monitores? 3.Cite as vantagens e desvantagens dos monitores sobre os semáforos. 4.Quais os principais problemas enfrentados pela troca de mensagem? 5.Porque nos computadores pessoais o escalomanento não é tão importante quanto nos servidores e estações de trabalho? 6.Em qual(is) situação(ões) deve ser tomada a decisão de escalonar um processo?
75 slide 75 Objetivos dos algoritmos de escalonamento
76 slide 76 Objetivos dos algoritmos de escalonamento Observações: Melhor ter juntos na memória alguns processos limitados pela CPU e outros por E/S, do que somente um destes tipos. Maior vazão, não significa necessariamente melhor tempo de retorno
77 slide 77 Escalonamento em sistemas em lotes Primeiro a chegar, primeiro a ser servido Vantagens: Fácil de entender e programar, justo Desvantagem: pode atrasar processos orientados a computação Tarefa mais curta primeiro Todas as tarefas devem estar disponíveis simultaneamente Próximo de menor tempo restante Versão preemptiva do anterior Permite bom desempenho para novas tarefas curtas
78 slide 78 Tarefa mais curta primeiro Média 14 min Média 11 min
79 slide 79 Escalonamento em sistemas interativos Escalonamento por chaveamento circular. Escalonamento por prioridades. Filas mútiplas. Próximo processo mais curto. Escalonamento garantido. Escalonamento por loteria. Escalonamento por fração justa.
80 slide 80 Escalonamento por chaveamento circular
81 slide 81 Escalonamento por prioridades
82 slide 82 Escalonamento em sistemas de tempo real Podem ser: Estáticos Decisão é tomada antes de iniciar a execução Dinâmico Decisão é tomada durante a execução
83 slide 83 Política x Mecanismo Problema O escalonador raramente faz a melhor escolha Solução: Mecanismo de escalonamento no núcleo, mas a política é estabelecida por parâmetros de um processo de usuário
84 slide 84 Escalonamento de threads (Continua)
85 slide 85 (Continuação)
86 slide 86 O problema do jantar dos filósofos Acesse o endereço a seguir para ver um exemplo prático:
87 slide 87
88 slide 88
89 slide 89
90 slide 90
91 slide 91 O problema dos leitores e escritores
92 slide 92
93 slide 93 Exercícios 1. Diferencie vazão e tempo de retorno. 2. Um dos objetivos dos sistemas interativos é a proporcionalidade. O que vem a ser proporcionalidade? 3. O escalonador nem sempre toma as melhores decisões. Como melhorar isto? 4. Diferencie o funcionamento dos algoritmos: menor tempo restante e tarefa mais curta primeiro. 5. Como funciona o algoritmo de escalonamento round-robim. 6. Diferencie escalonamento por prioridade e escalonamento por filas múltiplas. 7. Quais os tipos de escalonamento de threads possíveis? 8. Descreva no que consiste a idéia básica envolvida no problema do jantar dos filósofos
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.
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
Programaçã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
Slide. ! Multiprocessamento! Modelo de processo. Dep. Ciência da Computação. Slide. ! Alternância de processos. ! Relação Programa x Processo
Parte II - Sistemas Operacionais Cap. 2 - Processos (1) Prof. Marcelo Moreno moreno@ice.ufjf.br Processos - Motivação! Necessidade de gerenciamento dos programas instanciados para execução! Multiprogramação
Processos 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
Capítulo 2. Processos e Threads. Processos e threads
Capítulo 2 Processos e Threads 1 Processos e threads 1. Processos 2. Threads 3. Comunicação inter processos (IPC) 4. Problemas clássicos de IPC 5. Escalonamento (Scheduling) 2 1 Processos: O modelo de
Revisã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
Sistemas Distribuídos
Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação
Sistemas 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
Prof. 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.
Sistemas 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
Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais
Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode
Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32
Sistemas 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
Sistemas 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
Sistema 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.
Arquitetura de Computadores. Introdução aos Sistemas Operacionais
Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4
SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola
SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura
Gerê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
Sistemas Operacionais
Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências
Sistemas 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
1.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
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Sistemas 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
1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais
1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de
Prof.: 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
8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
Notas 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
Sistemas 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,
Sistema 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
Capítulo 8 Arquitetura de Computadores Paralelos
Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da
EXEMPLO: 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
Organizaçã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
Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com
Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema
Sistemas 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
03 GERÊNCIA DO PROCESSADOR
03 GERÊNCIA DO PROCESSADOR 3.1 Introdução Em sistemas multiprogramáveis múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. Como diversos processos podem estarem estado
Sistemas 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
SISTEMAS 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
Udesc/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
Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;
CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar
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
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
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
Ciclo de Vida de um Processo
Nas aulas anteriores Ciclo de Vida de um Processo Marcelo Johann Conceito de Processo Mecanismo de Programação em C/UNIX Continuando Interrupções TRAP Chaveamento de Contexto Chamadas de Sistema INF01142
Notas 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
Capítulo 3 Gerenciamento de memória
Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM Capítulo 3 Gerenciamento de memória Introdução Programas tendem a se expandir a fim de ocupar toda a memória disponível Programador deseja
Disciplina: 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
Sistemas Operacionais
UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário
SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN
SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura
Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software
Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um
Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira
Sistemas Operacionais Escalonamento de Processo Prof. Dr. Márcio Andrey Teixeira Quando um computador é multiprogramado, ele muitas vezes tem variados processos que competem pela CPU ao mesmo tempo; Essa
Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas
Sistemas 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
Carlos 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
Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas
Máquina de estados UNIX O
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de
Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que
Introduçã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
Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
Tipos 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
Infra-Estrutura de Software. Introdução. (cont.)
Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como
Sistemas 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
Sistemas 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)
O 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
Projeto 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
Threads. 8 de janeiro de 2015
1 / 24 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 24 Agenda Tópicos
Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955
O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma
Gerê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
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento
4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Sistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
28/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
Processos. 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
Sistemas 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
Sistemas Operacionais
Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções
Arquitetura de Computadores. Sistemas Operacionais IV
Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo
3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:
Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de
7 Processamento Paralelo
7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas
Prof. 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
Sobre a apresentação (About(
Capítulo 4: Threads Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por Cristiaino
Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas
1 Apresentação da disciplina Sistemas Operacionais I N Prof. Marcelo Johann 2009/2 O professor A disciplina Bibliografia Cronograma Avaliação Trabalhos Regras do jogo Introdução: Sistemas Operacionais
Organizaçã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
9 - 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
A Evolução dos Sistemas Operacionais
Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento
Programação Concorrente Conceitos Multiprogramação Threads
Programação Concorrente Conceitos Multiprogramação Threads Prof. Gibson Pasquini Nascimento gibson.pasquini@gmail.com O que é Concorrência? Uma unidade concorrente é um componente de um programa que não
Capítulo 2 Processos e Threads
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas
O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104.
AULA 12 - Deadlocks Em alguns casos pode ocorrer a seguinte situação: um processo solicita um determinado recurso e este não está disponível no momento. Quando isso ocontece o processo entra para o estado
11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador
Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um
O 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
Visão Geral de Sistemas Operacionais
Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.
Sistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Introdução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,