Thread. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Documentos relacionados
Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Sistemas de Informação. Sistemas Operacionais

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Sistemas Operacionais. Prof. Fabio Augusto Oliveira

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Sistemas Operacionais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Unidade 2. Processos Threads Concorrência em Java

INE 5645 Programação Paralela e Distribuída

Sistemas de Informação. Sistemas Operacionais

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Algoritmos e Lógica de Programação Sistemas Operacionais

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

Chapter 4: Threads. Operating System Concepts 8th Edition

SSC0640 Sistemas Operacionais I

Sistemas Distribuídos Capítulo 3 - Aula 3

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Sistemas Distribuídos Aula 3

Processos. Adão de Melo Neto

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ- UEVA. Assunto: Programação Concorrente.

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

Chamadas de Sistema (SYSCALL)

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

8 Threads. 8.1 Introdução

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

NÚCLEO DE TECNOLOGIA DEPARTAMENTO ACADÊMCIO DE CIÊNCIA DA COMPUTAÇÃO. I - Objetivo Geral: Introduzir os conceitos gerais de sistemas operacionais

Sistemas Operacionais

Threads. Pedro Cruz. EEL770 Sistemas Operacionais

Figura 01 Programa e Processo

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

Sistemas Operacionais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Resumo: Sistemas Operacionais Abertos

Threads. Sistemas Operacionais. Charles Tim Batista Garrocho. Instituto Federal de São Paulo IFSP Campus Campos do Jordão. charles.garrocho.

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Estrutura do Sistema Operacional

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Estruturas de Sistemas Operacionais

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Técnicas Avançadas de Programação

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Ficha da Unidade Curricular (UC)

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Arquitetura de Sistemas Operativos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais I

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

Sistemas Operacionais

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Sistemas Operacionais

Sistemas Operacionais I

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

SISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento

Capítulo 2 Processos e Threads

Sistemas Operacionais

Sistemas de Entrada e Saída

Gerência de memória II

Sistemas Operacionais

Concorrência em Processos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais I Parte VI Threads

Curso: Redes de Computadores

Ferramentas para Programação em Processadores Multi-Core

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Sistemas Operacionais

Sistemas Operacionais. Introdução a Sistemas Operacionais

Concorrência. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Sistemas Operacionais Aula 3

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Segmentação de Memória

Sistemas Operacionais. Estrutura do Sistema Operacional

Processos. Conceitos Básicos

Sistemas Operacionais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ESTRUTURA DE UM SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ

ESTRUTURA DOS SISTEMAS OPERACIONAIS

Sistemas Operacionais. Estrutura do Sistema Operacional: Modos de Acesso

Transcrição:

Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1

Seção 1.1 Introdução 2

Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU Processo atividade de: Ler a receita Buscar ingredientes Assar o bolo 3

Confeiteiro registra onde estava na receita (processo é salvo) Busca Livro Primeiros Socorros Segue instruções do livro Confeiteiro (CPU) passa de um processo (Assar o bolo) para um de prioridade mais alta (fornecer cuidados médicos) Quando picada tiver sido tratada, confeiteiro volta ao bolo Continua do ponto onde parou 4

Capítulo 06 Receita (Algoritmo) Processo 1 Mistura o ovo 14/05/14 Ingredientes: dados de entrada Processo 2 Ovo misturado com a farinha P C F de Oliveira 2014 Processo 3 Calda é colocada na massa misturada com ovo 5

Capítulo 06 Receita (Algoritmo) Processo 1 Mistura o ovo 14/05/14 Ingredientes: dados de entrada Processo 2 Ovo misturado com a farinha P C F de Oliveira 2014 Processo 3 Calda é colocada na massa misturada com ovo 6

O que é? Unidade básica de utilização de CPU Silberchatz, Galvin, Gagne (2005) Processo dentro de um processo, ou um miniprocesso Tanenbaum (2010) Unidade de execução ou um processo leve (lightweight process) Stallings (2011) 7

Seção 1.2 Ambiente Monothread 8

Subprocessos: processos criados dentro de uma estrutura hierárquica Ambiente monothread: um processo suporta apenas um programa no seu espaço de endereçamento Processo independente: não existe vínculo entre processo criado e seu criador Subprocessos Processos Independentes 9

Ambiente monothread: um processo suporta apenas um programa no seu espaço de endereçamento Cada processo possui seu próprio contexto de software, hardware e espaço de endereçamento 10

MS-DOS Processo Único Único Variantes do Unix (antigas versões) Múltiplos Processos Um por processo Fonte: Stalings, W. Operating Systems: Internals and Design Principles, 6.ed., (2011) 11

Seção 1.3 Ambiente Multithread 12

Um processo com 3 threads Contexto de hardware Contexto de hardware Contexto de hardware C on texto d e so ftw a re Não existe a ideia de programas associados a processos, mas sim a threads 1 2 Espaço de endereçamento 3 Compartilham mesmo espaço de endereçamento 13

Java Run-time Um Processo Múltiplos s Windows, Solaris e novas versões do Unix/ Linux Múltiplos Processos Múltiplos s por processo Fonte: Stallings, W. Operating Systems: Internals and Design Principles, 6.ed., (2011) 14

Processo Espaço de endereçamento... Aplicação Multithread Variáveis Program a Principa l Call Sub_1 _1 PC SP C on texto de H a rdw a re Call Sub_2 Vantagem Minimizar alocação de recursos do SO Diminuir overhead (sobrecarga) na criação, troca e eliminação de processos Fim Sub_1 Ret Sub_2 Ret... _2 PC SP _3 PC SP C ontexto de H a rdw a re C on texto d e H a rdw a re s executados concorrentemente 15

Permite que diversos pedidos sejam atendidos simultaneamente Processo servidor Aplicação Multithread Solicitações pode solicitar serviço remoto enquanto a aplicação pode continuar realizando outras tarefas Processo cliente Processo cliente Processo cliente 16

Seção 1.4 Programação Multithread 17

18

Seção 1.5 Arquitetura e Implementação 19

Ambientes Arquitetura Distributed Computing Environment (DCE) Modo Usuário Compaq Open MVS v.6 Modo Usuário Windows 2000 Modo Kernel Compaq Unix Modo Kernel Compaq Open MVS v.7 Modo Kernel Solaris v.7 Modo Híbrido University of Washington Fasts Scheduler Activations Bibliotecas de rotinas thread Fora do núcleo SO: usuário Pelo núcleo: kernel Combinação: híbrido 20

s em Modo Usuário (TMU) Threa d 0 Threa d 1 Th re a d 2 Threa d 3 Threa d 4 Modo usuário Implementados pela aplicação e não SO Existe uma biblioteca para criação/ eliminação de threads, e escalonamento Biblioteca Aplicação gerencia e sincroniza os threads Kernel Modo kernel Rápidos e eficientes por não acessar kernel 21

s em Modo Kernel (TMK) Threa d 0 Threa d 1 Th re a d 2 Th rea d 3 Th rea d 4 Modo usuário Implementados pelo SO SO sabe da existência dos threads e pode escaloná-los um a um Kernel Modo kernel Problema de baixo desempenho porque utilizam kernel para chamadas ao sistema 22

s em Modo Híbrido (TMH) TMU 0 TMU 1 TMU 2 Kernel TMU 3 Biblioteca TMU 4 TMU 5 TMK 0 TMK 1 TMK 2 TMK 3 Modo usuário Modo kernel Combina as vantagens de threads em TMU e TMK Programador desenvolve aplicação em termos de TMU e especifica quantos TMK estão associados ao processo TMU são mapeados em TMK quando processo está sendo executado Apresenta problemas herdados das duas implementações 23

Scheduler Activations (SA) Combina o melhor das duas arquiteturas Th rea d 0 Th re a d 1 Th rea d 2 Threa d 3 Th rea d 4 Modo usuário Kernel troca informações com a biblioteca de threads usando a estrutura de dados SA Biblioteca Kernel Modo kernel Melhor desempenho é alcançado porque evita mudanças de modos de acesso desnecessárias (e.g. Usuário-kernelusuário) 24

Texto Fonte Arial Normal Máx.14pt / Mín.12pt Preto Centralizado 25