Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Documentos relacionados
Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Programação de Sistemas em Tempo Real

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Sistemas Operacionais. Conceito de Processos

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

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

Capítulo 3: Processos

Sistemas de Computação. Processos e escalonamento

Sistemas Operacionais

Arquitetura de Computadores Sistemas Operacionais II

Sistemas Distribuídos Aula 2

Sistemas Operacionais

Sistemas Operacionais

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

Sistemas Distribuídos Aula 3

Sistemas Operacionais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

SSC0640 Sistemas Operacionais I

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

Sistemas Operacionais

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

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Processos e Threads

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Disciplina: Sistemas Operacionais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula

Fundamentos de Sistemas Operacionais

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Resumo: Sistemas Operacionais Abertos

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Sistemas de Informação. Sistemas Operacionais

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

Gerência de Recursos. Gerência do Processador

Prof. Kleber R. Rovai

Davidson Rodrigo Boccardo

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

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processos. Prof. Gustavo Leitão

SOP - TADS Processos. Revisão Ultima aula

Unix Processos. Geraldo Braz Junior

Técnicas Avançadas de Programação

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Sistemas Operacionais. Processos IC - UFF

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

Sistemas Operacionais. Sistema de entrada e Saída

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais. Prof. André Y. Kusumoto

Programação concorrente (processos e threads)

Sistemas Operacionais

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.

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

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

SISTEMAS OPERACIONAIS

Questões de Múltipla escolha

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

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

Sistemas Operacionais

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

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

Sistemas Operacionais

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

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

Processos ca 3 pítulo

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Arquitetura e Organização de Computadores

Comunicação entre Processos

Sistemas Operacionais. Escalonamento de processos

Processos. Estruturas de Controle

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Concorrência em Processos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais Aula 3

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.

Processos. Adão de Melo Neto

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais. Escalonamento de Processos

ENADE 2011 SISTEMAS OPERACIONAIS

Transcrição:

Processos e Threads Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza

Tópicos Conceito de Processos Escalonamento de Processos Operações em Processos Processos Cooperantes Comunicação entre Processos Comunicação em Sistemas Cliente-Servidor Introdução aos Threads Modelos de Multithreading

Conceito de Processos Um sistema operacional executa uma variedade de programas: Sistemas Batch jobs, Sistemas de Tempo Compartilhado - programas de usuários e tarefas. Processo pode ser, inicialmente, definido como um programa em execução. Um processo possui: Registradores, Pilhas e Filas, Seção de dados, Seção de instruções.

Estados do Processo Um processo pode assumir vários estados durante o seu ciclo de vida: novo: o processo está sendo criado. executando: instruções estão sendo executadas. bloqueado: o processo está aguardando algum evento ou resposta de uma operação de I/O. pronto: o processo está aguardando para ser processado pela CPU. encerrado: o processo finalizou suas execuções.

Diagrama de Estados do Processo

Bloco de Controle de Processos (BCP) Informações associadas a cada processo. Estado do Processo. Contador de Programas. Registradores da CPU. Informações sobre escalonamento. Informações sobre gerenciamento de memória. Informações sobre contabilidade. Informações sobre estado de I/O.

Bloco de Controle de Processos (BCP)

CPU alternando entre processos

Filas de Escalonamento de Processos Fila de Jobs - conjunto de todos os processos do sistema. Fila de Prontos - conjunto de todos os processos residentes na memória principal, prontos e esperando para serem executados. Fila de Dispositivos - conjunto de processos aguardando por um dispositivo de I/O. Processos migram entre as várias filas.

Fila de Prontos e de Dispositivos de I/O

Representação do Escalonamento de Processos

Escalonadores Escalonador de Longo Prazo (escalonadorde jobs) Seleciona quais processos deverão ser colocados na fila de prontos. É solicitado quando um novo processo deve ser admitido no sistema. Controla o grau de multiprogramação. Escalonador de Curto Prazo (escalonador de CPU) Seleciona qual processo deverá ser executado após obter a CPU. E constantemente solicitado. Escalonador de Médio Prazo

Escalonador de Médio Prazo

Escalonadores Processos podem ser descritos como sendo: Processos I/O Bound Gasta mais tempo realizando operações de I/O que computações, com ciclos de CPU curtos. Processos CPU Bound Gasta mais tempo realizando computações que operações de I/ O, com ciclos de CPU mais longos.

Mudança de Contexto Quando a CPU altera para um outro processo, o sistema deve armazenar o estado do processo antigo e carregar o estado armazenado do novo processo. O tempo gasto para a mudança de contexto não é útil aos processos (overhead). Este tempo gasto é dependente das características do hardware.

Mudança de Contexto

Processos Cooperantes Um Processo Independente não pode afeta ou ser afetado pela execução de um outro processo. Processos Cooperantes pode afetar e serem afetados pela execução de outros processos. Vantagens: Compartilhamento de informação. Speedup computacional Modularidade Conveniência

Comunicação entre Processos (IPC) Mecanismos para os processos viabilizarem a comunicação e a sincronização. Sistema de Mensagens - processo comunica-se com os demais sem utilizar-se de memória compartilhada. O IPC fornece duas operações: send(message) mensagem de tamanho fixo ou variável. receive(message) Um processo deve estabelecer um canal de comunicação e em seguida iniciar a troca de mensagens através do send/receive.

Sincronização A passagem de mensagem pode ser Bloqueante e Não Bloqueante. A abordagem Bloqueante é considerada síncrona. A abordagem Não Bloqueante é considerada assíncrona. As primitivas send/receive podem ser bloqueantes ou não bloqueantes.

Bufferização As filas de mensagens implementam uma destas três abordagens: Zero Capacity: sem capacidade de armazenamento o emissor deve esperar pelo receptor - Rendezvous Bounded Capacity: tamanho finito de n mensagens. emissor deve esperar se o canal estiver cheio Unbounded Capacity: tamanho infinito o emissor nunca espera

Processos Pesados e Leves

Benefícios Capacidade de Resposta Compartilhamento de Recursos Economia Utilização de arquiteturas multiprocessadas.

Níveis e Modelos Níveis de Threads Thread de Nível do Usuário O gerenciamento de threads é feito por uma biblioteca no nível do usuário. Thread de Nível do Kernel O gerenciamento é feito pelo próprio kernel do sistema operacional. Modelos de Multithreading Muitos para Um (many-to-one) Um para Um (one-to-one) Muitos para Muitos (many-to-many)

Modelo Muitos para Um Muitos threads do nível de usuário são mapeados em um único thread de kernel. Usado em sistemas que não suportam threads de kernel.

Modelo Um para Um Cada thread de nível do usuário é mapeado para um thread de nível do kernel.

Modelo Muitos para Muitos Permite que muitos threads de nível do usuário sejam mapeados para muitos threads de nível do kernel. Permite que o sistema operacional crie um número suficiente de threads de kernel.

Processos e Threads Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza