Capítulo 2. Processos e Threads. Processos e threads
|
|
- Júlio Teixeira Marques
- 8 Há anos
- Visualizações:
Transcrição
1 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
2 Processos: O modelo de processos Multiprogramação de 4 programas Modelo conceitual de 4 processos sequenciais independentes apenas um programa ativo em um dado instante 3 Criação de Processos 4 Principais eventos que causam a criação de processos 1. Inicialização do sistema Execução de um sistema de criação de processos 2. Solicitação do usuário para a criação de um processo 3. Início de um processamento em lote 2
3 Término de processos Condições que terminam um processo 1. Normal (voluntária) 2. Erro (voluntária) 3. Erro Fatal (involuntária) 4. Morto por outro processo (involuntária) 5 Hierarquias de Processos Pai cria um processo filho, processos filhos podem criar seus próprios processos Formam uma hierarquia UNIX denomina um grupo de processos (process group) Windows não tem o conceito de hierarquia de processos todos os processos são criados iguais 6 3
4 Estados de um processos 7 Sete Estados de um Processo 8 4
5 Estados de um processos 9 Camada inferior de Sos estruturados à processos administram interrupções e escalonamento Acima desta camada estão os processos sequenciais Administração de Processos e Recursos Um SO mantém as seguints tabelas Memoria E/S Arquivos Processos 10 5
6 Implementação de Processos 11 Campos de uma entrada em uma tabela de processos Imagem do processo (constituentes do processo) Programa do Usuário (texto) Dados do Usuários Pilha(s) para chamadas de procedimentos e passagem de parâmetros PCB - Process Control Block (contexto de execução) Dados requeridos (atributos dos processos) pelo SO para controlar o processo: Informação de identificação Informação de estado Informação de Controle 12 6
7 Implementação de Processos Esquema do que a camada inferior do SO faz quando uma interrupção ocorre 13 Imagens de processos na memória virtual 14 7
8 Threads: O modelo de Treads 15 (a) 3 processos cada um com uma thread (b) 1 processo com 3 threads Threads: O modelo de Treads 16 Itens compartilhados por todas as threads em um processos Itens privados de cada thread 8
9 Threads: O modelo de Treads Cada thread tem sua própria pilha 17 Thread Usage (1) Um processador de texto com 3 threads 18 9
10 Uso de Thread 19 Um Web server multithreaded Threads: O modelo de Treads (a) thread Dispatcher (b) thread trabalhadora 20 10
11 Threads: O modelo de Treads Três formas de construir um servidor 21 Implementando Threads no espaço do usuário 22 Um pacote de threads no nível do usuário 11
12 Implementando Threads no Kernel 23 Um pacote de threads administrada pelo kernel Implementações Híbridas 24 12
13 Ativações do Escalonador (Scheduler) Objetivo imitar a funcionalidade das threads do kernel obter os ganhos de performance das threads do espaço do usuário Evita transições desnecessárias de user/kernel O Kernel atribui processadores virtuais para cada processo permite ao sistema de runtime alocar threads aos processadores Problema: Dependência fundamental no kernel (camada inferior) procedimentos chamantes no espaço do usuário (camadas superiores) 25 Pop-Up Threads 26 Criação de uma nova thread quando uma mensagem chega (a) antes da chegada da mensagem (b) depois da chegada da mensagem 13
14 Transformando um código Single-Threaded em Multithreaded Conflitos entre as threads em relação ao uso de uma variável global 27 Transformando um código Single-Threaded em Multithreaded 28 Threads podem ter variáveis globais privadas 14
15 comunicação entre processos Condições de corrida Dois processos querem ter acesso à memória compartilhada ao mesmos tempo Regiões críticas Quatro condições para proporcionar exclusão mútua 1. Dois Processos NÃO podem estar simultaneamente nas suas regiões críticas 2. Nenhuma suposição pode ser feita em relação à velocidade e número de CPUs 3. Nenhum processo fora de sua região crítica pode bloquear outro processo 4. Nenhum processo deve esperar para sempre para entra em sua região crítica 15
16 Regiões Críticas Exclusão Mútua Usando Regiões Críticas 31 Esclusão Mútua com Espera Ocupada 32 16
17 Esclusão Mútua com Espera Ocupada 33 Solução de Peterson Esclusão Mútua com Espera Ocupada 34 Uso da instrução TSL 17
18 Sleep and Wakeup 35 Produtor Consumidor com uma condição de Corrida Fatal Semáforos 36 Produtor-Consumidor usando Semáforos 18
19 Mutexes Implementação de mutex_lock e mutex_unlock 37 Monitores 38 19
20 Monitor 39 Processos em espera ficam na fila de entrada ou em uma fila de condição Um processo se coloca em uma fila de condição pela chamada cwait(cn) csignal(cn) traz um processo da fila de condição cn Consequentemente csignal(cn) bloqueia o processo e o coloca na fila urgente (a menso que csignal seja a última operação do monitor) Monitores Produtor Consumidor com monitores 40 apenas um procedimento do monitor ativo por vez buffer tem N entradas 20
21 Monitores: Produtor-Consumidor usando Java l Produtor-Consumidor usando Java 21
22 Passagem de Messagens 43 Produtor Consumidor com N mensagens Barreiras 44 Uso de uma barreira processos se aproximando de uma barreira todos os processos exceto um bloqueados em uma barreira último processo chega, todos podem passar 22
23 Filósofos Jantando 45 Filósofos Jantando: uma não solução 46 23
24 47 Solução para o problema do jantar dos filósofos (parte 1) 48 Solução para o problema do jantar dos filósofos (parte 2) 24
25 49 Uma solução para o problema dos leitores e escritores O problema do Barbeiro Dorminhoco 50 25
26 51 Solução para O problema do Barbeiro Dorminhoco Escalonamento: Introdução Rajadas de uso de CPU alternam-se com períodos de espera por entrada e saída um processo limitado por CPU um processo limitado por E/S 52 26
27 53 Objetivos dos Algoritmos de Escalonamento Escalonamento com 1 processador 54 27
28 Escalonamento de CPU Concentramos no problema de escalar o uso de um único processador entre todos os processos existentes no sistema Objetivo é atingir: Alta utilização do processador Alto throughput número de processos completados por unidade de tempo baixo tempo de resposta tempo entre a submissão de uma solicitação e o início da resposta 55 Classificação das Atividades do Escalonador 56 Longo prazo: qual processo admitir Médio prazo: qual processo será swap in ou out Curto prazo: qual processo pronto será executado a seguir 28
29 Diagrama de fila para escalonamento 57 Escalonamento a longo prazo 58 Determina quais programas são admitidos no sistema para processamento Controla o grau de multiprocessamento Se mais processos são admitidos: Menos provável que todos processos estejam bloqueados Melhor uso da COU Cada processo tem uma fração menor da CPU O escalonador de longo prazo pode tentar manter uma mistura de processos limitados por CPU e por E/S 29
30 Escalonamento de médio prazo Decisões de swap são baseadas na necessidade de administrar multiprogramação Feita por software de administração de memória 59 Escalonamento de curto prazo Determina qual processo será executado a seguir. (também chamada de escalonamento de CPU) É o assunto deste item O escalonador de curto prazo é chamado de dispatcher É invocado quando ocorre um evento que pode levar à escolha de outro processo para execução : Interrupção do clock Interrupção de I/O Chamadas do sistema operacional e traps Sinais (signal) 60 30
31 Critérios de escalonamento a longo prazo Orientados ao usuário Tempo de resposta: Tempo entre a submissão de uma solicitação ao início da resposta Tempo de Turnaround: Tempo entre a submissão de uma solicitação ao seu término Orientados ao sistema Utilização do processador Justiça throughput 61 Prioridades 62 Implementadas por filas de Pronto múltiplas para representar cada nível de prioridade O Escalonador sempre escolhe um processo de maior prioridade sobre um de menor prioridade Processos de menor prioridade podem passar fome Permite que um processo mude sua prioridade baseado na sua idade ou história de execução 31
32 Caracterização de políticas de escalonamento A função de seleção: determina qual processo na fila de pronto será selecionado para a próxima execução O modo de decisão: especifica o instante no tempo no qual a função de seleção é utilizada Não preemptivo Uma vez que um processo esteja executando, ele continuará até que termine ou bloqueie (a si próprio) para IO Preemptivo Processo em execução pode ser interrompido e movido para o estado Pronto pelo SO Permite melhor serviço pois nenhum processo pode monopolizar o processador por muito tempo 63 O ciclo CPU-I/O 64 Observamos que os processos requerem o uso do processador e I/O de uma maneira repetitiva Cada ciclo consiste de uma rajada de CPU (burst) (freqüentemente de 5 ms) seguido por uma rajada de I/O (normalmente mais longa) Um processo termina em uma rajada de CPU Processos limitados por CPU têm rajadas de CPU mais longas que processos limitados por I/O 32
33 Exemplos de execução para discutir políticas de escalonamento Process Arrival Time Service Time Tempo de Serviço = tempo total de processador requerido em um ciclo (CPU-I/O) Jobs com tempo de serviço longo são limitados por CPU e são ditos tarefas longas ( long jobs ) Primeiro a chegar primeiro a ser servido (First Come First Served (FCFS)) 66 Função de seleção: o processo que está esperando a mais tempo na fila de Pronto (daí, FCFS) Modo de decisão: não preemptivo um processo executa até que se bloqueie 33
34 Desvantagens do FCFS Um processo que não faça I/O irá monopolizar o processador Favorece processos limitados por CPU processos limitado por I/O tem que esperar até que os limitados por CPU terminem Podem ter que esperar até mesmo quando o seu I/O foi completado (mal uso de dispositivos) pode-se manter os dispositivos de I/O mais ocupados dando mais prioridade aos processos limitados por I/O 67 Round-Robin Função de seleção : o processo que está esperando a mais tempo na fila de Pronto 68 Modo de decisão preemptivo um processo executa até que sua fatia de tempo expire (quantum, tipicamente entre 10 e 100 ms) então, uma interrupção de relógio (clock) ocorre e o processo em execução é colocado na fila de pronto 34
35 Quantum de tempo para Round Robin 69 Deve ser substancialmente maior que o tempo requerido para administrar a interrupção de relógio e escalonamento deve ser maior que a interação típica (mas não muito maior para evitar penalizar processos limitados por I/O) Round Robin: crítica 70 Favorece processos limitados por CPU Um processo limitado por I/O usa a CPU por um tempo menor que seu quantum e então é bloqueado esperando por I/O Um processo limitado por CPU executa por todo seu quantum e é colocado de volta na fila de pronto (consequentemente fica na frente dos processos bloqueados) Uma solução: Round Robin virtual Quando um I/O é completado, o processo bloqueado é colocado em uma fila auxiliar que tem preferência sobre a fila de Pronto principal Uma processo escalado a partir da fila auxiliar não roda mais que o quantum básico menos o tempo gasto rodando desde que foi selecionado da fila Pronto 35
36 Fila para Round Robin Virtual 71 Menor Processo Próximo (Shortest Process Next (SPN) ou Shortest Job First) 72 Função de seleção: o processo com a menor rajada de CPU esperada Modo de Decisão: não preemptivo processos limitados por I/O serão selecionados primeiro Sempre produz tempo de resposta médio mínimo 36
37 Menor Processo Próximo A B C D B C D A Turnaround: 8, 12, 16 e 20 Média: 14 Turnaround: 4, 8, 12 e 10 Média: 11 Geral: (4a+3b+2c+d)/4 (a,b,c,d término do proc) Seria bom se fosse usado para processos interativos também Precisamos estimar o tempo de processamento requerido para cada processo (rajada de CPU) at 0 + (1-a)T 1, a escolhido 73 Estimando a rajada de CPU requerida Seja T[i] o tempo de execução para a i-ésima instância deste processo: a duração real da i-ésima rajada deste processo Seja S[i] o valor predito para a i-ésima rajada de CPU deste processo. A escolha mais simples é: S[n+1] = (1/n) Σ_{i=1 até n} T[i] Para evitar recalcular a soma inteira, podemos rescrever como: S[n+1] = (1/n) T[n] + ((n-1)/n) S[n] Porém, esta combinação dá peso igual a cada instância No entanto, instâncias mais recentes são mais prováveis de refletir comportamento futuro 74 37
38 Estimando a rajada de CPU requerida Uma técnica comum para isto é usar média exponencial S[n+1] = α T[n] + (1-α) S[n] ; 0 < α < 1 Mais peso é colocado em instâncias recentes sempre que α > 1/n Expandindo esta equação vemos que os pesos de instâncias passadas decrescem exponencialmente S[n+1] = αt[n] + (1-α)αT[n-1] +... (1-α) {i} αt[n-i] (1-α) {n} S[1] o valor predito da primeira instância S[1] não é calculado; normalmente é definido como 0 (zero) para dar prioridade a novos processos 75 Coeficientes Decrescentes Exponencialmente 76 38
39 Coeficientes Decrescentes Exponencialmente 77 Aqui S[1] = 0 para dar alta prioridade a novos processos Média exponencial acompanha mudanças no comportamento de processos muito mais rapidamente que médias simples Menor Processo Próximo : crítica Possibilidade de fome para processos mais longos caso haja um fluxo contínuo de processos curso Falta de preempção não é adequado em um ambiente de tempo compartilhado Processos limitados por CPU obtém menor prioridade (como deveriam) mas um processo realizando I/O ainda pode monopolizar a CPU se for o primeiro a entrar no sistema Implicitamente incorpora prioridades: processos mais curtos são prioritários 78 39
40 Escalonamento com Filas Múltiplas (ou multi-nível) com feedback 79 Escalonamento Preemptivo com prioridades dinâmicas Diversas filas Pronto com prioridades decrescentes: P(RQ0) > P(RQ1) >... > P(RQn) Novos processos são colocados em RQ0 Quando atingem o quantum de tempo são colocados em RQ1, se atingem novamente, são colocados em RQ2... Até atingirem RQn Processos limitados por I/O permanecem em filas de alta prioridade. Processos limitados por CPU irão cair O escalonador escolhe um processo em RQi apenas se RQi-1 até RQ0 estão vazias Consequentemente, processos longos podem passar fome Escalonamento em Filas Múltiplas com feedback 80 FCFS é usado em cada fila exceto na de menor prioridade onde Round Robin é usado 40
41 Quantum para escalonamento com feedback 81 Com um quantum fixo, o tempo de turnaround para processos longos pode se estender de forma alarmante Para compensar, podemos aumentar o quantum de acordo com a profundidade da fila Ex: quantum de RQi = 2^{i-1} Processos mais longos ainda podem passar fome Solução possível: promover a prioridade do processo após certo tempo Qual algoritmo é melhor? Depende da situação! Carga do sistema Suporte de hw para o dispatcher Método de avaliação 82 41
42 83 Escalonamento em sistemas em lote Um exemplo de um escalonamento shortest job first 84 42
43 Escalonamento em sistemas em lote 85 Escalonamento em 3 Níveis Escalonamento em sistemas Interativos Round Robin lista de processos prontos (runnable) lista de processos prontos depois que B usa o seu quantum 86 43
44 Escalonamento em sistemas Interativos 87 Um escalonamento com quatro classes de prioridades Escalonamento em sistemas de tempo real Sistema de tempo real escalonável Dados m eventos periódicos 88 evento i ocorre dentro do período P i e requer C i segundos Então, a carga só pode ser administrada se m i= 1 Ci P i 1 44
45 Política versus Mecanismo Separa o que é permitido fazer de como é feito um processo saber quais de suas threads filhas são importantes e precisam de prioridades Algoritmo de escalonamento parametrizado mecanismo no kernel 89 Parâmetros fornecidos por processos do usuários política definida por processos dos usuários Escalonamento de Threads 90 Possível escalonamento para threads no nível do usuário 50-msec quantum de processo threads rodam em rajadas de 5 msec/cpu 45
46 Escalonamento de Threads 91 Possível escalonamento para threads de kernel 50-msec quantum de processo threads rodam em rajadas de 5 msec/cpu 46
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
Leia maisGerê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
Leia maisProcessos 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
Leia maisCapítulo 2 Processos e Threads Prof. Fernando Freitas
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: http://www.prenhall.com/tanenbaum_br slide
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Multiprogramação Permite a execução de diversos processos concorrentemente Maior
Leia maisSistemas 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
Leia maisProf. 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
Leia maisCapítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton
Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 4.1 Introdução Capítulo 4 Gerência
Leia maisGerê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
Leia maisEscalonamento no Linux e no Windows NT/2000/XP
Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir
Leia maisGerência do Processador
Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Gerência do Processador No gerenciamento dos processos serão definidas as propriedades dos processos em execução, e a maneira
Leia mais4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)
4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramável deve possuir um critério para determinar,
Leia maisCapítulo 4 Gerência de Processador
DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Capítulo 4 Gerência de Processador Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de
Leia maisResumo 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
Leia maisMá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
Leia maisMá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
Leia maisSistemas 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
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA DO PROCESSADOR MACHADO/MAIA: CAPÍTULO 08 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento do Processador A gerência do processador pode ser considerada a atividade
Leia maisGerência de processos Requisitos fundamentais
Requisitos fundamentais Implementar um modelo de processo. Implementar facilidades para criação e destruição de processos por usuários Alocar recursos a processos Intercalar a execução de um número de
Leia maisProgramaçã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
Leia maisSistemas 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
Leia maisSistemas 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
Leia maisSistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano
Sistemas Operacionais Marcos Laureano 1/28 Roteiro Tipos de Tarefas Preempção Escalonamento de processos Tipos de escalonamentos 2/28 Tipos de Tarefas (temporal) Tarefas de tempo real Previsibilidade em
Leia maisGerência de processos Estudos de caso - BSD Unix
Gerência de processos Estudos de caso - BSD Unix Escalonamento preemptivo com prioridades dinâmicas Prioridades entre 0 e 127 0 a 49 kernel 50 a 127 usuário 32 filas de pronto Processos executando em modo
Leia maisSistemas 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
Leia maisGerência de Processador
Gerência de Processador mbientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Multiprogramação Torna mais eficiente o aproveitamento dos recursos computacionais
Leia maisSISTEMAS 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
Leia maisO 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
Leia maisARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr
ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr Processos Conceitos Básicos Nomes Tipos Batch: jobs CPU-bound T.Sharing: Tarefas/Processos
Leia maisSlide. ! 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
Leia maisRevisã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
Leia maisIntroduçã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
Leia maisSISTEMAS 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
Leia maisInfra-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
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Gerenciamento de processos Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO 1 Conceitos Básicos Máxima utilização da CPU obtida com
Leia maisSISTEMAS OPERACIONAIS
1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri ESTRUTURA DO SISTEMA OPERACIONAL Embora a definição de níveis de privilégio imponha
Leia maisEscalonamento de CPU 2 Quadrimestre
BC1518-Sistemas Operacionais Escalonamento de CPU 2 Quadrimestre de 2010 (aula 05) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Conceito Despachante Critérios de escalonamento
Leia maisSistema 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
Leia maisIntroduçã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
Leia maisSO - 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
Leia maisSincronizaçã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.
Leia maisEXEMPLO: 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
Leia maisLABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistemas Operacionais Conteúdo retirado de: SOsim: SIMULADOR PARA O ENSINO DE SISTEMAS OPERACIONAIS Luiz Paulo Maia
Leia maisTipos 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
Leia maisProf.: 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
Leia maisSistemas Operativos. Sumário. Escalonador da CPU. ! Filas Multinível. ! Filas Multinível com Feedback. ! Escalonamento em multiprocessadores
Escalonador da CPU Sumário! Filas Multinível! Filas Multinível com Feedback! Escalonamento em multiprocessadores! Escalonamento em tempo real! Avaliação de algoritmos 2 1 Filas Multinível! Os processos
Leia maisEscalonamento de processos
Escalonamento de processos Adriano J. Holanda http://holanda.xyz 24/8/2015 Conceitos básicos Políticas Processos limitados por E/S x processador E/S processos limitados por E/S gastam a maior parte do
Leia maisSistemas 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
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência do processador 2 a edição Capítulo 4 Revisão: Fev/2003 Sumário Implementação do conceito de processos e threads Escalonamento Escalonadores não -preemptivos Escalonamento
Leia maisSistemas 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
Leia maisAlgoritmos de Escalonamento
Na aula anterior lgoritmos de Escalonamento Marcelo Johann Threads Sincronização Semáforos ula : Slide ula : Slide Plano da aula de Hoje. FIFO. SJF. Prioridade. Round-Robin 5. Múltiplas Filas 6. Garantido
Leia maisSistemas 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
Leia maisSistemas Operacionais
Sumário 2 a edição Revisão: Fev/2003 Sistemas Operacionais Gerência do processador Capítulo 4 Implementação do conceito de processos e threads Escalonamento Escalonadores não -preemptivos Escalonamento
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos
Leia maisSistemas 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
Leia maisGestor de Processos. Gestor de Processos
Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisCapí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
Leia maisSistemas 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,
Leia maisProcessos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho
Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Conceito de processo Operações sobre processos Conceito de processo Conceito de processo
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,
Leia maisSistema 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.
Leia maisGERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin
GERENCIAMENTO DO PROCESSADOR Prof. Maicon A. Sartin Introdução Em sistema multiprogramáveis a UCP é compartilhada entre diversos processos Existem critérios para determinar a ordem de escolha para a execução
Leia maisArquitetura 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
Leia mais(Aula 15) Threads e Threads em Java
(Aula 15) Threads e Threads em Java Um fluxo computacional. A programa maioria de execução, dos seqüencial programas o qual simples consiste realiza tem uma de essa um certa único tarefa Grande característica:
Leia mais1º 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
Leia maisCarlos 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
Leia maisAté 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
Leia maisGestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos
Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2011 / 2012 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem
Leia maisEstruturas do Sistema de Computação
Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de
Leia maisSistemas 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
Leia maisO 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
Leia maisSistemas 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
Leia maisSistemas 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
Leia maisSistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias
Sistemas Operacionais Microsoft Windows R Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias Histórico Início da década de 80 MS-DOS (vai evoluindo, mas sem nunca deixar de ser um SO orientado à linha
Leia maisSistemas Distribuídos
Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário
Leia maisMétodos de Sincronização do Kernel
Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.
Leia mais03 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
Leia maisAula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.
Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de
Leia maisProcessos. Estruturas de Controle
Processos Estruturas de Controle Processos e Recursos (1) LPRM/DI/UFES 2 Processos e Recursos (2) O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A
Leia maisSistemas 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
Leia maisUdesc/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
Leia maisOrganizaçã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
Leia maisTI Básico. Sistemas Operacionais. Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br
TI Básico Sistemas Operacionais Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br Objetivos dos Sistemas Operacionais Esconder a Complexidade do Hardware. Devido a grande
Leia maisIntrodução aos Sistemas Operativos
Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread
Leia maisThreads em Java. Sistemas Operacionais - Laboratório Professor Machado
Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,
Leia maisSistemas Operacionais
Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do
Leia mais