Logo Passei Direto
Buscar

Exercícios de Sistemas Operacionais

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Sistemas Operacionais 
Marcio Quirino - 1 
 
 
Exercícios 
1. Convenciona-se que uma das inovações trazidas a partir da segunda geração de computadores 
(1955-1965) foi: 
Sistema em lote (batch) 
Na segunda geração de computadores, compreendida entre aproximadamente 1955 a 1965, dentre as 
várias inovações que surgiram, temos a aplicação de sistemas de computação em lote. 
2. O sistema operacional é um componente lógico de um sistema computacional que irá controlar 
as partes do hardware através da execução de instruções, execução de programas e gerência 
dos dispositivos de E/S, dentre outras funções. Pode-se afirmar que o SO abstrai o hardware, 
criando uma maneira de representar o real funcionamento do computador. Logo, dentro da 
separação hardware/software, o software é a parte do sistema computacional que pode ser 
considerada como: 
Virtual 
O uso de softwares possibilita oferecer ao usuário uma visão daquilo que interessa a ele, ou seja, o 
software modulariza aquilo que o usuário vê e usa. A abstração do hardware pode ser chamada de 
máquina virtual. 
3. Uma linha de montagem de carros que possui, como pré-requisito, o tempo como um parâmetro 
fundamental e crítico, aceita a utilização nos processos de fabricação de que tipo de sistema 
operacional que, fundamentalmente, atende a esse pré-requisito? 
Sistema de Tempo Real 
Os serviços de sistemas de tempo real possuem o tempo como parâmetro fundamental, como a linha 
de montagem de um carro. 
4. A ilustração gráfica a seguir representa um sistema que utiliza uma técnica na qual as solicitações 
de entrada ou saída de dados, e as execuções de tarefas, devem ser executadas pela CPU em 
alternância de tempo: 
 
Essa técnica é conhecida como: 
Monoprogramação 
Nos sistemas monoprogramáveis, também chamados sistemas monotarefa, os principais módulos 
computacionais (processador, memória e periféricos) ficam alocados exclusivamente para a execução 
de um único programa, sendo que qualquer outra aplicação deveria esperar para poder ser processada. 
 
Sistemas Operacionais 
Marcio Quirino - 2 
 
5. Dentre as opções a seguir, qual é o modo de acesso permitido somente para as instruções 
privilegiadas? 
Kernel 
Uma aplicação possui o modo de acesso kernel, ou supervisor, quando é constituída de instruções 
privilegiadas. A aplicação pode executar o conjunto total de instruções. Além disso, o modo kernel 
protege a área do SO localizada na memória. 
6. Uma determinada aplicação faz uso da system call mostrada a seguir, para esperar pela 
conclusão de um processo filho: 
 
num_proc = waitpid(pid, &statloc, options) 
 
Dentre as opções a seguir, marque aquela que faz o melhor enquadramento ao tipo da chamada 
de sistema mostrada. 
Gerenciamento de processos 
A figura 18 mostra alguns exemplos desses tipos de chamadas. Essa chamada ao sistema é do tipo 
destinado ao gerenciamento de processos. 
7. Um usuário está usando o terminal do Linux, sem ter a intenção de realizar qualquer tipo de 
comando ou procedimento específico, quando percebe a linha de comandos escrita da seguinte 
maneira: 
 
root@sistema-servidor:/# 
 
Assinale a alternativa correta quanto ao significado dos elementos mostrados: 
Está em modo de super usuário. 
Quando o usuário usa o comando su poderá acessar o modo super usuário e perceberá a presença do 
nome de usuário root e do símbolo tralha ‘#’ na linha de comandos do terminal. 
8. Suponha que você está usando o terminal do Linux com o nome de usuário "gestor". 
Partindo da verificação do seu diretório de login, você deseja acessar o diretório "setor", dentro 
do seu diretório de login, e mover o arquivo "planilha" para o diretório "Documentos", que se 
encontra dentro do diretório de login. Marque a alternativa que contém a sequência de comandos 
a serem realizados: 
$ pwd 
$ cd ./setor 
$ mv /home/gestor/setor/planilha /home/gestor/Documentos 
O comando pwd mostra em qual diretório o usuário se encontra. O comando cd permite acessar 
diretórios, veja que o ponto em "./setor" significa "este diretório". O comando mv move arquivos, note 
que foram digitados todos os caminhos completos. 
 
Sistemas Operacionais 
Marcio Quirino - 3 
 
9. (FAEPESUL/2019 - Adaptada) Sistemas operacionais são programas de software que gerenciam 
o hardware e os recursos de um computador, proporcionando uma interface para que outros 
programas possam acessar e utilizar esses recursos. Quando falamos de um sistema operacional 
multitarefas, é correto afirmar que: 
Permite a execução de mais de um programa ao mesmo tempo. 
O sistema operacional multitarefas é capaz de gerenciar o acesso de múltiplos programas aos recursos 
do computador, permitindo que mais de um programa seja executado ao mesmo tempo. Assim, o 
sistema alterna rapidamente entre as tarefas, dando a ilusão de que todas estão sendo executadas ao 
mesmo tempo. 
10. O Linux é um sistema operacional de código aberto amplamente utilizado por engenheiros de 
redes, e que preza pela eficiência e robustez. Ao longo dos anos a comunidade desenvolveu e 
disponibilizou diferentes versões para utilização como, por exemplo, o Ubuntu uma distribuição 
popular baseada no Debian. Essas versões são conhecidas como: 
Distribuições. 
Uma distribuição Linux é constituída por diversas coleções compiladas de aplicativos e o kernel (núcleo) 
do sistema operacional. 
11. Durante as aulas de Sistemas Operacionais, a aluna Ana Carolina manifestou interesse em 
aprofundar seus conhecimentos sobre os diferentes comandos de terminal Linux. Em um de seus 
questionamentos, ela perguntou qual seria o comando do terminal que removeria um diretório 
apenas se ele estivesse vazio? Analise as alternativas e marque aquela que responda 
corretamente a indagação. 
rmdir. 
rmdir: responsável por remover um diretório vazio. 
rstp: Protocolo de rede da camada de enlace. 
sudo: Comando Unix que permite ao usuário obter privilégios. 
mkdir: responsável por criar um novo diretório. 
12. (Unoesc/2022 - Adaptada) Os sistemas operacionais avançaram muito desde o seu modesto 
surgimento na década de 1970. Assinale a alternativa que apresenta apenas sistemas 
operacionais. 
Linux, Windows, UNIX, Android e macOS. 
Sistemas operacionais são fundamentais para a funcionalidade de qualquer computador e permitem 
que as pessoas e os programas interajam com o hardware. Eles são responsáveis por tarefas como o 
gerenciamento de processos, memória, entrada e saída de dispositivos, armazenamento de arquivos e 
muito mais. 
13. (SELECON/2021 - Adaptada) Sistema operacional é definido com um conjunto de programas que 
faz a comunicação entre os componentes do hardware, gerenciando e distribuindo os recursos 
e os demais softwares, criando uma plataforma comum a todos os programas utilizados. No que 
diz respeito à terminologia e aos fundamentos utilizados, o núcleo de um sistema operacional é 
conhecido por: 
kernel 
O núcleo, também conhecido como kernel, é o componente central de um sistema operacional que faz 
a ligação entre o hardware e os aplicativos, gerenciando os recursos do sistema, incluindo a CPU, 
memória, entrada e saída de dados, entre outros. 
Sistemas Operacionais 
Marcio Quirino - 4 
 
14. (FADENOR/2022 - Adaptada) Um sistema computacional moderno consiste de um ou mais 
processadores, memória principal, discos, impressoras, teclado, monitor, interfaces de rede e 
outros dispositivos de entrada e saída; além de programas de aplicação e programas do sistema. 
O sistema operacional é um tipo de programa (software) cuja função é: 
gerenciar os componentes de hardware e fornecer aos programas do usuário uma interface com 
o hardware mais simples, através de um conjunto de instruções mais conveniente. 
O sistema operacional é responsável por gerenciar os recursos do hardware, como CPU, memória, 
entrada e saída de dados, para que os programas do usuário possam funcionar corretamente. Ele 
tambémfornece uma interface para que os programas possam se comunicar com o hardware de uma 
forma mais simples e abstrata, tornando mais fácil para os desenvolvedores escrever programas e para 
os usuários interagirem com o sistema. 
15. (IDIB/2021 - Adaptada) O Kernel, ou “núcleo” de um sistema operacional, é responsável pela 
ligação entre os aplicativos e o processamento realizado a nível de dados. O Kernel tem como 
responsabilidade realizar o gerenciamento dos recursos do SO. Além desse gerenciamento de 
recursos, outras funções são exercidas pelo Kernel. Assinale a alternativa que indica 
corretamente mais uma função do Kernel de um sistema operacional. 
sincronização e comunicação entre processos e threads. 
O Kernel é responsável por controlar e gerenciar a alocação de recursos, como CPU, memória, entrada 
e saída de dados, entre outros, entre diferentes processos e threads que estão sendo executados no 
sistema operacional. Portanto, a sincronização e comunicação entre processos e threads é uma 
importante função do Kernel. 
16. Suponha que um usuário esteja com o Terminal do Linux aberto e o prompt acuse que ele está 
localizado no seu diretório de login (ou home). Caso ele queira copiar um arquivo localizado em 
um diretório diferente do atual, para outro diretório também diferente do atual, deverá usar o 
comando: 
cp /dir/arquivo1 /dir/arquivo2. 
Para escrever um caminho de diretórios no linux, o usuário deve utilizar o separador "/". 
Comando: cp arquivo1 arquivo2 -> Origem e destino no mesmo diretório. 
Comando: cp arquivo1 /dir/arquivo2 -> Destino em diretório diferente. 
Comando: cp /dir/arquivo1 /dir/arquivo2 -> Origem e destino em diretórios diferentes. 
As outras opções de resposta não são comandos aceitos. 
17. O sistema operacional Linux é extremamente importante por várias razões, incluindo sua 
confiabilidade, segurança, flexibilidade, escalabilidade e custo-benefício. Uma das principais 
vantagens do Linux é sua confiabilidade. Ele é projetado para ser executado continuamente por 
longos períodos de tempo sem falhas, o que é especialmente importante em servidores de missão 
crítica e em outros ambientes empresariais. Além disso, o Linux tem um histórico comprovado 
de segurança, com uma grande comunidade de desenvolvedores trabalhando constantemente 
para identificar e corrigir vulnerabilidades. No contexto de distribuições Linux, qual o significado 
do termo LST? 
Long-Term Support 
No contexto de distribuições Linux, o termo LST significa Long-Term Support, que se refere a uma 
versão do sistema operacional que recebe suporte de longo prazo. Isso significa que a distribuição é 
mantida com atualizações de segurança e correções de bugs por um período de tempo mais longo do 
que as versões padrão. Isso é especialmente importante para empresas e organizações que precisam 
de estabilidade e previsibilidade em seu ambiente de TI. 
Sistemas Operacionais 
Marcio Quirino - 5 
 
18. (AMAUC/2018 - Adaptada) Linux é um sistema operacional de código aberto, baseado no Unix, 
que foi criado por Linus Torvalds em 1991. Com relação as distribuições disponíveis do Linux, o 
Kernel destas: 
Pode ser de versões diferentes de acordo com a distribuição. 
Cada distribuição do Linux pode ter uma versão diferente do kernel, e a escolha da versão é feita de 
acordo com as necessidades e objetivos da distribuição. Algumas distribuições do Linux escolhem 
utilizar versões mais recentes e estáveis do kernel, enquanto outras preferem versões mais antigas e 
comprovadas, para garantir a compatibilidade com outros softwares e hardware. 
19. Uma das formas de criação de subprocessos no Linux ocorre por meio da chamada de sistema 
fork(). Assinale a alternativa verdadeira em relação à chamada de sistema fork(). 
Cria um subprocesso que é uma cópia do processo pai, mas que possui seu próprio espaço de 
endereçamento. 
A chamada de sistema fork() cria um subprocesso que é cópia exata do processo pai, mas que 
compartilha com ele apenas os arquivos abertos. Portanto, não há compartilhamento do espaço de 
endereçamento com o processo pai. Para executar o código de outro programa, é necessário utilizar a 
chamada de sistema execve() após a chamada de sistema fork(). 
20. É comum um processo transitar por vários estados durante sua vida em um sistema operacional. 
Sobre os estados de um processo, é correto afirmar que: 
Processos que saem do estado bloqueado devem ir para o estado pronto antes de entrarem em 
execução. 
Um processo no estado bloqueado está aguardando a ocorrência de um evento que fará com que ele 
possa prosseguir sua execução. Quando ocorrer este evento, o processo deverá ir obrigatoriamente 
para a fila de processos prontos, onde aguardará a liberação de uma UCP antes de poder entrar em 
execução. 
21. Threads podem ser gerenciados pelo núcleo ou no espaço do usuário. A vantagem dos threads 
gerenciados no espaço do usuário é: 
A comutação de threads é mais rápida. 
Threads no espaço do usuário são totalmente gerenciados pelas funções de biblioteca do sistema, não 
havendo necessidade de uma chamada ao núcleo (kernel). Isso fará com que este tipo de thread tenha 
uma comutação mais rápida do que os threads gerenciados pelo núcleo. 
22. Processos e threads são conceitos fundamentais para o desenvolvimento de sistemas 
concorrentes. Sobre processos e threads no Linux, indique a alternativa correta. 
O Linux não diferencia processos de threads, tratando tudo como uma tarefa. 
O Linux trata threads e processos como uma entidade em execução, denominada tarefa. Nele, tarefas 
podem compartilhar recursos, como acesso ao sistema de arquivos, variáveis, espaço de 
endereçamento etc. Para que as tarefas se comportem como threads de um mesmo processo, basta 
que sejam concedidos acessos aos recursos de ambas as tarefas. 
23. Dos mecanismos de sincronização/comunicação entre processos listados, selecione aquele que 
não é implementado diretamente pelo sistema operacional Linux: 
Monitores. 
Monitores são estruturas definidas por linguagens de programação. Portanto, cabe aos compiladores 
das linguagens implementar tais mecanismos, e não ao sistema operacional. 
Sistemas Operacionais 
Marcio Quirino - 6 
 
24. A condição de corrida é um problema que deve ser evitado, pois pode levar à inconsistência nos 
dados do sistema. A condição de corrida ocorre quando: 
Tarefas concorrentes podem alterar o mesmo dado. 
A condição de corrida ocorre quando duas ou mais tarefas concorrentes podem alterar o mesmo dado. 
Assim, se duas tarefas A e B fazem a leitura de um dado e a tarefa A o atualiza e grava a informação, 
a tarefa B estará com o dado desatualizado. Desta forma, se B fizer nova alteração em um dado já 
desatualizado e fizer a gravação dele, poderão ocorrer inconsistências no sistema. 
25. Para selecionar a próxima tarefa a entrar em execução, o Linux utiliza o algoritmo de 
escalonamento: 
Múltiplas filas. 
O algoritmo de escalonamento do Linux divide as tarefas em três classes distintas (FIFO em tempo real, 
escalonamento circular em tempo real e tempo compartilhado) e utiliza um algoritmo de escalonamento 
com múltiplas filas, em que cada uma dessas classes é associada a uma das filas do algoritmo de 
escalonamento. 
26. Indique a principal característica de um algoritmo de escalonamento cooperativo: 
O processo em execução libera a UCP voluntariamente. 
O algoritmo de escalonamento cooperativo caracteriza-se pelo fato de caber ao processo em execução 
decidir quando já executou o suficiente e liberar a UCP para que outro processo possa ser executado. 
27. Conceitualmente, cada processo tem sua própria CPU (Central Processing Unit) virtual. É claro 
que, na realidade, a CPU troca a execução, a todo momento, de um processo para outro, mas, 
para entender esse sistema, é muito mais fácil pensar em um conjunto de processos sendo 
executados (pseudo) paralelamente do que tentar controlar o modocomo a CPU faz esses 
chaveamentos. TANENBAUM, A. S. Sistemas operacionais modernos. 3. ed. São Paulo: Pcarson, 
2010 (adaptado). 
 
De acordo com o exposto, o conceito descrito denomina-se: 
Multiprogramação 
28. Um subprocesso é uma instância separada de execução criada por um processo existente. Ele 
herda muitas propriedades do processo pai, mas opera de forma independente. A habilidade de 
criar e gerenciar subprocessos é fundamental para muitos sistemas e aplicações modernas, 
permitindo paralelismo e modularidade. 
É quando um processo (processo pai) cria um outro processo. 
Um subprocesso é quando um processo é criado gerando um vínculo hierárquico entre o processo 
criador (pai) e o processo criado (filho). Nesse contexto, o processo filho é considerado um subprocesso 
do processo pai. 
 
Sistemas Operacionais 
Marcio Quirino - 7 
 
29. Semáforos são primitivas de sincronização utilizadas em programação concorrente para 
controlar o acesso a recursos compartilhados por múltiplas threads ou processos. 
 
O que são Semáforos no contexto de programação concorrente? 
Variáveis inteiras que contam sinais enviados a elas. 
Um semáforo é uma variável inteira que conta sinais enviados a ela. Esse valor pode ser usado de 
diversas formas, mas em sua forma mais básica, um semáforo suporta duas operações atômicas 
principais: wait que significa “tentar/aguardar” e signal que significa “incrementar”. 
30. O processo "Systemd" ou "init" é uma peça central do sistema operacional Linux, garantindo que 
os serviços sejam iniciados na ordem correta, limpando processos órfãos e zumbis, e 
gerenciando o estado geral do sistema. 
 
Qual é a relação entre o processo "systemd" (ou "init") no Linux e outros processos do sistema 
operacional? 
Systemd (ou init) é o primeiro processo a ser executado e inicia a execução dos demais 
processos. 
O processo systemd (ou init) está presente na imagem de inicialização do sistema e é o primeiro 
processo a ser executado sendo responsável por iniciar a execução dos demais processos do sistema 
operacional. 
31. O Bloco de Controle de Processo (BCP) é uma estrutura vital em sistemas operacionais que 
permite a multitarefa, garantindo que todos os processos sejam gerenciados de maneira justa e 
eficiente. 
 
Qual é o propósito do Bloco de Controle de Processo (BCP) no Linux? 
Contém todas as informações do processo. 
O BCP é uma estrutura de dados que contém todas as informações necessárias para o gerenciamento 
do processo. 
32. Existem diversos algoritmos de escalonamento, e a escolha de um em particular depende dos 
requisitos e do tipo de sistema. 
 
No escalonamento por múltiplas filas, o que determina a ordem de execução dos processos? 
A prioridade associada a cada fila. 
Cada fila possui uma prioridade associada, que estabelece quais são prioritárias em relação às outras. 
O sistema só pode escalonar processos de uma fila se todas as outras filas de prioridade maior 
estiverem vazias. 
33. A compreensão dos conceitos de gerenciamento de memória e alocação de processos em um 
sistema operacional é fundamental para a formação de um profissional de TI. Dentro desse 
contexto, analise as afirmativas a seguir e marque a alternativa correta sobre Threads. 
São linhas de execução concorrentes dentro de um processo. 
Os threads são linhas de execução concorrentes dentro de um processo, fornecendo ao desenvolvedor 
de software a flexibilidade e os mecanismos necessários para permitir a concorrência dentro de um 
processo. 
 
Sistemas Operacionais 
Marcio Quirino - 8 
 
34. Uma alternativa para o aumento de desempenho de sistemas computacionais é o uso de 
processadores com múltiplos núcleos, chamados multicores. Nesses sistemas, cada núcleo, 
normalmente, tem as funcionalidades completas de um processador, já sendo comuns, 
atualmente, configurações com 2,4 ou mais núcleos. Com relação ao uso de processadores 
multicores, e sabendo que threads são estruturas de execução associadas a um processo, que 
compartilham suas áreas de código e dados, mas mantêm contextos independentes, analise as 
seguintes asserções. Ao dividirem suas atividades em múltiplas threads que podem ser 
executadas paralelamente, aplicações podem se beneficiar mais efetivamente dos diversos 
núcleos dos processadores multicores porque o sistema operacional nos processadores 
multicores pode alocar os núcleos existentes para executar simultaneamente diversas 
sequências de código, sobrepondo suas execuções e, normalmente, reduzindo o tempo de 
resposta das aplicações às quais estão associadas. 
 
Acerca dessas asserções, assinale a opção correta. 
As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da 
primeira. 
35. Considere o programa abaixo escrito em linguagem C. No instante da execução da linha 5, ter-
se-á uma hierarquia composta de quantos processos e threads, respectivamente? 
 
1 main(){ 
2 int i; 
3 for(i=0;i<3;i++) 
4 fork(); 
5 while(l); 
6 } 
8 e 8 
36. Um processo pode definido como um programa em execução mais um conjunto necessário de 
informações para que o sistema operacional implemente a concorrência de programas. Entre 
estas informações necessárias para a concorrência destacam-se o contexto de software, o 
contexto de hardware e o espaço de endereçamento do processo. 
 
Sobre o contexto de hardware, ele é importante para um processo porque: 
armazena o conteúdo de registrados e status da UCP para a troca de processos. 
37. Um aspecto muito importante da gerência de memória é realizar a proteção contra o acesso ilegal 
à área de memória de um processo por outro. 
 
 
Sistemas Operacionais 
Marcio Quirino - 9 
 
38. Considere que um processo possui no seu registrador base o valor 4000 e no limite 2000. 
Baseando-se nas técnicas de proteção de memória, podemos afirmar que: 
 
I – Se o endereço lógico for igual a 3800, ocorrerá o acesso à memória física. 
II – Se o endereço lógico for 6200, o acesso será bloqueado e ocorrerá uma exceção. 
III – Se o endereço lógico for 5200, o acesso será permitido. 
É correto o que se afirmar: 
Apenas em II e III. 
A técnica de proteção de memória exige que o endereço lógico seja maior ou igual ao base e menor 
que a soma do base com o limite. Portanto, os valores de acesso válidos devem estar entre 4000 e 
6000. 
Na afirmativa I o endereço é 3800, ou seja, menor que o base. Dessa forma, o acesso será bloqueado, 
ao contrário do que diz a afirmação, o que a torna falsa. Na afirmativa II o endereço é 6200, maior que 
a soma do base com o limite. Assim, o acesso será bloqueado, conforme consta na afirmativa. Portanto, 
ela é correta. Na afirmativa III o endereço é 5200, que está na faixa de acesso legal. Consequentemente, 
ele será permitido, exatamente como consta na opção. Portanto, ela está correta. Dessa forma, estão 
corretas as afirmativas II e III. 
39. O mecanismo de relocação visa permitir que um processo seja carregado em posições diferentes 
na memória. Considere que em uma primeira carga o processo foi alocado a partir do endereço 
4500 com limite 2000 e, ao acessar uma variável A, fez isso no endereço lógico 5700. Depois de 
um tempo, ele bloqueou e foi retirado da memória. Ao ser liberado para uma nova execução, ele 
foi carregado a partir do endereço 8000, continuando com limite 2000. 
 
Para acessar novamente a Variável A, o endereço lógico será: 
9200 
No caso da relocação, os endereços lógicos correspondem a um deslocamento a partir do ponto de 
carga do programa. Como na primeira execução ele foi carregado no endereço 4500 e a variável foi 
acessada na posição 5700, podemos ver que o deslocamento é de 1200 (5700 – 4500). Como na 
segunda carga ele inicia na posição 8000, a variável estará na posição 9200 (8000 + 1200). 
40. (Prefeitura de Porciúncula – RJ ‒ Gualimp – Técnico de Informática – Suporte – 2019) O sistema 
operacional possui uma estrutura dedados que armazena informações que possibilitam ao 
sistema de arquivos gerenciar as áreas ou blocos livres. A alocação contígua consiste em 
armazenar um arquivo em blocos sequencialmente dispostos, permitindo ao sistema localizar um 
arquivo através do endereço do primeiro bloco e da sua extensão em blocos. A alocação em um 
novo segmento livre consiste em técnicas para escolha, onde a técnica Best-Fit: 
Seleciona o menor segmento livre disponível com o tamanho suficiente para armazenar o arquivo 
e é necessária a busca em toda a lista, caso esta não esteja ordenada por tamanho. 
Dentre as políticas de alocação de partições, a Best-Fit busca alocar o processo na partição que tenha 
o mesmo tamanho do processo dele ou o mais próximo possível. Isso exige uma pesquisa exaustiva na 
lista, passando por todas os espaços livres para determinar o que mais se aproxima do tamanho 
procurado. 
 
Sistemas Operacionais 
Marcio Quirino - 10 
 
41. O gerenciamento do espaço livre é uma tarefa importante realizada pelo sistema operacional. 
Duas técnicas básicas podem ser utilizadas para essa atividade: o mapa de bits e a lista 
encadeada. Considere a seguinte lista encadeada: 
 
Qual seria o mapa de bits correspondente? 
11100011 
Ao analisarmos a lista podemos notar que o primeiro elemento corresponde a um processo que ocupa 
três unidades, portanto, em bits seria 111. O segundo elemento corresponde a 3 lacunas, portanto, 000. 
Finalmente, o terceiro elemento é novamente um processo de duas unidades, portanto, 11. Dessa 
forma, para termos o mapa basta concatenarmos os três na ordem correta, o que daria 11100011. 
42. (INB‒Fundep–2018– INB – Engenheiro da Computação) 
A unidade de gerenciamento de memória de processadores modernos traduz endereços virtuais 
utilizados por processos em endereços físicos. Uma forma de fazer o mapeamento de endereços 
virtuais para endereços físicos é usando uma tabela de páginas. 
Considere um processador hipotético em que processos possuem endereços virtuais com um 
identificador de página de 4 bits e 10 bits de deslocamento, como mostrado na tabela a seguir: 
Endereço 
Pagina Deslocamento 
4 bits 10 bits 
 
Considere ainda que o processador hipotético endereça bytes e que 1KB = 210 B. 
Assinale a alternativa que corresponde à quantidade de memória que pode ser endereçada por 
um processo. 
16KB. 
Como a parte do deslocamento do endereço possui 10 bits, isso mostra que cada uma das páginas 
possui 210 bytes, o que corresponde a 1KB. Como parte de identificação da página possui 4 bits, isso 
mostra que podemos ter 24 páginas que correspondem a 16. Portanto, podemos endereçar 16 páginas 
cada uma de 1KB, o que gera um espaço total de endereçamento de 16KB. 
 
Sistemas Operacionais 
Marcio Quirino - 11 
 
43. (Prefeitura de Vila Velha – ES ‒ IBADE – 2020 – Analista de Infraestrutura ‒ adaptada). 
Seja uma memória virtual com 3 blocos e que use o algoritmo LRU (least-recently-used) como 
seu algoritmo de substituição de páginas. 
Admitindo-se que ocorra a seguinte sequência de referência às páginas de memórias: 1, 2, 3, 4, 
2, 3, 4, 2. 
Assumindo que, inicialmente, todos os blocos estão vazios, quantas interrupções de páginas 
ausentes (page faults) ocorrerão? 
4 
Como temos 3 quadros disponíveis no início, eles estão vazios. 
Quadro 1 Quadro 2 Quadro 3 
 
Ao ser referenciada a página 1, como ela não está na memória, será gerado um page fault e a página 
será carregada no quadro 1. 
Quadro 1 Quadro 2 Quadro 3 
Página 1 
A seguir, é referenciada a página 2, que, como não está na memória, gera o segundo page fault, então 
ela é carregada no quadro 2. 
Quadro 1 Quadro 2 Quadro 3 
Página 1 Página 2 
Posteriormente, é referenciada a página 3, que, como não está na memória, gera o terceiro page fault, 
sendo carregada no quadro 3. 
Quadro 1 Quadro 2 Quadro 3 
Página 1 Página 2 Página 3 
Depois disso, é referenciada a página 4, que, como não está na memória, gera o quarto page fault. 
Como não existem mais quadros livres para que a página 4 possa ser carregada, uma das que estão 
na memória deve ser retirada. Uma vez que a política utilizada é a LRU, será retirada a página que foi 
referenciada há mais tempo, ou seja, a página 1, sendo a página 4 carregada em seu lugar. 
Quadro 1 Quadro 2 Quadro 3 
Página 4 Página 2 Página 3 
Por fim, são referenciadas as páginas 2, 3, 4 e 2. Como todas já estão na memória, não é gerado page 
fault, portanto, no total temos 4 interrupções por falha de página. 
44. O Linux, dependendo da arquitetura da máquina, divide sua memória em zonas. Na arquitetura 
Intel x86 de 32 bits são quatro zonas. Qual delas foi mantida na arquitetura x86 de 64 bits para 
permitir o acesso de dispositivos legados à memória?? 
ZONE_DMA 
Na arquitetura Intel x86 de 32 bits existem as quatro zonas das opções, já na Intel x86 de 64 bits há 
somente a ZONE_DMA e a ZONE_NORMAL, sendo que a primeira foi mantida para permitir que 
dispositivos legados tenham acesso direto à memória. 
45. No Linux, podemos obter informação a respeito da memória utilizando aplicativos ou comando 
de linha no terminal. Uma das informações que podemos obter é a quantidade de memória 
disponível no sistema. Para obtermos essa informação, devemos digitar no terminal: 
free 
O comando que mostra a memória disponível é o free. Ele pode receber como argumentos -b para exibir 
os dados em bytes, -m para megabytes ou -g para gigabytes. 
Sistemas Operacionais 
Marcio Quirino - 12 
 
46. Para que um disco rígido possa ser utilizado para armazenar as informações, ele deve ser dividido 
em estruturas lógicas chamadas partições. Uma partição em disco costuma conter o chamado 
superbloco. O que é o superbloco de uma partição? 
Local que contém parâmetros a respeito do sistema de arquivos. 
O superbloco armazena parâmetros e informações que protegem a integridade do sistema de arquivo, 
podendo conter: 
• Identificador de sistema de arquivo; 
• Quantidade de blocos do sistema de arquivo; 
• Localização dos blocos livres; 
• Localização do diretório-raiz; 
• Data e o horário em que o sistema foi modificado pela última vez; 
• Informações indicando se o sistema de arquivo precisa ser verificado. 
47. Sobre a implementação da memória cache para sistemas de arquivos, são feitas as seguintes 
afirmações: 
 
I- Cache tem a função de aumentar a confiabilidade do sistema de arquivos. 
II- Caches do tipo write-through gravam alterações no disco imediatamente. 
III- Caches do tipo write-back pode diminuir a quantidade de operações de E/S. 
Somente as afirmações II e III estão corretas. 
48. O Linux tem suporte a diversos tipos de sistemas de arquivos, sendo o sistema ext um dos mais 
utilizados e que, ao longo dos anos, adquiriu suporte a novas funcionalidades. Uma das 
melhorias implementadas pelo ext3 em relação a seu antecessor foi a introdução do journaling. 
Com ele: 
O desempenho da gravação de informações no disco é melhorado. 
Com o journaling, uma transação é escrita em uma área reservada, com pouca movimentação da 
cabeça do disco. Desse modo, a escrita é mais rápida e o desempenho da gravação de informações no 
disco é superior. 
49. Para que seja possível utilizar um disco rígido, é necessário que sejam executadas diversas 
etapas até estar pronto para uso. O processo de criação das estruturas do sistema de arquivos, 
dentro de uma partição, para que seja possível a gravação de dados no sistema de arquivos é 
conhecido como: 
Formatação 
50. No Linux, o comando que deve ser utilizado no shell (terminal) para listar o conteúdo do diretório 
corrente é: 
ls 
51. O comando “ln” é utilizado para a criação de links no sistema de arquivos. Quando utilizamos o 
comando “ln” para a criação de um hardlink (link duro), ocorre: 
A criação de uma entrada de diretório que aponta para o i-node de um arquivo existe. 
Ao criar um hardlink, é gerada uma nova entrada de diretóriono sistema de arquivos para um 
arquivo/diretório que já existe no sistema. Assim, as entradas de diretório, tanto antiga quanto nova, 
apontarão para o mesmo i-node (o i-node que identifica o arquivo). 
 
Sistemas Operacionais 
Marcio Quirino - 13 
 
52. O editor de texto puro, padrão em sistemas Linux, e que trabalha com dois modos de operação 
(comando e edição), é o: 
Vim 
Para a edição de arquivos de configuração dos sistemas UNIX antigos, foi desenvolvido um pequeno 
editor modal de nome vi (editor visual). O Linux adota, por padrão, uma versão melhorada deste editor 
conhecida como vim (vi Improved). 
53. O gedit é um editor de textos puro que acompanha o ambiente GNOME. Sua principal 
característica é: 
Editar textos fazendo uso de interface gráfica. 
O gedit é um editor de textos que faz parte do ambiente gráfico GNOME, portanto seu funcionamento 
requer que este ambiente gráfico esteja instalado no sistema, e faz uso de suas primitivas gráficas para 
funcionar como um editor de texto puro por interface gráfica. 
54. Sobre o tema fragmentação, são feitas as seguintes afirmações: 
 
I - Desde que haja blocos livres suficientes em uma partição com alocação indexada (i-nodes), 
um arquivo sempre poderá ser gravado na partição, independentemente desta estar fragmentada 
ou não. 
II - Um arquivo fragmentado é um arquivo cujos blocos de informação foram espalhados por 
diferentes sistemas de arquivos. 
III - É interessante manter os arquivos em um disco rígido com baixa fragmentação, pois isso 
melhora o tempo médio de leitura dos arquivos. 
 
São verdadeiras: 
Apenas a I e a III. 
55. O sistema de arquivos do Linux é realizado de forma virtual sendo realizado pelo Virtual File 
System – VFS. Sobre os tipos de objetos, que o Linux é capaz de manipular, analise as afirmativas 
abaixo. 
 
I - O I-NODE corresponde a um arquivo individual. 
II -O Superbloco corresponde a um sistema de arquivos inteiro. 
III – O Dentry corresponde a um sistema de arquivos partidos. 
 
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s). 
Apenas as afirmativas I e II estão corretas 
 
Sistemas Operacionais 
Marcio Quirino - 14 
 
56. (Quadrix/ 2019 - adaptada) O Linux é um sistema operacional que possui uma ampla variedade 
de comandos utilizados para diversas funções. Um exemplo é a manipulação de arquivos e 
diretórios. Sobre a manipulação de arquivos e diretórios analise as asserções I e II. 
 
I - Os comandos cd, ls, pwd, mkdir e rmdir são exemplos de comandos que servem para manipular 
diretórios no sistema operacional Linux. 
 
PORQUE 
II - Os comandos mkdir e rmdir criam e removem diretórios respectivamente. 
 
Marque a alternativa que apresenta a relação correta entre as asserções I e II. 
Ambas as asserções são verdadeiras, mas a asserção II não é uma justificativa para a asserção 
I 
57. O nano é um editor de texto para linha de comando que está presente na grande maioria das 
distribuições Linux. Qual comando é responsável por salvar um arquivo? 
<CTRL>+O 
58. O sistema operacional Linux possui uma estrutura de diretórios padrão seguida pela grande 
maioria de suas distribuições. Dentro desta estrutura de diretórios, em qual diretório encontram-
se os arquivos que representam os dispositivos do sistema? 
/dev 
59. O Linux é um sistema operacional de código aberto que desempenha um papel fundamental na 
computação moderna. O Linux é baseado em código aberto, o que significa que seu código-fonte 
é acessível e pode ser modificado e distribuído livremente. Acerca de sua manipulação, qual 
comando do Linux é utilizado para listar o conteúdo de um diretório? 
LS 
60. Os computadores atuais têm uma capacidade muito maior de armazenamento do que os 
primeiros computadores que foram desenvolvidos. Essa capacidade foi ampliada tanto para os 
discos rígidos quanto para os discos removíveis/outras mídias, desta forma esse sistema 
organiza e estrutura as informações. O sistema de gerenciamento que organiza e estrutura as 
informações nos discos rígidos, discos removíveis e outras mídias é chamado de 
Sistema de arquivos. 
61. Em um sistema de arquivos, os arquivos podem ser estruturados de diferentes formas, o que 
pode levar a restrições na forma como as aplicações podem manipular tais arquivos. No que se 
refere a estrutura de arquivos, marque a alternativa correta. 
A sequência desestruturada de bytes é a estrutura adotada pelo Linux e pelo MS Windows®. 
62. Para o armazenamento de dados em partições Linux, um disco precisa ser particionado. Depois, 
as partições precisam ser formatadas e, posteriormente, montadas. Somente após a conclusão 
destes 3 processos, o sistema de arquivos poderá ser acessado pelos processos do sistema. 
Os comandos do Linux que podem ser utilizados, respectivamente, para particionamento, 
formatação e montagem de sistema de arquivos são: 
fdisk, mkfs e mount. 
Sistemas Operacionais 
Marcio Quirino - 15 
 
63. Um dos comandos mais utilizados quando se está trabalhando em um shell do Linux é o comando 
para listar o conteúdo do diretório corrente. Para listar o conteúdo do diretório corrente, 
mostrando os arquivos ocultos e o tamanho dos arquivos, deve-se utilizar o comando: 
ls -al 
64. Hoje é segunda-feira, dia 1º de março, e o relógio marca 14h30. No CRONTAB do usuário ‘root’ 
há uma entrada, exibida abaixo. 
20 10 * * 0 /opt/relatorio 
 
É possível afirmar que a próxima execução do comando ‘/opt/relatorio’ será: 
No próximo domingo, dia 7, às 10h20 
A configuração da tarefa no CRONTAB define que ela deverá ser executada às 10h20, todos os 
domingos. A primeira coluna indica o minuto: 20. A segunda coluna indica a hora: 10. As terceira e 
quarta colunas indicam o dia do mês e o mês: o caractere ‘*’ significa ‘todos os valores possíveis’. A 
quinta coluna indica o dia da semana: O valor ‘0’ se refere ao domingo. 
65. O usuário ‘luiz’ configurou seu CRONTAB para executar um SCRIPT, porém verificou que ele não 
está sendo executado como esperado. A linha configurada no CRONTAB é: 
0 15 1 * * sudo /root/apagar_arquivos_antigos 
 
Pela análise da linha acima, é possível identificar que: 
O comando ‘sudo’ não deve ser usado no CRONTAB. No lugar dele, a tarefa deve ser configurada 
no CRONTAB do usuário ‘root’. 
Por se tratar de um comando interativo, o ‘sudo’ não deve ser usado no CRON. Quando o ‘sudo’ é 
executado pela primeira vez, ele solicita que o usuário digite a sua senha, o que não vai acontecer 
quando estiver sendo executado a partir do CRON. Portanto, o SCRIPT ficará aguardando 
indefinidamente por uma informação que não poderá ser fornecida. 
66. Considere o SCRIPT abaixo: 
#!/bin/bash 
#echo “Codigo 1” 
#show “Codigo 2” 
exit 0 
Ao executar o SCRIPT acima, podemos afirmar que: 
Ao término da execução do SCRIPT, nenhuma informação terá sido enviada para o terminal. 
A primeira linha é a declaração do interpretador SHELL de comandos que executará o SCRIPT. Apesar 
de importante, essa linha não gera saída de conteúdo para o terminal. As linhas seguintes são iniciadas 
com o caractere ‘#’ e, portanto, são ignoradas pelo interpretador durante a execução do SCRIPT. A 
quarta linha encerra a execução do SCRIPT definindo um valor de retorno ‘zero’. Portanto, nenhuma 
das linhas efetivamente gera respostas ao terminal. 
 
Sistemas Operacionais 
Marcio Quirino - 16 
 
67. Considere um SCRIPT cujas primeiras linhas são mostradas a seguir: 
#!/bin/bash 
clear 
read 
cd /tmp 
... 
Os pontos ‘...’ no fim do trecho acima simbolizam a continuação do SCRIPT. 
Analisando as linhas acima, é possível afirmar que, ao executar o SCRIPT: 
A execução é suspensa até que o usuário digite a tecla ENTER. 
O comando ‘read’, executado como no SCRIPT acima, interrompe a execução até que o usuário digite 
a tecla ENTER. O comando ‘clear’ apaga as informações que eram exibidas no terminal, deixando a 
tela “limpa”. O comando ‘cd /tmp’ mudao diretório atual. 
68. Considere o SCRIPT abaixo, cujo nome do arquivo é ‘resposta’: 
#!/bin/bash 
if [[ $1 -eq 0 ]] 
then 
echo "Resposta: $3" 
else 
echo "Resposta: $2" 
fi 
exit 0 
 
Ao executar o SCRIPT com o comando abaixo, a saída será: 
$ resposta 5 6 7 
Resposta: 6 
As variáveis $1, $2 e $3 contêm os parâmetros passados na execução, respectivamente, 5, 6 e 7. 
No início do SCRIPT há um operador ‘if’ comparando o valor de $1 com ‘0’ (zero). Como $1 não atende 
a essa comparação (pois $1 é 5), o trecho abaixo do ‘else’ será executado. O comando ‘echo “Resposta: 
$2”’ faz com que seja exibida a palavra “Resposta: “ e o $2 é substituído pelo segundo parâmetro 
recebido pelo SCRIPT, neste exemplo, o ‘6’. Portanto, a saída do SCRIPT será: “Resposta: 6”. 
69. Considere o SCRIPT abaixo que, ao ser executado, pede ao usuário que digite dois valores, A e 
B. 
#!/bin/bash 
 
echo -n "Digite o valor de A: " 
read A 
echo -n "Digite o valor de B: " 
read B 
 
if [[ $A -gt $B ]] 
then 
echo $((A+B)) 
fi 
exit 0 
Sobre o funcionamento do SCRIPT, é correto afirmar que: 
Se o valor de A for maior que o valor de B, o SCRIPT retorna a soma dos dois. 
O comparador ‘-gt’ usado no ‘if’ retorna verdadeiro se o valor de A for maior que o valor de B. Nesse 
caso, serão executados os comandos abaixo do ‘then’. 
O comando ‘echo’ retornará o resultado da soma A+B. 
Sistemas Operacionais 
Marcio Quirino - 17 
 
70. Analise o SCRIPT abaixo e escolha a opção que descreve corretamente o seu funcionamento. 
 
#!/bin/bash 
 
i=0 
 
while [[ $i -ne 10 ]] 
do 
read X 
 
if [[ $X -eq 1 ]] 
then 
break 
fi 
(( i++ )) 
done 
exit 0 
O SCRIPT pede, repetidamente, que o usuário digite um valor. O LOOP se encerra se o valor for 
igual a ‘1’ ou após 10 valores digitados. 
O ‘while’ estabelece um LOOP que não se encerrará até que a variável $i tenha o valor 10. Dentro do 
LOOP, vemos que a variável $i é incrementada em uma unidade a cada iteração. Portanto, o LOOP 
executará 10 vezes, se não for interrompido antes. 
Dentro do LOOP, o comando ‘read’ recebe um valor, que será comparado, pelo ‘if’, com o valor ‘1’. Se 
for igual, o LOOP é imediatamente encerrado. Portanto, ao executar o SCRIPT, ele inicia um LOOP e a 
cada iteração receberá um valor digitado pelo usuário. Se esse valor for ‘1’, o LOOP se encerra 
imediatamente. Após pedir a digitação pela 10ª vez, o SCRIPT se encerra independentemente dos 
valores digitados. 
71. Considere a variável A, definida em um SCRIPT: 
A="1 2 3 4 5" 
A estrutura de repetição que executa uma iteração de LOOP para cada valor na variável A é: 
for valor in $A 
O operador ‘for’ percorrerá o conteúdo da variável $A, obtendo um valor por vez e o atribuindo a uma 
variável temporária. Para o comando ‘for valor in $A’, essa variável temporária será $valor. 
72. Dentre as opções abaixo, indique qual representa uma configuração de agendamento no 
CRONTAB para executar um determinado comando a cada 30 minutos, somente às segundas-
feiras. 
*/30 * * * 1 comando 
73. Em uma empresa de tecnologia, o administrador de sistemas precisa automatizar a geração de 
relatórios diários de uso dos servidores. Para isso, ele decide usar o CRON, configurando um 
script que executa essa tarefa todos os dias às 3 da manhã. 
Qual comando o administrador deve inserir no CRON para realizar a tarefa descrita acima? 
0 3 * * * /caminho/para/script.sh 
74. Dos comandos abaixo, qual pode ser usado para limpar o terminal, apagando todo o conteúdo 
previamente existente? 
clear 
 
Sistemas Operacionais 
Marcio Quirino - 18 
 
75. Dos comandos abaixo, qual permite alterar a configuração de CRONTAB do usuário? 
crontab -e 
76. Ao desenvolver um SCRIPT, seu responsável utilizou o comando abaixo: 
$ chmod u+x script 
Sobre esse comando, é correto afirmar que: 
Concede ao arquivo a permissão para poder ser executado como SCRIPT pelo proprietário. 
77. Na elaboração de um curso introdutório sobre sistemas operacionais, um educador planeja 
incluir uma seção dedicada ao entendimento de como os sistemas operacionais gerenciam 
processos e threads. Este tópico é vital para compreender como os sistemas operacionais 
otimizam o uso do processador, permitindo a execução concorrente de múltiplas tarefas. 
 
Considerando o texto, analise as afirmativas abaixo: 
 
I. O gerenciamento de processos envolve a distribuição eficiente do tempo de CPU entre os 
processos ativos. 
II. Threads dentro de um mesmo processo compartilham o mesmo espaço de memória, 
facilitando a comunicação entre eles. 
III. A execução concorrente de threads não impacta o desempenho do sistema operacional. 
 
Assinale a opção que apresenta somente as afirmativas corretas. 
I e II estão corretas. 
78. Sistemas operacionais multitarefa permitem que vários programas sejam executados 
simultaneamente. Esta capacidade melhora a eficiência e a usabilidade do computador, 
permitindo uma melhor gestão do tempo de processamento. 
 
Qual característica define um sistema operacional multitarefa? 
Executar múltiplos programas usando um único processador. 
79. Durante uma aula sobre a evolução dos sistemas operacionais, um professor destaca a 
importância dos avanços tecnológicos que permitiram a transição de sistemas operacionais 
monotarefa para multitarefa, enfatizando a capacidade de executar várias aplicações 
simultaneamente. Este marco representa um salto significativo na eficiência e na funcionalidade 
dos computadores modernos. 
 
 Considerando o texto, analise as afirmativas abaixo: 
 
 I. Sistemas operacionais multitarefa podem executar várias aplicações ao mesmo tempo, 
aumentando a produtividade. 
II. A transição para sistemas operacionais multitarefa não teve impacto significativo na 
utilização dos recursos do sistema. 
III. Sistemas operacionais monotarefa limitavam os usuários a executar uma única aplicação 
por vez. 
 Assinale a opção que apresenta somente as afirmativas corretas. 
I e III estão corretas. 
 
Sistemas Operacionais 
Marcio Quirino - 19 
 
80. Na arquitetura de sistemas operacionais, o kernel é a camada mais fundamental, oferecendo uma 
base sobre a qual os programas podem ser executados de maneira segura e eficiente. 
 
O que é o kernel em um sistema operacional? 
A camada fundamental que atua diretamente sobre o hardware. 
81. Em um seminário sobre arquiteturas de sistemas operacionais, um palestrante discute a 
diferença entre o modelo de kernel monolítico e microkernel. Ele explica como essas estruturas 
influenciam a comunicação entre o sistema operacional e o hardware, bem como a estabilidade 
e a segurança do sistema. 
 
 Considerando o texto, analise as afirmativas abaixo: 
 
 I. O modelo de kernel monolítico caracteriza-se por ter todos os serviços do sistema 
operacional executando em espaço de kernel. 
II. Microkernels favorecem a modularidade, executando serviços básicos do sistema 
operacional em espaços de usuário. 
III. Kernels monolíticos são inerentemente mais seguros devido à sua estrutura simplificada. 
 
 Assinale a opção que apresenta somente as afirmativas corretas. 
I e II estão corretas. 
82. Um analista de sistemas está investigando um problema de desempenho em um servidor que 
executa múltiplas instâncias de aplicativos web. Ele suspeita que o escalonamento de processos 
não está sendo eficiente, levando a altos tempos de espera e resposta. 
 
Considerando o texto, analise as afirmativas abaixo: 
 
I. O escalonamento de processos é irrelevante para o desempenho do sistema. 
II. Algoritmos de escalonamento visam distribuir o tempo de processador de forma justa entre 
todos os processos. 
III. Processos em estado de espera não consomem recursos do processador. 
 
Assinale a opção que apresenta somente as alternativas corretas. 
II e III, apenas. 
83. Gerenciar eficientemente o tempo de CPUentre múltiplos processos é crucial para o desempenho 
do sistema. O escalonador de processos utiliza diferentes critérios para otimizar o uso do 
processador, melhorando a resposta do sistema a diversas cargas de trabalho. 
 
Qual tipo de escalonamento utiliza fatias de tempo para alternar a execução entre os processos, 
buscando equilibrar o uso do CPU? 
Round Robin. 
84. A criação de processos é um passo essencial na execução de programas. Sistemas operacionais 
como o Linux fornecem chamadas de sistema específicas para essa finalidade, facilitando a 
gestão de múltiplas tarefas. 
 
Qual chamada de sistema no Linux é utilizada para criar um novo processo? 
fork() 
Sistemas Operacionais 
Marcio Quirino - 20 
 
85. Em um sistema operacional moderno, a gestão eficaz do processador é crucial para o 
desempenho. Uma estratégia chave é o uso de algoritmos de escalonamento para decidir qual 
processo executará em seguida, maximizando a utilização da CPU. 
 
Qual algoritmo de escalonamento prioriza os processos com o menor tempo restante primeiro? 
Menor Tempo Primeiro (Shortest Remaining Time First – SRTF). 
86. O Bloco de Controle de Processo (BCP) é uma estrutura vital em sistemas operacionais que 
permite a multitarefa, garantindo que todos os processos sejam gerenciados de maneira justa e 
eficiente. 
 
Qual é o propósito do Bloco de Controle de Processo (BCP) no Linux? 
Contém todas as informações do processo. 
87. No desenvolvimento de software concorrente, a sincronização de processos é fundamental para 
evitar condições de corrida. Utilizar mecanismos adequados garante que os recursos sejam 
acessados de maneira segura e ordenada. 
 
Qual mecanismo é utilizado para evitar o acesso simultâneo a um recurso compartilhado? 
Semáforos. 
88. Em uma startup de tecnologia, o time de desenvolvimento está projetando um novo aplicativo 
que otimiza o uso de recursos do processador em smartphones. Eles precisam entender como 
os processos são criados, gerenciados e finalizados para melhorar a eficiência do app. 
 
Considerando o texto, analise as afirmativas abaixo: 
 
I. Todos os processos são independentes e não compartilham recursos do sistema 
operacional. 
II. Um processo pode criar outros processos durante sua execução, que são conhecidos como 
processos filho. 
III. A finalização de um processo libera os recursos alocados pelo sistema operacional para 
serem reutilizados. 
 
Assinale a opção que apresenta somente as alternativas corretas. 
II e III, apenas. 
89. (SELECON/2022 - Adaptada) Nos computadores atuais, é utilizado um mecanismo para melhorar 
o desempenho dos equipamentos, conhecido como memória virtual e implementado por meio de 
um arquivo de troca "swap file" armazenado no disco rígido. Esse mecanismo emprega 
basicamente dois recursos, descritos a seguir: 
 
I. Técnica de gerência de memória, na qual um programa é espalhado por áreas não contíguas de 
memória, em que o espaço de endereçamento lógico de um processo é dividido em unidades 
lógicas de tamanho fixo. 
II. Técnica de gerência de memória, na qual programas são divididos em unidades de tamanhos 
variados, cada um com seu próprio espaço de endereçamento. 
Os recursos descritos em I e II são conhecidos, respectivamente, como: 
paginação e segmentação 
 
Sistemas Operacionais 
Marcio Quirino - 21 
 
90. (FAPESC/2017 - Adaptada) Gerenciamento é o processo de planejar, organizar, dirigir e controlar 
recursos. Assinale a alternativa correta com relação ao gerenciamento da memória em Sistemas 
Operacionais. 
Além de desacoplar os endereços lógicos dos endereços físicos e realizar a tradução entre 
ambos, a noção de memória virtual também permite implementar a proteção de memória do 
núcleo e dos processos entre si, fundamentais para a segurança e estabilidade do sistema. 
91. Monitorar o ambiente de execuções do Linux é uma atividade corriqueira para o administrador do 
Sistema. Nessa tarefa, vários comandos e aplicativos podem ser utilizados, inclusive aqueles 
para análise da utilização da memória. Sobre o gerenciamento da memória do sistema Linux, qual 
o aplicativo chamado a partir do terminal possui em sua parte superior um resumo da utilização 
dos principais recursos em que as cores possuem significado? 
htop 
92. (Instituto Consulplan/2022 - Adaptada) Sistemas operacionais são tipos de software que têm a 
função primordial de ser a base para o funcionamento de computadores e, consequentemente, a 
manipulação por parte dos usuários. A memória RAM é um item de hardware que possui tamanho 
limitado, enquanto os processos executados, muitas vezes, ultrapassam o limite de tamanho 
proporcionado por esse componente. Para que o computador consiga lidar com esse cenário, é 
necessário que os processos permaneçam em disco, sendo carregados dinamicamente para a 
memória, possibilitando que sejam executados somente quando necessário. Um dos métodos 
utilizados para realizar o processo de gerenciamento de memória é: 
Swapping. 
93. Concurso: INMETRO - 2010 - Edital 01-2010 | Prova: CESPE - 2010 - INMETRO - Pesquisador - 
Ciência da Computação. Em um sistema operacional que implementa a gerência de memória, por 
meio de um sistema de paginação por demanda, observou-se que, durante a execução de um 
processo, a utilização da CPU é 20%, do disco de paginação 75% e dos demais dispositivos de 
E/S 5%. Assinale a opção que otimiza a utilização da CPU. 
Aumento do tamanho da página. 
94. Concurso: UFPE - 2010 | Prova: COVEST-COPSET - 2010 - UFPE - Analista de Tecnologia da 
Informação. Um dos tipos de gerenciamento de memória utilizados por sistemas operacionais é 
a memória virtual. Este tipo de memória pode ser gerenciada por segmentação. Assinale a 
alternativa que descreve o funcionamento do gerenciamento de memória virtual por 
segmentação: 
Divide o espaço do endereçamento virtual em blocos de tamanhos diferentes chamados 
segmentos. 
95. Concurso: TRF - 2ª REGIÃO - 2011 - Técnico e Analista | Prova: FCC - 2012 - TRF - 2 REGIÃO - 
Analista Judiciário ¿ Informática. Quando segmentos de memória alocados a processos e 
segmentos de memória livres são mantidos em uma lista ordenada por endereço, é possível 
utilizar diversos algoritmos para alocar memória a um processo recém-criado. Presumindo que o 
gerenciador de memória saiba o tamanho de memória que deve ser alocada ao processo, ele 
procurará ao longo da lista de segmentos de memória por um segmento livre que seja 
suficientemente grande para esse processo. O segmento é quebrado em duas partes, se for o 
caso, sendo uma parte alocada ao processo e a sobra transforma-se em um segmento de 
memória livre. O texto trata do algoritmo 
first fit 
 
Sistemas Operacionais 
Marcio Quirino - 22 
 
96. (OBJETIVA/2019 - Adaptada) Quando ocorre uma falta de página, o sistema operacional tem de 
escolher uma página para remover da memória a fim de abrir espaço para a que está chegando. 
Assinale a alternativa que apresenta uma desvantagem do algoritmo primeiro a entrar, primeiro 
a sair (first in, first out). 
A página mais antiga a ser removida ainda pode ser intensamente usada. 
97. Compreender as técnicas de gerência de memória empregadas pelos sistemas operacionais é 
uma qualidade fundamental para o profissional de TI moderno. Nesse sentido, qual a política de 
liberação de páginas que prioriza a retirada da página que esteja carregada há mais tempo? 
FIFO. 
98. (FAPESC/2022 - Adaptada) Os processadores são componentes de hardware de um computador 
que executam instruções de programas e realizam cálculos. Quase todos os processadores 
suportam um mecanismo de memória virtual. Assinale a alternativa correta com relação a esse 
mecanismo. 
A memória virtual é uma facilidade que permite que os programas enderecem a memória a partir 
de um ponto de vista lógico, sem considerar a quantidade de memória principal disponível 
fisicamente. 
99. Empregare compreender as ferramentas para o gerenciamento e manipulação dos arquivos é 
uma habilidade fundamental para o profissional de TI. Sobre o Sistema Operacional Linux, qual o 
comando responsável por apagar um diretório de nome "provas" que contém arquivos em seu 
interior? 
rm -rf provas. 
100. Define-se um sistema operacional multitarefa como sendo aquele que possui a capacidade 
de: 
manter vários programas na memória simultaneamente. 
101. Para melhor análise do desempenho dos processos com os diferentes tipos de 
escalonamento existentes, os processos são classificados em dois tipos: CPU-bound e I/O-
bound. Com esse conceito definido podemos afirmar que: 
Os processos CPU-bound levam vantagem em escalonamentos feitos com o mecanismo de 
preempção por tempo, enquanto os processos 1/0-bound se beneficiam através de mecanismos 
de prioridade dinâmica. 
102. O projeto de um escalonador adequado deve levar em conta uma série de diferentes 
necessidades, devendo contemplar os seguintes objetivos, EXCETO: 
Minimizar o número usuários interativos do sistema. 
103. 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 disponível para 
todos os processos. Para solucionar este problema foi proposta a técnica de swapping. Em 
relação ao funcionamento desta técnica, marque a alternativa INCORRETA. 
A técnica de swapping pode ser usada tanto em sistemas monotarefa quanto multitarefa. 
 
 
 
Sistemas Operacionais 
Marcio Quirino - 23 
 
104. O gerenciamento dos sistemas de entrada/saída de dados é normalmente implementado em 
duas camadas: uma responsável pelo controle do dispositivo e outra, pelo gerenciamento de 
entrada/saída. Por que isso representa um projeto eficiente? 
 
Escolha a alternativa correta. 
Porque permite separar características de hardware de características funcionais do dispositivo 
de entrada/saída. 
105. O nome de um arquivo no padrão FAT16 pode possuir, além da extensão, no máximo, 
8 caracteres. 
106. Analise as quatro sentenças abaixo sobre sistema de arquivos e, em seguida, assinale a única 
alternativa correta: 
 
I. Na alocação contígua a tabela de alocação contém uma entrada .com bloco inicial e tamanho 
em blocos) para cada arquivo; 
II. Para controle de espaços livres temos pelo menos três formas: mapa de bit, lista encadeada e 
tabela de blocos livres; 
III. Na alocação indexada, para se ter acesso a um determinado bloco é necessário percorrer a 
lista até o bloco desejado; 
IV. Na alocação encadeada a tabela de alocação contém um índice para cada arquivo. 
Somente as sentenças I e II estão corretas 
107. Sabemos que existem vários tipos de servidores. Como se dá o fluxo entre o cliente e o 
servidor de banco de dados. Assinale a resposta INCORRETA. 
As aplicações baseadas no acesso a banco de dados recebem a resposta direta do servidor 
SGBD. 
108. Relacione os comandos básicos de redes do Windows, e suas funções. 
 
1 GETMAC 
2 NSLOOKUP 
3 NETSH 
4 PING 
 
( ) Procura pelo endereço MAC (Media Access Control), e faz a listagem das redes associadas na 
máquina local ou em toda rede; 
( ) Dentro deste comando é possível modificar configurações de uma rede local ou em uma 
máquina remota; 
( ) Retorna informações sobre o DNS (Domain Name System) de um determinado número IP, ou 
número do host; 
( ) Envia pacotes ICMP para um determinado endereço IP e verifica os níveis de conectividade e 
o tempo de resposta; 
1; 3; 2; 4 
109. Qual das alternativas apresenta um sistema de arquivos nativamente utilizado no Linux? 
extfs. 
 
 
Sistemas Operacionais 
Marcio Quirino - 24 
 
110. Você está desenvolvendo um SCRIPT em que pede ao usuário para digitar uma palavra, 
utilizando o comando ‘read PALAVRA’. Porém, antes de prosseguir, você deseja colocar um teste 
para certificar-se de que o usuário efetivamente digitou alguma coisa. 
 
Qual dos comparadores abaixo podemos utilizar? 
if [[ -n "$PALAVRA" ]] 
111. Você está analisando um SCRIPT desenvolvido por outra pessoa e não sabe qual a sua 
finalidade. 
#!/bin/bash 
echo -n "Digite A: " 
read A 
echo -n "Digite B: " 
read B 
if [[ $A -eq $B ]] 
then 
echo "X" 
fi 
if [[ $A -gt $B ]] 
then 
echo "A" 
fi 
if [[ $A -lt $B ]] 
then 
echo "B" 
fi 
exit 0 
Ao iniciar a análise, percebemos que ele solicita ao usuário a digitação de dois valores, chamados 
de A e B. Pela análise do restante do SCRIPT podemos afirmar que: 
Indica qual dos dois valores é maior, A ou B, e retorna um X se forem iguais. 
112. (Instituto Access/2022 - Adaptada) Linux representa uma família de sistemas operacionais de 
código aberto, baseados no Linux kernel, o que inclui Ubuntu, Fedora e Debian. Essas 
distribuições possibilitam a execução de diversos comandos na modalidade ¿prompt¿, como os 
caracterizados a seguir: 
 
l. Permite encontrar o caminho para o diretório atual, em que o usuário está. O comando vai 
retornar um caminho completo, que começa basicamente com uma barra inclinada (I). Um 
exemplo de um caminho completo é /home/username. 
II. Permite visualizar arquivos armazenados em um diretório. Por padrão, esse comando vai 
mostrar os conteúdos apenas do diretório atual em que o usuário se encontra. 
 
Os comandos caracterizados em I e II são, respectivamente: 
pwd e Is. 
113. A técnica de dividir a memória principal em várias partes, com uma tarefa diferente em cada 
partição de memória, cujas tarefas são trocadas a todo instante pela CPU implicando em um falso 
paralelismo em suas execuções, é conhecida como: 
Multiprogramação 
 
 
Sistemas Operacionais 
Marcio Quirino - 25 
 
114. (UFPE/2017) Um cache de imagens para um site foi implementado de forma que as imagens 
que são solicitadas mais vezes ficam armazenadas no cache, independentemente de quando 
foram solicitadas. Quando o cache estiver cheio e precisar liberar memória, a imagem com menor 
quantidade de solicitações é removida. O algoritmo de cache que melhor se encaixa nesta 
descrição é: 
LFU 
115. (IBADE/2022 - Adaptada) O Gerente de Memória é um componente do sistema operacional, 
contido inteira ou parcialmente no kernel. Pode-se afirmar que são tarefas de um gerenciador de 
memória: 
 
l. manter o mapeamento de memória virtual para memória física. 
II. fazer o swapping transparente entre memória principal e disco. 
III. garantir isolamento mútuo entre processos. 
IV. alocar memória rom para novos processos. 
 
Marque a alternativa correta. 
l, II e III, apenas. 
116. Algoritmos de escalonamento devem decidir qual o próximo processo a entrar em execução 
quando uma UCP estiver disponível. Alguns algoritmos de escalonamento preemptivos definem 
um valor chamado quantum, que é o tempo que o processo terá para fazer uso da UCP. 
 
Dentre as alternativas abaixo, marque aquela que representa o que ocorre quando um processo 
é escalonado para uso da UCP e não consegue terminar sua execução dentro do quantum 
recebido. 
O processo será interrompido e, em uma nova oportunidade, voltará ao ponto em que estava 
executando. 
117. Quando existe mais de um processo acessando uma memória compartilhada, corre-se o risco 
da ocorrência da condição de corrida, que é extremamente prejudicial ao resultado do 
processamento. 
 
Dentre as opções abaixo, determine qual representa uma solução para a condição de corrida. 
A definição de uma região crítica, na qual pode haver somente um processo em execução. 
118. Orlando possui em seu diretório pessoal em um sistema de arquivos ext4 um arquivo 
chamado "web.cfg" e cria um hardlink(link duro) para o arquivo "web.cfg", denominado 
"teia.config". Após, Orlando apaga acidentalmente o arquivo "web.cfg". O que acontece com 
"teia.config" 
Continua existindo e seu conteúdo continua idêntico ao que estava em "web.cfg". 
119. É um comando que permite interromper um LOOP imediatamente:break 
 
 
 
Sistemas Operacionais 
Marcio Quirino - 26 
 
120. O acesso a disco é muito lento quando comparado com a capacidade de processamento de 
dados dos componentes eletrônicos de um computador. Por essa razão foram desenvolvidos 
trabalhos no sentido de buscar uma solução, ou pelo menos um paliativo, visando diminuir o 
tempo que o sistema leva aguardando a finalização da escrita de dados em disco. 
 
Uma das técnicas desenvolvidas com essa finalidade procura antecipar as escritas em um diário 
no disco para liberar mais rapidamente o sistema, e somente mais tarde efetivar as gravações 
nos blocos definitivos em disco. Essa técnica é conhecida como: 
journaling 
121. O Windows é um sistema operacional no qual o código-fonte total ou parcial não é 
disponibilizado para modificação por qualquer pessoa. Somente a fabricante possui o acesso a 
ele. Logo, quanto ao licenciamento do software, pode-se dizer que o Windows possui o código: 
Proprietário 
122. O sistema operacional pode gerenciar e alocar as partes de todo um sistema complexo. A 
esse recurso dá-se o nome de: 
Gerenciador de recursos 
123. Quando um processo chega para ocupar uma partição de memória, ou ele é colocado em uma 
fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada 
única para todas as partições. 
 
No contexto de gerenciamento de memória trata-se de uma afirmativa típica da: 
Multiprogramação com partições fixas. 
124. Concurso: TCE-GO - 2009 | Prova: FCC - 2009 - TCE-GO - Analista de Controle Externo - 
Tecnologia da Informação. 
 
No contexto do algoritmo de substituição de página não usada recentemente (NUR), considere: 
 
l. A maioria dos computadores com memória virtual tem dois bits de status: o bit referenciada (R) 
e o bit modificada 
II. Os bits de status devem ser atualizados em todas as referências à memória, sendo essencial 
que tal atualização ocorra via hardware. 
III. Uma vez que o bit de status é colocado em 1, via hardware, este permanece com tal valor até 
o sistema operacional colocá-lo em 0, via software. 
 
Está correto o que se afirmar em: 
l, II e III 
 
 
 
 
 
 
Sistemas Operacionais 
Marcio Quirino - 27 
 
125. Sistemas Operacionais (SOs) têm, dentre as suas responsabilidades, a incumbência de 
gerenciar processos e efetuar o seu escalonamento no processador. O SO mantém uma fila de 
processos prontos para serem executados, e o escalonamento está relacionado à forma com que 
um SO faz a escolha de qual dos processos da fila ocupará o processador a cada instante. Há 
diversas técnicas para o escalonamento. 
 
Em uma dessas técnicas, conhecida como Round Robin (RR), o processo a ser executado será 
o: 
primeiro da fila, que será executado por um determinado intervalo (chamado de quantum) após 
o qual voltará ao final da fila. 
126. No algoritmo de escalonamento por prioridades, quando o escalonador necessita escolher 
qual o próximo processo a entrar em execução, ele faz uma avaliação das prioridades dos 
processos que estão no estado pronto e seleciona para execução aquele de maior prioridade. 
 
Sobre o escalonamento por prioridades é correto o que se afirmar em: 
Processos que realizam muitas operações de E/S costumam receber aumento de prioridade. 
127. Em um ambiente Linux, os scripts desempenham um papel fundamental na automação e 
execução eficiente de tarefas. Utilizando o interpretador de shell, como o Bash, podemos criar 
scripts poderosos e flexíveis, capazes de realizar desde tarefas simples até operações 
complexas, incluindo manipulação de datas, pausas, interações com o usuário e controle de 
saída. 
 
Qual a finalidade da "palavra mágica" no início de um script em um ambiente Linux? 
Especifica o interpretador de Shell a ser usado. 
128. (IBADE/2022 - Adaptada) Linux oferece uma ampla gama de recursos, incluindo suporte a 
muitos softwares e programas, alta segurança e flexibilidade, e é conhecido por ser um sistema 
operacional estável e confiável_ No sistema operacional Linux o usuário de maior poder que já 
vem configurado de fábrica é o: 
Root 
129. (IUDS/2021 - Adaptada) "Este tipo de sistema operacional não interage, diretamente, com o 
computador. Existe um operador que pega trabalhos semelhantes com o mesmo requisito e os 
agrupa. E responsabilidade do operador classificar os trabalhos com necessidades 
semelhantes". Este tipo de sistema operacional é conhecido como: 
Sistema operacional "em lote" (Batch Operating System). 
130. (CORE-SP/INAZ do Pará - 2019) “Um processo tem uma ou mais linhas de execução (threads). 
Existem processos com maior e menor prioridade. Na hierarquia de processos, dizemos que o 
processo que chama o outro é o processo pai, enquanto o novo, é o processo filho” 
 
Qual comando LINUX apresenta uma lista dos processos ativos e dos recursos utilizados no 
sistema, incluindo memória, em um determinado momento? 
top 
 
 
Sistemas Operacionais 
Marcio Quirino - 28 
 
131. Concurso: TRT – 14a Região (RO e AC) - 2011 -Analista e Técnico I Prova: FCC - 2011 - TRT – 
14a Região (RO e AC) – Técnico Judiciário - Tecnologia da Informação – Adaptada. 
 
A memória é um recurso limitado em um dispositivo computacional e realizar a sua gerência é 
fundamental para a maximização da eficiência e execução dos processos. Acerca da gerência de 
memória, a Memory Management Unit (MMU) tem como função principal. 
Mapear os endereços virtuais para endereços físicos de memória 
132. As condições de corrida podem causar uma série de problemas, incluindo resultados 
imprevisíveis, corrupção de dados e falhas no sistema. 
 
O que define a "Condição de Corrida"? 
O fenômeno quando dois ou mais processos estão acessando dados compartilhados e o 
resultado depende de quem executa primeiro e quando.

Mais conteúdos dessa disciplina