Capítulo 2 Processos e Threads Prof. Fernando Freitas
|
|
- Elza Godoi Palmeira
- 8 Há anos
- Visualizações:
Transcrição
1 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:
2 slide 2 Processos Computadores modernos Várias tarefas ao mesmo tempo Cada instante um programa Cada segundo vários programas Pseudoparalelismo
3 slide 3 O modelo de processo
4 slide 4 O modelo de processo Multiprogramação Troca rápidas Processos Não possui taxa uniforme Não possui taxa reproduzível Diferença processo x programa Fabricação de um bolo
5 slide 5 Criação de processos Eventos que causam a criação de processos: Inicialização de sistema. Execução de uma chamada de sistema de criação de processo por um processo em execução. Requisição do usuário para criar um novo processo. Inicialização de uma tarefa em lotes. Linux (fork), Windows (CreateProcess) Espaços de endereçamento iguais (Linux) Espaços de endereçamento diferentes (Windows)
6 slide 6 Término de processos Eventos que causam o término de um processo: Saída normal (voluntária). Saída por erro (voluntária). Erro fatal (involuntário). Cancelamento por outro processo (involuntário).
7 slide 7 Hierarquia de processos Pai cria um processo filho, processo filho pode criar seu próprio processo Formam uma hierarquia UNIX chama isso de grupo de processos Windows não possui o conceito de hierarquia de processos Todos os processos são criados iguais
8 slide 8 Estados de processos
9 slide 9 Estados de processos - Escalonamento
10 slide 10 Implementação de processos
11 slide 11 Implementação de processos
12 slide 12 Modelando a multiprogramação
13 slide 13 Exercícios 1. O que é pseudoparalelismo? 2. Podemos criar programas baseados somente no critério tempo? Justifique. 3. Cite os eventos que causam a criação de processos. 4. Cite os eventos que causam o término de processos. 5. Quais os estados de um processo? Comente.
14 slide 14 Vantagens: Uso do thread Compartilham espaço de endereçamento e dados São criadas e destruídas de forma mais rápida (até 100x) Permitem que atividades se sobreponham se houver muita E/S Muito úteis em sistemas com múltiplas CPU s Tornam possível manter a idéia de processos sequenciais e mesmo assim conseguem obter paralelismo
15 slide 15 Uso do thread Formatação do texto
16 slide 16 Uso do thread
17 slide 17 Uso do thread
18 slide 18 Uso do thread
19 slide 19 O modelo de thread clássico
20 slide 20 O modelo de thread clássico Multithread = Múltiplos threads por processo Threads distintos em um processo não são tão independentes quanto processos distintos Não há proteção entre threads Impossível Não é necessário Devem cooperar e não competir Cada thread tem sua pilha que armazena rotinas chamadas que ainda não retornaram
21 slide 21 O modelo de thread clássico
22 slide 22 O modelo de thread clássico
23 slide 23 O modelo de thread clássico Threads devem ser corteses Complicações Chamadas fork() alocação extra de memória Threads devem ser pensadas e projetadas com cuidado para funcionarem corretamente
24 slide 24 Pthreads = Padrão de threads definidos pelo padrão IEEE c Threads POSIX
25 slide 25 Threads POSIX
26 slide 26 Exercícios 1. Quais as vantagens de utilizarmos threads? 2. O que são processos multithreads? Cite um exemplo. 3. Porque não há proteção entre threads? 4. O que são Pthreads?
27 slide 27 Espaço do usuário Implementando threads Pode ser implementado em SO que não suporte thread Cada processo tem sua própria tabela de threads Chaveamento mais rápido não envolve núcleo Vantagens Próprio algoritmo de escalonamento Desvantagem Falta de página bloqueia processo inteiro SO não sabe sobre thread
28 slide 28 Espaço do núcleo Implementando threads Única tabela de threads Núcleo pode executar uma nova thread quando a thread em execução for bloqueada Alto custo de criação e destruição de threads reciclagem.
29 slide 29 Implementando threads no espaço do usuário e no espaço do núcleo
30 slide 30 Implementações híbridas
31 slide 31 Ativações do Escalonador Objetivo imitar a funcionalidade dos threads de núcleo ganha desempenho de threads de usuário Evita transições usuário/núcleo desnecessárias Núcleo atribui processadores virtuais para cada processo deixa o sistema supervisor alocar threads para processadores Problema: Baseia-se fundamentalmente nos upcalls - o núcleo (camada inferior) chamando procedimentos no espaço do usuário (camada superior)
32 slide 32 Threads pop-up Chegada de uma mensagem = Criação de um novo thread para lidar com a mensagem Conhecido como thread pop-up Não possui história = criados rapidamente Vantagem: Latência menor entre chegada da mensagem e início do processamento
33 slide 33 Threads pop-up
34 slide 34 Convertendo o código monothread em código multithread Processo complicado. Problemas: Variáveis globais a um thread específico. Solução: Proibir o uso de variáveis globais Cada thread possui sua própria variável global privada Linguagens não possui declarações de variáveis intermediárias. Rotinas de bibliotecas não são reentrantes. Solução: Bit de proteção = elimina grande parte do paralelismo Tratamento de sinais Núcleo não sabe sobre threads = não pode tratar sinais corretamente Gerenciamento de pilha Núcleo não conhece threads = não consegue controlar transbordo de pilha
35 slide 35 Convertendo o código monothread em código multithread
36 slide 36 Convertendo o código monothread em código multithread
37 slide 37 Exercícios 1. Cite as vantagens e desvantagens de se implementar threads no espaço do usuário. 2. Cite as vantagens e desvantagens de se implementar threads no núcleo. 3. O que são ativações do escalonador? 4. O que são threads pop-up? 5. Cite duas dificuldades para converter códigos monothreads em multithreads.
38 slide 38 Condições de corrida OBS: Depuração de código pode ser inútil para detectar condições de corrida
39 slide 39 Regiões críticas Condições necessárias para evitar condições de corridas: Dois processos não podem estar simultaneamente dentro de suas regiões críticas. Nada pode ser afirmado sobre a velocidade ou sobre o número de CPUs. Nenhum processo sendo executado fora de sua região crítica pode bloquear outros processos. Nenhum processo deve esperar eternamente para entrar em sua região crítica.
40 slide 40
41 slide 41 Exclusão mútua com espera ociosa Propostas para obtenção de exclusão mútua: Desabilitando interrupções. Variáveis do tipo trava. Chaveamento obrigatório. Solução de Peterson. A instrução TSL.
42 slide 42 Desabilitando Interrupções Não é uma solução adequada pois: Perigoso dar este privilégio a usuários Problema com múltiplos processadores
43 slide 43 Variáveis do tipo trava Solução apresenta problema de condições de corrida
44 slide 44 Chaveamento obrigatório Não é uma boa ideia quando temos um processo mais lento envolvido Viola a regra 3
45 slide 45 Solução de Peterson
46 slide 46 A instrução TSL
47 slide 47 A instrução XCHG
48 slide 48 Espera ociosa Dormir e acordar Desperdício de CPU Pode ter efeitos inesperados Inversão de Prioridade Solução Bloqueio ao invés de espera ociosa
49 slide 49 O problema produtor-consumidor Problema: Bit de sinal perdido - Pode adormecer eternamente Bit de espera pelo sinal de acordar - Resolve para casos simples
50 slide 50 Semáforos
51 slide 51 Mutexes
52 slide 52 Exercícios 1. Defina condição de corrida. 2. Defina região crítica. 3. Cite e comente 3 soluções para exclusão mútua com espera ociosa. 4. Descreva o funcionamento do chaveamento obrigatório. 5. Descreva o funcionamento da instrução TSL. 6. Qual o problema de se trabalhar com espera ociosa. 7. De forma resumida, diga no que consiste o problema do produtor-consumidor.
53 slide 53 Mutexes em Pthreads
54 slide 54 Mutexes em Pthreads
55 slide 55 Mutexes em Pthreads (Continua)
56 slide 56 (Continuação) Mutexes em Pthreads
57 slide 57 Semáforos. Problemas: Cuidado! Controle de bloqueio por conta do programador Erro sutil pode por tudo a perder Monitores Monitores Somente um processo ativo por vez Compilador implemente exclusão mútua Programador precisa apenas converter regiões críticas p/ rotinas do monitor Solução está na introdução de variáveis condicionais (não são contadores)
58 slide 58 Monitores
59 slide 59 Monitores (Continua)
60 slide 60 (Continuação) Monitores
61 slide 61 Monitores
62 slide 62 Monitores
63 slide 63 Monitores
64 slide 64 Monitores Deixam a programação paralela menos sujeita a erros Problema: Conceito de programação O compilador deve conhecê-lo Semáforos Linguagens não apresenta semáforos Fácil inclusão Conclusão Semáforos x Monitores Semáforos: Nível muito baixo Monitores: Não são úteis Nenhum deles permite troca de informação entre máquinas. Devese buscar outra solução.
65 slide 65 Troca de mensagens Apresentam muitos problemas complexos e dificuldades de projeto que não ocorrem com semáforos ou monitores. Ex: Distinção entre nova mensagem e retransmissão Evitar ambiguidade em nomes de processos Autenticação (Evitar impostor) Copiar mensagens é mais lento do que realizar operações sobre um semáforo ou monitor Pode utilizar caixas postais ou utilizar a estratégia Rendezvous (Encontro marcado em francês) Bastante utilizada em sistemas de programação paralela.
66 slide 66 O problema produtor-consumidor com troca de mensagens
67 slide 67 O problema produtor-consumidor com troca de mensagens
68 slide 68 Barreiras Nenhum processo pode avançar p/ próxima fase até que todos os processos estejam prontos a fazê-lo Ex. de uso: Problema de Relaxação da física ou da engenharia
69 slide 69 Escalonamento Sistemas em lote: Escalonamento simples Sistemas multiprogramados: Escalonamento complexo Computadores pessoais Escalonamento não é tão importante. Servidores e estações de trabalho Escalonamento importante Escalonador deve se preocupar com uso eficiente da CPU
70 slide 70 Comportamento escalonamento-processo Dois tipos: Limitados pela CPU Limitados por E/S Evolução das CPU s Processos tendem a ficar limitados por E/S
71 slide 71 Comportamento escalonamento-processo
72 slide 72 Quando escalonar Escalonamento Criação de um novo processo Término de um processo Bloqueio de um processo Interrupção de E/S Algoritmos divididos em duas categorias Preemptivos Não preemptivos
73 slide 73 Categorias dos algoritimos de escalonamento Em lote. Interativa. Tempo real.
74 slide 74 Exercícios 1.Como funcionam as variáveis de condição? 2.O que são os monitores? 3.Cite as vantagens e desvantagens dos monitores sobre os semáforos. 4.Quais os principais problemas enfrentados pela troca de mensagem? 5.Porque nos computadores pessoais o escalomanento não é tão importante quanto nos servidores e estações de trabalho? 6.Em qual(is) situação(ões) deve ser tomada a decisão de escalonar um processo?
75 slide 75 Objetivos dos algoritmos de escalonamento
76 slide 76 Objetivos dos algoritmos de escalonamento Observações: Melhor ter juntos na memória alguns processos limitados pela CPU e outros por E/S, do que somente um destes tipos. Maior vazão, não significa necessariamente melhor tempo de retorno
77 slide 77 Escalonamento em sistemas em lotes Primeiro a chegar, primeiro a ser servido Vantagens: Fácil de entender e programar, justo Desvantagem: pode atrasar processos orientados a computação Tarefa mais curta primeiro Todas as tarefas devem estar disponíveis simultaneamente Próximo de menor tempo restante Versão preemptiva do anterior Permite bom desempenho para novas tarefas curtas
78 slide 78 Tarefa mais curta primeiro Média 14 min Média 11 min
79 slide 79 Escalonamento em sistemas interativos Escalonamento por chaveamento circular. Escalonamento por prioridades. Filas mútiplas. Próximo processo mais curto. Escalonamento garantido. Escalonamento por loteria. Escalonamento por fração justa.
80 slide 80 Escalonamento por chaveamento circular
81 slide 81 Escalonamento por prioridades
82 slide 82 Escalonamento em sistemas de tempo real Podem ser: Estáticos Decisão é tomada antes de iniciar a execução Dinâmico Decisão é tomada durante a execução
83 slide 83 Política x Mecanismo Problema O escalonador raramente faz a melhor escolha Solução: Mecanismo de escalonamento no núcleo, mas a política é estabelecida por parâmetros de um processo de usuário
84 slide 84 Escalonamento de threads (Continua)
85 slide 85 (Continuação)
86 slide 86 O problema do jantar dos filósofos Acesse o endereço a seguir para ver um exemplo prático:
87 slide 87
88 slide 88
89 slide 89
90 slide 90
91 slide 91 O problema dos leitores e escritores
92 slide 92
93 slide 93 Exercícios 1. Diferencie vazão e tempo de retorno. 2. Um dos objetivos dos sistemas interativos é a proporcionalidade. O que vem a ser proporcionalidade? 3. O escalonador nem sempre toma as melhores decisões. Como melhorar isto? 4. Diferencie o funcionamento dos algoritmos: menor tempo restante e tarefa mais curta primeiro. 5. Como funciona o algoritmo de escalonamento round-robim. 6. Diferencie escalonamento por prioridade e escalonamento por filas múltiplas. 7. Quais os tipos de escalonamento de threads possíveis? 8. Descreva no que consiste a idéia básica envolvida no problema do jantar dos filósofos
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 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 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 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 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 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 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 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. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
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 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 maisCapítulo 2. Processos e Threads. Processos e threads
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 Processos: O modelo de
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 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 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 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 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 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 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 mais8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
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 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 Distribuídos
Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicaçã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 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 SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis
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 maisSistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
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 maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
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 maisSistema Operacional. Prof. Leonardo Barreto Campos 1
Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução
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 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 maisA memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
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 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 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 maisDeadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,
Leia mais1.2 Tipos de Sistemas Operacionais
1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais
Leia maisArquitetura de Computadores. Sistemas Operacionais IV
Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo
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 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 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 maisApresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas
Leia mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
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 maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
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 maisDisciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação
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 maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
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 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 maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
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 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 maisRecursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.
Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato
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 maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia mais4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Leia maisGerenciamento de memória
Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.
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 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 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 maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisThreads. 8 de janeiro de 2015
1 / 24 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 24 Agenda Tópicos
Leia maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito
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 maisProcessamento de Dados
Processamento de Dados Execução de Programas Os computadores não entendem nada além de comandos, dados e endereços escritos em linguagem binária, também chamada de linguagem de baixo nível. Ela utiliza
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 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 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. 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 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 maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível
Leia maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
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 maisBC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento
BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho
Leia maisE/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO
E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO
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 maisSistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
Leia maisEverson Scherrer Borges João Paulo de Brito Gonçalves
Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisProcessos Prof. João Paulo de Brito Gonçalves
Campus - Cachoeiro Curso Técnico de Informática Processos Prof. João Paulo de Brito Gonçalves 1 Conceito de Multiprogramação Se existirem vários programas carregados na memória ao mesmo tempo, a CPU pode
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 maisProf.: Roberto Franciscatto. Capítulo 1.1 Introdução
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.
Leia mais