sistemas operacionais - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas...

39
ENADE 2011 SISTEMAS OPERACIONAIS

Upload: buithu

Post on 08-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

ENADE 2011

SISTEMAS OPERACIONAIS

Page 2: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

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 de Arquivos● Gerenciamento de Dispositivos de E/S

Page 3: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● processo = programa em execução (código+dados+pilha+contexto)

● contextos de processos são armazenados em descritores de processos (BCP/PCB)

● processos alternam ciclos de UCP e E/S:– I/O-bound: bursts curtos de CPU

– CPU-bound: bursts longos de CPU

Page 4: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● multiprogramação: quando um processo precisa esperar, outro é executado

– cooperativa: o processo somente perde a UCP voluntariamente (quando faz uma chamada de sistema)

– preemptiva: um processo pode perder a UCP quando faz uma chamada de sistema ou quando termina o seu limite de tempo

● o SO organiza os processos em listas

Page 5: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● compartilhamento de tempo (time-sharing):– cada processo fica com a UCP por uma

fatia de tempo (time-slice ou quantum)

– a UCP é passada para outro processo

– depois que todos tiverem recebido a sua fatia de tempo, a execução volta para o primeiro processo

● multiprocessamento

Page 6: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● processos passam por diferentes estados:

● o SO organiza os processos em listas

Page 7: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● escalonadores: selecionam o processo que receberá a UCP

– curto prazo: seleção do processo da lista de aptos que receberá a UCP

– médio prazo: controle de swapping

– longo prazo: controle de sistemas batch

Page 8: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

● algoritmos de escalonamento:– FCFS (First-Come-First-Served)

– SJF (Shortes-Job-First)

– Prioridade● postergação indefinida e envelhecimento

– Round-Robin● tamanho ideal do time-slice

– Filas Multi-nível

Page 9: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Aplicações concorrentes:– são formadas por mais de um processo

– aproveitam melhor o tempo de UCP (mais tempo em execução)

– melhor desempenho em SMP

– maior complexidade

Page 10: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Aplicações concorrentes podem ser formadas por

– processos que se comunicam usando mecanismos de IPC

– threads (processos leves) se comunicam através de memória compartilhada ou mecanismos de IPC

Page 11: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Aplicações concorrentes com processos:– chamadas como fork(), wait(), exec() e

exit() são usadas para criar processos

– exemplos de mecanismos de IPC:● dutos, troca de mensagens, memória

compartilhada, semáforos, sinais, morte do filho e rastreamento

Page 12: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Aplicações concorrentes com processos:– chamadas como fork(), wait(), exec() e

exit() são usadas para criar processos

– exemplos de mecanismos de IPC:● dutos, troca de mensagens, memória

compartilhada, semáforos, sinais, morte do filho e rastreamento

Page 13: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Aplicações concorrentes com threads:– sistemas multithread permitem processos

com mais de um fluxo de execução

– threads compartilham código e dados, mas tem pilha e contexto próprios

– comunicação via memória compartilhada ou IPC

– implementação pode ser no nível de usuário (biblioteca) ou de sistema (SO)

Page 14: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Formas básicas de comunicação:– Troca de mensagens

– Memória Compartilhada

– Monitores (recursos de linguagens de programação que dão suporte para comunicação através de memória compartilhada)

Page 15: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Troca de mensagens– é bastante utilizada quando não se tem

memória compartilhada

– duas chamadas básicas: send e receive

– endereçamento pode ser:● direto ou indireto

– classificação:● sem buffer/bloqueante/síncrona/rendezvouz● com buffer/não bloqueante/assíncrona

Page 16: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Concorrência e Comunicação

● Memória Compartilhada– é a forma mais rápida de comunicação

– podem surgir problemas de seção crítica no acesso a variáveis compartilhadas

Page 17: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sincronização de Processos

● Problema da Seção Crítica:– processos podem gerar inconsistências ao

acessar recursos compartilhados

● Solução:– protocolo de entrada + protocolo de saída

– requisitos: independência de velocidade, progresso, espera limitada e exclusão mútua

Page 18: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sincronização de Processos

● Solução 1: desabilitar interrupções– diminui a eficiência

– não funciona em SMP

● Solução 2: spin-locks– usa instruções como test-and-set,

compare-on-store e swap

– espera ocupada

– usado por SOs em SMP

Page 19: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sincronização de Processos

● Solução 3: semáforos– variáveis especiais formadas por valor e

fila

– controladas por 2 operações atômicas:● p/sleep/lock/down: decrementa o valor do

semáforo e bloqueia o processo (se v<0)● v/wakeup/unlock/up: incrementa o valor do

semáforo e desbloqueia processo

– é a solução para aplicações

Page 20: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Deadlock

● processos bloqueados à espera de um evento que somente pode ser causado por um dos processos do conjunto

● condições necessárias:– exclusão mútua

– segura e espera

– recursos não são preemptados

– fila de espera circular

Page 21: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Deadlock

● tratamento:– prevenção

– evitamento

– detecção e recuperação

Page 22: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● capacidade de memória é definida pelo barramento de endereços: 2n

● endereços lógicos (aplicação) x físicos (dispositivo)

● fragmentação:– interna

– externa

Page 23: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● modelos:– múltiplas partições de tamanho fixo

– múltiplas partições de tamanho variável● programa deve ocupar posições contíguas● políticas de alocação de áreas livres: first-

fit, best-fit, worst-fit, last-fit, next-fit● principal problema: fragmentação externa● pode usar alocação exata ou em bloco

– paginação

Page 24: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● paginação:– programa dividido em páginas

– memória dividida em quadros

– páginas podem ficar em quaisquer quadros

– o SO preenche a tabela de páginas e a MMU converte endereços lógicos em físicos

Page 25: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

Page 26: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● paginação (continuação):– implementação da tabela de páginas:

● registradores dedicados● memória principal● memória associativa (TLB – Translation

Lookaside Buffer)

Page 27: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● Memória Virtual: execução de um programa que não está todo presente na memória (permite executar programas maiores do que a memória física)

– overlays (programador + compilador)

– paginação por demanda (SO + hw)

Page 28: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● Paginação por Demanda:– as páginas do programa ficam no disco

– quando se acessa uma página que não está na memória ocorre uma falha de página (page fault)

– o SO é chamado e busca a página

– problema: desempenho

Page 29: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

● Paginação por Demanda:– algoritmos de substituição escolhem

páginas para serem jogadas para disco● FIFO (First-In-First-Out)● Ótimo● LRU (Least Recently Used)● Segunda Chance● Histórico dos bits de referência● MFU (Most Freq. Used) x LFU (Least...)

Page 30: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sistemas de Arquivos

● Formato usado para armazenamento de informações em disco

● Deve definir:– que arquivos? - Sistema de Diretórios!

– que áreas estão livres? - Mapas de bits ou listas de setores livres!

– onde? - Métodos de alocação!

Page 31: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sistemas de Arquivos

● Métodos de Alocação:– Alocação Contígua

● First-fit, Best-fit, Worst-fit

– Alocação Encadeada

– Alocação Indexada

Page 32: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sistemas de Arquivos

● Diretórios podem ser implementados como:

– listas de descritores (FAT)● não permite atalhos físicos

– listas de endereços de descritores (Unix)● permite atalhos físicos e simbólicos

● Atalhos físicos x simbólicos

Page 33: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Sistemas de Arquivos

● Outras questões:– Particionamento

● partições primárias, estendidas, secundárias (ou lógicas)

– Formatação● física x lógica

– Montagem● mount (Unix)● A:, B: (Microsoft)

Page 34: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Dispositivos de E/S

Page 35: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Dispositivos de E/S

● Discos magnéticos– setores, trilhas, cilindros

– tempos de acesso:● busca, latência (ou rotação), transferência

– escalonamento:● FCFS, SSTF● Scan (com ou sem look)● C-Scan (com ou sem look)● N-Step Scan, N-Step C-Scan

Page 36: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

QUESTÕES

Page 37: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

(TRF/2ª Região – 2003 – AJ/Inf – FEC/UFF – 19) Um processo em Unix tem um espaço de endereçamento constituído de três segmentos. Existe um segmento que não pode ser alterado pelo programa, o qual é definido como segmento:

(A) de código;

(B) de dados;

(C)de pilha;

(D)de página;

(E) de alocação de disco.

Page 38: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerência de processos/processador

(TRF/4ª Região – 2010 – AJ/Inf – FCC – 36) No contexto de sistemas operacionais, sobre processos é correto afirmar:

(A) Um computador multiprocessador pode ter tantos processos em execução quanto são os processadores.

(B) Os termos processo e programa são sinônimos.

(C) Todo processo utiliza o mesmo espaço de endereço.

(D) A qualquer dado instante somente um processo pode executar instruções em um computador com qualquer tipo de arquitetura.

(E) Um processo não pode ter um número zero de processos-pai.

Page 39: SISTEMAS OPERACIONAIS - ulbra.inf.br · chamada de sistema) ... com paginação em sistemas operacionais, assinale a opção correta. (A) As páginas utilizadas por um processo, sejam

Gerenciamento de Memória

(ENADE 2005 - Bacharelado em SI - 22) Com relação ao gerenciamento de memória com paginação em sistemas operacionais, assinale a opção correta.

(A) As páginas utilizadas por um processo, sejam de código ou de dados, devem ser obrigatoriamente armazenadas na partição de swap do disco, quando o processo não estiver sendo executado.

(B) Todas as páginas de um processo em execução devem ser mantidas na memória física enquanto o processo não tiver terminado.

(C) Um processo somente pode ser iniciado se o sistema operacional conseguir alocar um bloco contíguo de páginas do tamanho da memória necessária para execução do processo.

(D) O espaço de endereçamento virtual disponível para os processos pode ser maior que a memória física disponível.

(E) Um processo somente pode ser iniciado se o sistema operacional conseguir alocar todas as páginas de código desse processo.