Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Distribuídos
IC - UFF Sistemas Operacionais Threads. IC - UFF Processos e threads Vimos o conceito de processo englobando duas características básicas: propriedade.
Sistemas Operacionais
Sistemas Operacionais
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
SSC SISTEMAS OPERACIONAIS I
SSC SISTEMAS OPERACIONAIS I
Estudo de Caso 1: UNIX e LINUX
Threads.
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Conteúdo 1. Introdução Threads 2. Ambiente Monothread 3. Ambiente Multithread 4. Arquitetura e Implementação 5. Modelos de Programação.
Unidade 2 - Parte 1 Programação Concorrente
Sistemas Operacionais
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 9 Regiane Kawasaki
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Prof. Alexandre Monteiro Recife
Escalonamento de Processos e Threads
Processos.
Conceitos de thread Faculdade PITÁGORAS – Outubro de 2012
S ISTEMAS OPERACIONAIS PROCESSOS Horácio Ribeiro.
Infra-Estrutura de Software
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Elementos de Informática
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Administração de Sistemas Operacionais 1 -Windows
My drivers Podemos definir um driver como uma ponte de comunicação entre determinado dispositivo e a central de processamento de um computador. Na prática,
Prof. Gilson Simões Gonçalves Sistemas Operacionais Prof. Gilson Simões Gonçalves Aula II.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Comunicação Interprocesso Condições de Disputa (corrida)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
SECRETARIA DE ESTADO DA EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DIRETORIA DE DESENVOLVIMENTO HUMANO GERÊNCIA DE TECNOLOGIA DE INFORMAÇÕES EDUCACIONAIS E ADMINISTRATIVAS.
1 Applied Stats ™ Versão 4.4 Software para Controle Estatístico de Processos (CEP) em Tempo Real.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
MATHEUS F. STIGGER QNX NEUTRINO. HISTÓRICO Primeira versão do QNX foi lançada em 1982 para Intel 8088 pela Quantum Software Systems. Nos primeiros anos.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Sistemas Operacionais 2 Introdução Aula O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Introdução ao MS-Office Módulo Word. Word O Word é um processador de texto - programa usado para escrever no computador. Com ele, é possível criar desde.
Sistemas Operacionais de Redes Windows – Active Directory IGOR ALVES.
Redes de Computadores e Aplicações – Camada de Rede IGOR ALVES.
Gestão de Infraestrutura de TI
Projeto de Inclusão Digital Aula de introdução a Informática 10 de outubro de 2009.
Gestão da Segurança da Informação e Série ISO/IEC 27000
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
CURSO BÁSICO DE INFORMÁTICA INSTRUTORA: JOSILENE BRAGA
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador I Seminário Final Funcionalidades da.
Capítulo 1 Introdução aos Sistemas Operacionais Curso Técnico de Redes de Computadores Professor Emerson Felipe Administração de Sistemas Operacionais.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Alessandro D. R. Fazenda
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner FATEC-PB.
Diagramas de Sequência e Comunicação
Modelo OSI Com o objetivo de efetuar uma divisão das diversas partes da rede que compõem uma transmissão, para que possam existir etapas definidas e que.
Redes de Computadores e Aplicações – Modelo OSI IGOR ALVES.
SOFTWARE Software Aplicativo – Executa Tarefas de Processamento de informações para usuários finais. Software de Sistemas – Gerencia e Apóia operações.
EA869 Montadores Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato.
Banco de Dados. Banco de Dados: espaço reservado da memória para armazenar os dados/informações de maneira organizada. Alguns tipos de Banco de Dados:
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Processos e Threads Capítulo Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Threads Como fazer um jogo de computador? Como fazer cada boneco andar independentemente; Como atualizar a interface gráfica? Como se comunicar com os outros jogadores em outras máquinas?

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Threads Em SO tradicionais (leia-se antigos), o processo representa uma única thread (único fluxo de execução); Há casos que são necessários múltiplos fluxos de execução: jogo de computador;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Threads O processo é um agrupamento de recursos relacionados: –Memória, arquivos abertos, processos filhos, etc; Thread é o fluxo de execução do processo: –Tem PC, PSW, registradores, pilha;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Processos x Threads Processos servem para agrupar recursos; Threads servem para serem escalonadas na CPU; Múltiplas threads (pertencentes a um único processo) em execução é análogo a ter múltiplos processos em execução; Threads: compartilham mesmo espaço de endereçamento do processo, arquivos abertos, etc; Processos: compartilham memória, impressora, discos, etc;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Threads Threads são chamadas de processos leves, pois são mais “baratas” de serem criadas;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Threads O Modelo de Thread (a)Três processos cada um com um thread (b) Um processo com três threads

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Multithread Dá a mesma ilusão de paralelismo pela troca constante na CPU; Não há a mesma independência entre threads como há entre processos; Uma thread, por exemplo, pode apagar completamente a pilha de outra thread;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Proteção entre threads Não há, porque: –É impossível; –Não é necessário, pois o programador não será malicioso com ele mesmo;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 O Modelo de Thread Items compartilhados por todas as threads em um processo Itens privativos de cada thread Passam pelos mesmos estados que os processos;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Início de um processo Há apenas uma única thread; Chamadas nas threads: –Thread_exit; –Thread_wait; –Thread_yield; Yield é necessário pois não há interrupção de relógio;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Benefícios de Threads Se uma thread bloquear, outras threads do processo podem continuar executando (só thread de núcleo); Compartilhamento de recursos: threads de um processo compartilham o mesmo espaço de endereçamento; Economia: mais fácil de serem criadas e destruídas (100x mais rápido);

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Benefícios de Threads Execução de várias atividades de uma aplicação ao mesmo tempo; Processos com threads I/O bound (orientadas a I/O) e CPU bound (orientadas a CPU) terminam mais rápido; Paralelismo real, em sistemas com múltiplas CPUs;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Threads em processadores de texto Uma thread para receber comandos do usuário; Uma thread para formatar o texto; Uma thread para salvar o arquivo em disco temporariamente;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Processador de texto Um processador de texto com três threads

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Threads em servidores web Um servidor web com múltiplos threads

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Código de threads em servidores web Código simplificado do slide anterior (a)Thread despachante (b)Thread operário

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Threads de Usuário e Threads de Núcleo Threads são dividas em Threads de Usuário e de Núcleo; Thread de Usuário: o núcleo não sabe o que é thread. O Sistema Supervisor é quem escalona as threads, no nível do usuário; Thread de Núcleo: o núcleo reconhece threads e pode escaloná-las;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20 Implementação de Threads de Usuário Um pacote de threads de usuário

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 Threads de usuário Threads ficam no espaço de usuário; Núcleo apenas faz gerenciamento comum de processos monothreads; Vantagem óbvia: threads de usuário podem ser implementadas em um SO que não suporta threads; As threads executam no topo do Sistema Supervisor;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 Sistema Supervisor Contém uma coleção de procedimentos: –Thread_create; –Thread_exit; –Thread_wait; –Thread_yield;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23 Sistema Supervisor Há uma tabela de threads por processo; Quando uma thread executa uma instrução que possa bloqueá-lo (read), ele chama um procedimento do sistema supervisor; Caso o procedimento perceba que a chamada da thread vai bloqueá-la, o sistema supervisor coloca uma nova thread para executar (se não, bloquearia todo o processo);

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Vantagens de Threads de usuário Cada processo pode ter um algoritmo de escalonamento personalizado; Já que o espaço da tabela de threads não é colocado no núcleo, escala melhor. Seria um problema caso houvesse muitas threads;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 Problemas Se uma thread bloquear, bloqueia todas as outras; –Possível solução: usar comando Select (verifica se uma chamada read vai bloquear a thread); A thread inicial precisa ceder a vez de execução para outras threads (thread_yield);

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26 Implementação de Threads de Núcleo Um pacote de threads gerenciado pelo núcleo

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27 Threads de Núcleo Não há necessidade de sistema supervisor, já que o escalonador do SO já faz esse papel; Há uma única tabela de threads; Criação ou destruição de threads: chama-se o núcleo;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28 Threads de Núcleo O núcleo toma a decisão de qual thread irá executar após o bloqueio de outra (escalonador); Núcleo faz reciclagem de threads, visto que é “caro” criar uma thread de núcleo em comparação com threads de usuário; Não há mais o problema de uma thread bloquear as outras;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29 Implementações Híbridas Multiplexação de threads de usuário sobre threads de núcleo

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 30 Threads Pop-Up Criação de um novo thread quando chega uma mensagem (a) antes da mensagem chegar (b) depois da mensagem chegar

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 31 Implementação de Threads Unix: –Thread de Usuário; Linux: –Thread de Núcleo. É possível usar apenas Thread de Usuário para manter compatibilidade com Unix; –Uso da chamada ao sistema Clone; Windows: –Thread de Núcleo;