#Aula 00 - Única
#Aula 00 - Única
#Aula 00 - Única
Evandro)
CNU (Bloco 2 - Tecnologia, Dados e
Informação) Conhecimentos Específicos
- Eixo Temático 3 - Gerência e Suporte
da Tecnologia da Informação: Sistemas -
Autor:
2024 (Pós-Edital)
Evandro Dalla Vecchia Pereira
16 de Janeiro de 2024
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Índice
1) Apresentação do Curso - Evandro
..............................................................................................................................................................................................3
2
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
APRESENTAÇÃO DO CURSO
Iniciamos nosso Curso Regular de Sistemas Operacionais e Arquitetura de Computadores em teoria e
questões, voltado para provas objetivas e discursivas de concurso público. Tais assuntos são cobrados em
diversos concursos em que há vagas específicas para a área de TI.
As aulas em PDF possuem por característica essencial a didática. Ao contrário do que encontramos em
alguns livros, o curso todo se desenvolverá com uma leitura de fácil compreensão e assimilação.
Além disso, teremos videoaulas! Essas aulas destinam-se a complementar a preparação. Quando estiver
cansado do estudo ativo (leitura e resolução de questões) ou até mesmo para a revisão, abordaremos alguns
pontos da matéria por intermédio dos vídeos. Com outra didática, você disporá de um conteúdo
complementar para a sua preparação. Ao contrário do PDF, evidentemente, AS VIDEOAULAS NÃO
ATENDEM A TODOS OS PONTOS QUE VAMOS ANALISAR NOS PDFS, NOSSOS MANUAIS
ELETRÔNICOS. Por vezes, haverá aulas com vários vídeos; outras que terão videoaulas apenas em parte do
conteúdo. Nosso foco é sempre o estudo ativo!
3
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
APRESENTAÇÃO PESSOAL
Meu nome é Evandro Dalla Vecchia Pereira, sou autor do livro "Perícia Digital - Da investigação à análise
forense", Mestre em Ciência da Computação (UFRGS), Bacharel em Ciência da Computação (PUCRS),
Técnico em Redes de Computadores (Etcom/UFRGS) e em Processamento de Dados (Urcamp). Perito
Criminal na área de Perícia Digital desde 2004 no Instituto-Geral de Perícias/RS. Professor de pós-graduação
em diversas instituições, nas áreas de Perícia Digital, Perícia Criminal e Auditoria de Sistemas. Lecionei em
cursos de graduação de 2006 a 2017, nas instituições PUCRS, Unisinos, entre outras e sou professor em
cursos de formação e aperfeiçoamento de Peritos Criminais, Delegados, Inspetores, Escrivães e Policiais
Militares.
No Estratégia Concursos leciono desde o começo de 2018, inicialmente na área de Computação Forense e,
na sequência, também assumi as áreas de Arquitetura de Computadores e Sistemas Operacionais, tanto na
elaboração de materiais escritos como na gravação das videoaulas.
==22f849==
Deixarei abaixo meus contatos para quaisquer dúvidas ou sugestões. Terei o prazer em orientá-los da
melhor forma possível nessa caminhada que estamos iniciando.
Instagram: @profevandrodallavecchia
Facebook: https://www.facebook.com/profevandrodallavecchia
4
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Nosso podcast alternativo ... livre, descontraído e com dicas rápidas que
todo CANETA PRETA raiz deve ouvir. Já temos alguns episódios
disponíveis e vários outros serão gravados nas próximas semanas ...
acompanhe em:
http://anchor.fm/estrategia-tech
http://t.me/estrategia_ti
http://instagram.com/estrategiaconcursosti
5
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
SISTEMAS OPERACIONAIS
Quando falamos em sistema operacional logo pensamos em Windows, Linux, Android etc. Esses
são apenas alguns exemplos dos existentes na atualidade, mas o que é um sistema operacional
(S.O.)?
Ok, se o S.O. faz o “meio de campo” entre o hardware e os programas do usuário, como um
programador faria um acesso a um disco, por exemplo, para ler ou escrever em um arquivo? Para
isso existem as chamadas de sistema (system calls) que são “instruções estendidas”, abstraindo
do programador os detalhes de “baixo nível” e garantindo que o programador não faça alguma
“bobagem”. Vejamos um exemplo para a programação em C:
6
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Primeiro vamos ver o conceito de kernel: é o núcleo do sistema operacional, com um controle
total de tudo relacionado ao sistema. O kernel é um dos primeiros programas a ser carregado
durante a inicialização e assim que começa a ser executado inicia um processo de detecção de
todo o hardware necessário para que ocorra um bom funcionamento do computador.
Uma simples alteração da versão do kernel pode ser suficiente para resolver problemas de
hardware, além de compatibilidade no computador. Além disso, o kernel opera solicitações de
entrada/ saída de software e gerência memória, aparelhos periféricos, entre outros.
Sabendo disso tudo, vamos voltar à figura. Mesmo para quem não programa em C, os comandos
mostrados são intuitivos: sqrt() – square root (raiz quadrada) – não precisa realizar uma chamada
de sistema, pois recebe um valor e retorna sua raiz quadrada. Mas para escrever em um arquivo –
comando write() – é necessário acessar alguma mídia (HD, SSD, pen drive, entre outros) e, para
isso, é necessário que o S.O. entre em modo kernel. Mas o que é isso? Veremos...
Modo kernel: uma aplicação pode executar instruções não privilegiadas e privilegiadas, ou seja:
instruções que oferecem risco ao sistema, ex.: instruções que acessam dados no disco.
Modo usuário: uma aplicação só pode executar instruções não privilegiadas (instruções que não
oferecem riscos ao sistema).
Já falamos do núcleo, agora vamos para a "beirada"...a interface do usuário com o sistema
operacional. Na atualidade é muito comum a utilização de GUI (Graphical User Interface), ou seja,
o usuário apenas clica em janelas, ícones, entre outros elementos para interagir com S.O. Mas
ainda existe o shell, um processo que lê o teclado e espera por comandos, interpreta-os e passa
seus parâmetros ao S.O. Por isso também é conhecido como interpretador de comandos.
7
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Antigamente os sistemas operacionais tinham como interface única o shell, mas com o tempo a
interface gráfica dominou o mercado (mas ainda existem sistemas operacionais em que predomina
o shell). Abaixo um exemplo de shell, o PowerShell:
• Gerência de memória, controlando que partes estão sendo usadas e por quem. Além disso,
é responsável pela alocação e liberação dinâmica de seu espaço;
• Gerência de dispositivos de entrada/saída (E/S) ligados ao computador, o que inclui o envio
de sinais que informam as ações que o usuário espera que o dispositivo realize, o
tratamento das interrupções e erros gerados pelos dispositivos, entre outros;
Em relação à arquitetura do kernel, o sistema operacional pode ser classificado como monolítico,
microkernel ou híbrido, conforme veremos a seguir.
8
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Sistemas exonúcleos: fornecem um clone do computador real para cada usuário, mas com um
==22f849==
subconjunto dos recursos. Por exemplo: uma VM recebe os blocos do disco 0 a 2047 e outra do
2048 a 4095. Na camada inferior existe um programa chamado exonúcleo (exokernel).
A finalidade de um exonúcleo é permitir uma aplicação que solicite uma região específica da
memória, simplesmente assegurar que os recursos pedidos estão disponíveis e que o programa
tem direito a acessá-los. Pelo fato do exonúcleo proporcionar uma interface de baixo nível ao
hardware, carecendo de todas as funções de alto nível dos outros sistemas operacionais, ele é
complementado por uma biblioteca de sistema operacional. Esta biblioteca se comunica com o
exonúcleo subjacente e facilita aos programadores de aplicativos com funções que são comuns
em outros sistemas operacionais.
Sistemas em camadas: como o nome sugere, é construído sobre uma hierarquia de camadas. O
primeiro sistema desenvolvido dessa maneira foi o sistema criado no Technische Hogeschool
Eindhoven (THE), na Holanda. Tratava-se de um sistema de lote simples para um computador
holandês (o Electrologica X8). O S.O. possuía seis camadas:
Camada Função
5 Operador
4 Programas de usuário
3 Gerenciamento de E/S
2 Comunicação operador-processo
1 Gerenciamento de memória e tambor
9
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Modelo cliente-servidor: possui um núcleo mínimo (microkernel), sendo que a maior parte das
funções do S.O. ficam em processos de usuário. O cliente obtém o serviço através de mensagens
para os processos servidores:
A) API e shell.
B) GUI e cluster.
C) shell e kernel.
D) kernel e CPU.
E) buffers e spooling.
Comentários:
10
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
“Casca” poderíamos interpretar como quem faz a interface de quem está “fora” com o núcleo e
isso é papel do shell (ou alguma interface gráfica, claro). A parte interna podemos interpretar
como o núcleo, ou seja, o kernel. Portanto, a alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
A) Kernel.
B) System Calls.
C) Shell.
D) Cache.
E) Host.
Comentários:
Na atualidade é muito comum a utilização de GUI (Graphical User Interface), ou seja, o usuário
apenas clica em janelas, ícones, entre outros elementos para interagir com S.O. Mas ainda existe
o shell, um processo que lê o teclado e espera por comandos, interpreta-os e passa seus
parâmetros ao S.O. Por isso também é conhecido como interpretador de comandos. Portanto, a
alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
11
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
A alternativa E está bem longe de ser uma função do S.O., ainda mais que expressa “APENAS” e
ainda uma “BASE DE DADOS” genérica. Portanto, a alternativa E está correta e é o gabarito da
questão.
Gabarito: Letra E
..II.. , que são a unidade básica de trabalho do SO. Isso inclui a sua criação, sua exclusão e o
fornecimento de mecanismos para a sua comunicação e sincronização.
..III.. , controlando que partes estão sendo usadas e por quem. Além disso, é responsável pela
alocação e liberação dinâmica de seu espaço.
As lacunas I, II e III são, correta e respectivamente, preenchidas por:
12
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
• Gerência de memória, controlando que partes estão sendo usadas e por quem. Além disso,
é responsável pela alocação e liberação dinâmica de seu espaço;
Gabarito: Letra A
A) Kernel.
13
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) System Calls.
C) Shell.
D) Cache.
E) Host.
Comentários:
Na atualidade é muito comum a utilização de GUI (Graphical User Interface), ou seja, o usuário
apenas clica em janelas, ícones, entre outros elementos para interagir com S.O. Mas ainda existe
o shell, um processo que lê o teclado e espera por comandos, interpreta-os e passa seus
parâmetros ao S.O. Por isso também é conhecido como interpretador de comandos. Portanto, a
alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
Comentários:
Gabarito: Correta
14
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) compilador.
B) driver.
C) sistema operacional.
D) drive.
E) controlador.
Comentários:
Seria muito complicado exigir que todo programador tivesse conhecimento do hardware a ser
utilizado. Também seria uma programação muito mais complexa e demorada! Podemos dizer que
basicamente um S.O. possui duas funções:
Gabarito: Letra C
A) I e III
B) II e III
C) I, II e III
D) I e II
Comentários:
15
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
(I) Faz parte da gerência de E/S; (II) Gerência de processos; (III) Como a questão fala em sistema
operacional moderno, o oferecimento de mecanismos de proteção poderia ser considerado certo.
Aí depende de qual a fonte consultada para elaborar a questão. De qualquer forma a questão foi
anulada (eu marcaria a alternativa C), com a justificativa de que esse assunto não estava no edital.
Gabarito: Anulada
A) API e shell.
B) GUI e cluster.
C) shell e kernel.
D) kernel e CPU.
E) buffers e spooling.
Comentários:
“Casca” poderíamos interpretar como quem faz a interface de quem está “fora” com o núcleo e
isso é papel do shell (ou alguma interface gráfica, claro). A parte interna podemos interpretar
como o núcleo, ou seja, o kernel. Portanto, a alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
16
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
..II.. , que são a unidade básica de trabalho do SO. Isso inclui a sua criação, sua exclusão e o
fornecimento de mecanismos para a sua comunicação e sincronização.
..III.. , controlando que partes estão sendo usadas e por quem. Além disso, é responsável pela
alocação e liberação dinâmica de seu espaço.
17
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Kernel.
B) System Calls.
C) Shell.
D) Cache.
E) Host.
A) compilador.
B) driver.
C) sistema operacional.
D) drive.
E) controlador.
A) I e III
B) II e III
C) I, II e III
18
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) I e II
A) API e shell.
B) GUI e cluster.
C) shell e kernel.
D) kernel e CPU.
E) buffers e spooling.
GABARITO
1- E 4- Correta 7- C
2- A 5- C
3- C 6- Anulada
19
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GERÊNCIA DE PROCESSOS
Um computador e sistema operacional modernos permitem que diversas atividades sejam
realizadas ao mesmo tempo, mesmo que a máquina possua apenas um processador! Mas como é
possível fazer com que 2 ou mais programas sejam executados ao mesmo tempo com apenas 1
processador? Aí lembramos da ideia de pseudoparalelismo que existe com o escalonamento de
uso do processador, sendo que cada processo recebe algum tempo, de acordo com alguma
política ou algoritmo.
Na figura vemos apenas um processo de cada programa, mas pode haver N processos do Word,
do Excel, do Power Point, ou qualquer outro. O limite se resume a recursos (memória, limitação
do sistema operacional, entre outros).
Quando a CPU muda o processo, ocorre uma troca de contexto (chaveamento ou mudança de
contexto). Trata-se de um processo computacional de armazenar e restaurar o estado (contexto)
de uma CPU de forma que múltiplos processos possam compartilhar essa CPU
(multiprogramação). É garantido que quando o contexto anterior armazenado for restaurado, o
ponto de execução volte ao mesmo estado que foi deixado durante o armazenamento.
Imagine que você tenha carregado um documento do Word, em seguida uma planilha do Excel e
uma apresentação do Power Point, todos os arquivos muito grandes. Suponha que tenham sido
carregadas 50 páginas do Word, 50 do Excel, 100 slides do Power Point, depois a CPU volta para
o processo do Word e carrega as restantes, e assim por diante. Geralmente tudo ocorre muito
20
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
rápido e temos a impressão de um paralelismo de verdade, a não ser que seu processador seja
muito antigo e você queira carregar dezenas ou centenas de processos que exijam um certo
desempenho.
• Inicialização do sistema;
• Realização de uma chamada de sistema por um processo em execução para a criação de
um processo, ex.: fork() no Linux;
• Um pedido de um usuário para a criação de um novo processo, ex.: clicar duas vezes para
abrir um documento do Word;
• Início de uma tarefa em lote (computadores de grande porte).
Inicialização do sistema;
Quando o S.O. é inicializado, geralmente vários processos são criados, alguns de primeiro plano
(foreground), que interagem com os usuários; e outros em segundo plano (background), que não
estão associados a algum usuário, mas possuem alguma função específica (ex.: processo que
21
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Existe uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a
informação necessária para tratar um determinado processo. Trata-se do Bloco de Controle do
Processo (PCB - Proccess Control Block). Como o PCB possui informações críticas do processo ele
deve ficar armazenado em uma área da memória protegida do acesso de usuários. Geralmente as
informações contidas em um PCB incluem:
22
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Nada dura para sempre, em algum momento ocorre o término do processo, normalmente devido
a alguma das seguintes situações:
A maioria dos processos termina porque já cumpriu sua tarefa. Se você executa um programa que
recebe 10 valores, realiza uma bateria de cálculos, mostra um resultado e finaliza, neste momento
ele envia uma chamada de sistema para avisar ao S.O. que terminou (ex.: exit). Os programas
aceitam término voluntário, geralmente com algum menu ou combinação de teclas (ex.: ALT + F4,
no Windows).
Em relação à hierarquia de processos existe apenas 1 pai e 0 ou mais filhos. Por exemplo, no Linux
o processo “init” (PID = 1) é o primeiro a ser executado, logo após o carregamento do Kernel. A
função dele é controlar todos os outros processos que são executados no computador. Digamos
que a partir dele sejam abertos 3 shells (bash) e a partir de um deles seja executado um programa
“A”. Abstraindo a existência de outros processos, a hierarquia descrita ficaria assim (PIDs
inventados, com exceção do init):
Estados de um Processo
23
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Estados de um processo
Quando um processo está em execução (no processador) e é necessário realizar alguma atividade
que não dependa do processador (ex.: aguardar os dados do arquivo “teste.txt” solicitados ao
HD), não tem o porquê ele ainda utilizar o processador! Seria um desperdício! Então o processo é
bloqueado (A) e um outro processo que estiver pronto (e for a sua vez) deverá ocupar a CPU (D).
Depois que o HD realizar a leitura do arquivo e colocar os dados em um buffer, é enviado um aviso
para dizer que está tudo pronto, é só buscar no buffer! Nesse momento o processo deixa de estar
bloqueado e fica pronto (entra na fila) para utilizar a CPU novamente (B).
Os processos que estão prontos ficam no aguardo de sua vez para utilizar a CPU (D) e os que
estão em execução, não solicitam nenhuma atividade que ensejaria um bloqueio, mas que utilizam
a CPU até um determinado limite de tempo, perdem o uso da CPU e voltam para o “grupo” dos
prontos (C) . Dessa forma os processos ficam mudando seus estados até finalizarem.
24
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Threads
Imagine um editor de texto, que possui inúmeras funcionalidades: contador de palavras, contador
de páginas, correção ortográfica instantânea, entre outras. Cada uma delas geralmente é
implementada em uma thread, então a cada digitação elas verificam e a quantidade de palavras
aumentou/diminuiu (e atualiza essa informação na tela), se a quantidade de páginas foi alterada,
se a palavra digitada está correta (após consultar um arquivo de dicionário), e assim por diante.
==22f849==
Se não fosse assim, vários processos deveriam ser carregados (o que seria mais “pesado”) ou a
execução de todo o código na sequência para verificar todas as funcionalidades. Abaixo uma
figura para mostrar 3 processos contendo uma única thread (esquerda) e um único processo com
3 threads (direita).
Geralmente as threads são divididas em duas categorias: thread ao nível do usuário e thread ao
nível do kernel (núcleo). Quando falamos em thread ao nível de usuário queremos dizer que o
controle das threads, o escalonamento entre elas, fica a cargo do espaço do usuário. Na figura a
seguir podemos ver que a tabelas dos processos fica no kernel, mas as tabelas das threads de
cada processo ficam nos próprios processos.
25
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Quando falamos em thread ao nível do kernel queremos dizer que o controle das threads fica a
cargo do kernel, ou seja, tanto a tabela de processos quanto a tabela de threads ficam no kernel:
No exemplo acima, o resultado do “ls” é a entrada para o comando “grep x”. O resultado é a
entrada para “sort -r” e o resultado deste último é a entrada para “tee arquivo_saida”.
Condições de corrida: alguns processos que trabalham juntos podem compartilhar algum
armazenamento comum, ou seja, cada processo pode ler e escrever nesse local. Esse
armazenamento compartilhado pode estar na memória principal ou pode ser um arquivo. Vamos
utilizar como exemplo o diretório de spooler, onde os arquivos são colocados para que o daemon
de impressora verifique de tempos em tempos o que deve ser impresso e mover a fila. Imagine a
26
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
situação em que dois processos (A e B) quase que simultaneamente decidem enviar para o
diretório de spooler o arquivo a ser impresso:
Seções críticas: para evitar as condições de corrida ou outras situações que envolvem memória
compartilhada ou arquivo compartilhado deve-se encontrar uma maneira de proibir que mais de
um processo leia e modifique dados compartilhados ao mesmo tempo. Ou seja, é necessária uma
exclusão mútua. O problema mostrado na figura anterior ocorreu porque o processo B começou
a utilizar uma das variáveis compartilhadas antes que o processo A tivesse terminado de trabalhar
com ela.
Nem sempre o sistema acessa alguma região compartilhada, mas quando isso ocorre ele está
acessando uma região crítica ou seção crítica. São necessárias quatro condições válidas para
termos uma boa solução para esse problema:
1. Dois processos não podem estar ao mesmo tempo dentro de uma seção crítica;
2. Nenhuma suposição pode ser realizada sobre as velocidades ou sobre o número de
processadores;
3. Nenhum processo que está sendo executado fora de uma seção crítica pode bloquear
outros processos;
4. Nenhum processo deve ter que esperar eternamente para entrar em uma seção crítica.
Semáforo: é um tipo de variável que pode ser verificada e alterada em instruções atômicas, ou
seja, sem possibilidades de interrupções. Esse tipo de variável é empregado em tarefas como o
compartilhamento de recursos entre processos. É uma variável do tipo inteiro que possui o valor
0 quando não tem nenhum sinal a despertar, ou um valor positivo quando um ou mais sinais para
despertar estiverem pendentes (usamos o termo “despertar”, pois um fluxo de execução é
“colocado para dormir” quando tenta entrar em uma região crítica que já está ocupada).
Existem as operações down e up (ou sleep e wakeup). A operação down verifica se o valor é maior
que 0. Se for, ele decrementa um e continua. Se o valor for 0, o processo (ou a thread) é “colocado
para dormir” (bloqueado) sem completar a operação down. É garantido que iniciada uma
operação de semáforo, nenhum outro processo pode acessar o semáforo até que a operação
tenha terminado ou sido bloqueada (ação atômica). Isso evita as condições de corrida.
27
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Vamos imaginar a seguinte situação: há um semáforo que está com o valor 0, ou seja, já tem
processo(s) ocupando a região crítica. Enquanto isso, outros 3 chegam a essa região e “tentam
entrar”, ficando bloqueados. Ao sair da região crítica, é aplicada a operação up (valor do semáforo
passa para 1) e um dos três processos pode entrar (aleatório, fila ou outra maneira de escolher).
Quando tal processo entrar é aplicada a operação down (semáforo passa a ser 0). Resumindo: o
valor do semáforo diz quantos processos podem entrar!
Mutex: versão simplificada do semáforo, quando não for necessário "contar", utilizando-se apenas
os estados “livre” ou “ocupado”. Consequentemente é necessário apenas um bit para representá-
lo, mas na prática geralmente é utilizado um valor inteiro. Quando um processo precisa entrar na
região crítica, ele chama mutex_lock, que será bem-sucedida se a região estiver livre. Caso
contrário, o processo ficará bloqueado até que o processo que estiver na região crítica saia
(mutex_unlock).
Escalonamento de Processos
• Quando um processo termina: não tem motivo para ocupar tempo de processamento após
concluída sua execução;
• Quando um processo é bloqueado em uma operação de E/S ou em um semáforo: não tem
motivo para ficar aguardando “dentro” da CPU por um retorno do dispositivo ou a saída
do semáforo.
Relacionado ao assunto, uma palavra que muitas vezes aparece em sua prova é a preempção, que
é o ato do S.O. utilizar as interrupções do relógio para retirar a CPU do processo em execução.
Ou seja, o processo não pode monopolizar o processador! Quando o sistema não for preemptivo
pode ocorrer uma situação denominada starvation (inanição). Traduzindo, starvation quer dizer
“morrer de fome”, ou seja, aquele processo que nunca consegue chegar ao processador, fica
eternamente aguardando, sempre tem alguém que “fura a fila”.
28
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
• Tempo real: por incrível que pareça a preempção pode ser desnecessária, pois os processos
sabem que não podem ser executados por longos períodos de tempo. Normalmente os
processos realizam suas atividades e são rapidamente bloqueados. Um sistema de tempo
real executa apenas o que é necessário, ex.: radar que registra a velocidade do veículo e
fotografa se ultrapassar um limite.
Alguns algoritmos são convenientes tanto para sistemas de lote como nos interativos, mas vamos
estudar agora apenas aqueles mais utilizados apenas para sistemas de lote.
First-Come First-Served (FCFS): o nome do algoritmo já diz tudo (“O primeiro a chegar é o
primeiro a ser atendido”), ou seja, os processos recebem tempo de CPU na ordem em que
solicitam. Basicamente há uma fila única e os processos vão “entrando” nela, os processos prontos
são executados na ordem da fila e quando um processo é bloqueado (aguardando uma entrada,
por exemplo), ele retorna para o fim da fila quando estiver pronto novamente. Ok, mas e se um
processo começar a ser executado, nunca for bloqueado e tiver uma estimativa de execução de
4h, ele monopolizará o processador esse tempo todo? Isso mesmo! Esse algoritmo é do tipo não-
preemptivo, uma característica de sistemas de lote.
Shortest-Job First (SJF) (“Tarefa mais curta primeiro”): mais um não-preemptivo, mas esse
algoritmo presume que os tempos de execução são conhecidos previamente. Imagine uma
situação em que os jobs (tarefas) de uma empresa são executados há muitos anos e já se sabe que
os jobs do tipo A levam 2 minutos, do tipo B 6 minutos e do tipo C 4 minutos. Os jobs são
agendados à tarde para serem executados às 8h do dia seguinte. Vamos ver como ficaria o
escalonamento para a execução no dia seguinte dos jobs que foram adicionados na ordem B1,
A1, C1, A2 e C2:
Shortest Remaining Time Next (SRT) (“Menor tempo de execução restante”): versão preemptiva
do algoritmo SJF. Nesse algoritmo o escalonador sempre escolhe o job com tempo de execução
mais curto (obviamente o tempo precisa ser conhecido previamente). Quando um novo job chega,
seu tempo é comparado com o que falta para concluir o job corrente. Se o novo precisar de menos
29
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
tempo, o processo corrente é suspenso e o novo é iniciado. Esse esquema permite que jobs novos
curtos tenham uma boa prioridade.
Round-robin: é realizado um rodízio entre os processos, sendo que a cada processo é atribuído
um intervalo de tempo (quantum), durante o qual ele pode ser executado. Se ao final do quantum
o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada a um
outro processo. Obviamente que se o processo tiver terminado antes do quantum ter expirado
ou se tiver sido bloqueado, a troca da CPU é realizada neste momento.
Escalonamento por prioridade: cada processo recebe uma prioridade e o processo pronto, com a
maior prioridade, tem a permissão para executar. Por exemplo, um daemon que envia um e-mail
em segundo plano deveria ter uma prioridade mais baixa do que a de um processo responsável
por uma videoconferência ao vivo.
Para evitar que processos com alta prioridade monopolizem o uso da CPU, o escalonador pode
diminuir a prioridade do processo em execução em cada interrupção de relógio. Se sua prioridade
ficar abaixo da do próximo processo com maior prioridade, deve ocorrer um chaveamento de
processo. Uma alternativa é ar um quantum a cada processo e, quando esse quantum esgotar, é
dada a chance de execução ao próximo processo com maior prioridade.
Escalonamento por múltiplas filas: basicamente os processos são agrupados em classes e cada
classe possui uma prioridade: 1 quantum, 2 quanta (esse é o plural de quantum), 4, 8, e assim por
diante. Na medida em que um processo utiliza todos os quanta destinados a ele, em seguida ele
é movido para a classe seguinte (a que recebe mais quanta). Por exemplo, se um processo precisa
de 50 quanta, primeiro ele recebe 1, depois 2, 4, 8, 16, 32. No total o processo teria recebido 63
quanta, ou seja, na última classe em que esteve (recebendo 32 quanta), na verdade só utilizou 19
e parou a execução, liberando o processador.
Escalonamento garantido: a ideia é “fazer promessas realistas aos usuários sobre o desempenho,
e cumpri-las!”. Como assim? Se houver N usuários trabalhando em uma CPU, cada um recebe
cerca de 1/N do poder dessa CPU! Essa é uma promessa realista simples de cumprir. Para que
essa promessa realmente seja cumprida, o sistema deve monitorar quanto da CPU cada processo
de cada usuário recebeu e dar mais poder de CPU para quem teve menos. Assim ocorre uma
compensação e aos poucos todos usuários terão um uso da CPU similar.
30
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Escalonamento por sorteio: o escalonamento garantido parece uma boa, mas é difícil
implementar! Uma solução mais simples é o algoritmo de escalonamento por sorteio, o qual
fornece “bilhetes de loteria” para os vários recursos do sistema (ex.: tempo de CPU). Quando uma
decisão de escalonamento tiver que ser tomada, um “bilhete” é sorteado e o ganhador recebe o
recurso. Os processos mais importantes podem receber “bilhetes” extras, aumentando as chances
de serem sorteados.
A) Através de preempção.
C) Matando o processo.
Comentários:
Gabarito: Letra A
2. (CONSULPLAN/TRE-RJ - 2017) Quando um processo aguarda por um recurso que nunca estará
disponível ou mesmo um evento que não ocorrerá, acontece uma situação denominada
deadlock (ou como alguns autores denominam: impasse ou adiamento indefinido). Para que
um deadlock ocorra, quatro condições são necessárias. Uma delas tem a seguinte definição:
31
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Espera circular.
B) Exclusão mútua.
C) Não-preempção.
Comentários:
Ou um processo ou outro pode utilizar determinado recurso. O nome é bem intuitivo: exclusão
mútua. Ou seja, se um processo A está utilizando um recurso R, um processo B não pode utilizar
o recurso R ao mesmo tempo! Portanto, a alternativa B está correta e é o gabarito da questão.
Gabarito: Letra B
32
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
II. Se o valor do semáforo é zero, uma chamada de sistema DOWN não será completada e o
processo será suspenso.
III. Quando um processo inicia a execução de uma chamada de sistema UP ou DOWN, nenhum
outro processo terá acesso ao semáforo até que o processo complete a execução ou seja
suspenso.
Comentários:
Em um semáforo existem as operações down e up (ou sleep e wakeup). A operação down verifica
se o valor é maior que 0. Se for, ele decrementa um e continua. Se o valor for 0, o processo (ou a
thread) é “colocado para dormir” (bloqueado) sem completar a operação down. É garantido que
iniciada uma operação de semáforo, nenhum outro processo pode acessar o semáforo até que a
operação tenha terminado ou sido bloqueada (ação atômica). Isso evita as condições de corrida.
Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
Comentários:
33
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Como vimos há pouco, um semáforo possui as operações atômicas up e down. Esse tipo de
variável (semáforo) é ideal para controlar o acesso a regiões críticas, evitando que mais processos
(ou threads) que determinado limite consigam acessar tal região ao mesmo tempo. Isso é o ideal
no compartilhamento de recursos, evitando problemas como, por exemplo, o compartilhamento
de uma impressora (imagine cada processo imprimindo uma página de seu documento ao mesmo
tempo!). Portanto, a questão está correta.
Gabarito: Correta
B) O algoritmo de escalonamento FIFO (First In, First Out) atua na gravação de arquivos em disco,
implementando o conceito de pilha de escalonamento.
Comentários:
(A) O escalonamento garantido é aquele que busca fazer promessas realistas aos usuários sobre o
desempenho; (B) O algoritmo de escalonamento FIFO (First In, First Out) é uma fila, o primeiro a
entrar é o primeiro a sair; (C) Exato! Os preemptivos permitem que um processo seja interrompido
durante sua execução, evitando uma monopolização do uso da CPU; (D) O algoritmo de
escalonamento de múltiplas filas atua com classes de prioridade; (E) Não chegamos a ver na aula.
Trata-se de um escalonador que seleciona os processos que estão na memória secundária e que
serão levados para a memória principal. Portanto, a alternativa C está correta e é o gabarito da
questão.
Gabarito: Letra C
34
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
Um processo CPU-bound é aquele que usa muito o processador, ou seja, raramente é bloqueado.
Por isso os demais devem esperar acabar seu ciclo de uso do processador (quantum). Portanto, a
questão está correta.
Gabarito: Correta
A) o escalonador seleciona o processo à espera com o menor tempo de execução estimado até a
conclusão, reduzindo o tempo médio de espera, mas aumentando a variância dos tempos de
resposta.
B) processos são despachados na ordem FIFO (First-in-First-Out), mas recebem uma quantidade
limitada de tempo de processador denominada quantum.
C) a prioridade de cada processo é uma função não apenas do seu tempo de serviço, mas também
do tempo que passou esperando pelo serviço.
E) o processo que tem o prazo de execução mais curto é favorecido, medindo a diferença entre o
tempo que um processo requer para finalizar e o tempo restante até atingir o seu prazo final.
Comentários:
Algoritmo Round-robin: é realizado um rodízio entre os processos, sendo que a cada processo é
atribuído um intervalo de tempo (quantum), durante o qual ele pode ser executado. Se ao final do
quantum o processo ainda estiver em execução é realizada a preempção da CPU e esta é alocada
a um outro processo. Obviamente que se o processo tiver terminado antes do quantum ter
expirado ou se tiver sido bloqueado, a troca da CPU é realizada neste momento. Portanto, a
alternativa B está correta e é o gabarito da questão.
Gabarito: Letra B
35
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Os processos são executados na ordem em que chegam à fila de espera e executados até o
final, sem nenhum evento preemptivo.
C) O SPF favorece processos longos em detrimento dos mais curtos. Estes, ao chegarem à fila de
espera, são obrigados a aguardar a conclusão dos processos longos que já estiverem em
andamento, para, então, entrar em execução.
D) Os processos são despachados na ordem em que são colocados em espera e recebem uma
quantidade limitada de tempo do processador para execução; além disso, são interrompidos caso
sua execução não se conclua dentro do intervalo de tempo delimitado.
E) O escalonador seleciona o processo que estiver à espera e possuir o menor tempo de execução
estimado e o coloca em execução até a sua conclusão.
Comentários:
Shortest-Job First (SJF) (“Tarefa mais curta primeiro”): algoritmo não-preemptivo, presume que
os tempos de execução sejam conhecidos previamente. Imagine uma situação em que os jobs
(tarefas) de uma empresa são executados há muitos anos e já se sabe que os jobs do tipo A levam
2 minutos, do tipo B 6 minutos e do tipo C 4 minutos. Os jobs são agendados à tarde para serem
executados às 8h do dia seguinte. Vamos ver como ficaria o escalonamento para a execução no
dia seguinte dos jobs (tarefas) que foram adicionados na ordem B1, A1, C1, A2 e C2:
Gabarito: Letra E
36
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) Starvation é uma situação que não pode ocorrer quando um sistema operacional provê
prioridades a processos.
Comentários:
(A) Isso aí... fica um aguardando o outro liberar um recurso, que por sua vez aguarda um terceiro
e por aí vai... (B) Em um escalonamento preemptivo um processo perde o processador se terminar,
ficar bloqueado ou se terminar seu quantum; (C) No algoritmo de escalonamento de processos
Round Robin ocorre um “rodízio”, sendo que cada processo recebe a mesma quantidade de
quantum em uma ordem FIFO; (D) Starvation justamente ocorre quando um sistema operacional
provê prioridades a processos. Imagine o uso do recurso processador, sendo que um processo
tenha a prioridade máxima e um outro tenha a mínima. O primeiro leve 4 dias para terminar a
execução e antes disso outros processos “surgiram” com uma prioridade maior do que aquele
que tem a mínima...quando ele terá acesso ao processador?
Gabarito: Letra A
Do ponto de vista do sistema operacional, a situação indica que a caixa I deve ser preenchida
com?
A) starvation.
37
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) multithreading.
C) superthreading.
D) deadlock.
E) hyperthreading.
Comentários:
Note que a thread 1 está realizando uma operação de impressão, bloqueando o teclado e está à
espera da impressora. A thread 2 está realizando uma operação de E/S, bloqueando a impressora
e à espera do teclado. Ou seja, nenhuma thread libera o recurso que está usando e cada uma quer
um recurso que a outra possui. As duas ficarão “trancadas”, esperando... isso é um deadlock!
Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
9. (CONSULPLAN/TRE-RJ - 2017) Quando um processo aguarda por um recurso que nunca estará
disponível ou mesmo um evento que não ocorrerá, acontece uma situação denominada
deadlock (ou como alguns autores denominam: impasse ou adiamento indefinido). Para que
um deadlock ocorra, quatro condições são necessárias. Uma delas tem a seguinte definição:
"cada recurso só pode estar alocado a um único processo em um determinado instante".
Assinale a alternativa que apresenta tal condição.
A) Espera circular.
B) Exclusão mútua.
C) Não-preempção.
Comentários:
Ou um processo ou outro pode utilizar determinado recurso. O nome é bem intuitivo: exclusão
mútua. Ou seja, se um processo A está utilizando um recurso R, um processo B não pode utilizar
o recurso R ao mesmo tempo! Portanto, a alternativa B está correta e é o gabarito da questão.
Gabarito: Letra B
38
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Round Robin.
B) de tempo compartilhado.
D) preemptiva.
E) não preemptiva.
Comentários:
Uma política de escalonamento não-preemptiva é aquela que um recurso não pode ser retirado
de um processo, a não ser que “ele queira”. Imagine um processo que comece a utilizar a CPU e
==22f849==
fique utilizando por 1h. Além disso digamos que há uma certa prioridade entre os processos e
existe uma demanda muito grande pelo uso da CPU. Pode ocorrer que um processo com
prioridade baixa jamais seja executado! Ou seja, starvation! Portanto, a alternativa E está correta
e é o gabarito da questão.
Gabarito: Letra E
A) árvore de processos.
B) lista de bloqueados.
C) tabela de processo.
D) região de pilha.
E) lista de prontos.
Comentários:
Existe uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a
informação necessária para tratar um determinado processo. Trata-se do Bloco de Controle do
Processo (PCB - Proccess Control Block). Como o PCB possui informações críticas do processo ele
deve ficar armazenado em uma área da memória protegida do acesso de usuários. Geralmente as
informações contidas em um PCB incluem:
39
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra C
12. (COMPERVE/UFRN - 2018) Sistemas operacionais modernos têm uma gerência de processos
e de threads bem definida. Nesse contexto, é correto afirmar:
C) todas as variáveis de uma thread são compartilhadas com as outras threads do mesmo processo.
D) todos os contextos de uma thread são compartilhados com as outras threads do mesmo
processo.
Comentários:
A figura abaixo ajuda a entender. Note que existem 3 threads em um único processo, ou seja, 3
fluxos de execução do mesmo código. Por exemplo: um editor de textos com 3 threads é
carregado na memória, uma responsável pela correção gramatical, uma pela contagem de
palavras e a outra pelo resto (na "vida real" existem bem mais, claro). Então o processo é
carregado na memória, no endereçamento X a Y, os fluxos de execução das 3 threads ocorrem
“quase em paralelo” e todos eles estarão entre X e Y!
Gabarito: Letra A
40
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) Round Robin.
Comentários:
Processamento em lote não possui interação, os processos são colocados lá e podem ser
executados na sequência. Quando a natureza das tarefas for adequada a esse tipo de
processamento, a grande vantagem é que não há perda de desempenho com chaveamentos de
contexto! Desse modo, os algoritmos apresentados o mais adequado seria o “Primeiro a chegar,
primeiro a ser servido”, pois segue a ordem de chegada e não tem chaveamento de processos
com a designação de um quantum a cada um. Portanto, a alternativa A está correta e é o gabarito
da questão.
Gabarito: Letra A
A) Através de preempção.
C) Matando o processo.
Comentários:
41
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra A
Comentários:
Gabarito: Errada
C) a thread permite que apenas uma execução ocorra no mesmo ambiente do processo.
D) os sinais são mecanismos que permitem notificar o sistema operacional de eventos gerados
pelo processador.
Comentários:
(A) Processo é um programa em execução; (B) Melhor ver na figura abaixo; (C) Thread permite
que fluxos de execução em um mesmo processo ocorram quase que em paralelo; (D) Interrupções
são mecanismos que permitem notificar o sistema operacional de eventos gerados pelo
processador; (E) escalonamento é a escolha do processo, em estado de pronto.
42
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra B
17. (CESPE/TJ-PA - 2020) No Linux, um processo, por si só, não é elegível para receber tempo de
CPU. Essa ação depende, basicamente, do seu estado da execução. O processo está
administrativamente proibido de executar no estado
A) pronto.
B) dormente.
C) executável.
D) parado.
E) zumbi.
Comentários:
Para quem já estudou a aula de Linux fica mais fácil, mas digamos que você não tenha estudado
e se depara com uma questão assim. E aí? Vamos ver a figura novamente e tentar por eliminação:
(C) Executável - parece ser o equivalente ao pronto, pois é "executável", pode ser executado;
(D) Parado - parece o equivalente ao "bloqueado", pois está parado esperando algo (ex.: leitura
de HD);
43
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Com essa análise, mesmo sem ter estudado Linux, daria para marcar a alternativa D, não é? A
alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
44
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
II. Se o valor do semáforo é zero, uma chamada de sistema DOWN não será completada e o
processo será suspenso.
III. Quando um processo inicia a execução de uma chamada de sistema UP ou DOWN, nenhum
outro processo terá acesso ao semáforo até que o processo complete a execução ou seja
suspenso.
B) O algoritmo de escalonamento FIFO (First In, First Out) atua na gravação de arquivos em disco,
implementando o conceito de pilha de escalonamento.
45
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) o escalonador seleciona o processo à espera com o menor tempo de execução estimado até a
conclusão, reduzindo o tempo médio de espera, mas aumentando a variância dos tempos de
resposta.
B) processos são despachados na ordem FIFO (First-in-First-Out), mas recebem uma quantidade
limitada de tempo de processador denominada quantum.
C) a prioridade de cada processo é uma função não apenas do seu tempo de serviço, mas também
do tempo que passou esperando pelo serviço.
E) o processo que tem o prazo de execução mais curto é favorecido, medindo a diferença entre o
tempo que um processo requer para finalizar e o tempo restante até atingir o seu prazo final.
A) Os processos são executados na ordem em que chegam à fila de espera e executados até o
final, sem nenhum evento preemptivo.
C) O SPF favorece processos longos em detrimento dos mais curtos. Estes, ao chegarem à fila de
espera, são obrigados a aguardar a conclusão dos processos longos que já estiverem em
andamento, para, então, entrar em execução.
46
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) Os processos são despachados na ordem em que são colocados em espera e recebem uma
quantidade limitada de tempo do processador para execução; além disso, são interrompidos caso
sua execução não se conclua dentro do intervalo de tempo delimitado.
E) O escalonador seleciona o processo que estiver à espera e possuir o menor tempo de execução
estimado e o coloca em execução até a sua conclusão.
em estado de espera.
D) Starvation é uma situação que não pode ocorrer quando um sistema operacional provê
prioridades a processos.
Do ponto de vista do sistema operacional, a situação indica que a caixa I deve ser preenchida
com?
A) starvation.
B) multithreading.
C) superthreading.
D) deadlock.
47
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) hyperthreading.
9. (CONSULPLAN/TRE-RJ - 2017) Quando um processo aguarda por um recurso que nunca estará
disponível ou mesmo um evento que não ocorrerá, acontece uma situação denominada
deadlock (ou como alguns autores denominam: impasse ou adiamento indefinido). Para que
um deadlock ocorra, quatro condições são necessárias. Uma delas tem a seguinte definição:
"cada recurso só pode estar alocado a um único processo em um determinado instante".
Assinale a alternativa que apresenta tal condição.
A) Espera circular.
B) Exclusão mútua.
C) Não-preempção.
A) Round Robin.
B) de tempo compartilhado.
D) preemptiva.
E) não preemptiva.
A) árvore de processos.
B) lista de bloqueados.
C) tabela de processo.
D) região de pilha.
48
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) lista de prontos.
12. (COMPERVE/UFRN - 2018) Sistemas operacionais modernos têm uma gerência de processos
e de threads bem definida. Nesse contexto, é correto afirmar:
C) todas as variáveis de uma thread são compartilhadas com as outras threads do mesmo processo.
D) todos os contextos de uma thread são compartilhados com as outras threads do mesmo
processo.
B) Round Robin.
A) Através de preempção.
C) Matando o processo.
49
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
C) a thread permite que apenas uma execução ocorra no mesmo ambiente do processo.
D) os sinais são mecanismos que permitem notificar o sistema operacional de eventos gerados
pelo processador.
17. (CESPE/TJ-PA - 2020) No Linux, um processo, por si só, não é elegível para receber tempo de
CPU. Essa ação depende, basicamente, do seu estado da execução. O processo está
administrativamente proibido de executar no estado
A) pronto.
B) dormente.
C) executável.
D) parado.
E) zumbi.
50
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GABARITO
1- D 7- A 13- A
2- Correta 8- D 14- A
3- C 9- B 15- Errada
4- Correta 10- E 16- B
5- B 11- C 17- D
6- E 12- A
51
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GERÊNCIA DE MEMÓRIA
O componente central de um sistema operacional que determina o local da memória onde deverá
ser colocado o código de um novo processo, lido de um arquivo previamente armazenado em um
dispositivo de entrada e saída (HD, por exemplo) é denominado gerenciador de memória.
1. Blocos de memória estão alocados e disponíveis para serem utilizados pelo programa, mas
não são acessíveis porque a aplicação não tem nenhum ponteiro apontando para essa área
de memória. Ou seja, tais blocos de memória não podem ser utilizados nem pelo programa
nem por outros processos (ficam alocados e sem acesso!);
2. Blocos de memória possuem dados que poderiam ser liberados por estarem inacessíveis e
que, por algum “esquecimento”, ainda são referenciados no código. Ou seja, mesmo sem
estarem sendo usados, não podem ser liberados.
Blocos de memória estão alocados e disponíveis para serem utilizados pelo programa, mas não
são acessíveis.
Blocos de memória possuem dados que poderiam ser liberados por estarem inacessíveis e que,
por algum “esquecimento”, ainda são referenciados no código.
Os gerenciadores de memória podem ser divididos em duas classes: os que alternam os processos
entre a memória principal e o disco durante a execução (swapping) e os que não alternam. Nosso
foco será na primeira classe, visto que é basicamente o que é utilizado há um bom tempo e o que
é cobrado em concurso!
Quando existe mais de um processo na memória por vez (o que é o mais comum), alguma forma
de organização da memória deve ser estabelecida. A mais simples é a divisão da memória em N
partições (possivelmente com tamanhos diferentes, porém de tamanho fixo). Tais partições podem
ser estabelecidas na configuração do sistema operacional, por exemplo.
52
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Ao ser inicializado, um processo pode ser colocado em uma fila de entrada para ocupar a menor
partição de tamanho suficiente para carregá-lo. Como as partições são fixas, qualquer espaço em
uma partição não utilizado pelo processo é desperdiçado, afinal de contas apenas um processo
pode ocupar uma partição.
Basicamente pode-se adotar a estratégia de ter uma fila para cada partição (de acordo com o
tamanho do processo, para evitar tanto desperdício) ou uma fila única (mais fácil de implementar,
mas não evita desperdício. A figura a seguir ajuda a esclarecer (detalhe: se o processo tiver
tamanho menor ou igual a 100 KB, ele pode ir para a fila da partição 1 ou 4, se for adotada a
estratégia de fila por partição).
Essa estratégia com partições fixas definidas pelo operador foi utilizada pelo sistema operacional
OS/360 (mainframes da IBM) e era chamado de MFT (Multiprograming with a Fixed number of
Task). Como vimos ele é simples de se entender e de implementar e, embora seja considerado
obsoleto, cai em prova de concurso!
Swapping
Há momentos em que não há memória principal suficiente para todos os processos ativos, de
maneira que os processos excedentes devem ser mantidos em disco e trazidos para a memória
dinamicamente. Para isso pode ser usado uma das seguintes estratégias:
• Swapping: traz cada processo em sua totalidade, executa-o por algum tempo e o coloca
novamente no disco;
• Memória virtual: os programas podem ser executados mesmo estando apenas parcialmente
na memória principal.
53
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Podemos ver a memória em diferentes instantes de tempo, sendo que o S.O. ocupa uma pequena
parte (embaixo) e o restante é destinado para processos do usuário. Inicialmente apenas o
processo A foi carregado, em seguida o processo B e depois o C. Quando falamos “carregado”
pode ser porque acabou de ser criado ou foi recuperado do disco. Digamos que o processo D
precisa ser carregado, porém não há espaço para ele. Então A foi colocado em disco e D foi
colocado em seu lugar (na verdade sobrou espaço). Na sequência foi necessário carregar A, e para
isso B teve que ser retirado da memória e colocado em disco.
Na figura podemos ver que fragmentos são criados na medida que processos são carregados ou
retirados da memória. Para evitar isso é possível utilizar a técnica de compactação de memória,
que move os processos “para baixo” quando há algum espaço livre, deixando a parte “de cima”
sem fragmentos. Por exemplo, na parte (d) da figura os processos B e C seriam deslocados para
baixo, “encostando” no S.O. Porém, essa técnica exige muito tempo de CPU e geralmente não é
utilizada.
54
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Na figura vemos:
(a) um pedaço da memória contendo 4 processos (A, B, C e D). Observamos também quantas
unidades de alocação cada processo ocupa: A = 5, B = 6, C = 3 e D = 6. Se a unidade de
alocação tiver 4KB, por exemplo, o processo A teria o tamanho entre (16KB + 1 byte) e
20KB, pois não há garantia que o processo ocupará toda a última unidade de alocação
(seria muita “sorte”);
(b) um mapa de bits correspondente ao pedaço de memória mostrado em (a), ou seja, para
cada unidade de alocação ocupada há um bit 1 e para cada unidade de alocação livre existe
um bit 0. Você pode contar cinco bits 0 apenas, pois são correspondentes àqueles
“quadrados pintados” e ainda pode ver que eles aparecem nas posições 6, 7, 8, 18 e 19.
O resto das unidades de alocação está ocupado (bit 1);
(c) uma lista encadeada reapresentando as mesmas informações mostradas no item (b), da
seguinte forma: “P” representa que está ocupado por um processo, o campo seguinte
informa a posição inicial, o seguinte a posição final e o último campo é um ponteiro para o
próximo nodo da lista. Se estiver livre, no lugar “P” é colocado um “L”.
55
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
O problema principal do mapa de bits é que quando se decide trazer um processo de N unidades
de alocação para a memória, o gerenciador de memória deve pesquisar no mapa de bits uma
sequência de N bits 0 consecutivos no mapa. Tal operação é lenta, motivo pelo qual essa
estratégia ser evitada na prática, mas...é cobrada em concurso!
Gerenciamento de memória com listas encadeadas: uma outra maneira de gerenciar a memória é
manter uma lista de alocações e segmentos de memória livre, onde um segmento é um processo
ou um espaço livre entre dois processos. Podemos voltar à figura mostrada no mapa de bits e
verificar que no item (c) há uma lista encadeada de segmentos e em cada nodo podemos ver se
aquele “pedaço” está ocupado por um processo (P) ou livre (L). Quando um processo é terminado,
ao seu lado podemos ter outros processos ou espaços livres. Quatro situações podem ocorrer
(“X” é o processo que vai finalizar sua execução):
Memória Virtual
Um fato notório na evolução da informática é que o tamanho dos programas vem superando a
quantidade de memória disponível para carregá-los. Uma solução que geralmente era adotada no
passado era a divisão do programa em partes (overlays). O overlay 0 começa a ser executado
primeiro. Quando finaliza, o próximo overlay é executado, e assim sucessivamente. Os overlays
eram mantidos em disco e permutados para a memória pelo sistema operacional.
O grande problema é que a divisão do programa era deixada a cargo do programador, então
dependia da habilidade desse profissional. Surgiu então um método que deixa esse
particionamento do programa a cargo do sistema operacional: a memória virtual. A ideia básica é
que a combinação do tamanho do programa, dados e pilha, pode exceder a quantia de memória
física disponível. Por exemplo, você pode ter uma máquina com 8GB de memória RAM e ter
diversos processos em execução, totalizando 10GB (2GB a mais que a memória física).
Qual a mágica? O S.O. mantém aquelas partes do programa correntemente em uso na memória
principal e o resto no disco. Digamos que um programa de tamanho 50MB esteja executando em
uma máquina que aloca 5MB de memória por processo, escolhendo-se cuidadosamente quais dos
5MB será mantido na memória a cada instante, com segmentos sendo permutados entre disco e
56
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
memória assim que forem necessários. Vamos ver a seguir duas formas de implementar a memória
virtual: a segmentação e a paginação.
Cada entrada na tabela mantém o endereço físico do segmento, o tamanho do segmento, se ele
está ou não na memória e sua proteção. Para isso, o S.O. mantém uma tabela com as áreas livres
e ocupadas da memória e somente segmentos referenciados são transferidos para a memória
principal. Nesse modelo ocorre fragmentação externa, pois internamente não “sobra espaço”,
mas externamente sempre pode ficar um “pedaço” pequeno sem uso, entre dois segmentos.
Imagine a seguinte situação: o usuário executa diversos programas, encerra alguns, abre outros,
e assim por diante. Em algum momento existem os processos 1, 2, 3 e 4 no “espaço do usuário”,
os primeiros três com tamanho semelhante (3,9 KB, 4 KB e 4,2 KB) e o quarto com tamanho 6 KB,
além de outros processos. Esses outros processos foram terminados e apenas os quatro ficaram
na memória (fora os processos do S.O.). Uma configuração possível seria a seguinte:
Paginação: técnica utilizada pela maioria dos sistemas com memória virtual. Em qualquer
computador existe um determinado conjunto de endereços de memória que programas podem
referenciar. Trata-se de endereços virtuais que formam o espaço virtual de endereçamento do
processo. Em computadores sem memória virtual, o endereço virtual é colocado diretamente no
barramento de memória uma palavra da memória física com mesmo endereço é lida ou escrita.
Com o uso da memória virtual, os endereços de memória não vão diretamente para o barramento
de memória, eles vão à unidade de gerenciamento de memória (MMU - Memory Management
Unit), um hardware específico que mapeia os endereços virtuais em endereços da memória física:
57
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Vamos ver um exemplo de um computador que pode gerar endereços de 16 bits (216 = 65536 =
64KB). Esses são os endereços virtuais. Agora imagine que tal computador tenha somente 32KB
de memória física, então embora programas de 64KB possam ser escritos, eles não podem ser
carregados totalmente para a memória para serem executados. Uma cópia completa do programa
==22f849==
deve estar presente no disco e segmentos desse programa podem ser carregados para a memória
pelo sistema na medida em que se tornem necessários.
A MMU reconhece que o endereço 9000 fica na página 2, que é mapeada para o quadro 6 (veja
a figura). A transformação do endereço é realizada e colocada no barramento. A tabela de
58
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
memória nem sabe da existência da MMU! Apenas sabe de uma requisição para leitura ou escrita
no endereço 9000. Então, a MMU mapeou todo endereço virtual entre 8192 e 12287 (página 2)
em endereço físico de 24576 a 28671 (quadro 6).
Agora digamos que o programa queira acessar o endereço 24576 (exatamente o 1º byte da página
6). Olhando na figura verificamos que se trata de uma página ausente! A MMU verifica que a
página não está mapeada e força a CPU a causar uma interrupção ( trap) no sistema operacional.
Essa interrupção é chamada falta de página (page fault). O S.O. remove o quadro menos usado e
escreve seu conteúdo de volta no disco. Ele então busca a página referenciada para o quadro
liberado, atualiza o mapa, e retorna à instrução interrompida.
Como as páginas são do mesmo tamanho (ex.: 4KB), é muito provável que a última página de um
processo tenha um espaço não utilizado. Imagine um processo com tamanho 9KB, ele precisa de
3 páginas (2 “completas” + 1 usando apenas 1KB dos 4KB). Isso é conhecido como fragmentação
interna, pois existem as páginas de tamanho fixo e algumas ficarão sem ser preenchidas (e nenhum
outro processo pode utilizá-las).
A partir do momento que processos (P) e espaços livres (L) são mantidos na lista ordenada por
endereços, algoritmos podem ser utilizados para alocar memória, com o objetivo de criar ou
permutar processos. Esses algoritmos são chamados quando o gerenciador de memória precisa
de um segmento de memória de N bytes. Vamos analisar esses algoritmos a seguir.
First-fit: procura ao longo da lista de segmentos até encontrar um espaço livre de tamanho maior
ou igual a N. Caso o espaço livre seja maior que N, o espaço livre é quebrado em dois segmentos:
um para o processo (N bytes) e o outro para a memória que não foi utilizada. É um algoritmo
rápido pois termina a busca o mais cedo possível.
Next-fit: funciona da mesma forma que o First-fit, com uma exceção: guarda a posição da lista
onde o último espaço livre foi alocado. Quando for chamado novamente, o algoritmo começa a
procurar a partir desse ponto.
Best-fit: procura pela lista inteira e “pega” o espaço livre de tamanho mais próximo de N. É lento
e cria na memória espaços livres pequenos que dificilmente serão alocados. Porém, para N grande,
esse algoritmo aumenta as chances de se encontrar na lista um espaço livre de tamanho adequado,
visto que minimiza o uso espaços livres grandes para atender requisições pequenas. Imagine que
um bloco de tamanho 2 seja solicitado, o algoritmo First-fit alocaria o espaço livre 6-7, e o Best-fit
o espaço livre 18-19:
59
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Quick-fit: mantém listas separadas para tamanhos comumente solicitados, como por exemplo:
uma lista para espaços livres de tamanho 4KB, outra para espaços de 8KB, e assim sucessivamente.
Com esse algoritmo encontra-se um espaço livre de tamanho requerido muito rapidamente, mas
com a desvantagem de todos os esquemas de classificar os espaços livres por tamanho. Ou seja,
quando um processo termina ou é permutado para o disco, determinar seus vizinhos para uma
possível fusão é uma operação custosa. Se fusões não forem realizadas, a memória rapidamente
se fragmentará em um grande número de pequenos espaços livres não utilizáveis.
Ótimo: quando ocorre uma falta de página, um determinado conjunto de páginas está na
memória. Uma dessas páginas será referenciada em muitas das próximas instruções. Outras
páginas não serão referenciadas antes de 10, 100, ou quem sabe 1000 instruções. Cada página
pode ser “marcada” com o número de instruções que serão executadas antes que a página seja
inicialmente referenciada.
O algoritmo simplesmente diz que a página com o maior rótulo deve ser removida, adiando-se o
máximo possível a próxima falta de página. O único problema é que ele não é realizável. No
momento da falta de página, o sistema operacional não tem como saber quando cada página será
referenciada.
NRU (Not Recently Used) “Não Recentemente Usada”: para que o S.O. saiba quais páginas são e
quais não são utilizadas recentemente, muitos computadores com memória virtual possuem 2 bits
associados à cada página. Um bit R (Referência) é ativado pelo hardware em qualquer leitura ou
escrita de página, ou seja, se houve uma referência, marca com o bit 1. O outro bit, M
(Modificação), é ativado pelo hardware quando uma página é escrita (modificada). É importante
que esses bits sejam atualizados em qualquer referência de memória, assim, é essencial que eles
sejam ativados pelo hardware. Uma vez que um bit foi ativado, ele permanece ativado até que o
sistema operacional o desative (por software).
Os bits R e M podem ser usados para construir o algoritmo NRU, da seguinte forma: quando um
processo é iniciado, ambos os bits de página (para todas as páginas) são declarados 0 pelo sistema
operacional. A cada interrupção de relógio o bit R é zerado, para distinguir páginas que não foram
referenciadas recentemente daquelas que tenham sido.
Quando uma falta de página ocorre, o S.O. verifica todas as páginas e as classifica em 4 categorias
baseado nos valores correntes de seus bits R e M:
60
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Interrupções de relógio não zeram o bit M porque essa informação é necessária para determinar
se uma página terá que ser reescrita no disco ou não. O algoritmo NRU remove uma página
aleatória da classe não vazia de numeração mais baixa (classe 0). As características principais do
NRU é que ele é fácil de entender, eficiente e gera um desempenho que é tido como adequado.
LRU (Least Recently Used) “Menos Usada Recentemente”: quando ocorre uma falta de página,
retira-se a página que não tem sido usada por um tempo longo. É um algoritmo teoricamente
realizável, porém seu custo é alto. Para sua implementação completa, é necessário manter uma
lista encadeada de todas as páginas em memória, com a página mais recentemente usada no início
e a menos recentemente usada no fim.
A dificuldade é que a lista deve ser atualizada em toda referência (leitura ou escrita) de memória.
Encontrar a página na lista, removê-la de sua posição atual e movê-la para o início representa um
grande esforço computacional!
FIFO (First In, First Out): o S.O. mantém uma lista de todas as páginas correntes na memória,
sendo a página da “cabeça” da lista a mais antiga e a página do fim a carregada mais
recentemente. Em uma falta de página, a página da cabeça é removida e a nova página carregada
é acrescentada no fim da lista. É a tradicional fila que estamos acostumados em diversas situações
na vida!
Segunda chance: no algoritmo FIFO pode ocorrer de uma página muito utilizada ser retirada, pois
sua vez chegou no andamento da fila! Para dar uma “segunda chance” existe uma variação em
relação ao FIFO. A ideia é que primeiro seja examinada a página mais antiga como uma candidata
a ser removida. Se seu bit R (Referência) for 0, a página é trocada imediatamente. Se o bit R for 1,
o bit é zerado e a página é colocada no fim da lista de páginas (essa é a segunda chance da
página!). Dessa forma a pesquisa continua. Resumindo: O algoritmo segunda chance busca por
uma página antiga que não tem sido referenciada na interrupção de relógio anterior.
Relógio: utiliza uma lista ordenada de forma circular tal como um relógio. O ponteiro do relógio
aponta para a página mais antiga e assim que ocorrer uma falta a página mais antiga é verificada.
Se o bit R dessa página for 0 ela é substituída, caso contrário esse bit é zerado e o ponteiro aponta
para a próxima página mais antiga. Esse processo é então repetido até a próxima página com o
bit R=0 ser encontrada.
61
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
Um fato notório na evolução da informática é que o tamanho dos programas vem superando a
quantidade de memória disponível para carregá-los. Uma solução que geralmente era adotada no
passado era a divisão do programa em partes (overlays). O overlay 0 começa a ser executado
primeiro. Quando finaliza, o próximo overlay é executado, e assim sucessivamente. Os overlays
eram mantidos em disco e permutados para a memória pelo sistema operacional. Portanto, a
alternativa A está correta e é o gabarito da questão.
Gabarito: Letra A
B) Apresenta como vantagem gerar fragmentação externa apenas na última página do processo.
62
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) É um método de gerência de memória usado apenas em sistemas que empregam memória real.
Comentários:
Paginação: técnica utilizada pela maioria dos sistemas com memória virtual. Em qualquer
computador existe um determinado conjunto de endereços de memória que programas podem
referenciar. Trata-se de endereços virtuais que formam o espaço virtual de endereçamento do
processo. Em computadores sem memória virtual, o endereço virtual é colocado diretamente no
barramento de memória uma palavra da memória física com mesmo endereço é lida ou escrita.
Gabarito: Letra A
63
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Memória Virtual;
B) Multiprocessamento;
C) Compressão de Dados;
D) "Best Fit";
E) Temporização.
Comentários:
O nome já é bem intuitivo: “memória virtual” é aquela que não é a real (física). Podemos ter uma
memória virtual maior que a real e ocorre swapping entre a memória real e o disco. No fim o disco
acaba sendo a extensão da memória real, para “fingir” que a memória é maior do que realmente
é! Podemos, por exemplo, executar processos que totalizem 5GB com uma memória RAM de
4GB! Portanto, a alternativa A está correta e é o gabarito da questão.
Gabarito: Letra A
Comentários:
64
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
(A) Os segmentos são utilizados pela técnica de segmentação, não o de paginação! (B) “Quem”
gera a fragmentação externa é a técnica de segmentação; (C) Paginação divide o espaço de
endereçamento em páginas do mesmo tamanho (ex.: 4KB); (D) Gera fragmentação interna sim, na
última página. Pode ocorrer de não ter a fragmentação, se o processo tiver o tamanho múltiplo
do tamanho da página, ex.: página = 4KB e processo = 12KB exatos! (E) Apenas a interna, pois
todas páginas possuem o mesmo tamanho e ela pode estar ocupada (processo) ou livre. Portanto,
a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
C) gerenciador de memória.
D) escalonador de processos.
Comentários:
O componente central de um sistema operacional que determina o local da memória onde deverá
ser colocado o código de um novo processo, lido de um arquivo previamente armazenado em um
dispositivo de entrada e saída (HD, por exemplo) é denominado gerenciador de memória.
Gabarito: Letra C
Comentários:
65
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A questão está falando de memória virtual e swapping. Portanto, a questão está errada.
Gabarito: Errada
Comentários:
De forma detalhada podemos afirmar que “Há momentos em que não há memória principal
suficiente para todos os processos ativos, de maneira que os processos excedentes devem ser
mantidos em disco e trazidos para a memória dinamicamente. Para isso pode ser usado uma das
seguintes estratégias:”
• Swapping: traz cada processo em sua totalidade, executa-o por algum tempo e o coloca
novamente no disco;
• Memória virtual: os programas podem ser executados mesmo estando apenas parcialmente
na memória principal.
Note que a estratégia swapping transfere o processo por completo, enquanto a memória virtual
permite partes.
Gabarito: Correta
Dentre as políticas básicas mais utilizadas, há uma que opta por substituir a página que está
há mais tempo sem ser referenciada, sendo conhecida como
A) FIFO.
B) LIFO.
C) Optimal.
D) LRU.
E) Clock Policy.
66
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
Vamos prestar atenção nesta parte: “substituir a página que está há mais tempo sem ser
referenciada”. Ou seja, a que recentemente está sendo pouco usada. Vamos analisar cada sigla:
(A) FIFO = First In, First Out (uma fila); (B) LIFO = Last In, First Out (uma pilha, nem vimos nesta
aula); (C) O algoritmo ótimo é aquele que “prevê” o futuro, não é implementável; (D) Least
Recently Used = Menos Utilizado Recentemente (Opa! Só pela sigla já matamos a xarada!); (E) O
relógio é aquele aprimoramento do algoritmo FIFO que considera também o bit R. Melhor
relembrar o exemplo:
Gabarito: Letra D
III O processo que sofre a falta de página passa para o estado de espera até que a página seja
carregada na memória cache.
IV A falta de página é corrigida com a carga da página em falta, da memória virtual para a
memória física.
A) II e III.
B) I e III.
C) II e IV.
D) I e IV.
Comentários:
67
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
(I) É responsabilidade do hardware (gera uma interrupção ao S.O.); (II) Isso mesmo, conforme
acabamos de ver; (III) Nada disso, leia a IV; (IV) Agora sim! Faltou página? Tem que buscar no disco
e carregar na memória! Portanto, a alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
Comentários:
1. Blocos de memória estão alocados e disponíveis para serem utilizados pelo programa, mas não
são acessíveis porque a aplicação não tem nenhum ponteiro apontando para essa área de
memória. Ou seja, tais blocos de memória não podem ser utilizados nem pelo programa nem por
outros processos (ficam alocados e sem acesso!);
2. Blocos de memória possuem dados que poderiam ser liberados por estarem inacessíveis e que,
por algum “esquecimento”, ainda são referenciados no código. Ou seja, mesmo sem estarem
sendo usados, não podem ser liberados.
Gabarito: Letra B
B) Apresenta como vantagem gerar fragmentação externa apenas na última página do processo.
68
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) É um método de gerência de memória usado apenas em sistemas que empregam memória real.
Comentários:
Paginação: técnica utilizada pela maioria dos sistemas com memória virtual. Em qualquer
computador existe um determinado conjunto de endereços de memória que programas podem
referenciar. Trata-se de endereços virtuais que formam o espaço virtual de endereçamento do
processo. Em computadores sem memória virtual, o endereço virtual é colocado diretamente no
barramento de memória uma palavra da memória física com mesmo endereço é lida ou escrita.
Gabarito: Letra A
10. (CESPE/EBSERH - 2018) Uma das técnicas mais complexas para o gerenciamento do uso de
memória é o mapa de bites, que consiste em manter uma lista encadeada de segmentos de
memória alocados e disponíveis.
Comentários:
Gabarito: Errada
69
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) Ótimo.
E) Segunda chance.
Comentários:
Esse algoritmo é o mais simples de entender. É uma fila que estamos acostumados no dia a dia.
O primeiro a entrar é o primeiro a sair, sem prioridades ou coisas do tipo. Pode ser implementado
com vetor, lista (claro que lista é melhor). Estamos falando do FIFO e o examinador ajudou
colocando o significado da sigla entre parênteses. Portanto, a alternativa A está correta e é o
gabarito da questão.
Gabarito: Letra A
12. (COMPERVE/UFRN - 2018) Suponha uma memória composta por 5 partições fixas, sendo elas
de 500MB (reservado e totalmente ocupado pelo sistema operacional), 200MB, 100MB, 74MB
e 300MB, exatamente nesta ordem. O usuário lançou 4 processos A, B, C e D de tamanhos
99MB, 70MB, 250MB e 190MB, respectivamente. Logo em seguida, ele lança o processo E de
87 MB. Sabendo que a alocação da partição visa minimizar a fragmentação interna e que o
sistema operacional utiliza memória virtual, o valor que corresponde à área da fragmentação
interna da memória após a inserção do processo E é de
A) 87 MB.
B) 70 MB.
C) 77 MB.
D) 91 MB.
70
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
Como não há mais partição livre e há memória virtual, temos que eleger um para tirar da memória
(colocar no disco). A questão não fala em algoritmo para isso, mas sabemos que queremos evitar
a fragmentação interna. Então devemos escolher a partição em que melhor se “encaixa” o
processo E: a partição de tamanho 100 MB. Depois de tirar o processo A da memória e colocar o
processo E em “seu lugar”, é só fazer o cálculo do espaço livre. ☺
Gabarito: Letra C
Comentários:
71
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Best-fit: procura pela lista inteira e “pega” o espaço livre de tamanho mais próximo de N. É lento
e cria na memória espaços livres pequenos que dificilmente serão alocados. Porém, para N grande,
esse algoritmo aumenta as chances de se encontrar na lista um espaço livre de tamanho adequado,
visto que minimiza o uso espaços livres grandes para atender requisições pequenas. Imagine que
um bloco de tamanho 2 seja solicitado, o algoritmo First-fit alocaria o espaço livre 6-7, e o Best-fit
o espaço livre 18-19:
(A) A melhor partição é escolhida, considerando que “melhor” quer dizer a que mais se “encaixa”,
sobrando menos espaço de desperdício (que no fim causa fragmentações); (B) Exatamente o que
vimos na explicação da A; (C) Essa está errada, é o oposto! A “melhor” é escolhida, conforme
vimos na explicação da A; (D) No desenho que vemos acima temos uma única lista de processos
e “partes” livres, mas é possível a implementação com listas de partições livres ordenadas por
tamanho (inclusive melhora o desempenho); (E) Como o best-fit procura a partição em que o
processo melhor se “encaixa”, sobram espaços pequenos (o que aumenta a fragmentação nas
partições).
Gabarito: Letra C
Comentários:
Um fato notório na evolução da informática é que o tamanho dos programas vem superando a
quantidade de memória disponível para carregá-los. Uma solução que geralmente era adotada no
72
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
passado era a divisão do programa em partes (overlays). O overlay 0 começa a ser executado
primeiro. Quando finaliza, o próximo overlay é executado, e assim sucessivamente. Os overlays
eram mantidos em disco e permutados para a memória pelo sistema operacional. Portanto, a
alternativa A está correta e é o gabarito da questão.
Gabarito: Letra A
Comentários:
First-fit poderia ser traduzido para algo como “primeiro a se encaixar”. E é isso que ele faz! A
primeira partição livre de tamanho suficiente é escolhida e a busca para nesse momento. Não tem
cálculos com alto poder de processamento, só compara o tamanho livre com o tamanho do
processo. É mais rápida que best-fit e worst-fit, pois essas duas precisam percorrer toda a lista!
Por isso tudo, consome menos recursos! Podem ser implementadas listas com as áreas livres para
tornar mais rápida a busca (mas não é obrigatório), ordenadas pelo tamanho livre e endereço. A
errada é a alternativa B porque não existem cálculos complexos! Apenas escolhe a primeira
partição livre!
Gabarito: Letra B
73
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) Memória Virtual;
B) Multiprocessamento;
C) Compressão de Dados;
D) "Best Fit";
E) Temporização.
C) gerenciador de memória.
D) escalonador de processos.
74
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Dentre as políticas básicas mais utilizadas, há uma que opta por substituir a página que está
há mais tempo sem ser referenciada, sendo conhecida como
A) FIFO.
B) LIFO.
C) Optimal.
D) LRU.
E) Clock Policy.
III O processo que sofre a falta de página passa para o estado de espera até que a página seja
carregada na memória cache.
IV A falta de página é corrigida com a carga da página em falta, da memória virtual para a
memória física.
A) II e III.
75
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) I e III.
C) II e IV.
D) I e IV.
B) Apresenta como vantagem gerar fragmentação externa apenas na última página do processo.
E) É um método de gerência de memória usado apenas em sistemas que empregam memória real.
10. (CESPE/EBSERH - 2018) Uma das técnicas mais complexas para o gerenciamento do uso de
memória é o mapa de bites, que consiste em manter uma lista encadeada de segmentos de
memória alocados e disponíveis.
76
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) Ótimo.
E) Segunda chance.
12. (COMPERVE/UFRN - 2018) Suponha uma memória composta por 5 partições fixas, sendo elas
de 500MB (reservado e totalmente ocupado pelo sistema operacional), 200MB, 100MB, 74MB
e 300MB, exatamente nesta ordem. O usuário lançou 4 processos A, B, C e D de tamanhos
99MB, 70MB, 250MB e 190MB, respectivamente. Logo em seguida, ele lança o processo E de
87 MB. Sabendo que a alocação da partição visa minimizar a fragmentação interna e que o
sistema operacional utiliza memória virtual, o valor que corresponde à área da fragmentação
interna da memória após a inserção do processo E é de
A) 87 MB.
B) 70 MB.
C) 77 MB.
D) 91 MB.
77
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GABARITO
1- A 6- D 11- A
2- D 7- C 12- C
3- C 8- B 13- C
4- Errada 9- A 14- A
5- Correta 10- Errada 15- B
78
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GERÊNCIA DE ENTRADA/SAÍDA
Uma das principais funções do S.O. é controlar todos os dispositivos de E/S. Para isso são
utilizados comandos que os dispositivos “entendam”, interrupções e tratamento de erros. É
importante também o fornecimento de uma interface simples e fácil de usar entre o sistema e os
dispositivos.
De uma forma geral os dispositivos de E/S são divididos em duas categorias: dispositivos de bloco
e dispositivos de caractere. O primeiro armazena informações em blocos de tamanho fixo (ex.:
512 bytes, 32KB, entre outros). É possível ler ou escrever cada bloco, independentemente dos
outros e o principal exemplo são os discos. O sistema de arquivos trata somente com os
dispositivos de bloco abstratos e a parte mais “baixo nível” fica sob a responsabilidade de um
software denominado driver de dispositivo.
E/S mapeada em memória: cada controladora possui registradores (memória) utilizados para se
comunicar com o processador. O sistema operacional escreve nesses registradores, “avisando”
para o dispositivo enviar dados, aceitar dados, ligar-se ou desligar-se, etc. Note que a forma de
comunicação é através da escrita em registradores. Lendo esses registradores, o S.O. pode saber
qual o estado do dispositivo (ex.: pronto para aceitar um novo comando).
Geralmente os registradores das controladoras possuem bits de status que devem ser testados
com a intenção de saber se uma operação de saída está concluída ou se novos dados estão
disponíveis em um dispositivo de entrada. Para realizar essa consulta a CPU pode executar um
laço para consultar os bits de status, o que é chamado de E/S programada, consulta sequencial
(polling) ou espera ativa (busy wait).
Interrupções: outra forma de avisar a CPU que os registradores estão prontos para serem lidos ou
escritos. A maioria dos dispositivos de interface fornece uma saída logicamente igual ao bit de
status “operação completa” ou “dados prontos” de um registrador, que é destinada a ser utilizada
em uma das linhas de pedido de interrupção (IRQ – Interrupt ReQuest) do barramento do sistema.
79
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Mas o que é isso? Pense no seguinte: o dispositivo quer interromper o processador para que ele
verifique o seu status e tome alguma atitude.
Então, quando uma operação termina, ela envia uma interrupção ao processador, que começa a
executar a rotina de tratamento da interrupção. Tal código informa ao S.O. que a E/S está
concluída, então o S.O. pode verificar os bits de status para saber se tudo ocorreu bem (se não
ocorreu, pode tentar novamente). Em sistemas antigos a IRQ era configurada por meio de chaves
(jumpers), mas na atualidade a tecnologia Plug’n play já resolve isso de forma automática, evitando
conflitos.
Acesso direto à memória (DMA): para deixar a CPU um pouco mais livre, um esquema denominado
Direct Memory Access (DMA) é utilizado. Para isso deve haver uma controladora de DMA instalada
(o que a maioria dos sistemas possui). Essa controladora pode estar integrada à controladora de
disco ou separada. O mais comum é haver uma única controladora de DMA na placa-mãe para
controlar as transferências dos diversos dispositivos de E/S. Não importa a localização física da
controladora de DMA, ela tem acesso ao barramento do sistema independentemente do
processador:
Impasse (Deadlock)
Um impasse (deadlock) ocorre quando um conjunto de processos está esperando por um evento
que só pode ser causado por outro processo do conjunto. Ou seja, ficam todos “amarrados”, sem
80
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
poder continuar seus processamentos. Alguns exemplos de recursos que só podem ser utilizados
por um processo por vez: unidades de fita e impressoras. Ou você acha que é possível dois
processos escrevendo em uma fita ou mandando imprimir ao mesmo tempo? Ficaria uma bagunça!
Por isso os sistemas operacionais possuem a capacidade de garantir (por algum tempo) que um
processo tenha o acesso exclusivo a determinados recursos, sejam de hardware ou de software.
Vamos supor a seguinte situação: os processos A e B desejam digitalizar uma fotografia através
de um scanner e em seguida gravar em um CD-R. Digamos que A tenha requisitado primeiro o
scanner e ao mesmo tempo B tenha requisitado o gravador de CD-R. Em seguida A faz requisição
do gravador de CD-R, mas ele está ocupado, pois B não o “largou”. Assim fica o processo A
aguardando o recurso gravador e B aguardando o recurso scanner. O que é isso? Um deadlock!
As quatro condições que devem ser verdadeiras para que ocorra um deadlock são:
Algoritmo do avestruz: estratégia mais simples! O que um avestruz faz? Coloca a cabeça em um
buraco... pois é, é isso mesmo! O algoritmo finge que nada aconteceu, simplesmente ignora. E,
por incrível que pareça, é a estratégia adotada pela maioria dos sistemas operacionais (Windows,
Linux, entre outros). Por quê? Porque o preço seria alto em realizar muitas restrições ao usuário.
Melhor deixar acontecer...e se for o caso, o usuário reinicia a máquina ou mata um processo, caso
ocorra algum travamento.
81
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Prevenção de impasses: estratégia que impõe restrições sobre os processos a fim de tornar os
impasses impossíveis. As quatro condições que já vimos dão um indício de possíveis soluções.
Evitação de impasses: não há a imposição de regras, mas sim uma análise criteriosa de cada pedido
de recurso. Para isso algumas informações devem estar disponíveis antecipadamente.
Comentários:
Essa é a primeira das quatro condições, a condição de exclusão mútua, a qual define que cada
recurso ou está correntemente atribuído a exatamente um processo ou está disponível. Portanto,
a questão está correta.
Gabarito: Correta
A) por interrupção.
B) DMA.
C) programada.
D) através de canais.
E) por prioridade.
82
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
Geralmente os registradores das controladoras possuem bits de status que devem ser testados
com a intenção de saber se uma operação de saída está concluída ou se novos dados estão
disponíveis em um dispositivo de entrada. Para realizar essa consulta a CPU pode executar um
laço para consultar os bits de status, o que é chamado de E/S programada, consulta sequencial
(polling) ou espera ativa (busy wait). Portanto, a alternativa C está correta e é o gabarito da
questão.
Gabarito: Letra C
83
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Os drivers de dispositivos não podem ser alterados pelo administrador da estação porque o
kernel assina digitalmente todos os drivers instalados automaticamente.
Comentários:
O administrador de um sistema operacional possui poder irrestrito, pode fazer qualquer coisa,
incluindo a instalação ou atualização de um driver de um dispositivo! Portanto, a questão está
errada.
Gabarito: Errada
No Windows XP, as impressoras laser que possuem drivers previamente instalados conectam-
se periodicamente ao sítio do fabricante para modificar os drivers e os parâmetros de
impressão.
Comentários:
Gabarito: Errada
A) shell.
B) device drivers.
C) system calls.
D) scripting.
84
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) batch.
Comentários:
Podemos ver que para acessar o kernel é necessário fazer uso de uma chamada de sistema (system
call), senão um programador qualquer poderia fazer uma “bagunça”. Sabemos também que o
gerenciamento de E/S é realizado pelo kernel, então a comunicação de uma aplicação qualquer
que queira fazer uso de algum dispositivo de E/S deve realizar uma chamada de sistema específica
para esse fim.
Gabarito: Letra C
4. (CESPE/INMETRO - 2010)
A) E/S programada, E/S controlada por interrupção e acesso direto à memória (DMA).
85
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) E/S controlada por interrupção, E/S programada e acesso direto à memória (DMA).
C) E/S controlada por interrupção e acesso direto à memória (DMA) e E/S programada.
D) acesso direto à memória (DMA); E/S Programada, E/S Controlada por Interrupção.
E) acesso direto à memória (DMA), E/S controlada por interrupção e E/S programada.
Comentários:
Acesso direto à memória (DMA): para deixar a CPU um pouco mais livre, um esquema denominado
Direct Memory Access (DMA) é utilizado. Para isso deve haver uma controladora de DMA instalada
(o que a maioria dos sistemas possui). Essa controladora pode estar integrada à controladora de
disco ou separada.
Interrupções: outra forma de avisar a CPU que os registradores estão prontos para serem lidos ou
escritos. A maioria dos dispositivos de interface fornece uma saída logicamente igual ao bit de
status “operação completa” ou “dados prontos” de um registrador, que é destinada a ser utilizada
em uma das linhas de pedido de interrupção (IRQ – Interrupt ReQuest) do barramento do sistema.
Mas o que é isso? Pense no seguinte: o dispositivo quer interromper o processador para que ele
verifique o seu status e tome alguma atitude.
E/S mapeada em memória: cada controladora possui registradores (memória) utilizados para se
comunicar com o processador. O sistema operacional escreve nesses registradores, “avisando”
para o dispositivo enviar dados, aceitar dados, ligar-se ou desligar-se, etc. Note que a forma de
comunicação é através da escrita em registradores. Lendo esses registradores, o S.O. pode saber
qual o estado do dispositivo (ex.: pronto para aceitar um novo comando).
Gabarito: Letra E
A) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não preempção
(no preemption) e espera circular (circular wait).
86
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), superposição
de processos (process overlapping) e falha de escalonamento (scheduling fail).
E) transferência excessiva de páginas (thrashing), não preempção (no preemption), espera circular
(circular wait) e falha de escalonamento (scheduling fail).
Comentários:
As quatro condições que devem ser verdadeiras para que ocorra um deadlock são:
Gabarito: Letra A
A) por interrupção.
B) DMA.
C) programada.
87
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) através de canais.
E) por prioridade.
Comentários:
Geralmente os registradores das controladoras possuem bits de status que devem ser testados
com a intenção de saber se uma operação de saída está concluída ou se novos dados estão
disponíveis em um dispositivo de entrada. Para realizar essa consulta a CPU pode executar um
laço para consultar os bits de status, o que é chamado de E/S programada, consulta sequencial
(polling) ou espera ativa (busy wait). Portanto, a alternativa C está correta e é o gabarito da
questão.
Gabarito: Letra C
7. (CESPE/EBC - 2011) Para que os sistemas operacionais tenham acesso direto à memória, é
necessário haver, no computador, recurso de hardware controlador DMA (direct memory
access).
Comentários:
Acesso direto à memória (DMA): para deixar a CPU um pouco mais livre, um esquema denominado
Direct Memory Access (DMA) é utilizado. Para isso deve haver uma controladora de DMA instalada
(o que a maioria dos sistemas possui). Essa controladora pode estar integrada à controladora de
disco ou separada. O mais comum é haver uma única controladora de DMA na placa-mãe para
controlar as transferências dos diversos dispositivos de E/S. Não importa a localização física da
controladora de DMA, ela tem acesso ao barramento do sistema independentemente do
processador. Portanto, a questão está correta.
Gabarito: Correta
Comentários:
Relembrando:
88
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Correta
C) A localização física da controladora de DMA deve ficar próxima à CPU para que o acesso ao
barramento do sistema seja independente da CPU.
D) A localização física da controladora de DMA deve ficar distante da CPU para que o acesso ao
barramento do sistema seja independente da CPU.
E) Não importa a localização física da controladora de DMA, ela sempre terá acesso ao barramento
do sistema de forma independente da CPU.
Comentários:
Ver comentário de duas questões atrás . Portanto, a alternativa E está correta e é o gabarito
da questão.
Gabarito: Letra E
A) detectar.
B) detectar e recuperar.
89
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
C) evitar.
D) ignorar.
E) prevenir.
Comentários:
Algoritmo do avestruz: estratégia mais simples! O que um avestruz faz? Coloca a cabeça em um
buraco... pois é, é isso mesmo! O algoritmo finge que nada aconteceu, simplesmente ignora. E,
por incrível que pareça, é a estratégia adotada pela maioria dos sistemas operacionais (Windows,
Linux, entre outros). Por quê? Porque o preço seria alto em realizar muitas restrições ao usuário.
Melhor deixar acontecer...e se for o caso, o usuário reinicia a máquina ou mata um processo, caso
ocorra algum travamento. Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
Uma das causas de deadlocks em sistemas operacionais é a disputa por recursos do sistema
que podem ser usados apenas por um processo de cada vez.
Comentários:
Essa é a primeira das quatro condições, a condição de exclusão mútua, a qual define que cada
recurso ou está correntemente atribuído a exatamente um processo ou está disponível. Portanto,
a questão está correta.
Gabarito: Correta
B) Os recursos são retirados dos processos e entregue aos outros até que o deadlock seja
eliminado.
90
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
D) Um processo que detém um recurso fica esperando pela liberação de outro recurso, eliminando
assim o deadlock.
Comentários:
A única alternativa que não fala em preempção (retirar algum recurso) ou voltar a um estado
anterior (que não havia deadlock) é a letra D. Pelo contrário, ainda afirma que detém um recurso
e FICA ESPERANDO pela liberação de outro recurso, o que não ajuda em nada a liminar a situação
de impasse. Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
O processo P1 solicita o recurso R2, o processo P2 solicita o recurso R3, e o processo P3 solicita
o recurso R1. Sobre essa situação, é correto afirmar que
Comentários:
Podemos ver que nenhum processo “larga” o recurso que possui. Além disso, cada processo
solicita um recurso que está alocado por outro processo, de forma circular. Isso caracteriza um
deadlock! Na figura abaixo vemos com 2 processos:
91
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra B
92
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Os drivers de dispositivos não podem ser alterados pelo administrador da estação porque o
kernel assina digitalmente todos os drivers instalados automaticamente.
No Windows XP, as impressoras laser que possuem drivers previamente instalados conectam-
se periodicamente ao sítio do fabricante para modificar os drivers e os parâmetros de
impressão.
A) shell.
B) device drivers.
C) system calls.
D) scripting.
E) batch.
4. (CESPE/INMETRO - 2010)
93
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) E/S programada, E/S controlada por interrupção e acesso direto à memória (DMA).
B) E/S controlada por interrupção, E/S programada e acesso direto à memória (DMA).
C) E/S controlada por interrupção e acesso direto à memória (DMA) e E/S programada.
D) acesso direto à memória (DMA); E/S Programada, E/S Controlada por Interrupção.
E) acesso direto à memória (DMA), E/S controlada por interrupção e E/S programada.
A) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), não preempção
(no preemption) e espera circular (circular wait).
D) exclusão mútua (mutual exclusion), monopolização de recursos (hold and wait), superposição
de processos (process overlapping) e falha de escalonamento (scheduling fail).
E) transferência excessiva de páginas (thrashing), não preempção (no preemption), espera circular
(circular wait) e falha de escalonamento (scheduling fail).
A) por interrupção.
B) DMA.
C) programada.
D) através de canais.
94
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
E) por prioridade.
7. (CESPE/EBC - 2011) Para que os sistemas operacionais tenham acesso direto à memória, é
necessário haver, no computador, recurso de hardware controlador DMA (direct memory
access).
C) A localização física da controladora de DMA deve ficar próxima à CPU para que o acesso ao
barramento do sistema seja independente da CPU.
D) A localização física da controladora de DMA deve ficar distante da CPU para que o acesso ao
barramento do sistema seja independente da CPU.
E) Não importa a localização física da controladora de DMA, ela sempre terá acesso ao barramento
do sistema de forma independente da CPU.
A) detectar.
B) detectar e recuperar.
C) evitar.
D) ignorar.
E) prevenir.
95
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Uma das causas de deadlocks em sistemas operacionais é a disputa por recursos do sistema
que podem ser usados apenas por um processo de cada vez.
B) Os recursos são retirados dos processos e entregue aos outros até que o deadlock seja
eliminado.
D) Um processo que detém um recurso fica esperando pela liberação de outro recurso, eliminando
assim o deadlock.
O processo P1 solicita o recurso R2, o processo P2 solicita o recurso R3, e o processo P3 solicita
o recurso R1. Sobre essa situação, é correto afirmar que
96
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
GABARITO
97
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
SISTEMAS DE ARQUIVOS
Quando falamos em armazenamento de informações a longo prazo temos três requisitos:
O sistema operacional faz o gerenciamento dos arquivos (estrutura, nome, como acessar, usar etc.)
através do sistema de arquivos. Enquanto o usuário final “enxerga” os arquivos através de seus
nomes, localizações, tamanhos, tipos, proprietários etc., os projetistas dos sistemas de arquivos
devem se preocupar também com aspectos mais técnicos, como por exemplo se vão ser utilizadas
listas encadeadas ou mapa de bits para monitorar o espaço de armazenamento livre.
Nosso foco sobre o assunto de sistemas de arquivos é ver os conceitos gerais, sem entrar em
detalhes de sistemas de arquivos específicos utilizados nos sistemas operacionais mais conhecidos
(Windows e Linux). Tais detalhes são vistos em aulas específicas, quando o edital cobra
explicitamente FAT32, NTFS, EXT2 etc. De qualquer forma é importante sabermos quais sistemas
de arquivos são nativos de cada sistema operacional, pois há questões bem rasas que cobram isso.
98
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Arquivos
Como sabemos, a forma de identificarmos um arquivo é através de seu nome e uma coisa
importante que devemos saber é que existem regras para a escolha desse nome! Dependendo do
sistema de arquivos utilizado há limitações no seu tamanho e há caracteres que não podem ser
utilizados.
Alguns sistemas de arquivos fazem distinção entre letras maiúsculas e minúsculas, outros não. O
UNIX (e suas variantes) faz distinção, por exemplo: “estratégia”, “Estratégia” e “ESTRATÉGIA”
seriam três nomes de arquivos distintos, podendo ficar em um mesmo diretório (pasta). Em um
sistema (antigo) MS-DOS esses três nomes seriam referidos a um mesmo arquivo.
O Windows, sistema operacional da Microsoft sucessor do MS-DOS, fica entre esses extremos. As
versões 95 e 98 são baseadas no sistema de arquivos do MS-DOS, herdando muitas de suas
propriedades, incluindo o modo de nomear os arquivos. A cada nova versão novos
aprimoramentos foram introduzidos. As versões NT, 2000 e XP suportam o sistema de arquivos
do MS-DOS, mas também possuem um sistema de arquivos nativo (o NTFS), utilizado até hoje.
Muitos sistemas operacionais suportam nomes de arquivos com duas partes, separadas por um
ponto. A primeira seria o nome e a segunda a extensão do arquivo. A extensão geralmente indica
o tipo de arquivo (ex.: “JPG” indica fotografia codificada com o padrão JPEG). Claro que o usuário
pode alterar a extensão e a indicação ficaria errada!
99
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Muitos sistemas operacionais suportam diversos tipos de arquivos. Por exemplo, o UNIX e o
Windows possuem arquivos normais e diretórios (o Windows prefere o termo pasta, mas a ideia é
a mesma). O UNIX também possui arquivos especiais de caractere e de bloco. O Windows XP usa
arquivos de metadados, e por aí vai, mas vamos focar na conceituação de alguns deles:
• Arquivos normais: possuem informações do usuário (texto, figuras, vídeos, entre outros);
• Diretórios: arquivos de sistema para manter a estrutura do sistema de arquivos (veremos
detalhes mais adiante);
• Arquivos especiais de caractere: relacionados à entrada/saída, utilizados para modelar
dispositivos de E/S seriais (terminais, impressoras e redes);
• Arquivos especiais de bloco: utilizados para ler/escrever em discos.
bloco
A partir do momento em que discos começaram a ser utilizados foi possível ler os bytes ou
registros de um arquivo fora de ordem ou acessar registros pela chave, em vez de ler pela posição.
Trata-se dos arquivos de acesso aleatório, fundamentais para muitos aplicativos, como por
exemplo os sistemas de bancos de dados (SGBDs).
Além do nome e dos dados em si, os arquivos possuem outras informações associadas: data/hora
de criação, data/hora de último acesso, tamanho, entre outras. Essas informações são os atributos
do arquivo ou metadados. Esses atributos variam de um sistema de arquivos para outro, por isso
nem sempre se consegue o mesmo tipo de informação sobre arquivos quando lidamos com
100
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
sistemas operacionais Linux, Windows, MS-DOS etc. A tabela a seguir mostra exemplos de
atributos com seus respectivos significados (obs.: são apenas poucos exemplos, existem muitos
outros).
Atributo Significado
Proteção Quem pode acessar o arquivo e de que maneira.
Criador ID (identificação) de quem criou o arquivo.
Proprietário ID do proprietário atual.
Flag de somente leitura 0 = leitura/escrita; 1 = somente leitura.
Flag de arquivamento 0 = foi realizado backup; 1 = a ser salvo em backup.
Tempo da criação Data e hora em que o arquivo foi criado.
Tempo da última alteração Data e hora em que o arquivo foi alterado pela última vez.
==22f849==
Para criar, abrir, manipular, fechar, excluir arquivos, entre outras operações, são utilizadas
chamadas de sistema. Um descritor de arquivo é utilizado para realizar essas operações em um
arquivo. Geralmente é um valor inteiro retornado pelo sistema operacional após uma chamada de
sistema para abertura de arquivos (quando tudo ocorreu bem).
Por exemplo: um programador definiu uma variável de descritor de arquivo denominada "arq" e
fez uma chamada para criação de um arquivo com um determinado nome e em um determinado
diretório. Se não ocorrer nenhum erro, outras chamadas de sistema poderão ser aplicadas em
cima de "arq". Para o sistema operacional não existe "arq", existe um número que foi associado
a esse descritor (ex.: 1386). Algumas chamadas de sistema para operações sobre arquivos são:
Diretórios
Para melhor organizar os arquivos os sistemas de arquivos geralmente possuem diretórios (ou
pastas), os quais, podem também ser considerados arquivos (depende do sistema de arquivos).
Geralmente um diretório possui diversas entradas, uma por arquivo. Uma forma é a mostrada
abaixo, onde cada entrada possui o nome do arquivo, os atributos do arquivo e os endereços de
disco onde os dados estão armazenados.
101
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Outra forma é mostrada a seguir, onde cada entrada de diretório possui o nome do arquivo e um
ponteiro para outra estrutura de dados e nela são encontrados os atributos e os endereços de
disco.
Quando é realizada uma chamada de abertura de arquivo, o S.O. procura em seu diretório até
encontrar o nome do arquivo, extrai os atributos e endereços de disco, colocando-os em uma
tabela na memória principal. A partir desse momento todas as referências a esse arquivo utilizam
as informações da tabela.
Os sistemas de diretório são hierárquicos, podendo ser de diretório único (apenas o diretório raiz,
o que é incomum), ou com vários diretórios, podendo ter subdiretórios (mais comum). Esses
diretórios podem ser separados por usuários (direitos de acesso), por questões de segurança
(privacidade).
E como é possível especificar o caminho de um arquivo? Existe o caminho absoluto, que consiste
no caminho desde o diretório-raiz até o arquivo, como por exemplo “/home/estrategia/abc”.
Também existe o caminho relativo, que é utilizado junto com o conceito de diretório de trabalho
102
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
(diretório corrente). Se o diretório corrente for “/home/estrategia”, então o arquivo pode ser
referenciado simplesmente como “abc”.
Um detalhe importante - No Windows o diretório raiz é “\”, então o exemplo que vimos há pouco
para caminho absoluto seria representado da seguinte forma: “\home\estrategia\abc”. Mais um
detalhe - No Windows os volumes (partições) são representados por uma letra seguida de dois
pontos (ex.: “C:”), então para encontrar o arquivo “abc” no volume “C:” o caminho absoluto seria
de fato “C:\home\estrategia\abc”. É extremamente importante saber essa diferença entre o
Windows e o Linux, pois há questões nesse sentido!
Agora veremos a visão que o projetista tem, como é realizada a implementação do sistema de
arquivos! Bom, normalmente os sistemas de arquivos são armazenados em discos e a maioria dos
discos pode ser dividida em partições (volumes) e cada partição possui o seu sistema de arquivos
(podem ser diferentes, ex.: uma partição com NTFS e outra com EXT3).
Quando o computador é inicializado, a BIOS lê e executa o código que está na MBR, localiza a
partição ativa, lê o seu primeiro bloco (bloco de inicialização) e o executa. O programa que está
no bloco de inicialização carrega o sistema operacional que está nessa partição. Por isso podemos
ter N sistemas operacionais instalados em um mesmo disco, cada um em uma partição, com seu
devido sistema de arquivos! Claro que podemos ter máquinas virtuais em uma mesma partição,
mas esse é outro assunto. Abaixo uma figura retirada do livro do Tanenbaum que mostra um
103
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
possível layout de um disco com MBR e quatro partições (em destaque, a segunda partição,
contendo o S.O. Linux).
Alocação contígua: armazena cada arquivo como uma sequência contígua de blocos. Se uma
partição foi formatada com blocos de tamanho 4KB, um arquivo de 40KB deve alocar 10 blocos
consecutivos. Como vantagens temos a simplicidade na implementação (basta saber o bloco de
início e o de fim do arquivo), e o desempenho na leitura (o arquivo inteiro pode ser lido em uma
única operação).
Alocação encadeada: cada arquivo é mantido como uma lista encadeada de blocos de disco, como
mostrado na figura abaixo. Dessa forma todos os blocos podem ser utilizados! Além disso, é
suficiente que a entrada de diretórios armazene apenas o endereço de disco do primeiro bloco e
o restante pode ser encontrado a partir dele.
104
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
O problema é que o acesso aleatório é mais lento que o sequencial. Outro problema é que o
volume de armazenamento em um bloco não é mais uma potência de 2 (ex.: 512 bytes, 1KB, 2KB
etc.), pois o ponteiro ocupa algum espaço. Isso exige mais operações como adquirir e concatenar
informações de blocos do disco, o que gera uma maior sobrecarga.
Alocação encadeada com tabela na memória: no lugar de utilizar um ponteiro em cada bloco para
apontar para o próximo, é utilizada uma tabela. Assim os blocos possuem um tamanho múltiplo
de 2, o que facilita a vida do sistema de arquivos. Para definir o fim do arquivo deve-se utilizar um
marcador especial, como por exemplo “-1”. Essa tabela é chamada de FAT (File Alocation Table
- Tabela de Alocação de Arquivo) e abaixo é mostrada a FAT equivalente para o exemplo mostrado
na figura anterior (só foram preenchidas as 3 células necessárias, as demais ficaram em branco
para ficar mais fácil entender, e destaquei em vermelho o início do arquivo).
A principal desvantagem é que a tabela inteira deve estar em memória, o que pode demandar de
boa quantidade de espaço. Vamos a um exemplo: disco de 500GB, com tamanho de bloco 1KB
(coloquei pequeno assim para facilitar o cálculo), a tabela precisa de 500 milhões de entradas (uma
para cada bloco)! Cada entrada deve ter no mínimo 3 bytes para manter os endereços dos blocos,
mas para facilitar a pesquisa as entradas possuem 4 bytes. Vamos ao cálculo: 500 milhões x 4 bytes
= 2 bilhões (2 GB). Se o bloco tiver 4 KB, seria uma tabela de 500 MB.
O MS-DOS e o Windows 95/98 utilizam apenas sistemas de arquivos FAT e as versões superiores
do Windows também suportam.
I-nodes: cada arquivo é associado a uma estrutura de dados denominada i-node (nó-índice), a qual
lista os atributos e endereços de blocos do disco, conforme mostra a figura abaixo.
105
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Fonte: Tanenbaum
Dos sistemas de arquivos mais conhecidos é importante sabermos quais deles possuem ou não a
implementação de journaling:
106
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
sistemas de arquivos
FAT12, FAT16,
NTFS: EXT2: EXT3, EXT4:
FAT32:
Comentários:
É possível inserir arquivos em um arquivo já compactado, sim! Sugestão: faça o teste com os
compactadores mais utilizados (Zip, Rar etc.) . Portanto, a questão está errada.
Gabarito: Errada
A) sequencial.
B) indexado.
107
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
C) aleatório.
D) encadeado.
E) hierárquico.
Comentários:
A partir do momento em que discos começaram a ser utilizados foi possível ler os bytes ou
registros de um arquivo fora de ordem ou acessar registros pela chave, em vez de ler pela posição.
Trata-se dos arquivos de acesso aleatório, fundamentais para muitos aplicativos, como por
exemplo os sistemas de bancos de dados (SGBDs).
Gabarito: Letra A
108
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
A extensão indica o tipo de informação armazenada (ex.: TXT indica texto puro, JPG indica
imagem com codificação JPEG, e assim por diante). Antigamente, no tempo do MS-DOS, a
extensão tinha entre 1 e 3 caracteres. Hoje pode ter mais (ex.: DOCX - Word). A extensão é
colocada após o ponto e, embora não seja obrigatória (Linux, por exemplo), geralmente é utilizada
para ajudar o usuário a saber do que se trata o arquivo ou até mesmo a associar a algum programa
(típico do Windows). Portanto, a alternativa C está correta e é o gabarito da questão.
Gabarito: Letra C
Comentários:
Como tem uma letra e dois pontos no início, sabemos que se trata de Windows! “E:” indica a
partição (volume), “\” indica o diretório raiz (no Linux seria “/”), na sequência temos a pasta
109
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
“ARQUIVOS”, seguida da subpasta “ALIMENTOS”, e por fim o arquivo com nome “RAIZES” e
extensão “DOC”. Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
"A alocação ..I.. soluciona uma das principais limitações da alocação ..II.., que é a
impossibilidade do acesso direto aos blocos dos arquivos. O princípio desta técnica é manter
os ponteiros de todos os blocos do arquivo em uma única estrutura denominada bloco de
índice. A alocação ..III.. , além de permitir o acesso direto aos blocos do arquivo, não utiliza
informações de controle nos blocos de dados, como existente na alocação ..IV.. ."
Comentários:
“A alocação indexada soluciona uma das principais limitações da alocação encadeada, que é a
impossibilidade do acesso direto aos blocos dos arquivos.” -> Nos blocos de índice já temos o
apontamento a todos os blocos do arquivo, sem precisar “pular” de um em um, como acontece
na alocação encadeada.
“O princípio desta técnica é manter os ponteiros de todos os blocos do arquivo em uma única
estrutura denominada bloco de índice. A alocação indexada, além de permitir o acesso direto aos
blocos do arquivo, não utiliza informações de controle nos blocos de dados, como existente na
alocação encadeada” -> Os blocos de índice (i-node) justamente possuem os ponteiros para todos
os blocos, deixando os blocos de dados apenas para dados mesmo! Na alocação encadeada há
informações de controle (ponteiros) nos blocos de dados, fazendo com que esses blocos não
armazenem uma quantidade de bytes em potência de 2 (ex.: 512 bytes, 1 KB, 2KB, 4KB etc.), pois
sempre há uma “perda” de alguns bytes para os ponteiros.
110
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra A
B) Alocação contígua.
D) Nós-i.
Comentários:
Na alocação contígua não é possível dividir um arquivo em pedaços no disco (ou melhor, na
partição do disco, mas chamamos genericamente de disco). Então, digamos que em um disco que
está “vazio” diversos arquivos são armazenados na sequência, cada um com 20 blocos, até “lotar”
esse disco. Se o 10º e o 20º arquivos forem excluídos, abrindo espaço para 40 blocos e se desejar
gravar um novo arquivo, com 21 blocos, não será possível! Por quê? Porque o sistema de arquivos
que trabalha com alocação contínua não consegue colocar 20 blocos na sequência e apontar para
outro local para completar o último bloco! Dessa forma, temos fragmentação (fragmentos que não
puderam ser utilizados).
Outra situação, ainda com os 2 espaços de 20 blocos: se eu decidir gravar um arquivo com 11
blocos e outro com 10 blocos, um deles vai ser gravado em um dos fragmentos e o fragmento
terá 9 blocos. O 2º arquivo será gravado no outro espaço e o fragmento passará a ter 10 blocos.
Gabarito: Letra B
Comentários:
A questão não deixa claro qual o sistema de arquivos (FAT32, NTFS, EXT2, EXT4 etc.), então temos
que considerar de forma genérica. Abaixo uma tabela com apenas alguns atributos possíveis.
Atributo Significado
Proteção Quem pode acessar o arquivo e de que maneira.
111
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Correta
B) elimina todos os espaços em branco do disco rígido, permitindo maior velocidade no acesso às
informações armazenadas.
C) faz com que o disco rígido tenha um trabalho adicional que pode deixar o computador lento,
por meio do uso de unidades flash USB fragmentadas.
Comentários:
112
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra D
A) sequencial.
B) indexado.
C) aleatório.
D) encadeado.
E) hierárquico.
Comentários:
A partir do momento em que discos começaram a ser utilizados foi possível ler os bytes ou
registros de um arquivo fora de ordem ou acessar registros pela chave, em vez de ler pela posição.
113
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Trata-se dos arquivos de acesso aleatório, fundamentais para muitos aplicativos, como por
exemplo os sistemas de bancos de dados (SGBDs).
Gabarito: Letra A
Comentários:
Método A: 3 blocos alocados na sequência, sem nenhum ponteiro para lugar algum! Trata-se do
método de alocação contígua.
Método B: 3 blocos alocados, sendo que o 1º aponta para o 2º, que aponta para o 3º, e termina.
Vemos claramente que não há uma estrutura com índices, simplesmente um aponta para o outro.
Se eu “perder” o 2º não consigo mais chegar no 3º! Trata-se do método de alocação encadeada.
Método C: vemos que um bloco aponta para os outros 3, ou seja, há um índice no bloco que está
na parte superior esquerda. Trata-se, portanto, do método de alocação indexada.
114
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Gabarito: Letra D
Comentários:
Nada disso! Na verdade, nem no Windows é OBRIGATÓRIO (embora seja um padrão)! Também
sabemos que no Unix (e derivados), mesmo não sendo obrigatório, há situações que um aplicativo
obrigue que o arquivo possua uma determinada extensão, mas aí é coisa do aplicativo e não do
sistema operacional Unix! Portanto, a questão está errada.
Gabarito: Errada
10. (Quadrix/CFO-DF - 2017) Os sistemas de arquivos são responsáveis, entre outras coisas, por
prover os mecanismos para que os arquivos sejam armazenados e compartilhados.
Comentários:
Vimos alguns métodos de alocação de espaço em disco (espaço contíguo, listas encadeadas,
indexação). Mecanismos de compartilhamento também são utilizados para que outros usuários
possam ter acesso pela rede. Portanto, a questão está correta.
Gabarito: Correta
11. (CS-UFG/UFG - 2017) “Manter um registro sobre o que o sistema de arquivos irá fazer antes
que efetivamente o faça de modo que, se o sistema falhar antes da execução do trabalho
planejado, é possível, após a reinicialização do sistema, recorrer ao log para descobrir o que
estava acontecendo no momento da parada e retomar o trabalho”. Esse modo de operação é
característico de sistemas de arquivos
A) com preempção.
B) journaling.
D) orientados à interrupção.
Comentários:
Journaling: trata-se do registro das atividades que o sistema de arquivos irá fazer antes que
efetivamente o faça. Mas para que isso? Simples...se o sistema falhar antes da execução do
115
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
trabalho planejado, é possível, após a reinicialização do sistema, recorrer ao log para descobrir o
que estava acontecendo no momento da parada e retomar o trabalho. Ou seja, o journaling não
evita problemas, mas tenta recuperar caso algo errado ocorra!
Gabarito: Letra B
12. (Quadrix/COFECI - 2017) O sistema de arquivos NTFS não usa o mecanismo journaling,
conhecido também como um sistema de arquivos, por não possuir suporte a ele.
Comentários:
Dos sistemas de arquivos mais conhecidos é importante sabermos quais deles possuem ou não a
implementação de journaling:
Gabarito: Errada
Comentários:
116
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
• Linux: “família” EXT (versões 2, 3 e 4 - não deve surgir a 5), JFS, XFS, BTRFS, entre outros
(os mais conhecidos são os da família EXT).
O Hierarchical File System (HFS) é um sistema de arquivos proprietário desenvolvido pela Apple.
Server Message Block (SMB) é um protocolo para compartilhamento de arquivos em redes.
Gabarito: Letra C
Comentários:
É possível inserir arquivos em um arquivo já compactado, sim! Sugestão: faça o teste com os
compactadores mais utilizados (Zip, Rar etc.) . Portanto, a questão está errada.
Gabarito: Errada
II. Um diretório consiste de um conceito implementado pela maioria dos sistemas operacionais
para PCs que consiste de um lugar para manter os arquivos.
III. Nem todo arquivo dentro de uma hierarquia de diretório pode ser especificado fornecendo
seu nome de caminho a partir do diretório-raiz.
117
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
Comentários:
(I) Para criar, abrir, manipular, fechar, excluir arquivos, entre outras operações, são utilizadas
chamadas de sistema. Um descritor de arquivo é utilizado para realizar essas operações em um
arquivo. Geralmente é um valor inteiro retornado pelo sistema operacional após uma chamada de
sistema para abertura de arquivos (quando tudo ocorreu bem). Por exemplo: um programador
definiu uma variável de descritor de arquivo denominada "arq" e fez uma chamada para criação
de um arquivo com um determinado nome e em um determinado diretório. Se não ocorrer
nenhum erro, outras chamadas de sistema poderão ser aplicadas em cima de "arq". Para o sistema
operacional não existe "arq", existe um número que foi associado a esse descritor (ex.: 1386).
(II) Um diretório (ou pasta) é uma abstração utilizada para melhor organizar os arquivos, como se
fossem pastas “reais” onde colocamos papeis (nesse caso os papeis seriam os arquivos).
(III) Todo arquivo dentro de uma hierarquia de diretório pode ser especificado fornecendo seu
nome de caminho a partir do diretório-raiz, ou seja, o caminho absoluto. Ex. no Windows:
“C:\Usuários\Fulano\Teste\Nova Pasta\Documento.docx”.
Gabarito: Letra A
16. (GUALIMP/Prefeitura de Areal-RJ - 2020) Qual o tipo de sistema de arquivos não é padrão do
sistema operacional windows?
A) NTFS
B) FAT.
C) FAT32.
D) EXT3.
Comentários:
Os sistemas de arquivos nativos para o Windows são a "família" FAT e o NTFS. Não tem mistério.
Para o Linux, temos a "família" EXT, mais um monte de outros: BTRFS, JFS, XFS, entre outros.
Portanto, a alternativa D está correta e é o gabarito da questão.
Gabarito: Letra D
118
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
"A alocação ..I.. soluciona uma das principais limitações da alocação ..II.., que é a
impossibilidade do acesso direto aos blocos dos arquivos. O princípio desta técnica é manter
os ponteiros de todos os blocos do arquivo em uma única estrutura denominada bloco de
índice. A alocação ..III.. , além de permitir o acesso direto aos blocos do arquivo, não utiliza
informações de controle nos blocos de dados, como existente na alocação ..IV.. ."
119
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) Alocação contígua.
D) Nós-i.
B) elimina todos os espaços em branco do disco rígido, permitindo maior velocidade no acesso às
informações armazenadas.
C) faz com que o disco rígido tenha um trabalho adicional que pode deixar o computador lento,
por meio do uso de unidades flash USB fragmentadas.
A) sequencial.
120
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
B) indexado.
C) aleatório.
D) encadeado.
E) hierárquico.
10. (Quadrix/CFO-DF - 2017) Os sistemas de arquivos são responsáveis, entre outras coisas, por
prover os mecanismos para que os arquivos sejam armazenados e compartilhados.
11. (CS-UFG/UFG - 2017) “Manter um registro sobre o que o sistema de arquivos irá fazer antes
que efetivamente o faça de modo que, se o sistema falhar antes da execução do trabalho
planejado, é possível, após a reinicialização do sistema, recorrer ao log para descobrir o que
estava acontecendo no momento da parada e retomar o trabalho”. Esse modo de operação é
característico de sistemas de arquivos
121
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
A) com preempção.
B) journaling.
D) orientados à interrupção.
12. (Quadrix/COFECI - 2017) O sistema de arquivos NTFS não usa o mecanismo journaling,
conhecido também como um sistema de arquivos, por não possuir suporte a ele.
II. Um diretório consiste de um conceito implementado pela maioria dos sistemas operacionais
para PCs que consiste de um lugar para manter os arquivos.
III. Nem todo arquivo dentro de uma hierarquia de diretório pode ser especificado fornecendo
seu nome de caminho a partir do diretório-raiz.
122
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram
Evandro Dalla Vecchia Pereira
Aula única (Prof. Evandro)
16. (GUALIMP/Prefeitura de Areal-RJ - 2020) Qual o tipo de sistema de arquivos não é padrão do
sistema operacional windows?
A) NTFS
B) FAT.
C) FAT32.
D) EXT3.
GABARITO
1- C 7- A 13- C
2- D 8- D 14- Errada
3- A 9- Errada 15- A
4- B 10- Correta 16- D
5- C 11- B
6- D 12- Errada
123
CNU (Bloco 2 - Tecnologia, Dados e Informação) Conhecimentos Específicos - Eixo Temático 3 - Gerência e Suporte da Te
www.estrategiaconcursos.com.br 124
@Xinyuu_bot - Telegram