Fundamentos de Sistemas Operacionais
|
|
- Elias Alencar Esteves
- 6 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos
2 Capítulo 1
3 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos. Simplificar o acesso aos dispositivos pelos processos dos usuários. Todo SO tem um kernel. Funções e serviços mais básicos. Dois tipos: Micro-kernel: apenas as funções essenciais. Kernel monolítico: todos os serviços.
4 Tipos de SO Sistemas batch: Tarefas são executadas sequencialmente. Jobs. Podem ser multiprogramados ou com monitor residente. Monitor carrega novos programas quando os anteriores terminam. Batch multiprogramados evitam desperdício de CPU por conta de E/S. Sistemas baseados em timesharing. Processos recebem pequenos intervalos de uso do processador. Simula paralelismo. Indicado para sistemas interativos.
5 Tipos de Sistema Paralelo vs. Distribuído. Sistemas paralelos têm vários processadores. Memória compartilhada entre eles. Sistemas distribuídos também. Mas não há memória compartilhada. Processadores são conectados por uma rede. Multitarefa vs. Monotarefa. Monousuário vs. Multiusuário.
6 Capítulo 2
7 Processo Instância de um programa em execução. Composto por: Código (sequência de instruções). Estado (variáveis, registradores,...). Diferente de um programa. O programa é apenas o código a ser executado. O processo muda a cada instante. Um processo passa por três etapas: Criação. Execução. Término.
8 Processo (mais) Durante a execução, processo pode: Executar ciclos de processamento. Executar ciclos de E/S. Processos podem ser classificados em: CPU Bound: percentual de processamento é maior que o percentual de E/S. I/O Bound: percentual de processamento é menor que o percentual de E/S. e.g.: processos que passam até 30% do tempo realizando E/S são CPU Bound. Mais que isso, se tornam I/O Bound. Classificação não é absoluta: Pessoas diferentes têm percepções diferentes.
9 Espaço de Endereçamento Área de memória na qual o processo armazena suas informações. Variáveis, código. O espaço de endereçamento do processo não pode ser manipulado por outros processos. Processos acessam apenas posições de memória no seu espaço de endereçamento.
10 Relacionamento Entre Processos Dois processos podem ser completamente independentes. Não há qualquer ligação entre eles. Processos podem ser relacionados porque compartilham recursos. e.g.: ambos acessam o mesmo arquivo. Processos podem ainda apresentar um grau de parentesco. Um processo pode ser pai de outros processos. Um processo pode ser filho de outro processo. Isso forma uma hierarquia. O que fazer com a hierarquia quando um processo morre? Várias possibilidades: Deixar os filhos órfãos, postergar morte do processo,...
11 Estados de um Processo Todo processo no sistema tem um estado único. Descreve as capacidades e características do processo naquele momento. Estados comuns são: Apto: processo está pronto para utilizar o processador. Bloqueado: processo está aguardando fim de E/S. Suspenso: processo teve seu espaço de endereçamento retirado da memória principal. Suspenso apto ou suspenso bloqueado. Executando: processo está atualmento usando o processador. Outros estados: criação, término, etc.
12 Estados de um Processo (mais) SO define quais as transições possíveis entre estados. Apto -> Executando. Bloqueado -> Apto.... Algumas transições são intrinsecamente impossíveis. Suspenso Apto -> Executando. Apto -> Bloqueado.... Mudanças de estado ocorrem por: Interferência do SO (Apto -> Executando). Requisições do próprio processo (Executando -> Bloqueado). Eventos externos (Bloqueado -> Apto).
13 Problemas de Segurança Inter- Processos Monopolização do processador. Como forçar que um processo deixe o processador eventualmente (involuntariamente)? Acessos a posições de memória indevidas. Como evitar que um processo acesse o espaço de endereçamento de outros processos? Como evitar que um processo acesso o espaço de endereçamento do SO? Monopolização de dispositivos de E/S. Como evitar que um processo não permita que outros processos usem um dado recurso?
14 Soluções de Segurança Utiliza mecanismos de hardware. Modos de operação do processador. Circuitos de verificação de endereços de memória. Interrupções. Temporizadores. Classicamente, há dois modos de operação: Modo Supervisor. Modo inicial da máquina. Modo de execução do SO. Todas as operações são permitidas. Modo Usuário. Modo de execução dos processos de aplicação. Acesso restrito à memória. Acesso restrito a instruções.
15 Soluções de Segurança (mais) Em modo usuário, todo acesso de memória é verificado. e.g.: registradores base e limite. Se uma posição inválida é requisitada, interrupção é gerada. Em modo usuário, algumas instruções são proibidas. CLI, STI, IN, OUT,... Se processo tenta executá-las, interrupção é gerada. Quando um processo é colocado no processador, SO pode configurar um temporizador. Interrupção é disparada ao final do tempo. SO cadastra tratadores de interrupção durante o ligamento da máquina. Quando o tratador de interrupção é chamado, SO identifica a situação e toma uma providência. Em geral, mata o processo.
16 Capítulo 3
17 Programação Concorrente Programas que usam vários processos ou threads para executar tarefas são chamados de concorrentes. Ou paralelos. Se opõem aos programas sequenciais. Vantagens da programação concorrente: Permite a separação lógica de várias funcionalidades do programa em várias linhas de execução. Alguns programas são intrinsecamente paralelos. Pode melhorar o desepenho do programa. Tirar proveito de vários processadores. Apresentar sobreposição de operações de E/S.
18 Programação Concorrente (mais) Desvantagens: Gerenciamento das threads ou processos é complexo. Erros são não-intuitivos. Paradigma não é natural. É comum que o programador faça suposições inválidas. e.g.: processo A executa antes do processo B. Ordem e velocidade de execução são imprevisíveis. Depuração é mais difícil. Programa paralelo pode ser especificado de 3 maneiras: Explicitamente. Implicitamente. Através de uma árvore de dependência.
19 Tipos de Paralelismo Paralelismo real. Só ocorre em máquinas multiprocessadas. Threads ou processos podem ser executados realmente ao mesmo tempo. Paralelismo aparente. Ocorre em máquinas monoprocessadas. Usuário apenas tem a impressão de que processos são executados ao mesmo tempo. Execução concomitante.
20 Compartilhamento de Recursos Programas concorrentes tendem a manipular recursos compartilhados. e.g.: várias threads compartilham uma estrutura de dados ou um arquivo. Recurso compartilhado mais comum: memória. Diversos tipos de sistema compartilham memória. Produtor-consumidor. Leitor-escritor.
21 Região Crítica Uma região (ou seção) crítica é um trecho de código dentro de um programa concorrente. Trecho no qual um recurso compartilhado é manipulado. Programa pode ter várias regiões críticas. Regiões podem estar relacionadas a recursos compartilhados diferentes. Recursos compartilhados podem ser manipulados em mais de um ponto no código. Importantes pois a manipulação dos recursos compartilhados deve ser feita de maneira cuidadosa. Do contrário, pode resultar em problemas graves.
22 Condição de Corrida Problema que pode ocorrer em programas concorrentes. Causado pelo acesso não controlado de recursos compartilhados por várias threads ou processos. Acesso às regiões críticas do programa. Dependendo da ordem de execução, o programa pode ter resultados diferentes dos esperados. Solução: Proteção/controle do acesso às regiões críticas. Operação atômica. Exclusão mútua.
23 Operação Atômica Operação indivisível no tempo. Uma vez iniciada, não pode ser interrompida. Em geral, implementada como instruções únicas de máquina. Pode ser implementada também através da desabilitação de interrupções. Não é uma boa política: Questões de segurança. Falta de suporte do SO. Se todo o código da região crítica é implementado atomicamente, não há condição de corrida. Não há concorrência na manipulação dos recursos compartilhados.
24 Exclusão Mútua Propriedada que determina que dois processos não acessarão a região crítica simultaneamente. Processo na região crítica pode ser interrompido. Pode, inclusive, ser tirado do processador. Outro processo que compartilha o recurso pode ser executado no seu lugar. Mas outro processo não pode executar a mesma região crítica, neste intervalo. Requisitos desejáveis: Processos não devem ser preteridos de entrar na região crítica, se não há outros processos acessando-a. Processos não devem ser preteridos indefinidamente. Starvation.
25 Protocolos de Acesso Soluções totalmente baseadas em software. Não necessitam de qualquer suporte do hardware. Vários protocolos diferentes: alternância, algoritmo de Peterson,... Algoritmo de alternância. Mais simples. Variável indica de quem é a vez. Apenas este processo pode acessar a região. Ao final da região, processo passa a vez para o próximo. Processo pode ser obrigado a esperar. Processos fazem espera ocupada na variável da vez.
26 Spin-Locks Solução baseada em uma variável que diz se a região crítica está aberta ou fechada. Um lock. O lock fica inicialmente aberto. Quando um processo entra na região, ele fecha o lock. Demais processos fazem espera ocupada na variável. Processos podem sofrer starvation. Problema: A variável lock é compartilhada. Pode sofrer condições de corrida. Solução: Suporte do hardware. Instruções TSL, SWP,... Manipulam a variável lock atomicamente.
27 Semáforos Solução mais utilizada hoje. Estrutura de dados com dois componentes: Valor inteiro. Fila de processos. Duas operações básicas: P(s): decrementa o semáforo s e, se o valor é menor que zero, bloqueia o processo. V(s): incrementa e, se há processos bloqueados, desbloqueia o primeiro. Não há espera ocupada. Processos ficam bloqueados. Não há starvation. Desbloqueio ocorre na ordem da fila.
28 Semáforos (mais) Há dois tipos: Mutex: valor inteiro só assume os valores 0 e 1. Suficiente para exclusão mútua. Contador: valor inteiro pode assumir qualquer valor. Suficiente para exclusão mútua. Mais utilidades também. Alguns sistemas provêem apenas o mutex. Um semáforo também é um recurso compartilhado. Sua manipulação está susceptível a condições de corrida. Implementação: Usa quaisquer outros métodos para evitar condição de corrida. Problemas das outras abordagens são mitigados.
29 Monitores Solução de exclusão mútua específica de algumas linguagens. Bloco de funções que contêm regiões críticas. Garante que apenas um processo ou thread esteja dentro do monitor por vez. Demais processos ou threads que tentam o acesso são bloqueados. Vantagem: Tendem a ser mais simples para o programador. Desvantagem: Reduzem o paralelismo.
30 Monitores (mais) Podem usar variáveis de condição. Representam se uma determinada condição é verdadeira ou falsa. Duas operações: Wait: aguarda que uma determinada condição se torne verdadeira. Signal: sinaliza que a condição agora se tornou verdadeira.
31 Troca de Mensagens Mecanismo de comunicação e sincronização em sistemas distribuídos. Não há memória compartilhada. Outras soluções não são possíveis. Duas operações básicas: send: envia uma mensagem. receive: recebe uma mensagem. Esquemas de endereçamento variáveis: Endereço IP e porta. Caixa postal....
32 Deadlock Diz-se que N processos estão em deadlock quando cada um deles está no estado bloqueado à espera de um evento que só pode ser causado por um dos outros N processos. Causados por disputas de recursos compartilhados. Existem 4 condições necessárias para ocorrência: Posse e espera. Processo tenta adquirir um recurso de posse de outros. Não-preempção. Recurso não pode ser tirado do processo, uma vez que tenha sido cedido. Espera circular: há um ciclo no grafo de espera por recursos. Exclusão mútua: recurso não pode ser usado por mais de um processo ao mesmo tempo.
33 Deadlock (mais) Possíveis soluções: Evitá-los. Avaliar cada pedido de recurso, verificando se atendê-los coloca o sistema em possível deadlock. Detectar e corrigir. Periodicamente, verificar se o sistema se encontra em deadlock. Se sim, escolher um processo para matar. Não fazer nada. Esperar que o usuário tome uma atitude. Em geral, as duas primeiras soluções são muito "caras". SOs preferem não fazer nada.
34 Capítulo 4
35 Organização de Memória de um Processo Algumas regiões específicas: Texto: código do programa. Dados: variáveis globais inicializadas. BSS: variáveis globais não inicializadas. Heap: memória alocada dinamicamente. Pilha: informações sobre funções sendo executadas Áreas de memória podem ter permissões diferentes. Permissão de leitura. Permissão de execução. Permissão de escrita.
36 Contexto do Processo Informações que determinam o estado atual de execução do processo. Similar ao estado do processo. Diferença: contexto contém apenas informações relativas ao estado do processador. Informações do contexto do processo: Valores dos registradores. Importante no contexto de multiprogramação: Vários processos compartilhando o processador. Quando um processo sai, seu contexto precisa ser salvo. Quando ele volta, seu contexto precisa ser restaurado.
37 Bloco Descritor do Processo Estrutura de dados do kernel. Guarda informações necessárias para o gerenciamento dos processos. Prioridade. Lista de recursos. Estado. Contexto. Contabilidade. Parentesco.... SO organiza blocos descritores em uma tabela ou lista.
38 Threads Linhas de execução dentro de um processo. Todo processo tem, ao menos, uma thread. Determinam qual a sequência de instruções a executar. Têm estado, mas menor que os processos. Apenas um sub-conjunto dos registradores. Sub-conjunto do estado de um processo. São chamadas às vezes de "Processos Leves". Chaveamento entre threads do mesmo processo é mais rápido que entre processos diferentes. Criação e término também são mais rápidos.
39 Threads (mais) Dois tipos de implementação: Em nível do usuário. SO não conhece threads. Implementadas pela própria aplicação (ou biblioteca). Operações são mais rápidas (sem troca de contexto para o SO). Modelo N:1. Em nível do Sistema. SO conhece as threads. Operações são feitas pelo kernel. Operações são mais lentas (mudança de contexto para o SO). Escalonamento tende a ser mais eficiente (threads são escalonadas, não processos). Modelo 1:1.
40 Escalonador Mecanismo responsável pelo gerenciamento do acesso de vários processos a um dado recurso do sistema. Exemplo: processador, impressora, etc. Em geral, quando se fala de escalonador, refere-se ao escalonador do processador. Três tipos de escalonador: Longo prazo: controle de admissão. Médio prazo: suspensão de processos. Curto prazo: decisão de quem usa o processador em dado momento. Escalonadores podem ainda ser classificados como: Não-preemptivos: processos só deixam o processador voluntariamente. Preemptivos: SO pode tirar um processo do processador.
41 Escalonador (mais) Podem ter vários objetivos: Tempo médio de resposta. Vazão. Eficiência. Prazos. Justiça.... Podem levar em consideração também prioridades diferentes para processos diferentes.
42 Escalonadores Não-Preemptivos FIFO: Mantém processos em uma fila de chegada. Sempre escolhe o primeiro processo da fila. Não resulta em starvation, normalmente. Bastante simples. SJF: Mantém uma lista de processos aptos. Sempre escolhe o processo mais curto. Precisa da informação de duração de um processo. Pode ser estimada (com uma média, por exemplo). Pode trabalhar com os tempos dos ciclos de processamento, apenas. Pode resultar em starvation.
43 Escalonadores Preemptivos Round-robin: Processos são ordenados pela chegada em uma fila. Sempre, o primeiro processo da fila é escolhido. Processo selecionado executa por, no máximo, uma fatia de tempo. Ao final, volta à fila. Nunca resulta em starvation. Baseado em Prioridades: Cada processo recebe uma prioridade. Processos mais prioritários sempre ganham o processador. Pode resultar em starvation.
44 Escalonadores Preemptivos (mais) Políticas podem ser combinadas. Escalonamento com múltiplas filas. Cada fila tem uma política diferente. Há um escalonador principal que escolhe uma das filas. Indicados para sistemas interativos. Principalmente o round-robin. Escolha da fatia de tempo influencia no desenpenho do round-robin. Idealmente, menor fatia possível. Mas deve ser grande o suficiente para causar pouco overhead.
45 Escalonamento de Tempo Real Objetivo: Atender a todos os prazos. Supõe-se que todos os processos sejam periódicos. Também têm prazos e tempos máximos de execução conhecidos previamente. Dois algoritmos clássicos (preemptivos): Taxa Monotônica. Prioridades estáticas são atribuídas a cada processo. Inversamente proprocional ao período do processo. EDF. A cada instante de decisão, escolhe o processo cujo prazo atualmente é mais apertado.
46 Escalonamento de Tempo Real (mais) Cada algoritmo tem um teste de escalonabilidade. Diz se um conjunto de tarefas podem ou não ser escalonadas. Escalonador de longo prazo precisa realizar o teste para determinar aceitar (ou não) uma nova tarefa. EDF é capaz de escalonar qualquer conjunto com menos de 100% de utilização. Taxa monotônica nem sempre consegue. Um teste definitivo é o desenho do diagrama: Do instante crítico ao fim do primeiro período mais longo.
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 5: Exclusão Mútua Diego Passos Última Aula Programação Concorrente Programas compostos por mais de um processo ou thread. Pode trazer benefícios: Simplificar o
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 7: Implementação de Processos e Threads Diego Passos Revisão Programação Concorrente e Multiprogramação SOs modernos permitem diversos processos em memória. Cada
Leia maisNotas da Aula 7 - Fundamentos de Sistemas Operacionais
Notas da Aula 7 - Fundamentos de Sistemas Operacionais 1. Organização de um Processo em Memória Quando um processo é criado, o SO aloca uma porção da memória física da máquina para a criação do espaço
Leia mais1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento
Leia maisNotas da Aula 11 - Fundamentos de Sistemas Operacionais
Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados
Leia maisDefinição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU
Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,
Leia maisNotas da Aula 10 - Fundamentos de Sistemas Operacionais
Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações
Leia maisGerência do Processador. Adão de Melo Neto
Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando
Leia maisLabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...
LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo
Leia maisSistemas Operacionais. Gerência de Processador
Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento
Leia maisAlgoritmos de escalonamento
Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento
Leia maisCapítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Leia maisProcessos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 11: Escalonadores: Estudos de Caso Diego Passos Últimas Aulas Escalonadores Escalonadores não-preemptivos: FIFO. SJF (com e sem previsão). Escalonadores preemptivos:
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 8: Escalonamento Diego Passos Última Aula Implementação de Processos e Threads Bloco descritor de processo. Informações de gerência do processo. Contexto. Informações
Leia maisProcessos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)
Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,
Leia maisSistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
Leia maisInfra-Estrutura de Software. Escalonamento
Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um
Leia maisQuestões de Múltipla escolha
ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos
Leia maisComunicação entre Processos
Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Introdução a Processos Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução a Processos Threads vs Processos Características dos Processos Estados dos Processos 3
Leia maisGerência do Processador. Adão de Melo Neto
Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como
Leia maisSistemas Operacionais: Sincronização entre processos
Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:
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 maisSistemas Operacionais
Sistemas Operacionais Prof. Fabio Augusto Oliveira Processos O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de
Leia maisSistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Leia maisSistemas Operacionais. Processos e Threads
Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação
Leia maisSistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia
Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente
Leia maisDEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma
Leia maisSOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU
SOP - TADS Threads Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:
Leia maisSistemas Operacionais Gerenciamento de Processos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerenciamento de Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Devido
Leia maisConcorrência em Processos
Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação
Leia mais14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 11ª Aula Threads Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro
Leia maisENADE 2011 SISTEMAS OPERACIONAIS
ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas
Leia maisSistemas Operacionais
Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão
Leia maisNotas da Aula 8 - Fundamentos de Sistemas Operacionais
1. Escalonamento Notas da Aula 8 - Fundamentos de Sistemas Operacionais Uma das funções de um SO é gerenciar o acesso aos recursos da máquina, por parte dos vários processos do sistema. Isto significa
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução
Leia maisSOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso
Leia maisRedes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4
Leia maisSistemas Operacionais
Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisSistemas de Computação. Processos e escalonamento
Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas
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. TÁSSIO JOSÉ GONÇALVES GOMES
SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação
Leia maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.
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 2 1 Processos A gerência de um ambiente multiprogramável é
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos
Leia maisQuestões de Provas de Períodos Anteriores
Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto
Leia maisLICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador
LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia
Leia maisSistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios
1ª Questão : Com base na figura ao lado, extraída do livro SISTEMAS OPERACIONAIS MODERNOS, de Andrew S. Tanenbaum, assinale cada uma das afirmações abaixo como (C)erta ou (E)rrada. No caso da afirmativa
Leia maisNotas da Aula 2 - Fundamentos de Sistemas Operacionais
Notas da Aula 2 - Fundamentos de Sistemas Operacionais 1. Ciclo de Vida de um Processo Todo processo passa por 3 fases durante sua vida: criação, execução e término. Um processo pode ser criado por outro
Leia maisProgramação de Sistemas em Tempo Real
BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa
Leia maisSistemas Operacionais
Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19 Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável
Leia maisLINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE
LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE Adriana Nery Programação lógica Paradigma Predicados Dedutiva) baseado no Cálculo de (Lógica Matemática Exemplo: Zé Carioca é um papagaio. Todo papagaio é uma
Leia maisResumo: Sistemas Operacionais Abertos
Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 1: Introdução e Conceitos Diego Passos Informações Básicas Horário: terças e quintas, 16h. Salas: 442/235 Contato: Por e-mail: dpassos@ic.uff.br Pela página: http://www.midiacom.uff.br/~diego/sisop/
Leia maisSISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios
SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisSistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas
Leia maisSistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento
Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento
Leia maisPROCESSOS. Sistemas Operacionais. Vinícius Pádua
PROCESSOS Sistemas Operacionais Processo Conceito mais importante em SO SO também é um processo Multiprogramação Relembrando Execução simultânea de vários processos CPU salta de processo em processo Ilusão
Leia maisSistemas Operacionais. Escalonamento de Processos
Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um
Leia maisSOP - TADS Processos. Revisão Ultima aula
SOP - TADS Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Revisão de hardware Processador
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 maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 13 Conceitos sobre s. Visão geral, s de usuário e de, modelos de multiing, ciclo de vida. Exemplos nos sistemas operacionais. 1 - Introdução Thread
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisProcessos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.
Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar
Leia maisNotas da Aula 5 - Fundamentos de Sistemas Operacionais
Notas da Aula 5 - Fundamentos de Sistemas Operacionais 1. Operações Atômicas Uma operação é dita atômica quando ela é indivisível no tempo. Em outras palavras, uma vez que a operação tenha sido iniciada,
Leia maisUnidade III Gerência de Processos
Sistemas Operacionais Unidade III Gerência de Processos http://www.lncc.br/~lrodrigo Professor: Luis Rodrigo lrodrigo@lncc.br Página: 1 de 34 Unidade III: Gerência de Processos Conceito de Processo Materialização
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos. Gerenciamento de processos Processos Um processo
Leia maisSistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisEscalonamento de Processos Estratégias de Escalonamento de Processos
Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham
Leia maisEstratégias de Escalonamento de Processos
Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre
Leia maisSistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução
Sistemas Operativos Objetivo O objetivo deste questionário é levá-lo a rever os conceitos básicos dos sistemas operativos, bem como os algoritmos de scheduling e mecanismos de sincronização estudados.
Leia maisINE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco
INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco 1. Um servidor acessa as variáveis i e j. O servidor oferece duas operações para seus clientes: read(i) retorna o valor de i
Leia mais1B Conceitos Básicos: Indique Verdade/Falso
INE5645 - Programação Paralela e Distribuída - Prova 1B 24/04/2017 Nome 1B Conceitos Básicos: Indique Verdade/Falso a) (Verdade/Falso) Threads distintas em um processo não são tão independentes quanto
Leia mais6 ESCALONAMENTO DE CPU
6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador
Leia maisInversão de prioridades
Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 46 Sumário 1 Dependência 2 Dependência Deadlocks 3 Classicação dos recursos 2 / 46 1 Dependência
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é
Leia maisSistemas Operacionais
Sistemas Operacionais Processos - Parte 1 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 1) 1 / 46 Um aspecto importante no estudo sobre sistemas operacionais é o gerenciamento de processos.
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Leia maisProf. Kleber R. Rovai
Msn: klrovai@hotmail.com E-mail: Skype: klrovai 2 1 Programa: sequência de instruções com diferentes fluxos de execução comandos condicionais e interativos (entidade passiva); Processo: um programa em
Leia maisSistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo
Leia maisFerramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática
Leia maisSistemas Operacionais
ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação
Leia maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS setembro/2013 SEMANA 09 Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores. 1 - Introdução A entidade responsável pelo escalonamento
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - Processos 24/04/2014 Prof. Valeria M. Bastos 1 Organização da Unidade Processos Conceituação Estruturas de Controle Modos de execução do S.O. Estados
Leia maisSistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos
Aula 2 Gerência de Processos Gerência de Processos O que são Processos e Threads? Porque são necessários? Como são implementados? Como são controlados? Escalonamento Referências: Capítulo 4: 4.1 a 4.5
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Escalonamento de Processos 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Processador Escalonamento de Processos Conceituação Critérios de
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisINTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ O QUE SÃO? Definição: Entidade dinâmica que consiste num programa em execução, os seus valores correntes, informação de estado e recursos utilizados pelo
Leia mais