Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais - Aula 6
Advertisements

Sistemas Distribuídos
Sistemas Operacionais Aula II
Software Básico Silvio Fernandes
Sistemas Operacionais
IC - UFF Sistemas Operacionais Threads. IC - UFF Processos e threads Vimos o conceito de processo englobando duas características básicas: propriedade.
Capitulo 6: Entrada e Saída
Sistemas Operacionais
Sistemas Operacionais
Noções de Sistemas Operacionais
Arquitetura e organização de computadores
Sistemas Operacionais
Processos no Unix e Linux
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Arquitetura de Sistemas Operacionais
Chapter 4: Threads.
Sistemas Operacionais
Interação Cliente Servidor
SISTEMAS OPERACIONAIS
SSC SISTEMAS OPERACIONAIS I Aula 1 – Apresentação da disciplina
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
Avaliação de Sistemas Operacionais
SSC SISTEMAS OPERACIONAIS I
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
SSC SISTEMAS OPERACIONAIS I
SISTEMAS OPERACIONAIS Regina Helena Carlucci Santana
SSC SISTEMAS OPERACIONAIS I
SSC541 - SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
SSC SISTEMAS OPERACIONAIS I
Estudo de Caso 1: UNIX e LINUX
Sistemas Operacionais
Sistemas Distribuídos
09/03/10 20:13 Claudio de Oliveira – 1/21.
Threads.
Sistemas Operacionais
Arquitetura de computadores
Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Unidade 1-1 Processos e Threads
SISTEMAS OPERACIONAIS
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
Memória virtual Professor Esp. Diego André Sant’Ana
IC - UFF Sistemas Operacionais 4. Threads Texto base: capítulo 4 Operating Systems: Internals and Design Principles W. Stallings.
Sistemas Operacionais
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 9 Regiane Kawasaki
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Sistemas Operacionais
Prof. Alexandre Monteiro Recife
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Processos.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 4: Threads.
SISTEMAS OPERACIONAIS I
Conceitos de thread Faculdade PITÁGORAS – Outubro de 2012
Prof. Werley T. Reinaldo 26/05/  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;
SISTEMAS OPERACIONAIS MACH EPOS
Sistemas Operacionais
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Elementos de Informática
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Administração de Sistemas Operacionais 1 -Windows
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação

2 Processos Sistemas Operacionais Tradicionais: Cada processo possui um espaço de endereçamento e um único fluxo de controle Existem situações onde é desejável ter múltiplos fluxos de controle compartilhando o mesmo espaço de endereçamento Soluções: Threads

3 Threads Tradicionalmente, processos possuem: um contador de programa um espaço de endereço uma thread de controle (ou fluxo de controle); Multithreading: Sistemas atuais suportam múltiplas threads de controle; a) Três processosb) Um processo com três threads Thread Processo As três threads utilizam o mesmo espaço de endereço

4 Threads Thread (processo leve) é uma entidade básica de utilização da CPU; Processos com múltiplas threads podem realizar mais de uma tarefa de cada vez;

5 Threads Estados: executando, pronta, bloqueada; Comandos para manipular threads: Thread_create; Thread_exit; Thread_wait; Thread_yield;...

6 Threads Cada thread tem sua pilha de execução

7 Threads Itens por ProcessoItens por Thread Espaço de endereçamento Variáveis globais Arquivos abertos Processos filhos Alarmes pendentes Contador de programa Registradores Pilha Estado

8 Threads Exemplo - servidor de arquivos: Recebe diversas requisições de leitura e escrita em arquivos e envia respostas a essas requisições; Para melhorar desempenho, o servidor mantém uma cache dos arquivos mais recentes, lendo da cache e escrevendo na cache quando possível; Quando uma requisição é feita, uma thread é alocada para seu processamento. Suponha que essa thread seja bloqueada esperando uma transferência de arquivos. Nesse caso, outras threads podem continuar atendendo a outras requisições;

9 Threads Exemplo - navegador WEB: Muitas páginas WEB contêm muitas figuras que devem ser mostradas assim que a página é carregada; Para cada figura, o navegador deve estabelecer uma conexão separada com o servidor da página e requisitar a figura consumo de tempo; Com múltiplas threads, muitas imagens podem ser requisitadas ao mesmo tempo melhorando o desempenho;

10 Threads Exemplo - Editor de Texto: Editores mostram documentos formatados que estão sendo criados em telas (vídeo); No caso de um livro, por exemplo, todos os capítulos podem estar em apenas um arquivo, ou cada capítulo pode estar em arquivos separados; Diferentes tarefas podem ser realizadas durante a edição do livro; Várias threads podem ser utilizadas para diferentes tarefas;

11 Threads Threads para diferentes tarefas; Disco

12 Threads Benefícios: Capacidade de resposta: aplicações interativas; Ex.: servidor WEB; Compartilhamento de recursos: mesmo endereçamento; memória, recursos; Economia: criar e realizar chaveamento de threads é mais barato; Utilização de arquiteturas multiprocessador: processamento paralelo;

13 Threads Tipos de threads: De usuário: implementadas por bibliotecas no nível do usuário; (Solaris, Mach) Criação e escalonamento são realizados sem o conhecimento do kernel; Sistema Supervisor (run-time system); Tabela de threads para cada processo; Processo inteiro é bloqueado se uma thread realizar uma chamada bloqueante ao sistema;

14 Threads de Usuário

15 Threads Tipos de threads: De kernel: suportadas diretamente pelo SO; (Solaris, WinNT, Digital UNIX) Criação, escalonamento e gerenciamento são feitos pelo kernel; Tabela de threads e tabela de processos separadas; Processo inteiro não é bloqueado se uma thread realizar uma chamada bloqueante ao sistema;

16 Threads de Kernel

17 Threads de Usuário x Threads de Kernel Threads de usuário Threads de kernel

18 Threads Modelos Multithreading Muitos-para-um: Mapeia muitas threads de usuário em apenas uma thread de kernel; Não permite múltiplas threads em paralelo; Threads de usuário Thread de kernel

19 Threads Modelos Multithreading Um-para-um:(WinNT, OS/2) Mapeia para cada thread de usuário uma thread de kernel; Permite múltiplas threads em paralelo; Threads de usuário Threads de kernel

20 Threads Modelos Multithreading Muitos-para-muitos: (Solaris, Digital UNIX) Mapeia para múltiplos threads de usuário um número menor ou igual de threads de kernel; Permite múltiplas threads em paralelo; Threads de usuário Thread de kernel