Prévia do material em texto
SISTEMAS OPERACIONAIS
Professor (a): MAURO CESAR CANTARINO GIL
Aula 01
Analise as seguintes instruções: I - Desabilitar todas as interrupções; II - Ler o horário do relógio; III
- Alterar o horário do relógio; IV - Alterar o mapa de memória. Quais dessas instruções só podem
ser executadas pelo kernel de um sistema operacional?
I, II e IV
III e IV
I, III e IV
I, II e III
II
A CITAÇÃO " Principalmente usado em controle de processos, telecomunicações, etc. O SO
monitora várias entradas que afetam a execução de processos, mudando os modelos de
computadores do ambiente, e assim afetando as saídas, dentro de um período de tempo garantido
(normalmente < 1 segundo)". REFERE-SE A:
TEMPO REAL
MULPROCESSADOR
MULTITAREFA
TIME SHARING
INTERATIVO
Em relação ao Sistema Operacionais quanto à Arquiteturas do Núcleo - Kernel, qual o termo se
completa o texto abaixo com as lacunas em branco. O conceito de _______________ é de reduzir o
kernel a comunicações de processos básicos econtrole de I/O, e deixar os outros serviços de sistemas
situados no user-space (espaço dousuário) em forma de processos normais(chamados de servers -
servidores). Existe um server para cada problema de gerenciamento de memória, um server faz
gerenciamento de processos, e outro gerencia drivers, e assim por diante.
kernel
superkernel
kernel monlítico;
microkernel
camadas
A arquitetura microkernel caracteriza-se por conter um núcleo simples e enxuto que gerencia a troca
de mensagens entre os serviços do sistema operacional. Assinale a opção que representa um
exemplo de sistema operacional que adota esta arquitetura:
MINIX
Windows XP
Windows Vista
Windows 7
Linux
A maioria dos autores classifica os sistemas operacionais entre os seguintes tipos: sistemas
monotarefa ou multitarefa, sistemas monousuário ou multiusuário, sistemas monoprocessados ou
multiprocessados. Em relação a essas classificações, marque a alternativa correta:
Todo sistema operacional multiusuário é ao mesmo tempo um sistema multitarefa.
Um sistema operacional multitarefa é necessariamente um sistema multiprocessado.
Todo sistema operacional multitarefa é necessariamente um sistema multiusuário.
Em sistemas operacionais multitarefa monoprocessados a execução de diferentes
programas é simultânea.
Um sistema operacional multiprocessado não é necessariamente um sistema multitarefa.
Para que uma aplicação execute instruções privilegiadas deverá efetuar:
o acesso com uma conta privilegiada.
uma interrupção
uma chamada ao sistema
a execução de um programa específico
uma solicitação ao administrador do sistema
Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais:
É impossível fazer uso de um computador que não tenha um sistema operacional instalado.
Atua como uma interface entre o usuário e o computador.
Um sistema operacional é responsável por gerenciar os recursos computacionais.
Um sistema operacional deve facilitar acesso aos recursos do sistema, assim como
compartilhá-los de forma organizada e protegida.
São componentes básicos de um sistema operacional: interface com o usuário; gerência do
processador; gerência de memória; gerência de dispositivos; sistema de arquivos.
Em relação aos tipos de Sistemas Operacionais, marque qual opção N Ã O faz sentido.
Sistemas Monousuários e Monotarefas
Sistemas Multiusuários e Multitarefas
Sistemas Monotarefas com mais de um usuário
Sistemas Multitarefas com Múltiplos usuários
Sistemas Monousuário e Multitarefas
Aula 02
Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma
senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "execução". Em
seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do
teclado) para prosseguir. Quando o usuário informar a senha o processo passará para qual estado?
EXECUÇÃO
PRONTO
CRIADO
ESPERA
TERMINADO
Processos do tipo _________, permitem a comunicação direta do usuário com o processo durante o
seu processamento. Marque a opção que melhor completa a frase acima.
Processos em Lote
Processos CPU bound
Processos I/O bound
Processos Background
Processos Foreground
Sabemos que os programas são carregados na memória principal sob a forma de processos e que um
mesmo processo pode assumir estados diferentes ao longo do seu ciclo de vida. Sendo assim, os
estados genéricos de um processo são:
Novo, Executando, Esperando, Pronto e Terminado
Novo, Executando, Esperando, Pronto e Zumbi
Novo, Executando, Esperando, stand by e Terminado
Transição, Executando, Esperando, Pronto e Terminado
Novo, Executando, Stand by, Pronto e Terminado
Marque a opção que melhor representa a afirmação a seguir. Armazena o conteúdo dos registradores
gerais da UCP, além dos registradores de uso específico, como program counter (PC), stack pointer
(SP) e registrador de status¿.
Limites
Espaço de Endereçamento
Thread
Contexto de Software
Contexto de Hardware
Um processo do tipo CPU-bound é aquele que faz poucas operações de entrada e saída. Por outro
lado, processos do tipo I/O-bound são aqueles que fazem muita leitura de disco ou requerem muita
interação com o usuário. Desta forma, conclui-se que os processos que ficam a maior parte do tempo
nos estados "pronto" e "executando" são os processos do tipo:
CPU-bound e I/O-bound ao mesmo tempo.
I/O-bound.
CPU-bound.
O processo em questão não é CPU-bound nem I/O-bound.
Não é possível classificar o processo com as informações fornecidas.
Em sistemas multiprogramáveis os processos podem assumir diferentes estados. Os três estados
mais importantes são: running (execução); ready (pronto); e wait (espera). Mudanças entre esses
estados podem ocorrer a qualquer momento. Assinale dentre as assertivas seguir a unica mudança de
estado que NÃO pode acontecer:
EXECUÇÃO para PRONTO
EXECUÇÃO para ESPERA
ESPERA para PRONTO
PRONTO para EXECUÇÃO
ESPERA para EXECUÇÃO
Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma
senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando".
Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do
teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera"
diretamente para o estado "execução"?
Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o
selecione para execução.
Não. O processo ficará em estado de "espera" e aguarda até que o sistema operacional o
selecione para execução.
Sim. Mas somente se o computador tiver mais de uma CPU.
Sim. Assim que liberar o processador ele será executado.
sim, pois independente da quantidade de CPU´s ele será executado.
Um processo, segundo Machado, é formado por três partes, conhecidas como contexto
de hardware, contexto de software e espaço de endereçamento.A figura ilustra, de
maneira abstrata, os componentes da estrutura de um processo, que juntos, mantêm
todas as informações necessárias a execução de um programa. Sobre os componentes é
correto afirmar que:
o contexto de hardware mantém informações nos registradores do processador, enquanto um
processo está em execução, podendo salvá-las caso o processo seja interrompido.
o contexto de hardware de um processoé composto por três grupos de informações sobre o
processo:identificação, quotas e privilégios.
o contexto de hardware mantém informações nos registradores do processador, enquanto um
processo está em execução, mas não pode salvá-las caso o processo seja interrompido.
o espaço de endereçamento armazena o conteúdo dos registradores gerais da UCP, além dos
registradores de uso específico, como program counter(PC), stack pointer (SP) e registrador de
status(PSW).
o contexto de software armazena o conteúdo dos registradores gerais da UCP, além dos registradores
de uso específico, como program counter(PC), stack pointer (SP) e registrador de status(PSW).
Aula 03
Considere uma aplicação baseada em threads em um sistema operacional com suporte a threads de
kernel. Se uma das threads desta aplicação for bloqueada para aguardar um acesso ao disco podemos
afirmar que as demais threads deste processo:
Serão interrompidas provocando um erro no processo.
Serão bloqueadas também para impedir a ocorrência de erros
Não serão bloqueadas mas ficaram aguardando o desbloqueio da thread que solicitou o
acesso ao disco
Poderão continuar executando se não dependerem da thread que foi bloqueada
Terão a prioridade reduzida para aguardar o desbloqueio da thread que solicitou o acesso ao
disco
Uma das diferenças entre threads em modo usuário e threads em modo kernel é:
Uma thread em modo kernel não pode executar instruções privilegiadas e a em modo usuário
pode.
A thread em modo kernel depende de uma biblioteca para ser utilizada e a thread em modo
usuário não depende.
Uma thread em modo kernel bloqueada bloqueia todo o processo obrigatoriamente e a em
modo usuário não bloqueia.
A thread em modo usuário não pode utilizar funções do sistema operacional e a thread em
modo kernel pode.
A thread em modo kernel é escalonada diretamente pelo sistema operacional e a de usuário
não.
Podemos verificar informações sobre os processos em execução utilizando o gerenciador de tarefas
do sistema operacional Windows e no Linux com o comando PS. Dentre as informações fornecidas
podemos destacar o PID (process identification ou identificador do processo), que faz parte
do espaço de endereçamento do processo.
do contexto de software do processo.
do gerenciamento de arquivo.
do contexto de hardware do processo.
do controle de memória do processo.
O uso de interrupções é fundamental para a existência de:
Sistemas multitarefa
dispositivos de hardware como monitor e impressora
bibliotecas de software
comunicação de dados
dispositivos de hardware como teclado e disco
Alguns sistemas operacionais permitem a implementação de thread, que é um fluxo de dados
executável dentro de processo. Dentre as características a seguir, marque aquela que NÃO
corresponde ao THREAD.
A thread de usuário é criada e gerenciada por uma biblioteca no nível usuário.
O suporte a múltiplas thread é uma característica do sistema operacional.
Posix Pthreads, Win32 threads, Java threads são bibliotecas de threads
A thread kernel é criada e gerenciada pelo kernel, porém em casos específicos podem ser
gerenciadas, diretamente, pelo usuário.
Existem dois tipos de thread: thread usuário e thread kernel
Threads são fluxos de execução distintos dentro de um mesmo processo. Assinale a afirmativa que
NÃO está de acordo com o conceito de threads.
Compartilhamento de recursos
Economia de tempo de processamento
Utilização de múltiplos processadores
Melhor aproveitamento na fatia de tempo
Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de
proteção ao núcleo
Sabe-se que cada processo tem seu próprio contexto de software, contexto de hardware e espaço
de endereçamento. Threads de um mesmo processo compartilham o mesmo contexto de software
e espaço de endereçamento, apesar de terem contexto de hardware próprio. De acordo com as
afirmações, marque a alternativa correta.
O uso de threads não influencia no desempenho, pois durante a interrupção de um thread é
necessário salvar o contexto de hardware, de software e espaço de endereçamento
O uso de threads representa ganhos em termo de desempenho, pois durante a interrupção
de um thread apenas o contexto de software precisa ser salvo, já que o contexto de
hardware e o espaço de endereçamento são os mesmos entre os vários threads.
O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção
de um thread apenas o contexto de hardware precisa ser salvo, já que o contexto de
software e o espaço de endereçamento são os mesmos entre os vários threads
O uso de threads diminui o desempenho, pois durante a interrupção de um thread é
necessário salvar o contexto de hardware, de software e espaço de endereçamento.
O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção
de um thread apenas o espaço de endereçamento precisa ser salvo, já que o contexto de
software e de hardware são os mesmos entre os vários threads
Threads são fluxos de execução distintos dentro de um mesmo processo. É a unidade de execução de
um sistema. Qual das afirmativas abaixo não estão de acordo com o conceito de threads ?
Fornecem a interface entre os processos e o sistema operacional sendo um mecanismo de
proteção ao núcleo
Utilização de múltiplos processadores
Melhor aproveitamento na fatia de tempo
Economia de tempo de gerenciamento
Compartilhamento de recursos
Aula 04
Exclusão mútua é uma técnica usada em programação concorrente para evitar que dois processos ou
threads tenham acesso, simultaneamente, a um recurso compartilhado, acesso esse denominado por
REGIÃO CRÍTICA. Julgue as sentenças a seguir e marque a INCORRETA.
Quando não houver processo executando uma região crítica qualquer processo que solicitar
acesso deverá obtê-lo imediatamente
É permitido que mais de um processo por vez possa executar uma região crítica
Um processo interrompido fora de uma região crítica não pode impedir que outro processo
tenha acesso a esta região crítica
Não pode haver nem deadlock nem starvation
Um processo deve permanecer executando uma região crítica por tempo finito
O trecho do código-fonte de um programa que, ao ser executado, requer um recurso e pode levar o
sistema a uma condição de corrida é denominado:
Região de entrada
Região restante
Região problemática
Região crítica
Região de saída
Starvation é uma situação que ocorre quando:
O processo tenta mas não consegue acessar uma variável compartilhada.
Pelo menos um processo é continuamente postergado e não executa.
Quando Quantum está acima de 400 ms
A prioridade de um processo é ajustada de acordo com o tempo total de execução do mesmo.
Pelo menos um evento espera por um evento que não vai ocorrer.
Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois
processos de prioridade maior sempre o impedem de ser executado, podemos concluir que ocorreu ?
Starvation
Deadlock
Bloqueio do processo
Espera ocupada
Exclusão mútua
Preciso de canetas e apagador para a aula. Peguei as canetas, mas parei para conversar um
pouco. Ao tentar pegar o apagador fiquei sabendo que outro professor pegou o apagador para
um reunião não programada e aguardava a caneta que não estava mais sobre a mesa para
começar a reunião.
Fiquei esperando que o apagador fosse devolvido e, como isso não aonteceu, resolvi guardar
as canetas para a segunda aula e continuaraguardando o apagador.
Fiquei sabendo que o outro professor também não começou a reunião pois ficou aguardando
as canetas e também resolveu aguardar.
Nesta situação podemos identificar a ocorrência de:
Uma condição de corrida
Um deadlock que poderá ser solucionado quando o professor desistir da aula.
Um deadlock que poderá ser solucionado se um dos professores tirar o recurso
das mãos do outro.
Um deadlock em função da exclusão mútua no acesso aos dois recursos
Um evento que será solucionado assim que terminar a aula
Exclusão mútua é uma técnica usada em programação concorrente para evitar acesso simultâneo a
um recurso compartilhado, acesso esse denominado por REGIÃO CRÍTICA. Julgue as sentenças a
seguir e marque a INCORRETA.
Quando não houver processo executando uma região crítica qualquer processo que solicitar
acesso deverá obtê-lo imediatamente
Um processo interrompido fora de uma região crítica não pode impedir que outro processo
tenha acesso a esta região crítica
Um processo deve permanecer executando uma região crítica por tempo finito
Não pode haver nem deadlock nem starvation
É permitido que mais de um processo, em execução, possa executar, simultaneamente, uma
região crítica
Em programação concorrente existe uma condição na qual o processo nunca é executado, pois
processos de prioridade maior sempre são executados antes. Assinale a alternativa que descreve o
nome desta condição:
Starvation
Bloqueio
Deadlock
Espera ocupada
Exclusão mútua
Embora ambos tenham seu escalonamento feito pelo gerenciamento de processos, threads e
processos são estruturalmente distintos. Qual é a principal diferença entre eles?
Escolha a alternativa correta.
Threads possuem o mesmo contexto de software
Apenas threads podem ser executados em paralelo.
Processos executam mais rapidamente.
Processos apenas podem ocorrer em sistemas de grande porte.
Threads apenas podem ocorrer em processadores multicore.
Aula 05
Deadlock pode ser definido como uma situação em que um processo aguarda por um recurso que
nunca estará disponível ou um evento que nunca ocorrerá. Para que ocorra a situação de deadlock,
algumas condições são necessárias simultaneamente. Assinale alternativa que contém todas essas
condições:
Exclusão mútua e espera por recurso.
Não-preempção.
Espera por recurso e não-preempção.
Exclusão mútua, espera por recurso e não-preempção.
Exclusão mútua e não-preempção.
Diversos conceitos são fundamentais para que se implemente concorrência entre processos. Região
Crítica é um desses conceitos, que pode ser melhor definido como sendo:
Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer
ordem
Um trecho de programa onde existe o compartilhamento de algum recurso que não permite o
acesso concomitante por mais de um processo
Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro
programa
Um trecho de programa onde existe algum recurso a que somente o sistema operacional pode
ter acesso
Um trecho de programa onde existe algum recurso cujo acesso é dado por uma prioridade
O semáforo possui regras de acesso. Analise as regras abaixo que permitem o acesso adequado ao
semáforo e, em seguida, assinale a alternativa correta: I. O semáforo deve ser inicializado com um
valor não negativo. II. A operação DOWN decrementa o semáforo; III. A operação UP incrementa o
semáforo; IV. Se o semáforo valer zero e for decrementado, o processo entra em estado de pronto
Estão corretas as sentenças:
apenas II e III
II, III e IV
I, II e III
I, III e IV
apenas I e IV
No âmbito de sistemas operacionais, uma seção ou região crítica é a:
área do programa que é executada 80% do tempo.
parte da memória usada para operações criptográficas.
área da memória que contém dados compartilhados.
área do sistema operacional que contém o código do loader.
parte do programa que acessa dados compartilhados.
São técnicas utilizadas na sincronização entre processos:
I. Starvation
II. Instruções TSL
III. Semáforos
IV. Monitores
Somente as afirmativas I e II são verdadeiras.
Todas as afirmativas são verdadeiras.
Somente as afirmativas II e III são verdadeiras.
Somente as afirmativas II, III e IV são verdadeiras.
Somente as afirmativas I, II, III são verdadeiras.
Considere o código alterado com semáforo para um produtor no problema clásico de produtores e
consumidores. A alteração no código consiste em entrar na região crítica antes de saber se há um
espaço vazio para inserir um item produzido. O que pode acontecer de errado considerando que o
semáforo mutex controla o acesso a região crítica e os semáforos espaço_vazio e espaço_ocupado
controlam a quantiadade de itens produzidos?
Pode ocorrer um deadlock caso não haja espaços vazios para inserir um item produzido.
Nada, esta alteração não influencia no resultado.
O resultado pode ser alterado por um consumidor sem que um produtor tenha
conhecimento.
O resultado pode ser alterado por um produtor sem que um consumidor tenha
conhecimento.
Nenhuma das alternativas.
A exclusão mútua deve afetar apenas os processos concorrentes somente quando um deles estiver
fazendo acesso ao recurso compartilhado. A parte do código do programa onde é feito o acesso ao
recurso compartilhado é denominada de:
Condição de Corrida
Exclusão Mútua de Execução
Espera Ocupada
Aplicação Concorrente
Região Crítica
São técnicas utilizadas na sincronização entre processos?
I. Starvation
II. Instruções TSL
III. Semáforos
IV. Monitores
Todas as afirmativas são verdadeiras.
Somente as afirmativas II e III são verdadeiras.
Somente as afirmativas I e II são verdadeiras.
Somente as afirmativas I, II, III são verdadeiras.
Somente as afirmativas II, III e IV são verdadeiras.
Aula 06
O projeto de um escalonador adequado, deve levar em conta uma série de diferentes necessidades,
ou seja, o projeto de uma política de escalonamento deve contemplar os seguintes objetivos. Dentre
as ações abaixo, julgue a INCORRETA.
Oferecer tempos de resposta razoáveis.
Manter o processador ocupado o maior parte do tempo possível.
Balancear o tempo de CPU entre as tarefas.
Maximizar a taxa de atendimento (vazão) do sistema (throughput).
Minimizar o número usuários interativos do sistema.
Suponha o seguinte cenário: você é um engenheiro de sistemas e está projetando um sistema
operacional. No seu projeto você contemplou uma arquitetura de sistema operacional
multiprogramado no qual vários processos serão executados de forma concorrente. Imagine que,
neste contexto, seja importante que o sistema operacional adote como critério de escalonamento a
escolha dos processos que tiverem o menor tempo de processador ainda por executar. Neste caso
optaria por adotar qual critério de escalonamento?
Circular
Shortest-Job-First (SJF)
First-In-First-Out (FIFO)
Por Prioridade
Não preemptivo
Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os
processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento
de processos do tipo:
FCFS - First come, first served.
SRT - Shortest Remaining Time.
FIFO - First in, first out.
RR - Round-Robin.
SJF - Shortest Job First.
Em quais situações um processo é escalonado para executar em um sistema monoprocessado?I. Quando o processo em execução finaliza.
II. Quando o processo em execução fica em estado de pronto.
III. Quando o processo em execução fica em estado de espera.
Apenas I e II estão corretas.
Apenas a III está correta.
Apenas II e III estão corretas.
Apenas a I está correta.
Apenas I e III estão corretas.
Em um sistema operacional, um processo pode, em um dado instante de tempo, estar em um de três
estados: em execução, pronto ou bloqueado. Considere as afirmativas abaixo sobre as possíveis
transições entre estes estados que um processo pode realizar.
I. Do estado pronto para o estado em execução
II. Do estado pronto para o estado bloqueado
III. Do estado bloqueado para o estado em execução
IV. Do estado bloqueado para o estado pronto
Quais são as afirmativas verdadeiras?
Todas as afirmativas são verdadeiras.
Somente as afirmativas III e IV são verdadeiras.
Somente as afirmativas I e III são verdadeiras.
Somente as afirmativas II e III são verdadeiras.
Somente as afirmativas I e IV são verdadeiras.
Em relação à política de escalonamento por preempção, é correto afirmar que o sistema operacional:
executa apenas processos em monoprogramação
pode interromper um processo em execução, com o objetivo de alocar outro processo na UCP
executa tipicamente o processo tipo BATCH. (em lote)
possui capacidade limitada e processos simples
executa apenas processos que ainda não estão ativos
Na política de escalonamento First-In-First-Out (FIFO), é selecionado para execução o processo
que:
tiver maior prioridade.
estiver em modo usuário.
tiver o menor tempo de processador ainda por executar.
ocupar menos espaço em memória.
chegar primeiro ao estado de pronto.
Considere a seguinte chegada de processo e respectivos tempos de execução:
Processo Tempo de Chegada Duração
P1 0.0 8
P2 1.0 5
P3 3.0 2
P4 5.0 4
Considere ainda que se utiliza um esquema de escalonamento Preemptivo Shortest Job First - SJF.
Pergunta-se: qual o tempo médio de espera neste sistema?
4,2
2,3
4,8
3,1
3,3
Aula 07
Várias foram as técnicas propostas para otimizar a alocação de memória. Entretanto,
independentemente da técnica utilizada, pode acontecer de não haver memória principal disponível
para todos os processos. Para solucionar este problema foi proposta uma técnica que é implementada
em praticamente todos os sistemas operacionais atuais. Esta técnica consiste em selecionar um
processo residente da memória que é transferido da memória principal para a memória secundária.
Desta forma, libera-se memória principal para execução de novos processos. Para que o processo
que está em memória secundária retorne à memória principal, o procedimento inicial é repetido,
sendo outro processo transferido para a memória secundária. Selecione a assertiva que descreve o
nome desta técnica:
Memória virtual
Trashing
Swapping
Dinamic memory acess (DMA)
Page faults
A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma
das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que
contém a afirmação correta a respeito do swapping:
Swapping é a capacidade de troca de componentes de hardware de um computador, mesmo
que o mesmo esteja ligado.
Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a
fisicamente existente em um computador.
O swapping é uma técnica de endereçamento que faz com que cada processo enxergue sua
área de memória como um segmento contíguo.
A principal função do swapping é impedir que um processo utilize endereço de memória que
não lhe pertença.
O swapping é um mecanismo necessário em computadores de 64 bits que permite o
endereçamento de memórias superiores a 4 Gbytes.
Considerando uma lista de blocos livres para gerência de alocação de memória, em que consiste o
algoritmo first fit (primeiro encaixe)?
O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo espaço na lista
de blocos livres que se adeque melhor aos requisitos do processo solicitante.
O algoritmo first fit consiste em modificar a lista de blocos livres para que ela disponibilize
um espaço livre para um processos solicitante o mais breve possível.
O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo primeiro
espaço na lista de blocos livres que seja grande o suficiente para os requisitos do processo
solicitante.
O algoritmo first fit não está relacionado com gerência de alocação de memória, mas com
gerência de processador em um sistema multiprocessado. Ele serve para alocar o primeiro
processador disponível ao processo que foi escalonado.
O algoritmo first fit consiste em fazer o gerenciador de memória procurar pelo espaço na lista
de blocos livres que seja o menor possível para os requisitos do processo solicitante.
Várias foram as técnicas propostas para otimizar a alocação de memória. Entretanto,
independentemente da técnica utilizada, pode acontecer de não haver memória principal disponível
para todos os processos. Para solucionar este problema foi proposta uma técnica que é implementada
em praticamente todos os sistemas operacionais atuais . Esta técnica consistem em selecionar um
processo residente da memória que é transferido da memória principal para a memória secundária.
Desta forma, libera-se memória principal para execução de novos processos. Para que o processo
que está em memória secundária retorne à memória principal, o procedimento inicial é repetido,
sendo outro processo transferido para a memória secundária. Estamos nos referindo a que técnica?
Trashing
Dinamic memory acess (DMA)
Memória virtual
Swapping
Page faults
A fragmentação interna ou externa ocorre durante o processo de alocação de memória para um
processo. Correlacione o método de alocação com o tipo de fragmentação que pode ocorrer:
Contíguo estático - Contíguo relocável - Contíguo dinâmico - Paginação
I- Fragmentação interna
II- Fragmentação interna
III- Fragmentação externa
IV- Fragmentação interna
I - IV - III - II
I - II - III - IV
I - IV - II - III
I - II - IV - III
I - III - II - IV
Quando se trata sobre a gerência da memória principal, um ponto que crucial que deve ser
considerado é a fragmentação. Neste sentido assinale a alternativa INCORRETA sobre o tipo de
ocorrência de fragmentação para o tipo de alocação em memória principal.
Fragmentação externa na alocação por segmentação.
Fragmentação externa na alocação particionada dinâmica.
Fragmentação externa na alocação por paginação.
Fragmentação interna na alocação particionada estática.
Fragmentação interna na alocação por paginação.
Os modelos de alocação particionada estática e dinâmica permitem, respectivamente:
Fragmentação relocável e não relocável
fragmentação somente na última partição em ambos os casos
fragmentação externa e interna
Fragmentação paginada e não paginada
fragamentação interna e externa
A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma
das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que
contém a afirmação correta a respeito do swapping.
Swapping é a capacidade de troca de componentes de hardware de um computador, mesmo
que o mesmo esteja ligado.
Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a
fisicamente existenteem um computador.
O swapping é uma técnica de endereçamento que faz com que cada processo enxergue sua
área de memória como um segmento contíguo.
A principal função do swapping é impedir que um processo utilize endereço de memória que
não lhe pertença.
O swapping é um mecanismo necessário em computadores de 64 bits que permite o
endereçamento de memórias superiores a 4 Gbytes.
Aula 08
Um computador tem 8 molduras de página, atualmente ocupadas pelas páginas abaixo.
Página Carga Último Acesso
0 123 270
1 231 250
2 101 278
3 145 279
4 123 253
5 109 167
6 132 198
7 143 185
Dados os momentos de carga e último acesso, a próxima página a ser retirada pela política LRU
(menos recentemente utilizada) é:
2
0
5
3
6
Qual a técnica aplicada à gerência de memória para programas que esperam por memória livre para
serem executados. Onde o sistema escolhe um processo residente, que é transferido da memória
principal para a memória secundária (swap out) geralmente disco, e posteriormente, o processo pode
ser carregado de volta da memória secundária para a principal (swap in) e pode continuar sua
execução como se nada tivesse ocorrido.
Alocação Contígua Simples
Memória Virtual por Paginação
Swapping
Técnica de overlay
Memória Virtual por Segmentação
Qual o tipo de página que a política NRU procura remover inicialmente?
As páginas referenciadas e não modificadas(bits M e R igual a 0).
As páginas não referenciadas e não modificadas (bits M e R iguais a 0).
As páginas referenciadas e não modificadas (bit M igual a 0 e bit R igual a 1).
As páginas não referenciadas e modificadas (bit M igual a 1 e bit R igual a 0).
As páginas referenciadas e modificadas (bits M e R iguais a 1).
Em um sistema com gerenciamento de memória paginado o endereço é composto por 32 bits, sendo
10 reservados para a identificação da página. Qual o tamanho da página?
16KB
4MB
4KB
8MB
32MB
Marque a assertiva que representa a soma dos períodos em que um processo permaneceu no estado
de pronto:
Tempo de espera
Utilização do processador
Throughtput
Tempo de turnaround
Tempo de resposta
Suponha que um programador esteja medindo o desempenho de seus programas. Para este
programador, é muito importante saber o tempo total que o processo leva desde sua criação até o seu
término. Os sistemas operacionais atuais disponibilizam uma série de informações que podem
auxiliar este programador. Marque a alternativa que representa a informação que este programador
precisa:
Utilização do processador
Tempo de resposta
Tempo de turnaround
Tempo de espera
Throughtput
Um sistema operacional trabalha com gerência de memória por páginas (paginação). O espaço de
endereçamento virtual do sistema dividido em páginas de tamanho 25bytes. Existem quatro
processos a serem executados nesse sistema, todos com códigos relocáveis, cujos tamanhos são:
A(113bytes), B(37bytes), C(96bytes), D(100bytes). Diante desse cenário podemos afirmar que:
O processo D ocasionará maior fragmentação quando todas as suas páginas estiveram
carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento
causado por este processo aumentará significativamente
O processo A terá uma tabela de páginas menor que todos os outros processos, muito embora
o mapeamento seja facilitado se o tamanho da página do sistema for menor
O processo C terá uma tabela de páginas maior que o processo A tanto para este tamanho de
página como para páginas de tamanho 10bytes
O processo B ocasionará menor fragmentação quando todas as suas páginas estiveram
carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento
causado por este processo não se altera, apesar do mapeamento ser facilitado
O processo D ocasionará menor fragmentação quando todas as suas páginas estiveram
carregadas na memória física e caso o novo tamanho de página seja de 10bytes a fragmento
causado por este processo não se altera, apesar do mapeamento ser dificultado
Um sistema operacional trabalha com gerência de memória por páginas (paginação). Quatro
processos serão executados nesse sistema e terão seus códigos (relocáveis) divididos em páginas.
Após preencher a tabela abaixo com a quantidade de páginas ocupadas e o tamanho do fragmento
interno à última página para cada processo assinale a alternativa correta:
O processo B ocupa mais páginas que o processo D em ambas as situações
O processo A ocupará 6 páginas de 15bytes
Os fragmentos do processo C para as duas situações apresentadas são 9 e 14 bytes,
respectivamente
O processo A não apresenta fragmento na situação 1
O processo B não apresenta fragmento em qualquer das duas situações
Aula 09
Em relação aos modelos de entrada e saída, considere:
I. Na entrada e saída mapeada, o programa vê os dispositivos periféricos como endereços de
memória, mandando dados para eles como se estivesse escrevendo na memória.
II. No modo de transferência simples o controlador de DMA devolve o controle de barramento à
CPU a cada transferência de um byte (ou palavra); no modo de transferência por bloco o controlador
de DMA não devolve o controle do barramento à CPU até que toda a transferência tenha sido
efetuada.
III. Na entrada e saída mapeada, se cada dispositivo tem seus registradores de controle em uma
página diferente do espaço de endereçamento, o sistema operacional pode dar a um usuário o
controle sobre dispositivos específicos, simplesmente incluindo as páginas desejadas em sua tabela
de páginas.
IV. Os controladores de DMA que usam endereçamento de memória física para suas transferências
requerem que o sistema operacional converta o endereço virtual do buffer de memória pretendido
em um endereço físico e escreva esse endereço físico no registrador de endereço do DMA.
Está correto o que se afirma em
I, III e IV, apenas
I, II e IV, apenas
II, III e IV, apenas
I, II e III, Apenas
I, II, III e IV.
O sistema operacional é responsável por uma ou mais das seguintes atividades relacionadas ao
gerenciamento de disco:
(I) Gerenciamento do espaço livre.
(II) Alocação do armazenamento.
(III) Interpretação de comandos.
(IV) Escalonamento do disco.
Está correto o que se afirma em:
II, III e IV, apenas.
I, III e IV, apenas.
I, II e IV, apenas.
I, II, III e IV.
I, II e III, apenas.
Os dispositivos de E/S podem ser classificados de diferentes maneiras, com relação ao tipo de
transferência de dados são classificados em:
Orientados à páginas e blocos
Orientados a hardware e software
Orientados a páginas e segmentos
Orientados a usuários e ao equipamentos
Orientados a blocos e a caracteres
São algortimos de escalonamento de acesso ao disco:
C-Scan e round robin
Scan e gang scheduling
FCFS e round robin
C-scan e prioridade
Scan e FCFS
Estamos terminando o primeiro semestre de 2010 e os principais lançamentos no mercado da
informática se concentram nos produtos digitais portáteis, especialmente os netbooks, os tablets e os
smartphones. E esse nicho do mercado desperta a atenção e acirra a briga das empresas pelos
sistemas operacionais. O iPhone OS4 (da Apple), o Windows 7 (da Microsoft) e o Android (da
Google) são alguns dos mais "badalados" nesse momento, dos quais são demandadas características
de gerenciamento de:
O cenário apresentado não é aplicável, pois o mesmo não é uma realidadede mercado.
Processadores específicos que consomem mais energia e por isso aumentam a freqüência de
recarga das baterias
Memórias com tecnologia flash cada vez maiores e mais lentas, o que faz crescer a
necessidade de disco rígido externo para essas plataformas de portáteis
Dispositivos de E/S genéricos como, por exemplo, leitores de Blu-Ray, mini DV e teclados
USB
Dispositivos de E/S mais específicos como, por exemplo, display multitouch, webcam,
cartões de memória
Indique se será gerada uma interrupção de hardware ou uma exceção em cada situação abaixo:
- Erro de divisão por zero.
- Violação de acesso a uma área de memória não permitida.
- Controladora de HD indica o término de uma operação de E/S
- Um click no mouse.
- Disparo do alarme do temporizador.
exceção - interrupção - interrupção - interrupção - exceção.
exceção - exceção - interrupção - interrupção - interrupção.
interrupção - interrupção - interrupção - exceção - interrupção.
interrupção - interrupção - interrupção - exceção - exceção.
interrupção - interrupção - exceção - exceção - interrupção.
A utilização de dispositivos com DMA é indicado para:
Dispositivos que efetuam grande transferência de dados para a memória.
Dispositivos muito mais rápidos que o processador
Dispositivos de alta prioridade
Qualquer dispositivo de Entrada ou de Saída
Dispositivos que necessitam de intervenção do usuário
Os sistemas operacionais são divididos em diversos componentes que possuem características e
funções específicas. As características abaixo se referem a qual componente de sistema?
1) Gerenciamento de Espaço Livre;
2) Alocação do Espaço de Armazenamento;
3) Programação de alocação do Disco;
Gerenciamento de Memória Secundaria;
Gerenciamento do Sistema de I/O;
Gerenciamento de Arquivos;
Gerenciamento de Memória Principal
Gerenciamento de Processos;
Aula 10
Dentre as funcionalidades de um sistema de arquivos, podemos considerar INCORRETA a seguinte
função.
Evitar a fragmentação interna na memória principal.
Atender às requisições de armazenamento e recuperação de informações.
Prover rotinas para acesso.
Garantir a validade do arquivo.
Prover acesso a dispositivos diferentes.
Os sistemas operacionais dos microcomputadores devem ser capazes de gerenciar os sistemas de
arquivos das unidades de disco. Analise as sentenças sobre sistemas de arquivos e, em seguida,
assinale a alternativa correta:
I. Existem três formas de implementação de estrutura de espaços livres: ligação encadeada de blocos
(cada bloco possui uma área reservada ao armazenamento dos endereços de todos os blocos livres),
tabela de blocos livres (contendo o endereço de todos os blocos de cada segmento e o número de
blocos livres contíguos) e o mapa de bits
II. A proteção de acesso por grupos de usuários consiste em associar cada usuário do sistema a um
grupo, sendo que usuários do mesmo grupo podem compartilhar arquivos entre si
III. Não é possível proteger o acesso entre usuários de um mesmo computador.
Somente a sentença III está correta
Somente a sentença II está correta
Somente as sentenças I e III estão corretas
Somente as sentenças II e III estão corretas
Somente as sentenças I e II estão corretas
Dentre os critérios para a escolha de uma organização de arquivo, podemos considerar
INCORRETO.
Facilidade de atualização.
Economia em armazenamento.
Facilidade de manutenção.
Escolha por tipo
Menor tempo de acesso.
Em um sistema monoprocessado, um escalonador pode interromper o processo em execução?
Marque a resposta correta com a justificatia correta.
Sim, o sistema operacional emite um aviso para o escalonador executar a interrupção.
Não, o escalonador é um processo e não pode executar nenhuma operação enquanto não
estiver de posse do processador.
Sim, o escalonador deve interromper o processo no final da fatia de tempo destinada ao
processo que está em execução.
Não, nenhum processo pode ser interrompido quando está de posse do processador.
Depende do sistema operacional.
Controle de processos, gerenciamento de arquivo, gerenciamento de dispositivos, manutenção de
informações e comunicações são as cinco categorias principais de chamadas de sistemas. Quais das
alternativas abaixo se refere a chamadas de sistemas da categoria "gerenciamento de arquivos"?
end, abort;
send, receiver messages;
Get time or date, set time or date
create, delete communication connection;
Read, write, reposition;
Criar , apagar, renomear, imprimir, descarregar,listar, manipular arquivos e diretórios, são
características de qual componente do sistema operacional?
Informações de estado;
Gerenciamento de arquivos;
Comunicações;
Suporte a linguagem de programação;
Carga e execução de programas;
Controle de Processos, Gerenciamento de arquivo, Gerenciamento de Dispositivos, Manutenção de
Informações e Comunicações são as cinco categorias principais de chamadas de sistemas, quais das
alternativas abaixo se refere a chamadas de sistemas da categoria "Gerenciamento de arquivos"?
create, delete communication connection;
send, receiver messages;
Read, write, reposition;
Get time or date, set time or date
end, abort;
Um device driver, ou simplesmente driver, tem como função implementar a comunicação do
subsistema de E/S com os dispositivos de E/S. Sendo assim, um device driver é bem definido na
alternativa:
recebe comandos gerais sobre acessos aos dispositivos, traduzindo-os para comandos
específicos, que poderão ser executados pelos controladores.
torna as operações de E/S mais simples para o usuário bem como suas aplicações.
permite a comunicação entre o sistema computacional e o mundo externo.
realiza as funções comuns a todos os tipos de dispositivos.
manipula diretamente os dispositivos de E/S.