Você está na página 1de 119

Aula: Sistemas Operacionais

Matéria: Tecnologia da Informação


Professor: Paulo Lino
Teoria e Questões comentadas
Prof. Paulo Lino

Aula – Sistemas Operacionais. Conceitos básicos. Processos e


Threads. Gerencia de Memória. Sistema de Arquivos. Entrada e
Saída.

Sumário
1 - Sistemas Operacionais ................................................................. 6
1.1 - Conceitos básicos....................................................................... 7
1.2 - Tipos de Sistema Operacional .....................................................12
1.3 – Tipos de S.O (Finalidade) ...........................................................15
1.4 – Estrutura de um Sistema Operacional ..........................................17

2 - Processos e Threads................................................................... 19
2.1- Estrutura de um processo ...........................................................20
2.2 - Estados de um processo.............................................................22
2.3 - Compartilhamento de recursos ....................................................24
2.4 – Algoritmos de Escalonamento .....................................................25
2.5 –Deadlocks ou impasses ..............................................................31
2.4 – Processos Independentes, subprocessos e Threads ........................34
3 – Gerenciamento de memória ....................................................... 36
3.1 – Endereçamento ........................................................................37
3.1 – Gerenciamento de espaços livres ................................................40
3.2 – Paginação e Segmentação .........................................................42
3.3 – Algoritmos de alocação de páginas ..............................................46

4 – Sistemas de Arquivos ................................................................ 48


4.1 – Arquivos .................................................................................48
4.2 – Estrutura de arquivos ................................................................51
4.3 – Particionamento e Montagem .....................................................52
4.4 – Diretórios ................................................................................53
4.5 – Alocação em disco ....................................................................55
5 – Entrada e saída (E/S) ................................................................ 57
5.1 – Hardware de E/S ......................................................................57
5.2 – Software de entrada e saída .......................................................62

6 - Questões Comentadas ................................................................ 63

Prof. Paulo Lino 2 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

7- Risco Exponencial ....................................................................... 85

8 - Lista de questões apresentadas (sem comentário) .................... 106

9 - Gabarito ................................................................................... 118

10 - Referencial Bibliográfico ......................................................... 119

Prof. Paulo Lino 3 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Para facilitar sua referência, abaixo listamos as esquematizações desta aula:


Esquema 1 – Conceito de Sistema Operacional. ................................................................ 6
Esquema 2 – Componentes de um sistema computacional. ................................................. 7
Esquema 3 – Interação do Kernel (fonte: Wikipédia). ......................................................... 8
Esquema 4 – Funções do S.O. ...................................................................................... 10
Esquema 5 – Monousuário vs Multiusuário. .................................................................... 12
Esquema 6 – Sistemas monotarefa vs sistemas multitarefa. .............................................. 13
Esquema 7 – Tipos de Sistema Operacional. ................................................................... 16
Esquema 8 – Visão de Serviços. ................................................................................... 18
Esquema 9 – Programas vs Processos. .......................................................................... 19
Esquema 10 – Estrutura de um processo. ...................................................................... 20
Esquema 11 – Bloco de Controle de Processo. ................................................................ 21
Esquema 12 – Estados de um processo. ........................................................................ 22
Esquema 13 – Tabela de transição de estados de um processo. ......................................... 23
Esquema 14 – Compartilhamento tempo vs espaço.......................................................... 24
Esquema 15 – Tipos básicos de scheduler. ..................................................................... 25
Esquema 16 – Características dos algoritmos preemptivos e não preemptivos. ..................... 26
Esquema 17 – Algoritmos de escalonamento de processos. ............................................... 29
Esquema 18 – Sequência de solicitação de recurso. ......................................................... 31
Esquema 19 – Deadlock. ............................................................................................. 31
Esquema 20 – Condições para um deadlock. .................................................................. 32
Esquema 21 – Estrutura de subprocessos. ..................................................................... 34
Esquema 22 – Threads. .............................................................................................. 35
Esquema 23 – Hierarquia de memórias. ......................................................................... 36
Esquema 24 – Mapeamento de endereço. ...................................................................... 37
Esquema 25 –Swapping. ............................................................................................. 38
Esquema 26 – Memória virtual. .................................................................................... 38
Esquema 27 – Conceitos de swapping e memória virtual. ................................................. 39
Esquema 28 – Algoritmos de alocação de memória. ......................................................... 41
Esquema 29 – Paginação ............................................................................................ 43
Esquema 30 – Segmentação ........................................................................................ 43
Esquema 31 – Segmentação com paginação. .................................................................. 44
Esquema 32 – Principais características da paginação, segmentação e da segmentação com
paginação. ................................................................................................................ 44
Esquema 33 – Algoritmos de substituição de página. ....................................................... 47
Esquema 34 – Atributos de arquivo. .............................................................................. 48
Esquema 35 – Extensão de arquivos. ............................................................................ 49
Esquema 36 – Operações básicas sobre arquivos. ........................................................... 50
Esquema 37 – Sequência de bytes. ............................................................................... 51
Esquema 38 – Sequência em registro. ........................................................................... 51
Esquema 39 – Árvore. ................................................................................................ 51
Esquema 40 – Particionamento Windows. ...................................................................... 52
Esquema 41 – Particionamento no Linux. ....................................................................... 52
Esquema 42 – Exemplo de diretório. ............................................................................. 53
Esquema 43 – Diretório em nível único. ......................................................................... 53
Esquema 44 – Diretório hierárquico. ............................................................................. 53
Esquema 45 – Caminho absoluto. ................................................................................. 54
Esquema 46 – Caminho relativo. .................................................................................. 54
Esquema 47 – Operações básicas sobre diretórios. .......................................................... 54
Esquema 48 – Alocação contigua. ................................................................................. 55
Esquema 49 – Alocação encadeada. .............................................................................. 55
Esquema 50 – Alocação indexada. ................................................................................ 56
Esquema 51 – Alocação de espaço em disco. .................................................................. 56

Prof. Paulo Lino 4 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino
Esquema 52 – Tipos de dispositivo de E/S. ..................................................................... 57
Esquema 53 – Buffer vs cache. .................................................................................... 60
Esquema 53 – Camadas de E/S. ................................................................................... 62

Prof. Paulo Lino 5 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1 - Sistemas Operacionais

O avanço da computação nas últimas décadas mudou a forma como


realizamos nossas atividades no dia a dia. Cada vez mais empresas, governos
e a sociedade como um todo dependem do uso da tecnologia para realizar suas
tarefas ou processos de negócios.
A internet que conecta bilhões de dispositivos ao redor do planeta é a
grande impulsionadora dessa era digital com novas tecnologias como a
computação em nuvem e a Inteligência Artificial.
Os sistemas operacionais que são o foco da nossa aula nos permitem
a interação com os dispositivos eletrônicos “inteligentes”, ao comprarmos
um smartphone por exemplo queremos saber quanto de memória ele tem, o
espaço para armazenamento interno, o número de núcleos de processador e
suas respectivas velocidades, assim que o ligamos vamos logo configurando o
acesso a rede sem fio e baixando os aplicativos que iremos utilizar nas nossas
atividades.
Em geral, nem lembramos que iOS da Apple ou Android da Google,
sistemas operacionais comuns nos smartphones é quem nos possibilita a
interação tanto com o hardware do celular quanto com os aplicativos instalados.
Um Sistema Operacional (S.O) pode ser definido como sendo um
programa básico capaz de gerenciar o hardware e o software de um
dispositivo que se apresenta para seu usuário com uma interface
amigável. Ex.: Windows, Linux, FreeBSD, Unix, Android, iOS, Mac OS, HP-UX
e etc.
Ao longo dessa aula iremos explorar os principais aspectos que costumam
ser alvo de questões de provas de concursos das principais bancas do país.
Vamos abordar os conceitos iniciais como; características, tipos de SO, estrutura
e etc, processos e threads, gerenciamento de memória, sistemas de arquivos e
o gerenciamento de entrada e saída (E/S).
Vamos resumir no esquema abaixo o conceito de sistema operacional:

Sistema Operacional
• Programa que gerencia hardware e o software e
faz a interface entre o usuário e os dispositivos.

Esquema 1 – Conceito de Sistema Operacional.

Prof. Paulo Lino 6 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1.1 - Conceitos básicos


Já sabemos que o sistema operacional nos permite interagir com o
hardware de um sistema computacional, entretanto os sistemas
operacionais são projetados para uso em equipamentos diferentes, um
S.O de um mainframe, computador de grande porte dedicado ao
processamento de grande volume de dados, tem um proposito diferente de um
S.O embarcado em uma Smart TV.
De maneira genérica, um sistema computacional é divido em quatro
componentes, formando uma visão em camadas:
 Hardware: CPU, Memória, Disco, Dispositivos de Entrada e Saída
E/S.
 Sistema Operacional: software básico que controla todo o
sistema.
 Aplicativos: planilha de cálculo, editor de texto, compiladores,
navegador web.
 Usuários: interagimos com o sistema computacional através de
teclado, mouse, tela sensível ao toque entre outros dispositivos de
E/S.
Vamos resumir no esquema abaixo os componentes de sistema
computacional:

Hardware

Sistema Operacional

Aplicativos

Usuário
Esquema 2 – Componentes de um sistema computacional.

Um S.O é formado por várias camadas ou componentes que


desempenham funções básicas:
 Kernel ou Núcleo;
 Gerenciamento de Processos;
 Gerenciamento de Memória;
 Gerenciamento de Arquivos;

Prof. Paulo Lino 7 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

 Gerenciamento de Dispositivos;
 Proteção e Segurança.
Kernel ou núcleo

Kernel ou núcleo é a parte central do sistema operacional, ele


funciona como uma ponte entre os aplicativos e o processamento
executado a nível de hardware, e trata das funções mais importantes do
sistema.
Um núcleo do sistema faz a ligação entre os aplicativos e o
hardware do computador conforme figura abaixo:

Esquema 3 – Interação do Kernel (fonte: Wikipédia).

As atividades realizadas por núcleos diferentes dependem da sua


arquitetura e abordagem, temos diversos tipos de núcleos:
 Monolítico ou monobloco: É uma arquitetura onde todo o
núcleo é executado em modo supervisor, ou seja, com alto
nível de privilégio. Ex.: BSD, Linux, Solaris, Dos.
 Micronúcleo ou micro kernel: É uma arquitetura oposta ao
kernel monolítico, quase todas as funções são executadas
fora do núcleo no modo usuário. O mínimo de processos
possível é que são executados no modo supervisor
aumentando a segurança. Ex.: Minix, Hurd, Qnx.
 Nanonúcleo: É uma arquitetura reduzida do micronúcleo
que faz uso de drives para provê os serviços.
 Exonúcleo: É uma arquitetura desenvolvido para sistemas
operacionais distribuídos e sistemas que usem alto nível
de abstração a exemplo de máquinas virtuais.
 Núcleo híbrido: É uma arquitetura que tenta combinar os
benefícios da arquitetura micronúcleo e kernel
monolítico. Ex.: Windows NT e derivados, Mac OS X, BeOS.

Prof. Paulo Lino 8 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1 - (CESPE - 2016 - FUNPRESP-EXE - Especialista -


Tecnologia da Informação)
Acerca do sistema operacional Linux em ambiente de rede, julgue o item a
seguir.
O sistema Linux possui kernel monolítico e arquitetura monousuário, o que
aumenta a segurança.
Resolução: Vamos analisar a assertiva por partes:
1ª parte – Errado: O sistema Linux possui kernel monolítico e arquitetura
monousuário multiusuário.
2ª parte – Errado: o que aumenta a segurança. A arquitetura microkernel
é que é mais segura, já que executa a maior parte das suas funções no modo
usuário em oposição a arquitetura monolítica.
Gabarito: Errado.

Gerenciamento de processos

Por definição processo é um programa em execução, o processo


necessita de diversos recursos: tempo de CPU, memória, dispositivos de
E/S. O gerenciamento dos processos é parte do S.O responsável por
garantir que os processos possam ser executados de forma concorrente,
garantindo o acesso a CPU e demais recursos, desempenhando algumas
atividades:
 Schedular(agendar) a execução de processos e threads;
 Criar e excluir processos;
 Suspender e retomar processos;
 Realizar a sincronização e comunicação entre processos.

Gerenciamento de memória

Para que um programa seja executado é necessário que ele esteja


carregado na memória principal do computador, o sistema de
gerenciamento de memória é a parte do S.O responsável por
alocar/desalocar as partes da memória que serão utilizadas pelos
programas, controlar o acesso concorrente a memória, além de ter que
lidar com a transferência de dados entre diferentes tipos de hardware que
compõem a hierarquia de memória do computador.

Prof. Paulo Lino 9 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Gerenciamento de arquivos

A gerencia de arquivos é a parte do S.O que mais interagimos no dia


a dia, ela lida com a criação, manipulação e eliminação de arquivos e
diretórios e com os diferentes tipos de mídia de armazenamento de
arquivos como: discos magnéticos, óticos, SSD, fitas e etc...

Gerenciamento de Dispositivos

Um S.O deve ser capaz de ocultar a complexidade do hardware


existente permitindo que possamos interagir de forma simples com
dispositivos específicos como uma interface de rede ou uma placa
aceleradora gráfica. Portanto a gerencia do dispositivos ou sistema de
entrada e saída(E/S) lida com o hardware através de uma interface
genérica de drivers de dispositivos e com drivers para dispositivos de
hardware específicos.

Proteção e Segurança

Embora nem todos os sistemas operacionais sejam considerados seguros,


precisamos ver o tema de uma forma mais abrangente. Considerando que a
maioria dos sistemas operacionais modernos são multiusuário e
multitarefas, conceitos que veremos mais adiante nessa aula, o S.O precisa
garantir esse acesso concorrente a CPU, memória, arquivos e demais
dispositivos de forma protegida.
Proteção está relacionada aos mecanismos de controle de acesso
de usuários e sistemas a um sistema computacional, já a segurança tem
como finalidade a defesa de agentes internos e externos ao sistema.
No esquema abaixo vamos resumir as principais funções de um
sistema operacional:

Funções do S.O

Gerenciamento Gerenciamento Gerenciamento Gerenciamento Proteção e


Núcleo
de Processos de Memória de Arquivos de Dispositivos Segurança

Esquema 4 – Funções do S.O.

Prof. Paulo Lino 10 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2- (CESPE - 2019 - SLU-DF - Analista de Gestão de


Resíduos Sólidos - Informática)

Com relação a sistemas operacionais, julgue o item a seguir.

Cabe ao sistema operacional gerenciar a segurança do sistema computacional


e permitir que arquivos sejam acessados somente por usuários devidamente
autorizados.

Resolução: O sistema operacional possui diversas funções entre elas a


proteção e a segurança do sistema computacional o acesso aos arquivos
faz parte das proteções fornecidas por um S.O a exemplo dos sistemas
operacionais Linux e Windows.

Gabarito: Certo.

Prof. Paulo Lino 11 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1.2 - Tipos de Sistema Operacional


Existe uma variedade de sistemas operacionais que dependem do
seu propósito, vamos classifica-los de forma mais próxima à que é cobrada
pelas bancas, considerando incialmente as seguintes caraterísticas:
 Número de usuários;
 Número de tarefas.

Número de usuários

Quanto ao número de usuários que podem utilizar o S.O


simultaneamente, eles são classificados como:
 Monousuário: apenas um usuário por vez pode utilizar o
S.O, Ex.: sistemas operacionais embarcados e o MS-DOS da
Microsoft.
 Multiusuário: permite o uso simultâneo de mais de um
usuário ao mesmo tempo. Ex.: Linux, Windows 10, Unix e etc.

Vamos resumir as diferenças entre os sistemas monousuário e


multiusuário:

• Um usuário • Vários
por vez. usuários
acessando de
forma
concorrente.

Monousuário Multiusuário

Esquema 5 – Monousuário vs Multiusuário.

Número de tarefas

Quanto ao número de tarefas que o S.O pode executar


simultaneamente, eles são classificados como:
 Monotarefa ou Monoprogramáveis: os S.O mais antigos só
podiam executar uma tarefa por vez, nesse tipo de sistema
não há interação do usuário, também são conhecidos como
sistemas em batch ou lote.
 Multitarefa ou Multiprogramáveis: Em oposição aos sistemas
em lote, os sistemas multitarefa permitem a execução de
várias tarefas concorrentemente e necessitam da interação

Prof. Paulo Lino 12 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

do usuário. Quando dizemos que um sistema é multitarefa, não


é o mesmo que dizer com múltiplos processadores (CPU), um
sistema pode ser apenas monoprocessado, ou seja, com uma
única CPU e ser multitarefa, evidente que com apenas um
processador não é possível executar mais de uma tarefa
simultaneamente, logo o sistema operacional tem que ser capaz
de executar o chaveamento ou a troca entre os processos
que concorrem por acesso a CPU dando a “impressão” que
tudo está sendo executado simultaneamente, isso é chamado
de pseudoparalelismo.

Vamos resumir as diferenças entre os sistemas monotarefa e


multitarefa:

Monotarefa Multitarefa

Várias
Uma tarefa
tarefas por
por vez
vez

Sem
Com
interação
interação do
com o
usuário
usuário

Esquema 6 – Sistemas monotarefa vs sistemas multitarefa.

Prof. Paulo Lino 13 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3 - (CESPE - 2018 - Polícia Federal - Perito Criminal


Federal - Área 3)
No que concerne a sistemas operacionais e tecnologias de virtualização, julgue
o item seguinte.
Um sistema operacional classificado como multitarefa é aquele em que vários
processos de utilizador (tarefas) estejam carregados em memória; nesse caso,
um pode estar ocupando o processador e outros ficam enfileirados, aguardando
a sua vez.
Resolução: Um sistema operacional multitarefa é capaz de executar
várias tarefas de forma concorrente. Porém, como somente um processo
pode ser executado por vez na CPU os demais processos prontos para
execução ficam enfileirados aguardando sua vez.

Gabarito: Certo.

Prof. Paulo Lino 14 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1.3 – Tipos de S.O (Finalidade)


Agora que sabemos as principais características dos sistemas
operacionais relacionas a quantidade de usuários e de tarefas, vamos analisar
alguns tipos de sistema operacional quanto a sua finalidade, lembrando
que os S.O podem ser monotarefa ou multitarefa e ainda monousuário ou
multiusuários:
 Sistema operacional para computadores de grande porte
(mainframe): são sistema projetados para lidar com
computadores que podem ocupar uma sala e que tem muitos
recursos como por exemplo centenas de disco, precisam lidar
também com um grande número de transações. Normalmente, são
usados em grandes corporações como bancos, sistemas de
reserva de passagens entre outros. Ex.: IBM z/OS.
 Sistema operacional de servidor: são sistemas executados nos
servidores, um servidor é um equipamento com muito mais
recursos de hardware que um computador pessoal e que
disponibiliza serviços para um grande número de usuários,
como um servidor de e-mail, servidor web ou um servidor de arquivos
por exemplo. Ex.: Linux Red Hat, Windows Server 2012 R2, Unix,
FreeBsd.
 Sistema operacional de computadores pessoais: são sistemas
executados nos desktops e notebooks com suporte a
multiprogramação e voltado para execução de aplicativos de
usuários final, como editores de texto, planilha de cálculo,
navegador web entre outros. Ex.: Linux Ubuntu, Windows 10 e Mac
OS.
 Sistema operacional de computadores moveis: são sistemas
projetado para execução em dispositivos móveis, face a
miniaturização dos componentes computacionais e a evolução
da telefonia celular e das redes de banda larga como o 3g e 4g é
cada vez mais comum o uso de smartphones, tablets e outros
dispositivos mobiles, Ex.: Android e iOS.
 Sistema operacional embarcado são sistemas operacionais que
executam sobre diversos tipos de dispositivos inteligentes e, em
geral, não aceitam softwares instalados pelos usuários como
mp3 players, TVs, carros, aparelhos de DVD’s. Ex.: Embedded Linux.
 Sistema operacional de tempo real a principal característica
desse sistema é o tempo como fator chave. Esse S.O pode ser um
sistema de tempo real crítico ou não critico. O S.O de tempo
crítico ou missão crítica necessitam fornecer garantias que
determinada ação ocorrerá dentro do prazo previsto, pois em
casos de falhas pode acarreta em perdas de vidas humanas, é

Prof. Paulo Lino 15 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

utilizado em processos industriais, aviação e sistemas militares


entre outros. Já o de tempo não crítico é aquele que em caso do
não cumprimento dos prazos não acarreta em danos tão severos
quanto os do crítico.
Vamos resumir as principais características dentre os principais
tipos de S.O:

Sistema operacional •Utilizados em mainframes;


de computador de •Lidam com grande quantidades de recursos;
•Suportam um grande volume de transações.
grande porte

Sistema operacional •Utilizados em servidores.


•Fornecem serviços a um grande numeros de
de Servidor usuários.

Sistema operacional •Executados em notebooks, laptops e desktop e


similares;
de computador •Voltados para execução de aplicativos de usuário
pessoal final;

Sistema operacional
•Executados em smartphone, tablets e outros
de computadores dispositivos móveis.
móveis

•Projetado para diversos dispositivos: TVs, DVD,


Sistema operacional Microondas, carros entre outros;
embarcado •Não permite a instalação de aplicativos pelo
usuário.

•O tempo é um fator chave.


Sistema operacional •Sistema de tempo real de missão crítica deve
executar as ações no prazo previsto.
de tempo real •Não crítico aceita a execução fora do prazo
estabelecido.

Esquema 7 – Tipos de Sistema Operacional.

Prof. Paulo Lino 16 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

1.4 – Estrutura de um Sistema Operacional


Um sistema operacional deve oferecer um ambiente para execução
de programas, entretanto como os sistemas operacionais são diferentes
entre si, eles possuem estratégias e algoritmos distintos. Um S.O pode ser
visto como um fornecedor de serviços sobre pontos de vista diferentes,
para os usuários eles oferece várias funções úteis:
 Interface de usuário: em geral os sistemas operacionais podem
interagir com os usuários através de uma interface de linha de
comando (CLI – command line interface) comum nos sistemas
operacionais Linux onde o principal dispositivo de entrada é o teclado
ou uma interface gráfica com o usuário (GUI – graphical user
interface) que utiliza como dispositivos de entrada: teclado e
mouse nos casos dos sistemas Windows ou ainda uma tela
sensível ao toque nos S.O de smartphone Android e iOS.
 Execução de programas: O S.O deve ser capaz de executar os
programas e encerra-los normalmente ou anormalmente
(erro).
 Operações de I/O: o usuário não controla dispositivos de E/S
diretamente essa tarefa fica a cargo do S.O.
 Manipulação do Sistema de arquivos: permite aos usuários a
criação, exclusão, alteração e localização através de um
sistema de arquivos que pode ainda fornece mecanismos de
permissão e controle de acesso para garantir proteção aos
dados.
 Comunicação entre processos: processos não são estáticos,
eles necessitam se comunicar com outros processos na máquina
local ou em uma máquina remota. O S.O garante essa
comunicação através de memória compartilhada em que
programas leem e gravam dados em uma área comum ou por
troca de mensagens em um formato pré-definido.
 Detecção de Erros: o S.O deve ser capaz de identificar erros e
tomar as ações apropriadas como: encerrar o processo, enviar
código do erro para correção e ainda interromper o sistema.

Chamada ao Sistema ou SystemCalls

As chamadas ao sistema ou SystemCalls tem como objetivo


fornecer para os desenvolvedores de aplicação uma interface mais
simples para que os programas de usuário utilizem os serviços do S.O
que em geral são complexo e podem requerer o uso de linguagem de baixo
nível.

Prof. Paulo Lino 17 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Essa interface é chamada de API (application programming


interface) sendo as mais comuns as API Windows, API Posix (Unix, Linux
e Mac OS) e API java.
As chamadas de sistema podem ser utilizadas para controlar
processos, manipular arquivos e dispositivos, comunicação, proteção
entre outras possibilidades.
Na figura abaixo vamos resumir a visão de serviços do S.O adaptada
da figura 2.1 página 60 do Livro de Silberchatz.

Visão de serviços do S.O

Esquema 8 – Visão de Serviços.

4- (CESPE - 2017 - SEDF - Professor de Educação Básica


- Informática)
Acerca dos princípios de sistemas operacionais, julgue o item a seguir.
A interface entre o sistema operacional e os programas de usuário é definida
por um conjunto de instruções estendidas denominadas chamadas de sistema.
Resolução: Chamada de sistema ou SystemCalls são usadas fornecer aos
desenvolvedores de aplicação uma interface mais simples para que os
programas de usuário utilizem os serviços do S.O que em geral são
complexos e podem requerer o uso de linguagem de baixo nível.
Gabarito: Certo.

Prof. Paulo Lino 18 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2 - Processos e Threads

Segundo Tanenbaum, processo é uma abstração de um programa em


execução, ou seja, quando você executa seu editor de textos, por exemplo o
Microsoft Word, na verdade você executa o processo winword.exe que é trazido
para memoria principal e vai competir com os demais processos na sua
máquina pelo tempo da CPU e necessita de um conjunto de recursos que
precisam ser alocados como: memoria, pilha do processo, sessão de
dados entre outros recursos.
Vamos aproveitar para diferenciar programas e processos, os
programas são passivos como um arquivo executável que contém um a
lista de instruções e normalmente estão armazenados no disco. Já os
processos são entidades ativas com um conjunto de recursos alocados.
Um programa se torna um processo quando um arquivo executável é
carregado na memória principal.
Vamos resumir as diferenças entre os programa e processo:

Programa Processo

Passivo Ativo

Conjunto de
Arquivo
recursos
executável
alocados

Esquema 9 – Programas vs Processos.

Uma tarefa é as instruções contidas em um programa e necessitam


que sejam alocados recursos para sua execução, ou seja, um processo
aloca recursos para execução de uma tarefa, os sistemas operacionais
modernos dividem as tarefas para que elas possam ser executadas
simultaneamente, essa divisão de tarefas é chamada de Threads ou
processos leves que iremos explorar mais adiante na nossa aula.

Prof. Paulo Lino 19 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.1- Estrutura de um processo


Um processo é formado por três partes:
 Contexto de hardware: são armazenados o conteúdo de
registradores de uso geral e específicos. A troca de processo
por outro no processador, comandada pelo sistema operacional
é denominada mudança de contexto.
 Contexto de software: são especificadas as características e
limites de recursos que podem ser alocados pelo processo
como: o número máximo de arquivos abertos simultaneamente,
prioridade de execução e tamanho do buffer para operação de
E/S. O contexto de software é formado por três grupos de
informação sobre o processo: identificação, quotas e
privilégios.
 O espaço de endereçamento: é o espaço de memória
pertencente ao processo onde as instruções e aos dados são
armazenados para execução. Cada processo possui seu próprio
espaço de endereçamento, que deve ser devidamente
protegido do acesso dos demais processos.
No esquema abaixo temos uma figura que representa a estrutura de
um processo:

nome
PID
Registradores: Gerais,
Prioridade
PC, SP, Status

Cotas, privilégios Programa


------------
------------
------------
------------
------------

Endereços de memória
principal alocados

Esquema 10 – Estrutura de um processo.

Prof. Paulo Lino 20 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Bloco de Controle de processo BPC

Um processo é implementado pelo sistema operacional através de


uma estrutura chamada Bloco de Controle de Processo (BPC) ou Tabela
de processos, em inglês process control block (PCB), possui as
informações que estão associadas a um processo servindo de
repositório, entre as informações temos:
 Estado do processo;
 Identificação;
 Prioridade;
 Recursos alocados;
 Contador de programa;
 Registradores da CPU;
 Limites de memória;
 Lista de arquivos abertos;
 Informações de scheduling da CPU e do gerenciamento de
memória e etc.

No esquema abaixo temos a figura que representa BPC.

ponteiros

Estado do processos

Nome do processo
Prioridade do
processo

Registradores

Limites de memória
Lista de arquivos
abertos

.
.
.
.

Esquema 11 – Bloco de Controle de Processo.

Prof. Paulo Lino 21 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.2 - Estados de um processo


A execução de um processo faz com que ele mude de estado que
pode ser:
 Novo: quando o processo está sendo criado;
 Pronto: quando o processo está pronto para execução e
aguarda sua vez para ganhar a CPU;
 Em execução: quando o processo está sendo executado na
CPU;
 Bloqueado ou em espera: quando o processo aguarda a
liberação de algum recurso (dispositivos de E/S) ou evento;
 Concluído ou finalizado: quando o processo concluiu sua
execução.

Na figura abaixo vamos mostrar os estados do processo e a transição


possível entre eles:

Estados do processo

Esquema 12 – Estados de um processo.

Os processos criados (estado de novo) só podem mudar para o


estado de pronto, os processos na fila de prontos ficam aguardando serem
escalonados para o estado em execução, durante a execução caso o
processo aguarde por algum evento ou solicite algum recurso ele será
bloqueado, se ele terminar sua execução mudará para o estado finalizado
e se ainda necessitar de mais tempo de CPU voltará para fila de prontos
para aguardar sua vez de voltar pra CPU.

Prof. Paulo Lino 22 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Na tabela abaixo vamos esquematizar as mudanças de estado dos


processos e a transição que é possível entre eles:

Mudança de estado
Estado
Novo Pronto Execução Bloqueado Finalizado

Novo

Pronto

Em execução

Bloqueado

Finalizado
Esquema 13 – Tabela de transição de estados de um processo.

Prof. Paulo Lino 23 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.3 - Compartilhamento de recursos


Para que um processo possa ser executado ele necessita que
recursos sejam alocados, entretanto como os recursos são finitos, eles
precisam ser compartilhados entre os processos, o compartilhamento de
recursos utiliza duas estratégias:
 Compartilhamento no tempo (time sharing): cada processo
tem direito de utilizar uma fatia de tempo (quantum) de
processamento, quando o limite é atingido, outro processo
pode utilizar o recurso. CPU e impressora são exemplos de recursos
compartilhados no tempo.
 Compartilhamento no espaço (multiplexação): nesta abordagem
é possível que mais de um processo utilize o recurso
simultaneamente, como é o caso da memória e do disco.

Vamos resumir as diferenças entre compartilhamento no tempo e


no espaço:

• Apenas um processo • Vários processos


pode usar o recurso utilizam o recurso
por vez. simultanemanete.
• Atribui uma fatia de • Ex.: memória e
tempo. disco.
• Ex.: CPU e
impressora.

Tempo Espaço
Esquema 14 – Compartilhamento tempo vs espaço.

Prof. Paulo Lino 24 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.4 – Algoritmos de Escalonamento


O Escalonador ou Sheduling é o responsável por decidir quem irá
utilizar a CPU, um dos objetivos da multiprogramação é maximizar o uso
da CPU deixando-a sempre ocupada com a execução de um processo. Os
processos que estão na fila de prontos serão alocados na CPU de acordo com
os critérios estabelecidos na política de escalonamento.
Esse chaveamento entre processos é uma operação custosa é
chamada de troca de contexto, pois necessário realizar o salvamento do
estado processo para que futuramente quando o processo retornar a CPU
restaurar o estado do processo e isso pode afetar o desempenho da CPU.
Existem três tipos básicos de scheduler.
 Escalonador de curto prazo: usa fatia de tempo (quantum) curta
para alocar na CPU os processos que estão na fila de pronto.
 Escalonador de médio prazo: retira o processo da memória
principal e aloca na memória secundária, realizando operações
de swapping (troca).
 Escalonador de longo prazo: seleciona os processos que estão
na memória secundária e que serão levados na memória
principal, definindo quais processos serão executados em um
sistema.
No esquema abaixo resumimos os tipos básicos de scheduler:

Curto Prazo Médio Prazo Longo prazo


• usa fatia de • retira o processo • seleciona os
tempo para alocar da memoria processos que
os processos. principal e aloca estão na memoria
na memoria secundária e leva
secundária para a memoria
(swap). principal.

Esquema 15 – Tipos básicos de scheduler.

Prof. Paulo Lino 25 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Preempção e não preempção

Existem os algoritmos preemptivos e os não preemptivos. Os


preemptivos são algoritmos que possibilitam a interrupção de um
processo durante sua execução, em geral causada por:

 Interrupção de entrada/saída;
 Política de escalonamento;
 Termino da execução do processo.
Já os não-preemptivos são algoritmos não permitem que os
processos sejam interrompidos, cada programa será executado até o
fim, são utilizados exclusivamente em sistemas monoprocessados.

No esquema abaixo vamos resumir as principais características dos


algoritmos preemptivos e não-preemptivos.

Preemptivos
• Interrompem os processos.
• Causados por interrupções de E/S, politica de escalonamento e
finalização da execução.

não-preemptivos
• Não interrompe o processo.
• Programa executa até o fim.
• Sistemas monoprocessado.

Esquema 16 – Características dos algoritmos preemptivos e não preemptivos.

Política de escalonamento

O escalonar precisa decidir que processo vai utilizar a CPU com


base em sua política de escalonamento, essa política necessita ser justa
para que todos os processos tenham chance de obter acesso a CPU,
eficiente para manter a CPU ocupada o máximo de tempo possível, e ter
um tempo de resposta adequado às necessidades dos usuários, vamos
destacar os principais algoritmos utilizados:

 FIFO (First in, first out) ou FCFS (First come, first served), em
português "primeiro que entra, primeiro que sai": algoritmo
não-preemptivos, ou seja, executa o processo do início ao fim
não o interrompe, usa uma única fila, os processos que passam
para o estado de pronto vão para o final da fila e são
escalonados quando chegam no início. Vantagens: o mais
simples entre as políticas de escalonamento. Desvantagens:
Caso processos maiores cheguem primeiro aumentarão o

Prof. Paulo Lino 26 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

tempo médio de espera, não garantindo um tempo de resposta


rápido, ou seja, pode não ser eficiente.
 SJF (Shortest Job First): o menor processo obtém acesso a CPU
e atrás dele se formar uma fila de processos por ordem
crescente de tempo de execução, não-preemptivo.
Desvantagem: baixo aproveitamento quando se tem poucos
processos prontos para serem executados.

 SRT (Shortest Remaining Time): nesse algoritmo preemptivo é


escolhido o processo que possua o menor tempo de execução
restante, mesmo que o processo A já tenha alcança uma grande
parte de suas instruções e o processo B novo for menor ele será
executado primeiro. Desvantagem: processos que consomem
mais tempo de execução podem demorar muito para serem
finalizados se muitos processos com curto tempo de execução
chegarem.

 Algoritmo de Prioridade: É um Algoritmo preemptivo onde cada


processo no estado de pronto recebe uma prioridade, os
processos com maiores prioridades são executados primeiro,
prioridades que podem ser atribuídas dinâmica ou
estaticamente. Seria similar a um atendimento em uma fila de
espera que tem a prioridades previstas em lei (idosos, pessoas com
deficiência, grávidas etc...). Desvantagem: similar ao algoritmo SRT,
neste caso processos sem prioridade podem ter que aguardar
muito para ser executados.

 RR(Round-Robin): este algoritmo de escalonamento utiliza uma


fatia de tempo (quantum) igual em que todos os processos
para rodarem na CPU de forma cicrula, depois que o quantum
acaba e o processo ainda não finalizou, ocorre uma preempção
e o processo é inserido no fim da fila. Caso o processo termina
antes de sua fatia de quantum acabar, a CPU é liberada para a
execução de novos processos. Em ambos os casos, após a liberação
da CPU, um novo processo é escolhido na fila. Os novos processos são
sempre inseridos no fim da fila. Quando um processo é retirado da
fila para a CPU, ocorre uma troca de contexto, o que resulta em
um tempo adicional na execução do processo. A técnica de Round
Robin é utilizada também em servidores DNS e para balanceamento
de carga em servidores.

 Múltiplas Filas ou Multilevel Feedback Queues: utiliza várias filas


de processos prontos para executar, cada processo é colocado em
uma fila, e cada fila tem sua própria política de escalonamento
e existe uma política de escalonamento entre filas, preemptivo,
cada fila tem um determinado nível de prioridade. Como exemplo

Prof. Paulo Lino 27 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

podemos pensar em uma agência bancária com três caixas abertos


para o atendimento de clientes, sendo que um atende as pessoas que
tem prioridade por lei (idosos, pessoas com deficiência, grávidas
etc...), uma segunda fila com clientes comuns e ainda uma terceira
fila para clientes “especiais” tanto na fila por prioridade, como nas fila
dos clientes comuns e dos clientes “especiais” o atendimento é feito
por ordem de chegada. No algoritmo de Múltiplas Filas, também
pode ser aplicado particularmente, em cada fila, diferentes
algoritmos como por Round Roubin ou FIFO.

 Escalonamento Cooperativo: o processo que está em execução


libera de forma voluntária a CPU, voltando para a fila de pronto,
cooperando com os outros processos. Possibilita uma melhor
distribuição da CPU entre os processos. Não existe
interferência do S.O na execução do processo. Vantagens: as
aplicações podem ter uma implementação mais simples, já que
não precisam lidar com interrupções. Desvantagem: Um
programa mal escrito pode entrar em looping, monopolizando
a CPU. Usado em sistemas antigos como por exemplo: Microsoft
Windows 3.x, Palm OS e Mac Os 9.

Inanição ou Starvation

Starvation ou inanição ocorre quando um processo nunca é


executado, pois processos de prioridade maior sempre o impedem de
ser executado. Em um ambiente computacional multitarefa, a execução
de diversos processos simultâneos deve seguir a política de
escalonamento para obtenção de acesso a CPU, durante a mudança de
contexto, o escalonador decide qual será o próximo processo a ser
executado a partir da prioridade deste. Quando o escalonamento não é
feito adequadamente, pode haver inanição. Com exceção dos algoritmos
RR e FIFO, todos os outros sofrem do problema de starvation que também
é chamado de adiamento infinito.

Prof. Paulo Lino 28 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

No esquema abaixo vamos resumir os principais algoritmos de


escalonamento de processos e suas respectivas características.

•algoritimo não-preemptivo, executa o processo


do inicio ao fim;
FIFO •usa uma única fila onde o primeiro a chegar é o
primeiro a ser atendido;

•algoritimo não-preemptivo;

SJF •forma uma fila de processos por ordem crescente


de tempo de execução.

•algoritimo preemptivo;

SRT •escolhe o processo com


execução restante.
menor tempo de

•algoritimo preemptivo;

Prioridade •os processos com maior prioridade são


executados primeiro.

• algoritimo preemptivo;
•cada processo tem uma fatia de

Round Robin
tempo(quantum) pra executar, finalizado o
quantum, ou se processo for bloqueado ele sai
da CPU e o próximo da fila obtém acesso.

• algoritimo preemptivo;

Multiplas
•cada processo é colocado em uma fila e cada
fila tem sua politica de escalonamento;
•existem ainda uma politica de escalonamento
filas entre as filas, cada fila tem seu nível de
prioridade.

• gerenciamento de processos de udaos por


sistemas antigos, quando uma tarefa se
inicia ela só será interrompida quando
terminar sua execução ou sair
Cooperativo voluntariamente da cpu;
•implentação mais simples de aplicações,
mas uma aplicação mau escrita pode
monopolizar a CPU.

Esquema 17 – Algoritmos de escalonamento de processos.

Prof. Paulo Lino 29 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

5- (CESPE - 2018 - ABIN - Oficial Técnico de


Inteligência - Área 9)

Julgue o item seguinte, a respeito da aritmética computacional e dos princípios


de sistemas operacionais.

No escalonamento de processos do tipo SJF (shortest job first), o tempo de


ocupação de CPU é determinado para cada processo; assim, quando a CPU
está livre, o processo que irá utilizar a CPU é selecionado pelo critério de
menor tempo, formando-se uma fila de processos por ordem crescente de
tempo de execução.

Resolução : no algoritmo SJF( shortest job first ) o menor processo obtém


acesso a CPU e atrás dele se formar uma fila de processos por ordem
crescente de tempo de execução, não-preemptivo.

Gabarito: Certo.

Prof. Paulo Lino 30 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.5 –Deadlocks ou impasses


Como vimos ao longo dessa aula, em um ambiente multiprogramável
é necessário lidar com vários processos concorrentes. Um processo
necessita de recursos para executar sua tarefa, entretanto outro
processo também pode requerer o mesmo recurso. Não podemos ter por
exemplo dois processos utilizando a mesma impressora (recurso)
simultaneamente pois isso vai gerar um trabalho de impressão irreconhecível,
para muitas aplicações é necessário acesso exclusivo ao recurso.

Em condições normais, um processo deve seguir a seguinte sequência na


solicitação de um recurso:

 Solicitação: o processo solicita o recurso. Deve aguardar sua


liberação caso o recurso esteja sendo utilizado por outro processo;
 Uso: o processo pode usar o recurso;
 Liberação: quando o processo libera o recurso;
No esquema abaixo temos a sequência de solicitação de recursos:

Solicitação Uso Liberação

Esquema 18 – Sequência de solicitação de recurso.

Um conjunto de processos está em estado de deadlock (impasse)


quando cada processo do conjunto está esperando por um evento que
pode ser causado apenas por outro processo do conjunto. Esse evento é a
aquisição e a liberação de um recurso. Exemplo: vamos considerar que
temos dois processos A e B, e duas impressoras 1 e 2, o processo A retém
a impressora 1 e solicita acesso a impressora 2 que está sendo retida pelo
processo B que solicita acesso a impressora 1, ocasionado uma situação de
deadlock. Na figura abaixo vamos esquematizar essa situação.

Processo A Processo B
Requista impressora 2

Retém impressora 1 Retém impressora 2

Requista impressora 1

Impressora 1 Impressora 2

Esquema 19 – Deadlock.

Prof. Paulo Lino 31 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Condições para um deadlock

Deadlocks podem ocorre de várias formas, entretanto existem


quatro condições que necessariamente devem acontecer para que se
concretize o deadlock, são elas:

 Exclusão mútua: pelo menos um recurso não deve ser


compartilhado, ou seja, apenas um processo pode utiliza-lo
por vez de forma exclusiva;
 Retenção(posse) e espera: um processo deve ter a posse de
pelo menos de um recurso e aguarda a liberação de outros
recursos que estão sendo retidos por outros processos;
 Inexistência de preempção (não-preempção): a preempção
permite que um recurso seja deslocado de um processo; a
inexistência de preempção ou simplesmente não-
preempção significa que o recurso só pode ser liberado
voluntariamente pelo processo que o retém.
 Espera circular: deve haver um conjunto de processos de tal
modo que um processo está de posse de um ou mais recursos
que está sendo aguardado por outro processo em uma cadeia
circular.
Vamos esquematizar as principais condições para existência de um
deadlock:

Exclusão
mútua

Condições
Espera Retenção e
Circula
para um espera
Deadlock

Inexistencia
de preempção

Esquema 20 – Condições para um deadlock.

Prof. Paulo Lino 32 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

6- (CESPE - 2018 - MPE-PI - Analista Ministerial -


Tecnologia da Informação)

Julgue o item a seguir, acerca de sistemas operacionais.

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

Resolução: existem quatro condições necessários para existência de um


deadlock: exclusão mútua, retenção e espera, inexistência de
preempção e espera circula. A questão descreve “Uma das causas” do
deadlock que é exclusão mútua disputa por recursos do sistema que podem
ser usados apenas por um processo de cada vez.

Gabarito: Certo.

Prof. Paulo Lino 33 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

2.4 – Processos Independentes, subprocessos e Threads


Existem diferentes maneiras de implementar a concorrência dentro de
uma aplicação entre elas:

 Processos independentes: são uma forma mais simples de


implementar a concorrência em sistemas multiprogramaveis,
eles não possuem subprocesso associado ou dependentes dele.

 Subprocessos: criados dentro de uma estrutura hierárquica. O


processo criador é denominado processo pai e o novo processo
é chamado subprocesso ou processo filho. Caso um processo
pai deixe de existir, os subprocessos subordinados são
automaticamente eliminados. No esquema abaixo temo uma figura
de estrutura de subprocesso, onde o processa A é o processo pai
e possui alguns subprocessos filhos associados.

Processo A (Pai)

Programa
----------
----------
----------
----------
----------
----------

Processo B (subprocesso de A) Processo C (subprocesso de A)

Processo E (subprocesso de B)
Processo D (subprocesso de B)

Esquema 21 – Estrutura de subprocessos.

 Threads ou processos leves: foi introduzido na tentativa de


reduzir o tempo gasto na criação, eliminação e troca de
contexto de processos de aplicações concorrentes. Threads
compartilham o processador da mesma maneira que um
processo, cada thread possui seu próprio contexto de
hardware, porém compartilha o mesmo contexto de software e
espaço de endereçamento. Além disso, os Threads são úteis em
sistemas com múltiplas CPUs, onde existe paralelismo real e
com isso melhoram o desempenho, são cerca de 10 a 100 vez
mais rápidos de criar do que processos. No esquema abaixo
temo uma figura de um processo divido em múltiplos threads.

Prof. Paulo Lino 34 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Processo A

Contexto hardware Contexto hardware Contexto hardware

Contexto de Software
Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------

Espaço de endereçamento

Esquema 22 – Threads.

7- (CESPE - 2018 - ABIN - Oficial Técnico de


Inteligência - Área 6)

Julgue o item a seguir, relativo a sistemas operacionais.

Em uma execução de processo com multi-thread, o sistema operacional garante


a proteção entre threads em relação ao espaço de memória compartilhado entre
eles.

Resolução: os threads de um mesmo processo, possuem seu próprio


contexto de hardware, porém compartilham o mesmo contexto de
software e o mesmo espaço de endereçamento, portanto não existe
qualquer proteção no acesso à memória, permitindo que um thread
possa alterar dados de outros threads.
Gabarito: Errado.

Prof. Paulo Lino 35 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3 – Gerenciamento de memória

Os sistemas computacionais são formados por diversos tipos de


memória que vão de alguns kilobytes nos registradores que são
memórias internas do processador voláteis, rápidas e caras a até alguns
terabytes nos discos rígidos de armazenamento permanente bem mais
lentos e baratos, formando um conjunto conhecido como hierarquia de
memória.
É responsabilidade do S.O gerenciar essa hierarquia de memória, em
especial vamos nos concentrar na memória principal ou memória ram que
é o local onde os processos precisam estar carregados para que possam
ser executados na CPU, a função do gerenciamento de memória é
coordenar a alocação e desalocação de memória para os processos.
Na figura abaixo vamos esquematizar a hierarquia de memória de um
sistema computacional:

Registradores

Memória cache
L1 - L2 - L3

Memória Principal ou Ram

Memória secundária;
Disco rígido - Mídias óticas -
Mídias Removiveis
Esquema 23 – Hierarquia de memórias.

Prof. Paulo Lino 36 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3.1 – Endereçamento
O gerenciamento de memória precisa lidar com os vários processos
e permitir que eles utilizem a memória ao mesmo tempo, garantindo que
um não interfira no espaço do outro.
Sendo a memória um recurso finito ele precisa ser dívida para
alocação eficiente dos processos, segundo Tanembaum, um espaço de
endereçamento é um conjunto de endereços que um processo pode
utilizar para endereçar a memória e cada processo vai precisar do seu
próprio espaço na memória.
Em geral, os programas ficam armazenados no disco eles precisam
ser carregados na memória principal para serem executados ocupando
endereços físicos, a CPU por sua vez faz referência a endereços lógicos,
portanto é necessário ser feita uma tradução ou mapeamento entre os
endereços lógicos e físicos que é tarefa da MMU (memory management
unity ou unidade de gerenciamento de memória).
No esquema abaixo temos a representação do processo de tradução
de endereços físicos em endereços lógicos:

Memória
CPU (endereço MMU
lógico) (endereço
(mapeamento)
físco)

Esquema 24 – Mapeamento de endereço.

Swapping e memória virtual

Como a memória física do computador normalmente não é


suficiente para armazenar todos os processos é necessário utilizar
estratégias para poder lidar com a escassez de recursos:
 Swapping: abordagem mais simples em que o processo é
trazido para memória principal e depois de um certo tempo é
levado de volta para a memória secundária, realizando
operações de swapping (troca). Conforme esquema abaixo:

Prof. Paulo Lino 37 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Sistema Operacional

Processo2

Processo1

Memória Principal

Memória Secundária

Esquema 25 –Swapping.

 Memória virtual: nessa abordagem é possível executar o


processo mesmo que apenas parte dele esteja carregado na
memória principal, a grande vantagem dessa técnica é que ela
permite que os usuários executem programas maiores que o
espaço da memória física real, isso é feito através da
combinação da memória principal com espaço da memória
secundária, conforme esquema abaixo:

Sistema Operacional

Memória Secundária

Memória Principal

Memória Virtual

Esquema 26 – Memória virtual.

Prof. Paulo Lino 38 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Vamos resumir no esquema abaixo os conceitos de swapping e


memória virtual que costumam cair de forma recorrente em questões de
prova:

Swapping
• Técnica que consiste em trazer o processo do disco para
memoria principal.
Memória virtual
• Permitem que usuários executem programas maiores
que o tamanho da memoria física real.
• Combina espaço da memoria principal com a memoria
secundária.
Esquema 27 – Conceitos de swapping e memória virtual.

8 - (CESPE - 2018 - Polícia Federal - Perito Criminal


Federal - Área 3)
A respeito de sistemas operacionais e de aplicativos de edição de textos e
planilhas, julgue o item a seguir.
A técnica de swapping consiste em transferir temporariamente um processo da
memória para o disco do computador e depois carregá-lo novamente em
memória.
Resolução: Swapping é uma técnica em que o processo é trazido para
memória principal (RAM) e depois de um certo tempo é levado de volta
para a memória secundária (disco), realizando operações de swapping
(troca).
Gabarito: Certo.

Prof. Paulo Lino 39 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3.1 – Gerenciamento de espaços livres


Em linhas gerais, existem duas maneiras de gerenciar o espaço livre
em memória:
 Mapa de bits: a memória é dividida como um mapa em
pequenas unidades de alocação correspondente a um bit, se o
bit for 0 (zero) significa que o espaço está livre, se for 1(um)
que o espaço está ocupado. O tamanho do mapa de bits depende
do tamanho da memória e da unidade de alocação, quanto
menor a unidade de alocação maior será o mapa.
 Lista encadeada: uma lista encadeada é uma estrutura de
dados que contém um grupo de nós interligados através de
ponteiros. Cada entrada na lista mostra se está livre (L) ou
ocupada um processo (P). Manter a lista atualizada é uma tarefa
relativamente simples, um processo, com exceção do início e fim da
lista, tem dois vizinhos e com seu termino de execução as
informações se os espaços estão livres os ocupados é feita.

Algoritmos de alocação de memória

Uma das estratégias mais simples para alocação de memória é


dividir a memória em várias partições de tamanho fixo com cada
partição servindo a exatamente um processo. É responsabilidade do S.O
manter em uma tabela quais partes estão livre e quais estão ocupadas
pelos processos.
Uma outra estratégia e manter partições de tamanho variável que
gera o problema de ter que encaixar o processo nos espaços livres
disponíveis, é possível utilizar alguns algoritmos para alocação de
memória e resolver esse problema:
 First fit (primeiro a encaixar): algoritmo rápido que tenta fazer
a menor busca possível, ele varre a lista e procura o primeiro
espaço grande o suficiente para encaixar o processo.
 Next fit (próximo a encaixar): é uma variação do first fit
funcionando praticamente da mesma forma, entretanto quando
ele é chamado novamente ele começa do ponto onde parou e
não do início como o first fit.
 Best fit (melhor que encaixar): faz uma busca em toda lista
procurando pelo menor espaço livre que se encaixa ao processo.
É a mais lento que o first fit e com um desperdício de memória
maior que o first fit e o best fit.
 Worst fit (pior que encaixar): escolhe o maior espaço livre
disponível para o processo.

Prof. Paulo Lino 40 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

 Quick fit (mais rápido que encaixar): mantém duas listas


separadas, sendo uma lista para os tamanhos mais solicitados,
e com isso acaba encontrado espaços livre rapidamente.
Vamos resumir no esquema abaixo os algoritmos de alocação de
memória:

•Simples e rápido, menor busca possivel;


•Procura espaço livre suficiente para encaixar;
Fisrt fit

•Variação do first fit.


•Inicia do ponto onde parou.
Next fit

•Procura o menor espaço livre que se encaixe no processo;.


•Mais lento que o fisrt fit;
Best fit •Maior disperdício que o first fit e next fit.

•Escolhe o maior espaço livre disponivel;


Worst fit

• Dusa lista separadas;


•Lista com os tamanhos mais solcitados;
Quick fit •Rápido para encontrar espaços livres.

Esquema 28 – Algoritmos de alocação de memória.

Prof. Paulo Lino 41 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3.2 – Paginação e Segmentação


O gerenciamento de memória é em muitos casos dependente do
hardware, o que exige um certo grau de integração entre o S.O e o
hardware do computador, sabemos que para que um determinado
processo seja executado dados e instruções precisam estar acessíveis
a CPU que só possui acesso direto aos registradores internos e a
memória principal, logo se os dados estiverem em disco deveram ser
trazidos para memória ram.
Nesta seção iremos discutir sobre estratégias para gerenciar a
memória virtual:
 Paginação;
 Segmentação;
 Segmentação com paginação.

Paginação

A técnica da paginação é utilizada na maior parte dos sistemas de


memória virtual, os endereços gerados pelo computador chamados de
endereço virtual e formam um espaço de endereçamento virtual que
consistem em dividir a memória em tamanhos fixos chamados de páginas
e as unidades correspondentes na memória física são chamadas de
quadros de páginas cujo tamanho é definidos pelo hardware, em geral
uma potência de 2 que variam de 512 bytes a 1 GB por página.
A relação entre os endereços virtuais e os da memória física é dado
pela tabela de página cujo o propósito é mapear páginas virtuais em
quadro de páginas, a MMU é responsável por fazer esse mapeamento.
Para controlar as páginas que estão fisicamente na memória é utilizado
um 1 bit presente/ausente, page fault significa que a página não está
presente na memória física e deverá ser trazida do disco.
A tabela de páginas é implementada através de registradores
dedicados ou com o uso de um TBL (translation lookaside buffer) que é
uma memória associativa de alta velocidade.
A paginação costuma causar o problema da fragmentação interna
que é o desperdício de espaço entre as páginas de cada bloco de
memória virtual. Ex.: um programa de 17 kB com páginas de 4k ocupará 5
páginas, sendo que o último bloco ficará com 3 kB livres causando uma
fragmentação interna conforme vemos na figura abaixo:

Prof. Paulo Lino 42 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Programa 17 kB
Fragmentação interna

1 3 kB
4kB 4kB 4kB
kB Livre

Page 0 Page 1 Page 2 Page 3

Memória

Esquema 29 – Paginação

Segmentação

A técnica da segmentação consiste em dividir a memória em


tamanhos variáveis chamados de segmentos cada um com seu próprio
espaço de endereçamento.
A principal diferença entre a segmentação e a paginação é a
alocação da memória de maneira variável, o mapeamento é feito
através das tabelas de mapeamento de segmentos e os endereços são
compostos pelo número do segmento e um deslocamento dentro do
segmento. Cada entrada na tabela mantém o endereço físico do
segmento, o tamanho do segmento e se ele está presente (HIT) ou
ausente (MISS) na memória.
A segmentação costuma provocar o problema da fragmentação
externa que é causada áreas livres que variam em função do tamanho
do segmento. Conforme podemos ver na representação do esquema abaixo.
Segmento 4
5kB

2kB
Segmento 3
Livre

Programa A 17kB
7kB Segmento 2
Fragmentação Externa
Programa B 5kB
3kB
Segmento 1
Livre

10 kB Segmento 0

Memória

Esquema 30 – Segmentação

Prof. Paulo Lino 43 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Segmentação com paginação

Como a paginação provoca a fragmentação interna e a


segmentação causa o problema da fragmentação externa a estratégia de
combinar as duas técnicas visa minimizar os problemas. A ideia é dividir
fisicamente cada segmento em páginas e deixar na memória apenas as
páginas que estão sendo utilizadas, o endereço é formado pelo número
do segmento, seguido pelo número da página e do deslocamento dentro
dessa página.
Endereço = N° Segmento + N°Página +
Deslocamento da Página

2Kb
Page 4

2Kb Page 3

10 kB 2Kb Page 2
Segmento 0

2Kb Page 1

2Kb Page 0

Esquema 31 – Segmentação com paginação.

Vamos esquematizar as principais características da paginação,


segmentação e segmentação com paginação.

Segementação
Paginação Segmentação
com páginas

Espaço de endereçamento e Dividi a memoria em


Combina as duas técnias:
dividido em paginas de segmentos de tamanhos
segmentação e paginação.
tamanho fixo. variaveis.

Endereço é formado pelo


A relação entre s endereços O mapeamento de endereço número do segmento,
físicos e endereços vituais é é feito através da tabela de seguido pelo número da
dada pela tabelade páginas. mapeamento de segmentos. página e do deslocamento
dentro dessa página.

Objetivo é mitigar a
Causa fragmentação
Causa fragmentação interna. fragmentação interna e
externa.
externa.

Esquema 32 – Principais características da paginação, segmentação e da segmentação com


paginação.

Prof. Paulo Lino 44 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

9- (VUNESP - 2019 - Prefeitura de Itapevi - SP - Analista


em Tecnologia da Informação e Comunicação)
Memória Virtual é uma técnica de gerenciamento de memória de computadores
muito utilizada, que pode ser implementada com o emprego de dois
mecanismos:
a)a paginação e a fragmentação.
b)a paginação e a segmentação.
c)a segmentação e o particionamento.
d)a virtualização e o swapping.
e)o swapping e o particionamento.
Resolução: Vamos analisar cada uma das alternativas.
a)a paginação e a fragmentação. Fragmentação interna e externas são
problemas causados pela paginação e a segmentação respectivamente.
b)a paginação e a segmentação. Os mecanismos de gerenciamento de
memória virtual são paginação e segmentação.
c)a segmentação e o particionamento. Particionamento é a divisão lógica de
discos.
d)a virtualização e o swapping. Virtualização não é estratégia de
gerenciamento de memória, swapping é uma técnica que consiste em trazer
processos da memória principal para memoria secundária e vice-versa.
e)o swapping e o particionamento. Não são estratégias de gerenciamento de
memoria virtual.
Gabarito: Letra B.

Prof. Paulo Lino 45 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

3.3 – Algoritmos de alocação de páginas


Quando acontece uma falta de página na memória o sistema
operacional precisa decidir quais páginas devem estar carregadas na
memória principal e quais não devem ser mantidas, é importante também
destacarmos ainda o conceito de Trashing, segundo DENNING, um programa
causando faltas de páginas a todo o momento está ultrapaginando
(trashing).
Nesta seção iremos examinar os algoritmos utilizados pelo
gerenciamento de memória:
 Algoritmo ótimo: cada página é rotulada com o número de
instruções que será executada antes dela ser referenciada a
primeira vez, a página de maior rótulo deve ser removida da
memória. Considere que uma determinada página A não será
utilizada para 2 milhões de instruções e uma página B não será
utilizada para 1 milhão de instruções, então remover a página A adia
ao máximo a próxima falta de página. Na prática esse algoritmo não
é implantável.
 NRU not-recently-use (não usadas recentemente) parte do
princípio que é melhor remover uma página modificada e não
referenciada que do que uma não modificada mais usada
intensamente, moderadamente eficiente de implementar e com
um desempenho adequado.
 Fifo first in – first out (o primeiro que entra é o primeiro que
sai): é bastante similar a uma fila comum sem prioridade, ou
seja, o sistema operacional mantém uma lista de todas as
páginas atualmente na memória, com a chegada mais recente
no fim e a mais antiga na frente. Essa estratégia, pode acarretar em
descarte páginas importantes.
 LRU Last-recently-use (usada menos recentemente) algoritmo
bem próximo ao ótimo, pois considera as páginas que foram
utilizadas de forma intensa nas últimas instruções e
provavelmente serão utilizadas novamente, quando ocorre
uma falta de página ele descarta as páginas menos utilizadas a
mais tempo. Excelente algoritmo mais de difícil implementação.
 LFU Last-frequently-use (usada menos frequentemente)
seleciona a página menos acessada entre as que estão
carregadas na memória, para isso faz uso de um contador que
se encarrega de fazer essa verificação de acesso. Entretanto,
esse algoritmo acaba causando problemas para as páginas
recém carregadas na memória já que ele as irão iniciar com o
contador zerado.

Prof. Paulo Lino 46 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

 MFU Most frequently use (usada mais frequentemente)


seleciona a página mais utilizada dentre as que estão carregadas
na memória, o controle também é feito através de um contador
de acesso.
 WS Working Set (conjunto de trabalho) semelhante a política
do LRU que descarta as páginas menos utilizadas a mais tempo
memória, para isso estabelece um tempo máxima para que cada
página possa ficar ativa na memória.
Vamos resumir as principais características dos algoritmos de
substituição de páginas no esquema abaixo:

Ótimo
•Sistema rótula as páginas de acordo com o numero
de instruções;
•Página de maior rótulo deve ser retirada da memoria.
•Na prática o algoritmo não é implementável..

NRU
•Remove as páginas não recentemente usadas.
•Implementação moderada e desempenho eficiente.

FIFO
•Similiar ao funcionamento de uma fila simples.
•O primeiro a entrar na fila é o primeiro a sair, quem
chega vai pro final da fila.
•Pode descartar páginas importantes.

LRU
•Similar ao funcionamento do algoritimo ótimo.
•Descarta as páginas menos usuadas recetemente.
•Excelente algoritmo mais de dificil implementação.

LFU
•Seleciona as páginas menos acessadas na memoria.
•Utiliza um contador de acesso.
•Causa problemas para as páginas recem carregadas.

MFU •Seleciona as páginas mais acessadas na memória.


•Utiliza um contador de acesso.

WS
•Semelhante a politica do LRU.
•Descarta as páginas menos utilizadas a mais tempo.
•estabelece um tempo máximo que cada página pode
ficar ativa na memória.

Esquema 33 – Algoritmos de substituição de página.

Prof. Paulo Lino 47 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

4 – Sistemas de Arquivos

É a parte do sistema operacional que lida com arquivos é conhecida


como sistema de arquivos e será tratada nessa seção.

4.1 – Arquivos
Segundo Tanembaum, arquivos são unidades lógicas de informação
criadas por processo. Nos sistemas operacionais, os arquivos são
mapeados para dispositivos físicos não voláteis como discos rígidos
magnéticos, discos de tecnologia mais recente SSD e unidades USB.
Os arquivos representam os vários tipos de dados armazenados no
computador desde de dados numéricos, alfanuméricos, binários entre
outros. Possuem uma estrutura especificas, que dependem do seu tipo e
em geral atribuímos um nome amigável (Ex.: Apostila de SO.doc”) que
facilita sua localização, arquivos também possuem um conjunto de
atributos que podem variar entre os diferentes tipos de sistema
operacional, os mais comuns são:
 Nome;
 Identificador;
 Local;
 Tipo;
 Tamanho;
 Proteção;
 Data/Hora.
Na figura abaixo temos um exemplo dos atributos de um arquivo texto
armazenado no Sistema operacional Windows 10.

Esquema 34 – Atributos de arquivo.

Prof. Paulo Lino 48 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Tipos de arquivos

Alguns S.O aceita o nome do arquivo em mais de uma parte, nos


sistemas Windows são duas exemplos: ”documento.txt” onde a primeira
parte antes do ponto indica o nome do arquivo “documento” e a segunda
parte, após o ponto, a extensão que identifica o tipo de arquivo, no nosso
exemplo um arquivo texto.
Na tabela abaixo temos uma lista com algumas extensões comuns
para os arquivos:

Significado Extensão

Cópia de segurança .bak

Documento em HTML .html

Imagem codificada no padrão jpeg .jpeg

Música codificada no padrão MPEG camada 3 .mp3

Arquivo no formato portable document format .pdf

Arquivo compactado .zip


Esquema 35 – Extensão de arquivos.

Operações sobre arquivos

Os sistemas operacionais fornecem chamadas ao sistema para as


operações sobre os arquivos, vamos destacar as operações básicas:
 Criação de arquivos: deve ser encontrado um espaço para
alocar o arquivo e uma entrada do arquivo no diretório.
 Gravação de arquivos: é feita uma chamada de sistema
passando parâmetros como o nome do arquivos e dados que serão
gravados.
 Leitura de arquivos: é feita uma chamada de sistema,
pesquisando no diretório as entradas associadas ao arquivo.
 Exclusão de arquivos: uma vez localizado o arquivo no diretório
seu espaço é liberado para que possa ser utilizado por outro
arquivo.

Prof. Paulo Lino 49 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

No esquema abaixo resumimos as operações básicas sobre os


arquivos.

Operações básicas
sobre os arquivos

Criar Gravar Ler Excluir

Esquema 36 – Operações básicas sobre arquivos.

10 - (CESPE - 2019 - SLU-DF - Analista de Gestão de


Resíduos Sólidos - Engenharia Elétrica)
Em relação aos microcomputadores, julgue o item a seguir.
Entre as atribuições dos sistemas operacionais, está o gerenciamento do
sistema de arquivos.
Resolução: Sabemos que os sistemas operacionais possuem várias atribuições
entre elas estão: a interface com o usuário e o gerenciamento de
processos, de memória, de arquivos e de dispositivos de entrada e saída
(E/S).
Gabarito: Certo.

Prof. Paulo Lino 50 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

4.2 – Estrutura de arquivos


Nesta seção iremos examinar as estruturas mais comuns utilizadas
pelos sistemas operacionais para um arquivo:
 Sequência em bytes: é uma sequência desestruturada de bytes,
programas de usuários podem colocar o qualquer tipo de dados
em seus arquivos, o S.O enxerga apenas bytes e não sabe o que
tem no seu conteúdo. O Unix e variações (Linux) e o Windows
utilizam essa abordagem que é representada na figura abaixo:
1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

Esquema 37 – Sequência de bytes.

 Sequência em registros foi utilizado nos antigos sistemas que


utilizam cartões perfurados, um arquivo consiste em uma
sequência de registros de tamanho fixo, cada um com sua
estrutura interna, conforme representação na figura abaixo.
1 registro

Esquema 38 – Sequência em registro.

 Árvore: um arquivo consiste em uma arvore de registro, que não


precisam ser do mesmo tamanho, cada um contém um campo
chave com a posição fixa do registro conforme figura abaixo:
NE SUL NORTE

PE PB RN PR SC RS AM PA AP

RECIFE JAMPA NATAL

Esquema 39 – Árvore.

Prof. Paulo Lino 51 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

4.3 – Particionamento e Montagem


Dependo do sistema operacional, um disco pode ser divido ou
particionado de várias formas, em geral quando adquirimos um disco novo
ele vem com um tamanho “bruto” e sem nenhum sistema de arquivos o
que fazemos é criar compartimentos lógicos para acomodar as diferentes
necessidades, esses espaços são chamados de partições ou volumes.
Informações de inicialização, série sequencial de blocos,
carregada como uma imagem na memória, podem ser armazenadas em
um local separado, um carregador de inicialização deve ser capaz de
encontrar e carregar o kernel do S.O e iniciar sua execução.
No exemplo abaixo temos um disco de 1 TB divido em 3 partições, para
acomodar o S.O, as apps e os dados respectivamente.

100 GB
C:\ (Partição do S.O)

300 GB D:\ (Partição de App)

1 TB

E:\ (Partição de Dados)


600 GB

Disco Bruto Disco - Particionado

Esquema 40 – Particionamento Windows.

A partição de inicialização ou partição raiz, contém o kernel do S.O


e outros arquivos do sistema montados em tempo de execução. O S.O
verifica se o dispositivo possui um sistema de arquivos válido, registra
em sua tabela de montagem quais sistemas de arquivos estão montados
e de que tipo (ex.: NTFS, EXT3, FAT32), no Windows cada volume é montado
com uma letra atribuída (C: D: F:), como vimos no esquema 40, nos sistemas
baseados em Unix a tabela de montagem contém um ponteiro para o superbloco
no sistema de arquivos no dispositivo e utiliza uma estrutura de nomes
conforme imagem abaixo.

Esquema 41 – Particionamento no Linux.

Prof. Paulo Lino 52 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

4.4 – Diretórios
Diretórios ou pastas são arquivos especiais que contém
informações sobre a estrutura do sistema de arquivos, na nossa visão de
usuário final ele funciona como um repositório onde conseguimos localizar
os arquivos de acordo com algum tipo de classificação. Exemplo: Em um
diretório chamado “Concursos” você poderia colocar todas as suas aulas do
exponencial em um subdiretório, ou ainda, criar outros subdiretórios por
matéria e colocar suas aulas relacionadas conforme o exemplo da figura abaixo.

Esquema 42 – Exemplo de diretório.

Os sistemas de diretório podem ser organizados em:


 Diretórios em nível único: também chamado diretório raiz, onde
temos um único diretório e todos os arquivos dentro dele, como
exemplificamos no esquema abaixo, é utilizado em sistema
embarcados simples, como câmeras digitais:
Diretório
raiz

A B C

Esquema 43 – Diretório em nível único.

 Diretórios hierárquicos: usa uma estrutura em forma de arvore,


permitindo que o usuário crie uma estrutura contendo
diretórios e subdiretórios de acordo com suas necessidades,
utilizado nos sistemas de arquivos modernos, conforme esquema
abaixo.
Diretório
raiz

Diretório B Diretório
A C

Sub -
A C
Diretório
C1

C1

Esquema 44 – Diretório hierárquico.

Prof. Paulo Lino 53 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Caminho relativo e caminho absoluto

Quando um sistema é organizado como uma arvore de diretórios, é


necessário especificar o nome do arquivo junto com o diretórios e
subdiretórios aos quais ele pertencente, essa referência ao arquivo pode
ser feita informando o caminho absoluto ou caminho relativo.
 Caminho absoluto: caminho completo até o arquivo. Exemplo
de um arquivo chamado AulaCamada2 que está dentro da pasta redes
que é subpasta de Aulas de TI, que é subpasta de Exponencial que
está dentro da pasta Concursos que por sua vez está na raiz C:\.

C:\Concursos\Exponencial\Aulas de TI\Redes\AulaCamada2.PDF
Caminho absoluto

Esquema 45 – Caminho absoluto.

 Caminho relativo: no caminho relativo, a referência é feita a


partir do diretório de trabalho, se considerarmos que o diretório
de trabalho é o Aulas de TI o caminho relativo do arquivo será dado
conforme o esquema abaixo.

Redes\AulaCamada2.PDF
Caminho relativo

Esquema 46 – Caminho relativo.

Operações sobre diretórios

Os sistemas operacionais podem fornecer chamadas ao sistema


para as operações sobre os diretórios da mesma forma como é feito sobre
os arquivos, vamos destacar na tabela abaixo algumas operações que
podem ser sobre os diretórios, com os respectivos comandos no Windows e
no Linux:

Operação Windows Linux

Criar diretório md mkdir

Navegar entre os diretórios cd cd

Remover um diretório rmdir rm -r

Renomear diretório rename mv

Esquema 47 – Operações básicas sobre diretórios.

Prof. Paulo Lino 54 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

4.5 – Alocação em disco


Nos sistemas operacionais existe uma grande quantidade de
arquivos e é necessário decidir a melhor forma de gerenciar o espaço
disponível nos dispositivos de armazenamento para que os arquivos
possam ser acessados rapidamente. Nesta seção iremos discutir três
formas utilizadas para alocação de espaço:
 Contigua: usa cada arquivo deve ocupar um bloco contiguo no
disco, alocação é definida pelo endereço do primeiro bloco e o
tamanho do arquivo, para que possa saber a quantidade de
blocos que será ocupada pelo arquivo. Tem como vantagem uma
boa performance no acesso aos arquivos, e desvantagem é a
fragmentação dos espaços livres, já que os arquivos poderão ser
apagados no futuro e seu espaço livre não ser suficiente para a
alocação sequencial de um novo arquivo. No esquema abaixo temos
um exemplo de alocação contigua.
Diretório

Arquivo Inicio Tamanho


2 3 0 2
0 1 Livre Livre Aula1
Aula2 4 3

7 Aula3 8 4
4 5 6 Livre

8 9 10 11

Esquema 48 – Alocação contigua.

 Encadeada: a alocação encadeada resolve o problema da


alocação contigua, pois, cada arquivo é uma lista encadeada de
blocos de disco, e os blocos podem estar espalhados em
qualquer lugar do disco, o diretório contém um ponteiro para o
primeiro e o último bloco do disco. Tem como desvantagem a
fragmentação dos arquivos problema que pode ser minimizado
através dos utilitários de desfragmentação. No esquema abaixo
temos um exemplo de alocação encadeada.
Diretório

Arquivo Inicio Fim


0 6
Aula1
Aula2 1 11

2 3
0 1 Livre Livre

4 7
Livre
5 6 Livre

8 9 10
Livre Livre Livre
11

Esquema 49 – Alocação encadeada.

Prof. Paulo Lino 55 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

 Indexada: resolve o problema da fragmentação externa e da


declaração de tamanho da alocação contigua, através do uso de
blocos de índice cada arquivo contém seu próprio bloco de
índices que é um array de blocos de endereço de disco. No
esquema abaixo temos um exemplo de alocação indexada.
Diretório

Arquivo Bloco de indice


5
Aula1
Aula2 6

2 3
0 1 Livre Livre 5 (1, 11)

4 7
Livre
5 6 Livre

8 9
Livre Livre
10 11
6 (0, 10)

Esquema 50 – Alocação indexada.

Vamos resumir as principais características das estratégias de


alocação de espaço em disco no esquema abaixo:

•Arquivos ocupam blocos contiguos no disco;


Alocação •Alocação é definida pelo endereço do primeiro bloco e
pelo tamanho do arquivo.

contigua •Possui boa performanace no acesso, mas causa


fragementação dos espaços livres.

•Os arquivos podem estar espalhados em quais blocos

Alocação no disco.
•O diretório contém o endereço para o primeiro e

encadeada
último bloco do disco.
•Resolve o problema da alocação contigua mais causa
a fragmentação dos arquivos.

Alocação •Resolve o problema da fragmentação externa e da


declaração de tamanho da alocação contigua.

indexada
•cada arquivo contém seu proprio blocos de indices
que é um array de endereços de blocos de disco.

Esquema 51 – Alocação de espaço em disco.

Prof. Paulo Lino 56 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

5 – Entrada e saída (E/S)

É a parte do sistema operacional que lida com os dispositivos de


entrada e saída e conhecida como gerenciamento de dispositivos de E/S
(entrada/saída) ou I/O (input/Ouput), na prática essa função do S.O
precisa emitir comandos, interrupções e tratar os erros de vários tipos
de dispositivos que estão interligados ao sistema computacional como:
teclado, monitor, impressora, placa de rede, mouse e entre outros dispositivos.

5.1 – Hardware de E/S


Em geral, os dispositivos de entrada e saída podem ser divididos em
dois tipos:
 Dispositivos de bloco: armazenam informações em blocos de
tamanho fixo, executam as transferências em blocos de um ou
mais blocos inteiros consecutivos, cada bloco pode ser lido ou
escrito independente do outro. Exemplo de dispositivos de bloco:
disco, pendrive e blu-ray.
 Dispositivos de caractere: envia e ou aceita um fluxo de
caractere transferindo bytes uma a um, desconsiderando
quaisquer blocos, não é endereçável e não faz operação de
busca. Exemplo de dispositivos de caractere: impressora, interface
de rede e mouse.
Alguns dispositivos não se enquadram nem como dispositivo de
bloco e nem como caractere, como é o caso das telas sensível ao toque, a
interface de software dos sistemas operacionais é que precisa tratar os
dispositivos de E/S independentemente do seu tipo.
Vamos resumir as principais características dos tipos de dispositivo
E/S no esquema abaixo:

Dispositivo Dispositivo
de Bloco caractere

Envia ou aceita
Armazena
um fluxo de
informações em
caractere
blocos de
tranferindo bytes
tamanho fixo
um a um

Transferencia em
um ou mais Não é
blocos inteiros e endereçavel
consecutivos

Cada bloco pode


ser lido ou escrito Não faz operação
independe do de busca
outro

Esquema 52 – Tipos de dispositivo de E/S.

Prof. Paulo Lino 57 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Vamos examinar alguns conceitos importantes relacionados ao


hardware de E/S e que podem ser objeto de questão de prova.

Barramento (Bus)

Um dispositivo se comunica com o sistema computacional


(processador-memória) através de sinais enviados de um ponto de
conexão ou porta, quando essa conexão compartilha o conjunto de fios,
protocolos e mensagens que podem ser enviadas, damos o nome de
barramento ou bus, entre os barramentos mais conhecidos temos o PCI,
PCI Express, SCSI, USB entre outros.

Controlador

Um chip ou parte de um chip, formado por conjunto de componentes


eletrônicos que podem operar uma porta, um bus ou um dispositivo. Ex.:
controlador de disco SATA. O processador se comunica com o controlador
através de instruções de I/O.

Interrupções

Um dos estados que o processo pode esta é bloqueado, este estado


ocorre, em geral, quando o processo necessita acessar algum dispositivo
I/O, assim que o dispositivo de I/O termina seu trabalho ele gera uma
interrupção, enviando um sinal ao bus que ele está associado. Se
houverem outras interrupções em andamento a de maior prioridade é que
será atendida pela CPU.

Soopoling

O Spooling ou Spool (Simultaneous Peripheral Operations On-line)


é um processo de transferência de dados colocando-os em uma área de
trabalho temporária onde outro programa poderá acessar e processar
futuramente. A técnica de Spooling consiste em colocar jobs em um
buffer, uma área da memória ou de um disco onde um dispositivo pode
acessar quando estiver preparada. O uso mais comum é em trabalhos de
impressão.

Acesso direto à memória (DMA)

A comunicação com o sistema computacional (processador-


memória) para alguns dispositivos, como é o caso dos discos, exige a
transferência de grandes quantidades de dados, como o acesso a
memória é de responsabilidade do processador e objetivando não o

Prof. Paulo Lino 58 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

sobrecarregar um controlador de acesso direto à memória (DMA – data


memory acess) é utilizado com esse propósito. Essa tarefa que é
assumida pelo controlador DMA melhora o desempenho do sistema, já
que a CPU só é interrompida pelo controlador DMA quando a
transferência é concluída.

Buffer

Buffer é uma área de memória principal destinada a armazenar


informações que estão sendo transmitidas entre dispositivos ou entre
dispositivo e a aplicação. O armazenamento em buffer é feito para
minimizar a diferença de velocidade entre quem está enviando os dados
e quem está consumindo esses dados, melhorando o desempenho.
Também permiti o uso de dispositivos com tamanhos diferentes de
transferência de dados entre outros propósitos.
O buffer armazena a cópia original dos dados, permitindo que o
processador manipule os dados no buffer enquanto o dispositivo inicia
uma nova gravação.

Cache

Cache é uma região de memória rápida que mantem cópia de


dados, fixando a velocidade dos dados usados repetidamente. Ele pode
ser localizado na CPU, memória principal e no disco. O dado armazenado
em cache é mais eficiente que obtê-lo do que no acesso ao dispositivo
original, em um disco por exemplo. O cache armazena a cópia dos dados
originais.

Prof. Paulo Lino 59 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Buffer x cache

Buffer e cache são armazenamento temporários, embora tenham


funções distintas, em uma região de memória ambos podem ser
utilizados, ou seja, um buffer pode ser usado como uma cache. No esquema
abaixo vamos destacar as principais características e diferenças entre
buffer e cache.

Buffer Cache
área de memoria região de memoria
principal. rápida.

minimizar a diferença fixa a velocidade de


de velocidade entre dados usados
dispositivos. repetidamente.

armazena a cópia armazena a cópia dos


original dos dados. dados originais.

Esquema 53 – Buffer vs cache.

Prof. Paulo Lino 60 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

11 - (FADESP - 2018 - IF-PA - Professor - Informática)


Considere as seguintes afirmativas sobre buffers em sistemas operacionais.
I. Um dispositivo pode iniciar uma nova gravação enquanto o processador
manipula os dados do buffer. II. O objetivo principal do buffer é desocupar o
processador e os dispositivos de processamentos extras. III. O cache é um tipo
de buffer para instruções que são utilizadas com maior frequência pelo
processador. IV. O buffer não é utilizado para operações de leitura em função
de não haver controle sobre o ponteiro da fila de instruções.
Considerando-se V para verdadeiro e F para falso, o julgamento correto das
afirmativas é
a)I – F, II – V, III – F, IV – F.
b)I – V, II – F, III – F, IV – V.
c)I – F, II – V, III – V, IV – F.
d)I – V, II – V, III – F, IV – V.
e)I – V, II – F, III – V, IV – F.
Resolução: Vamos cada uma dos itens que compõem a questão:
I. Verdadeiro: Um dispositivo pode iniciar uma nova gravação enquanto o
processador manipula os dados do buffer. O buffer armazena a cópia original
dos dados, permitindo que o processador manipule os dados no buffer
enquanto o dispositivo inicia uma nova gravação.
II. Falso: O objetivo principal do buffer é desocupar o processador e os
dispositivos de processamentos extras. O objetivo do buffer é minimizar a
diferença de velocidades entre dispositivos melhorando o desempenho.
III. Verdadeiro: O cache é um tipo de buffer para instruções que são utilizadas
com maior frequência pelo processador. Embora o cache e o buffer tenham
funções distintas, em uma região de memória ambos podem ser utilizados,
ou seja, um buffer pode ser utilizado como uma cache.
IV. Falso: O buffer não é utilizado para operações de leitura em função de não
haver controle sobre o ponteiro da fila de instruções. Buffer suporta operações
de leitura e gravação.
Gabarito: Letra E.

Prof. Paulo Lino 61 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

5.2 – Software de entrada e saída


Um dos objetivos do software de E/S e a independência do
dispositivo, os programas de usuários precisam acessar o dispositivo de
forma transparente, na prática isso significa que para acessar um arquivo que
está em um HD ou em um pendrive deve ser abstraída a complexidade e as
diferenças que ambos os hardwares possuem.
O software de E/S também precisa lidar com outras questões
importantes como: tratamento de erros, que deve ser feito
preferencialmente pelo hardware, as transferências que geram bloqueios de
processos, a utilização do buffer e lidar com dispositivos que possuem
características de uso dedicado como as impressoras e dispositivos de uso
compartilhado como um disco.

Camadas do software de E/S

Para facilitar o tratamento das questões levantadas no item anterior, o


software de E/S utiliza uma abordagem em camadas conforme mostrada
no esquema abaixo:

Programas de usuário

Sistema Operacional

Drive de
Drive de disco
impressora

Controlador de Controlador de
impressora disco

Impressora
Disco

Esquema 54 – Camadas de E/S.

Drivers de dispositivos

No esquema em camadas, os drivers de dispositivos desempenham


um importante papel, eles são software que possuem as instruções para
lidar com a complexidade do hardware e fornecer um acesso uniforme
aos programas de usuário. Em geral, são fornecidos pelo fabricante do
dispositivo e para cada tipo de S.O, por exemplo: um drive de uma determina
impressora da HP é diferente para Windows, Linux e o Mac OS.

Prof. Paulo Lino 62 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

6 - Questões Comentadas

12 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um sistema operacional típico, os estados de um processo são:
a)Ativo, Desocupado, Finalizado e Executando.
b)Bloqueado, Desbloqueado, Ativo e Suspenso.
c)Executando, Bloqueado e Pronto.
d)Parado, Ocupado, em Execução e Finalizado.
e)Pronto, Terminado, Ativo e Processando.
Resolução: Vamos analisar cada uma dos itens:
a) Errado: Ativo, Desocupado, Finalizado e Executando.
b) Errado: Bloqueado, Desbloqueado, Ativo e Suspenso.
c)Correto: Executando, Bloqueado e Pronto.
d) Errado: Parado, Ocupado, em Execução e Finalizado.
e) Errado: Pronto, Terminado, Ativo e Processando.
Os estados de um processo são:
 Novo: quando o processo está sendo criado;
 Pronto: quando o processo está pronto para execução e aguarda sua
vez para ganhar a CPU;
 Em execução: quando o processo está sendo executado na CPU;
 Bloqueado ou em espera: quando o processo aguarda a liberação de
algum recurso (dispositivos de E/S) ou evento;
 Concluído ou finalizado: quando o processo concluiu sua execução.
Gabarito: Letra C.

13 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 8)


Com relação a fundamentos de computação, julgue o item que se segue.
O escalonamento cooperativo é um tipo de gerenciamento de processos
moderno usado por versões atuais de sistemas operacionais como Linux,
Windows Vista e MacOSX.
Resolução: gerenciamento de processos de usados por sistemas antigos
(Windows 3.x, Palm Os e Mac Os 9), quando uma tarefa se inicia ela só será
interrompida quando terminar sua execução ou sair voluntariamente da
CPU.
Gabarito: Errado.

Prof. Paulo Lino 63 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

14 - (CESPE - 2017 - TRE-TO - Técnico Judiciário - Programação de


Sistemas)
Considerando o contexto de gerenciamento de processos dos sistemas
operacionais, assinale a opção que apresenta a estrutura de dados responsável
por habilitar o sistema operacional a localizar e acessar rapidamente o bloco de
controle de processo (PCB) de um processo.
a)árvore de processos
b)lista de bloqueados
c)tabela de processo
d)região de pilha
e)lista de prontos
Resolução: Vamos analisar cada uma dos itens:
a)Errado: árvore de processos. Um processo pai criar processos filhos que
criam outros processos formando uma árvore.
b)Errado: lista de bloqueados. Lista de processos que aguardam a obtenção
de recursos de E/S.
c)Correto: tabela de processo ou bloco de controle de processos possui
as informações que estão associadas a um processo servindo de
repositório como por exemplo : Estado, Identificação, prioridade,
recursos alocados entre outras
d)Errado: região de pilha. Pilha é uma estrutura de dados baseada no
princípio LIFO, o primeiro que entra é o último que sai.
e)Errado: lista de prontos. Lista que contém os processos que estão prontos
Gabarito: Letra C.

15 - (CESPE - 2017 - TRF - 1ª REGIÃO - Analista Judiciário - Informática)


Com relação a sistemas operacionais, julgue o item a seguir.
Na técnica denominada escalonamento de processos, o sistema operacional
mantém parte do espaço de endereçamento de um processo na memória
principal e parte em dispositivo de armazenamento secundário, realizando
trocas de trechos de código e de dados entre eles, de acordo com a necessidade.
Resolução: O Escalonador ou Sheduling é o responsável por decidir que
irá utilizar a CPU, um dos objetivos da multiprogramação é maximizar o
uso da CPU deixando-a sempre ocupada com a execução de um processo.
Os processos que estão na fila de prontos serão alocados na CPU de acordo
com os critérios estabelecidos na política de escalonamento. A descrição
da técnica na assertiva tem mais haver com swapping.
Gabarito: Errado.

Prof. Paulo Lino 64 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

16 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Informática)
Com relação a sistemas operacionais, julgue o item a seguir.
Erro fatal e finalização por outro processo são condições involuntárias usuais
que ocasionam o término de processos executados por sistemas operacionais.
Resolução: Em condições normais um processo é finalizado quando
termina sua execução. É uma das tarefas do sistema operacional é a
detecção de erros que pode ter como ação a interrupção do processo, além
disso outro processo também pode ocasionar o encerramento, como é o
caso de um processo filho ser encerrado pelo encerramento do processo
pai.
Gabarito: Certo.

17 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Engenharia Elétrica)
Em relação aos microcomputadores, julgue o item a seguir.
Uma das características dos sistemas preemptivos é o fato de eles serem
monotarefa.
Resolução: os sistemas preemptivos usam algoritmos que possibilitam
a interrupção de um processo durante sua execução, em geral causada
por: Interrupção de entrada/saída; Política de escalonamento; termino
da execução do processo. O fato deles serem monotarefas que dizer que
só podem executar uma tarefa por vez.

Gabarito: Errado.

Prof. Paulo Lino 65 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

18 - (CESPE - 2016 - POLÍCIA CIENTÍFICA - PE - Perito Criminal -


Engenharia Elétrica)
O algoritmo Round Robin permite
a)determinar o valor dos parâmetros de controladores PID digitais
b)evitar a acumulação de erros significativos ao se implementarem filtros
digitais com o emprego da aritmética de ponto fixo.
c)evitar a ocorrência de ciclos limite em sistemas de controle digital devido aos
erros de quantização.
d)filtrar ruídos no controle de processos por alocação de polos.
e)agendar processos, em um sistema operacional multitarefa, com atribuições
iguais de tempo e de forma circular.
Resolução: Considerando que o algoritmo RR(Round-Robin) utiliza uma
fatia de tempo (quantum) igual em que todos os processos para
rodarem na CPU de forma circular, depois que o quantum acaba e o
processo ainda não finalizou, ocorre uma preempção e o processo é
inserido no fim da fila. Com exceção da letra E as demais assertivas trazem
características que não tem a ver com o RR.
a)Errado: determinar o valor dos parâmetros de controladores PID digitais
b)Errado: evitar a acumulação de erros significativos ao se implementarem
filtros digitais com o emprego da aritmética de ponto fixo.
c)Errado: evitar a ocorrência de ciclos limite em sistemas de controle digital
devido aos erros de quantização.
d)Errado: filtrar ruídos no controle de processos por alocação de polos.
e) Correto: agendar processos, em um sistema operacional multitarefa, com
atribuições iguais de tempo e de forma circular.
Gabarito: Letra E.

Prof. Paulo Lino 66 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

19 - (CESPE - 2016 - POLÍCIA CIENTÍFICA - PE - Perito Criminal - Ciência


da Computação)
Nos sistemas operacionais multiprogramáveis e(ou) multitarefas, os
mecanismos básicos que tornam possível a execução de tarefas concorrentes
são
a)o acesso direto à memória e a reentrância.
b)a interrupção e a exceção.
c)o buffering e o spooling.
d)a interrupção e a memória secundária.
e)as operações de entrada e(ou) saída e pipeline.
Resolução: Vamos analisar cada uma das alternativas de resposta:
a)Errado: o acesso direto à memória e a reentrância. DMA é utilizado por
alguns dispositivos que exigem a transferência de grandes quantidades
para memoria sem onerar o processador. Reentrância é a qualidade de
uma sub-rotina ser executada concorrentemente de forma segura.
b)Correto: a interrupção e a exceção. A assertiva fala de sistemas
multiprogramáveis com execução de tarefas concorrentes, ou seja,
existe disputa de recursos, será preciso interromper um processo para
executar outro. Porém, existem processos que não podem ser
interrompidas, essas situações são tratadas como com exceção.
c) Errado: o buffering e o spooling. Buffer é uma área de memória principal
destinada a armazenar informações que estão sendo transmitidas entre
dispositivos ou entre dispositivo e a aplicação. Spooling (refere-se a um
processo de transferência de dados colocando-os em uma área de
trabalho temporária onde outro programa pode acessar para processar
no futuro.
d)Errado: a interrupção e a memória secundária. memoria secundária,
dentro da hierarquia de memória, refere-se a memorias de armazenamento
permanente, com grandes capacidades de armazenamento e baixa
velocidade. Ex.: Discos rígidos, pen drive entc.
e) Errado: as operações de entrada e(ou) saída e pipeline. Operações e E/S
estão associadas aos dispositivos de I/O com impressoras, teclados, placas de
rede entre outras. Pipeline diz respeito a paralelização da execução de
instruções dentro de um ciclo de cpu.
Gabarito: Letra B.

Prof. Paulo Lino 67 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

20 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Um sistema operacional moderno prevê uma maneira de um processo dividir a
si mesmo em outras tarefas, as quais podem ser executadas concorrentemente.
Essas novas tarefas são denominadas
a)interrupções.
b)Kernel.
c)máquina virtual.
d)Servlets.
e)Threads.
Resolução: Vamos analisar cada uma das alternativas de resposta:
a)Errado: interrupções. é um sinal de um dispositivo que resulta em uma
troca de contextos, isto é, o processador para de fazer o que está
fazendo para atender o dispositivo que pediu a interrupção.
b)Errado: Kernel. É o núcleo do sistema operacional.
c)Errado: máquina virtual. ambiente computacional, que executa
programas como um computador real está relacionado ao processo de
virtualização.
d)Errado: Servlets. São classes javas.
e) Correto: Threads. São processos leves que compartilham o processador
da mesma maneira que um processo, cada thread possui seu próprio
contexto de hardware, porém compartilha o mesmo contexto de
software e espaço de endereçamento.
Gabarito: Letra E.

21 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 6)***


Julgue o item a seguir, relativo a sistemas operacionais.
O escalonamento de threads nem sempre fica sob a responsabilidade do núcleo
do sistema operacional.
Resolução: Os threads são escalonados assim como os processos. Quando
vários processos são executados em uma CPU, parecem que estão sendo
executados simultaneamente. Os threads também aguardam para serem
executados. Como esta alternância é muito rápida, há impressão de que
os threads são executados paralelamente. O escalonamento pode ser
thread ser feito pelo programador a nível de código ou através do núcleo
do sistema operacional.
Gabarito: Certo.

Prof. Paulo Lino 68 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

22 - (VUNESP - 2018 - Câmara de Indaiatuba -SP - Analista de Sistemas)


As threads são suportadas por diversos sistemas operacionais modernos. Cada
thread
a)não pode compartilhar as mesmas variáveis de um processo.
b)não pode se replicar, pois, nessa situação, haveria a necessidade de
duplicação de todo o processo.
c)não pode voluntariamente desistir do uso da Unidade Central de
Processamento, devendo sempre ser executada até o seu final.
d)tem acesso à memória e aos recursos do processo ao qual pertence.
e)utiliza a mesma pilha do processo que a criou.
Resolução: Vamos analisar cada uma das assertivas considerando que:
Threads são processos leves que compartilham o processador da mesma
maneira que um processo, cada thread possui seu próprio contexto de
hardware, porém compartilha o mesmo contexto de software e espaço
de endereçamento. Na imagem abaixo temo uma figura de um processo
divido em múltiplos threads
Processo A

Contexto hardware Contexto hardware Contexto hardware


Contexto de Software

Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------

Espaço de endereçamento

a)Errado: não pode compartilhar as mesmas variáveis de um processo.


b)Errado: não pode se replicar, pois, nessa situação, haveria a necessidade de
duplicação de todo o processo.
c)Errado: não pode voluntariamente desistir do uso da Unidade Central
de Processamento, devendo sempre ser executada até o seu final.
d)Correto: tem acesso à memória e aos recursos do processo ao qual
pertence.
e)Errado: utiliza a mesma pilha do processo que a criou. Cada thread tem sua
pilha, registradores, estado e contador de programa.
Gabarito: Letra D.

Prof. Paulo Lino 69 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

23 - (CESPE - 2019 - MPC-PA - Analista Ministerial – Tecnologia da


Informação)
Um sistema operacional multiprocessador com memória compartilhada
caracteriza-se por
a)permitir que dois ou mais processadores assumam simultaneamente o
controle de um processo a ser executado.
b)impedir a adoção de uma estratégia de processamento mestre-escravo, na
qual um processador mantém o domínio sobre os demais processadores.
c)manter, necessariamente, um único sistema operacional compartilhado entre
os diversos processadores.
d)possibilitar que um processador escreva um dado em determinada região de
memória e que esse dado esteja diferente logo na leitura em sequência.
e)ter independência dos múltiplos processadores em relação à sincronização
entre eles mesmos
Resolução: Vamos analisar cada uma das assertivas:
a)Errado: permitir que dois ou mais processadores assumam simultaneamente
o controle de um processo a ser executado. Cada processo devera está
associado a uma CPU ou processador.
b)Errado: impedir a adoção de uma estratégia de processamento mestre-
escravo, na qual um processador mantém o domínio sobre os demais
processadores. Em um sistema Mestre e Escravo o processador designado
como mestre atribui tarefas para os "Escravos". Os processadores
podem ter arquitetura e velocidade diferentes, e ter memórias privadas
independentes, bem como também podem dividir um espaço de memória
comum.
c)Errado: manter, necessariamente, um único sistema operacional
compartilhado entre os diversos processadores. Podemos ter sistemas
independentes que são interligados por algum meio de comunicação de
alto desempenho, executando S. O diferentes.
d)Correto: possibilitar que um processador escreva um dado em
determinada região de memória e que esse dado esteja diferente logo
na leitura em sequência.
e)Errado: ter independência dos múltiplos processadores em relação à
sincronização entre eles mesmos.
Gabarito: Letra D.

Prof. Paulo Lino 70 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

24 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 6)


Julgue o item a seguir, relativo a sistemas operacionais.
O início da execução de um programa provocada pelo usuário leva à criação de
processos deamons.
Resolução: um daemon é um programa de computador que executa como
um processo em segundo plano (background), ou seja, sem a interação
direta de um usuário. Em sistemas Linux podemos ter deamons associados
a vários serviços que serão iniciados junto com o sistema operacional, a
exemplo de um servidor web com um deamon httpd.
Gabarito: Errado.

25 - (CESPE - 2017 - TRF - 1ª REGIÃO - Analista Judiciário - Informática)


Com relação a sistemas operacionais, julgue o item a seguir.
O início de uma tarefa em lote é um tipo de evento que faz que o sistema
operacional crie processos.
Resolução: quando um processo está sendo criado diz-se que ele está em
estado de novo. Um processo pode ser criado: na inicialização de um
sistema, pelo usuário quando executa uma aplicação, chamadas de
sistema por outro processo em execução e início de tarefas em lote.
Gabarito: Certo.

Prof. Paulo Lino 71 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

26 - (CESPE - 2017 - SEDF - Professor de Educação Básica - Informática)


Acerca dos princípios de sistemas operacionais, julgue o item a seguir.
O tempo de resposta ao usuário é uma desvantagem da estruturação do sistema
operacional em camadas, pois, em uma requisição do usuário, as camadas se
comunicam entre elas, levando a um maior consumo de tempo no
processamento.
Resolução: o sistema operacional faz a interface entre os usuários e o
hardware utilizando uma visão de serviços cuja divisão é em camadas.
As camadas de alto nível relacionadas aos softwares aplicativos mais
próximos dos usuários precisam interagir com outras camadas mais
especializadas até chegar a parte mais complexa ou de baixo nível que é
o hardware. Essa interação entre as camadas aumenta sim a
complexidade da comunicação e aumenta o consumo de tempo e de
processamento.
Na figura abaixo vamos resumir a visão de serviços do S.O adaptada
da figura 2.1 página 60 do Livro de Silberchatz.

Visão de serviços do S.O

Gabarito: Certo.

Prof. Paulo Lino 72 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

27 - (FGV - 2018 - COMPESA - Analista de Saneamento - Engenheiro


Eletrônico)
Os sistemas operacionais surgiram da necessidade de se fazer um uso eficiente
dos escassos recursos de memória e processamento nos computadores da
época, que ficavam ociosos na execução de programas menos complexos.
Dentre as funcionalidades de um sistema operacional, a capacidade que lhe
permite um melhor uso desses recursos escassos é a de
a)alocar memória e multiplexar o processamento para execução paralela de
programas, até o limite dos recursos existentes.
b)traduzir comandos de linguagem de alto nível para linguagem de máquina,
para que o programa possa ser executado com maior velocidade.
c)intercalar a tradução e a execução do código de um programa em alto nível,
acelerando a execução do programa em ambientes de desenvolvimento.
d)fornecer uma biblioteca de programas básicos com o fim de prover uma
execução eficiente de determinadas tarefas repetitivas de programação.
e)executar programas de aplicação diretamente em alto nível, economizando o
tempo de processamento e a memória associadas a tradução para o baixo nível.
Resolução: Vamos analisar cada uma das assertivas:
a)Correto: alocar memória e multiplexar o processamento para execução
paralela de programas, até o limite dos recursos existentes. O gerenciamento
de recursos essenciais como memória e CPU são funções do sistema
operacional que é responsável por alocar/desalocar as partes da memória
que serão utilizadas pelos programas, controlar o acesso concorrente a
memória e através do escalonamento de processos decidi quem irá
utilizar a CPU, um dos objetivos da multiprogramação é maximizar o uso
da CPU deixando-a sempre ocupada com a execução de um processo
b)Errado: traduzir comandos de linguagem de alto nível para linguagem de
máquina, para que o programa possa ser executado com maior velocidade. Essa
é uma tarefa destina a Interpretadores, Compiladores e Tradutores.
c)Errado: intercalar a tradução e a execução do código de um programa em
alto nível, acelerando a execução do programa em ambientes de
desenvolvimento. Essa atividade é desenvolvida pelo interpretador.
d)Errado: fornecer uma biblioteca de programas básicos com o fim de prover
uma execução eficiente de determinadas tarefas repetitivas de programação.
Funcionalidade provida por de uma API (application programming
interface).
e)Errado: executar programas de aplicação diretamente em alto nível,
economizando o tempo de processamento e a memória associadas a tradução
para o baixo nível. Essa atividade é desenvolvida pelo Tradutor.
Gabarito: Letra A.

Prof. Paulo Lino 73 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

28 - (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico)


Em relação aos fundamentos de sistema operacional, julgue o item a seguir.
A qualquer dado instante somente um processo pode executar instruções em
um multicomputador.
Resolução: multicomputador é um conjunto de computadores paralelos
nos quais cada CPU tem sua própria memória privada, que não pode ser
acessada diretamente por qualquer outra CPU, nesse cenário podemos ter
vários processos em execução simultânea, cada um computador
diferente. Assertiva errada.
Gabarito: Errado.

29 - (CESPE - 2018 - MPE-PI - Analista Ministerial - Tecnologia da


Informação)
Julgue o item a seguir, acerca de sistemas operacionais.
Em um sistema operacional de tempo real, cada operação deve apresentar seu
resultado dentro de um período definido de tempo.
Resolução: a principal característica desse sistema é o tempo como fator
chave. Esse S.O pode ser um sistema de tempo real crítico ou não critico.
O S.O de tempo crítico ou missão crítica necessitam fornecer garantias
que determinada ação ocorrerá dentro do prazo previsto, pois em casos
de falhas pode acarreta em perdas de vidas humanas, é utilizado em
processos industriais, aviação e sistemas militares entre outros. Já o de
tempo não crítico é aquele que em caso do não cumprimento dos prazos
não acarreta em danos tão severos quanto os do crítico.
Gabarito: Certo.

Prof. Paulo Lino 74 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

30 - (VUNESP - 2016 - FUNDUNESP - Analista Programador Júnior)


A técnica de spooling utilizada pelos sistemas operacionais permite
a)a criação e a manutenção de uma área em disco para simular a impressão em
uma impressora.
b)a limpeza dos dados armazenados em arquivos temporários de um disco.
c)a verificação da presença de códigos maliciosos presentes em arquivos do
sistema.
d)o acesso de um usuário aos seus arquivos em uma máquina remota, somente
com direito à leitura de dados.
e)o controle dos processos de outros usuários que estão em execução no
sistema, com possibilidade de exclusão desses processos.
Resolução: Vamos analisar cada uma assertivas:
a)Correto: a criação e a manutenção de uma área em disco para simular a
impressão em uma impressora. A técnica de Spooling consiste em colocar
jobs em um buffer, uma área da memória ou de um disco onde um
dispositivo pode acessar quando estiver preparada. O uso mais comum
é em trabalhos de impressão.
b)Errado:a limpeza dos dados armazenados em arquivos temporários de um
disco. A limpeza de arquivos temporários é feita por utilitários do sistema
operacional.
c)Errado:a verificação da presença de códigos maliciosos presentes em
arquivos do sistema. Normalmente, essa verificação é feita por uma solução
de anti-malware.
d)Errado:o acesso de um usuário aos seus arquivos em uma máquina remota,
somente com direito à leitura de dados. Esse recurso é provido pelo sistema
de controle do acesso do file system.
e)Errado:o controle dos processos de outros usuários que estão em execução
no sistema, com possibilidade de exclusão desses processos. Função do
gerenciamento de processos.
Gabarito: Letra A.

Prof. Paulo Lino 75 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

31 - (VUNESP - 2016 - FUNDUNESP - Analista Programador Júnior)


Considere a seguinte situação ocorrendo no ambiente de um sistema
operacional no qual um conjunto de processos está sendo executado: “em
determinado momento, cada processo está esperando um evento que somente
outro processo poderá fazer acontecer”. Essa descrição refere-se a
a)deadlock.
b)interrupts.
d)multitasking.
d)throughput.
e)time-sharing.
Resolução: Vamos analisar cada uma assertivas:
a)Correto:deadlock. deadlock (impasse) ocorre quando cada processo do
conjunto está esperando por um evento que pode ser causado apenas por
outro processo do conjunto.
b)Errado:interrupts. É um sinal enviado ao processador por um
determinado processo para chamar sua atenção. Podem estar associadas
ao hardware ou ao Software.
d)Errado:multitasking. Permitem a execução de várias tarefas
concorrentemente.
d)Errado:throughput. È a quantidade de dados processados em
determinado espaço de tempo.
e)Errado:time-sharing. Cada processo tem direito de utilizar uma fatia de
tempo (quantum) de processamento, quando o limite é atingido, outro
processo pode utilizar o recurso.
Gabarito: Letra A.

Prof. Paulo Lino 76 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

32 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um sistema operacional de computador, três processos estão na seguinte
situação:
- o processo P1 tem a posse do recurso R1.
- o processo P2 tem a posse do recurso R2.
- o processo P3 tem a posse do recurso R3.
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
a)não haverá deadlock, pois o processo P1 não solicitou o recurso R3.
b)tem-se uma condição de deadlock.
c)não haverá deadlock, pois o processo P3 não solicitou o recurso R2
d)só ocorrerá deadlock caso P1 solicite o recurso R3, P2 solicite o recurso R1 e
P3 solicite o recurso R2.
e)não haverá deadlock, pois o processo P2 não solicitou o recurso R1.
Resolução: Vamos analisar o cenário abaixo considerando que um deadlock
(impasse) ocorre quando cada processo do conjunto está esperando por
um evento que pode ser causado apenas por outro processo do conjunto.
Cada um dos processos retém um recurso e espera por outro recurso
que está sendo retido pelo outro processo formando um deadlock.

Processo p1 Processo 2
P1 requista recursos 2

Retém recurso 1 Retém recursos 2

Recurso 1 Recurso 2

Processo 3 P2 Requista recurso 3

Retém recursos 3
P3 Requista recurso 1

Recurso 3

Gabarito: Letra B.

Prof. Paulo Lino 77 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

33 - (FVG - 2016 - IBGE - Analista - Análise de Sistemas - Suporte


Operacional)
Jonas, Analista de Suporte Operacional do IBGE, realizou uma análise minuciosa
dos processos e threads do servidor que ele mantém. Durante a análise, Jonas
identificou que três processos estavam na lista de espera por um recurso
compartilhado. Além disso, Jonas também identificou uma situação inusitada:
um desses processos nunca conseguia executar sua região crítica e, por conta
disso, nunca acessava o recurso compartilhado.
A situação inusitada encontrada por Jonas é a de:
a)lock;
b)starvation;
c)sincronização condicional;
d)threads;
e)stack
Resolução: Vamos analisar cada uma das assertivas da questão considerando
que região crítica é uma área de código de um algoritmo que acessa um
recurso compartilhado que não pode ser acessado concorrentemente por
mais de uma linha de execução.
a)Errado: lock; bastante usado em banco de dados para bloquear objetos
impedindo que outras trasações sejam feitas, mas não atende ao cenário da
questão.
b)Correto: starvation; ou inanição ocorre quando um processo nunca é
executado, pois processos de prioridade maior sempre o impedem de
ser executado. Portanto adequado ao cenário da questão.
c)Errado: sincronização condicional; ocorre quando um recurso não se
encontra pronto para ser utilizado pelos processos, o processo deve ser
colocado no estado de espera, até a liberação do recurso.
d)Errado: threads; são processos leves que compartilham o processador
da mesma maneira que um processo, cada thread possui seu próprio
contexto de hardware, porém compartilha o mesmo contexto de
software e espaço de endereçamento.
e)Errado: stack Pilha é uma estrutura de dados baseada no princípio LIFO,
o primeiro que entra é o último que sai.
Gabarito: Letra B.

Prof. Paulo Lino 78 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

34 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um computador com um sistema operacional típico nem sempre é possível
manter na memória todos os processos por falta de espaço. Uma solução
comumente adotada nessas situações é a utilização de uma área no disco para
a colocação de processos que estejam momentaneamente bloqueados. Esse
mecanismo é conhecido como
a)swapping.
b)paginação.
c)particionamento.
d)segmentação.
e)compactação.
Resolução: Vamos analisar cada uma das assertivas:
a)Correto: swapping. É uma técnica que consiste em trazer processos da
memória principal para memoria secundária e vice-versa.
b)Errado: paginação. É um mecanismo de gerenciamento de memória
virtual que divide a memória em páginas de tamanho fixo.
c)Errado: particionamento. É a divisão lógica de discos.
d)Errado: segmentação. É um mecanismo de gerenciamento de memória
virtual que divide a memória em segmentos de tamanho variado.
e)Errado: compactação. É uma estratégia utilizada para reduzir o tamanho
de arquivos para armazenamento e ou envio.
Gabarito: Letra A.

Prof. Paulo Lino 79 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

35 - (FGV - 2018 - AL-RO - Analista Legislativo - Engenharia Elétrica)


A função dos computadores é executar processos mas para que os processos
sejam executados, eles devem estar na memória do computador. O
gerenciamento da memória é uma das funções dos sistemas operacionais.
Uma técnica empregada pelo sistema operacional para permitir que processos
não carregados na memória principal sejam executados, a partir da emulação
de uma memória significativamente maior, é
a)o swapping.
b)a memória física.
c)a memória virtual.
d)a paginação.
e)o cache.
Resolução: Vamos analisar cada uma das assertivas:
a)Errado: o swapping. é uma técnica que consiste em trazer processos da
memória secundária para memoria principal.
b)Errado: a memória física. Na hierarquia de memorias representada pela
memória RAM.
c)Correto: a memória virtual. É uma técnica que combina o espaço da
memória principal memória ram com a memória secundária, permitindo
que usuários executem programas maiores que o tamanho da memória
real.
d)Errado: a paginação. É um mecanismo de gerenciamento de memória
virtual que divide a memória em páginas de tamanho fixo.
e)Errado: o cache. É uma região de memória rápida que mantem cópia de
dados, fixando a velocidade dos dados usados repetidamente.
Gabarito: Letra C.

Prof. Paulo Lino 80 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

36 - (CESPE - 2018 - EBSERH - Técnico em Informática)


Julgue o próximo item, a respeito da aritmética computacional, da gerência de
memória e dos sistemas de arquivos.
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.
Resolução: Existem duas maneiras de gerenciar a alocação de espaços livres
em memória: MAPA DE BITS e LISTA ENCADEADA.
No mapa de bits a memória é dividida como um mapa em pequenas
unidades de alocação correspondente a um bit, se o bit for 0 (zero)
significa que o espaço está livre, se for 1(um) que o espaço está ocupado.
Já em uma lista encadeada uma lista encadeada é uma estrutura de
dados que contém um grupo de nós interligados através de ponteiros.
Assertiva descreve o mapa de bits como uma lista encadeada, portanto
incorreta.
Gabarito: Errado.

Prof. Paulo Lino 81 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

37 - (IBFC - 2019 - IDAM - Técnico de Nível Superior - Analista de


Redes)
Leia a frase abaixo referente ao conceito básico sobre paginação:
“É um esquema de gerenciamento de _________ pelo qual um computador
armazena e recupera dados de um armazenamento _________ para uso na
memória _________.”
Assinale a alternativa que completa correta e respectivamente as lacunas:
a)memória/ secundário/ principal
b)entrada-saída/ secundário/ principal
c)processos/ principal/ secundária
d)memória/ principal/ secundária
Resolução: Vamos preencher as lacunas:
“É um esquema de gerenciamento de memória pelo qual um computador
armazena e recupera dados de um armazenamento secundário para uso na
memória principal.”
A frase descreve a estratégia do swapping realizado entra a memória
secundário/principal, a fim de que os processos estejam na memória
principal para serem executados.
a) Correto: memória/ secundário/ principal
b)Errado: entrada-saída/ secundário/ principal
c)Errado: processos/ principal/ secundária
d)Errado: memória/ principal/ secundária
Gabarito: Letra A.

38 - (CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área


Informática - Administrador de Banco de Dados)
No que se refere à arquitetura e às características dos sistemas operacionais,
julgue o item que se segue.
A estratégia de gerenciamento de memória conhecida como swapping permite
que programas sejam executados mesmo se estiverem parcialmente carregados
na memória principal.
Resolução: A estratégia de gerenciamento de memória conhecida como
swapping memória virtual permite que programas sejam executados mesmo
se estiverem parcialmente carregados na memória principal. swapping é uma
técnica que consiste em trazer o processo da memória secundária
(disco) para memoria principal (ram).
Gabarito: Errado.

Prof. Paulo Lino 82 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

39 - (UFMA - 2019 - UFMA - Analista de Tecnologia da Informação)


Técnica de gerenciamento de memória que combina a memória principal e a
secundária, dando ao usuário a ideia de existir uma memória maior que a
memória principal.
a)Swapping.
b)Paginação
c)Segmentação
d)Memória Virtual
e)Escalonamento
Resolução: Vamos analisar cada uma das assertivas:
a)Errado: Swapping. É uma técnica que consiste em trazer processos da
memória principal para memoria secundária e vice-versa.
b)Errado: Paginação É um mecanismo de gerenciamento de memória
virtual que divide a memória em páginas de tamanho fixo.
c)Errado: Segmentação. É um mecanismo de gerenciamento de memória
virtual que divide a memória em segmentos de tamanho variado.
d)Memória Virtual. É uma técnica que combina o espaço da memória
principal memória ram com a memória secundária, permitindo que
usuários executem programas maiores que o tamanho da memória real.
e) Errado: Escalonamento. é o responsável por decidir qual processo irá
utilizar a CPU
Gabarito: Letra D.

Prof. Paulo Lino 83 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

40 - (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista


de Redes e Comunicação de Dados)
Considere as seguintes afirmativas sobre Gerenciamento de Memória: I) Troca
ou Swap é o recurso de gerenciamento de memória que realiza troca de dados
entre a memória principal e a memória auxiliar (disco).II) A técnica de memória
virtual por paginação proporciona uma desassociação entre endereços lógicos e
físicos, permitindo que programas considerem a memória como linear e utilizem
até um espaço de armazenamento maior que a memória principal da máquina.
III) A técnica de gerenciamento de memória denominada segmentação não
pode ser usada concomitantemente com a técnica de paginação. Está correto o
que se afirma em:
a)somente I;
b)somente I e II;
c)somente II e III;
d)I, II e III;
e)nenhuma afirmativa está correta.
Resolução: Vamos analisar cada uma das afirmações:
I. Correto: Troca ou Swap é o recurso de gerenciamento de memória que
realiza troca de dados entre a memória principal e a memória auxiliar
(disco).
II. Correto: A técnica de memória virtual por paginação proporciona uma
desassociação entre endereços lógicos e físicos, permitindo que programas
considerem a memória como linear e utilizem até um espaço de armazenamento
maior que a memória principal da máquina. O mapeamento de endereços é
feito através da tabela de segmentos.
III. Errado: A técnica de gerenciamento de memória denominada segmentação
não pode ser usada concomitantemente com a técnica de paginação. Errado é
possível utilizar a técnica segmentação com paginação.
Gabarito: Letra B.

Prof. Paulo Lino 84 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

7- Risco Exponencial

Conceito de sistema operacional

Sistema Operacional
• Programa que gerencia hardware e o software e
faz a interface entre o usuário e os dispositivos.

Componentes de um sistema computacional

Hardware

Sistema Operacional

Aplicativos

Usuário
Interação do Kernel (fonte: Wikipédia)

Prof. Paulo Lino 85 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Funções do S.O

Funções do
S.O

Gerenciamento Gerenciamento Gerenciamento Gerenciamento Proteção e


Núcleo
de Processos de Memória de Arquivos de Dispositivos Segurança

Monousuário vs Multiusuário

• Um usuário • Vários
por vez. usuários
acessando de
forma
concorrente.

Monousuário Multiusuário

Sistemas monotarefa vs sistemas multitarefa

Monotarefa Multitarefa

Uma tarefa Várias tarefas


por vez por vez

Sem Com
interação com interação do
o usuário usuário

Prof. Paulo Lino 86 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Tipos de Sistema Operacional

Sistema operacional •Utilizados em mainframes;


de computador de •Lidam com grande quantidades de recursos;
grande porte •Suportam um grande volume de transações.

•Utilizados em servidores.
Sistema operacional
•Fornecem serviços a um grande numeros de
de Servidor usuários.

Sistema operacional •Executados em notebooks, laptops e desktop


e similares;
de computador •Voltados para execução de aplicativos de
pessoal usuário final;

Sistema operacional
•Executados em smartphone, tablets e outros
de computadores dispositivos móveis.
móveis

•Projetado para diversos dispositivos: TVs,


Sistema operacional DVD, Microondas, carros entre outros;
embarcado •Não permite a instalação de aplicativos pelo
usuário.

•O tempo é um fator chave.


Sistema operacional •Sistema de tempo real de missão crítica deve
executar as ações no prazo previsto.
de tempo real •Não crítico aceita a execução fora do prazo
estabelecido.

Visão de serviços (Fonte: Silberchatz)

Prof. Paulo Lino 87 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Programas vs Processos

Programa Processo

Passivo Ativo

Conjunto
Arquivo
de recursos
executável
alocados

Estrutura de um processo

nome
PID
Registradores: Gerais,
Prioridade
PC, SP, Status

Cotas, privilégios Programa


------------
------------
------------
------------
------------

Endereços de memória
principal alocados

Prof. Paulo Lino 88 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Bloco de Controle de processo

ponteiros

Estado do processos

Nome do processo
Prioridade do
processo

Registradores

Limites de memória
Lista de arquivos
abertos

.
.
.
.

Estados do processo

Prof. Paulo Lino 89 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Tabela de transição de estados de um processo

Mudança de estado
Estado
Novo Pronto Execução Bloqueado Finalizado

Novo

Pronto

Em execução

Bloqueado

Finalizado

Compartilhamento tempo vs espaço

• Apenas um • Vários processos


processo pode usar utilizam o recurso
o recurso por vez. simultanemanete.
• Atribui uma fatia de • Ex.: memória e
tempo. disco.
• Ex.: CPU e
impressora.

Tempo Espaço

Tipos básicos de scheduler

Curto Prazo Médio Prazo Longo prazo


• usa fatia de • retira o processo • seleciona os
tempo para alocar da memoria processos que
os processos. principal e aloca estão na memoria
na memoria secundária e leva
secundária para a memoria
(swap). principal.

Prof. Paulo Lino 90 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Características dos algoritmos preemptivos e não preemptivos

Preemptivos
• Interrompem os processos.
• Causados por interrupções de E/S, politica de escalonamento e
finalização da execução.

não-preemptivos
• Não interrompe o processo.
• Programa executa até o fim.
• Sistemas monoprocessado.

Prof. Paulo Lino 91 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Algoritmos de escalonamento de processos

•algoritimo não-preemptivo, executa o


processo do inicio ao fim;
FIFO •usa uma única fila onde o primeiro a chegar
é o primeiro a ser atendido;

•algoritimo não-preemptivo;
SJF •forma uma fila de processos por
crescente de tempo de execução.
ordem

•algoritimo preemptivo;

SRT •escolhe o processo com menor tempo de


execução restante.

•algoritimo preemptivo;
Prioridade •os processos com maior prioridade são
executados primeiro.

• algoritimo preemptivo;
•cada processo tem uma fatia de
Round Robin tempo(quantum) pra executar, finalizado o
quantum, ou se processo for bloqueado ele
sai da CPU e o próximo da fila obtém
acesso.

• algoritimo preemptivo;
•cada processo é colocado em uma fila e
Multiplas cada fila tem sua politica de
escalonamento;
filas •existem ainda uma politica de
escalonamento entre as filas, cada fila
tem seu nível de prioridade.

• gerenciamento de processos de udaos


por sistemas antigos, quando uma tarefa
se inicia ela só será interrompida quando

Cooperativo terminar sua execução


voluntariamente da cpu;
ou sair

•implentação mais simples de aplicações,


mas uma aplicação mau escrita pode
monopolizar a CPU.

Prof. Paulo Lino 92 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Sequência de solicitação de recurso

Solicitação Uso Liberação

Deadlock

Processo A Processo B
Requista impressora 2

Retém impressora 1 Retém impressora 2

Requista impressora 1

Impressora 1 Impressora 2

Condições para um deadlock

Exclusão
mútua

Condições
Espera Retenção e
Circula
para um espera
Deadlock

Inexistencia
de preempção

Prof. Paulo Lino 93 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Estrutura de subprocessos

Processo A (Pai)

Programa
----------
----------
----------
----------
----------
----------

Processo B (subprocesso de A) Processo C (subprocesso de A)

Processo E (subprocesso de B)
Processo D (subprocesso de B)

Threads

Processo A

Contexto hardware Contexto hardware Contexto hardware


Contexto de Software

Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------

Espaço de endereçamento

Prof. Paulo Lino 94 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Hierarquia de memórias

Registradores

Memória cache
L1 - L2 - L3

Memória Principal ou Ram

Memória secundária;
Disco rígido - Mídias óticas -
Mídias Removiveis

Mapeamento de endereço

Memória
CPU (endereço MMU
lógico) (endereço
(mapeamento)
físco)

Swapping

Sistema Operacional

Processo2

Processo1

Memória Principal

Memória Secundária

Prof. Paulo Lino 95 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Memória virtual

Sistema Operacional

Memória Secundária

Memória Principal

Memória Virtual

Conceitos de swapping e memória virtual

Swapping
• Técnica que consiste em trazer o processo do disco para
memoria principal.
Memória virtual
• Permitem que usuários executem programas maiores
que o tamanho da memoria física real.
• Combina espaço da memoria principal com a memoria
secundária.

Prof. Paulo Lino 96 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Algoritmos de alocação de memória

•Simples e rápido, menor busca possivel;


•Procura espaço livre suficiente para encaixar;
Fisrt fit

•Variação do first fit.


•Inicia do ponto onde parou.
Next fit

•Procura o menor espaço livre que se encaixe no processo;.


•Mais lento que o fisrt fit;
Best fit •Maior disperdício que o first fit e next fit.

•Escolhe o maior espaço livre disponivel;


Worst fit

• Dusa lista separadas;


•Lista com os tamanhos mais solcitados;
Quick fit •Rápido para encontrar espaços livres.

Paginação

Programa 17 kB
Fragmentação interna

1 3 kB
4kB 4kB 4kB
kB Livre

Page 0 Page 1 Page 2 Page 3

Memória

Segmentação
Segmento 4
5kB

2kB
Segmento 3
Livre

Programa A 17kB
7kB Segmento 2
Fragmentação Externa
Programa B 5kB
3kB
Segmento 1
Livre

10 kB Segmento 0

Memória

Prof. Paulo Lino 97 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Segmentação com paginação


Endereço = N° Segmento + N°Página +
Deslocamento da Página

2Kb
Page 4

2Kb Page 3

10 kB 2Kb Page 2
Segmento 0

2Kb Page 1

2Kb Page 0

Principais características da paginação, segmentação e da


segmentação com paginação

Segementação
Paginação Segmentação
com páginas

Espaço de endereçamento e Dividi a memoria em


Combina as duas técnias:
dividido em paginas de segmentos de tamanhos
segmentação e paginação.
tamanho fixo. variaveis.

Endereço é formado pelo


A relação entre s endereços O mapeamento de endereço número do segmento,
físicos e endereços vituais é é feito através da tabela de seguido pelo número da
dada pela tabelade páginas. mapeamento de segmentos. página e do deslocamento
dentro dessa página.

Objetivo é mitigar a
Causa fragmentação
Causa fragmentação interna. fragmentação interna e
externa.
externa.

Prof. Paulo Lino 98 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Algoritmos de substituição de paginação

•Sistema rótula as páginas de acordo com o numero

Ótimo
de instruções;
•Página de maior rótulo deve ser retirada da
memoria.
•Na prática o algoritmo não é implementável..

NRU
•Remove as páginas não recentemente usadas.
•Implementação moderada e desempenho eficiente.

FIFO
•Similiar ao funcionamento de uma fila simples.
•O primeiro a entrar na fila é o primeiro a sair,
quem chega vai pro final da fila.
•Pode descartar páginas importantes.

LRU
•Similar ao funcionamento do algoritimo ótimo.
•Descarta as páginas menos usuadas recetemente.
•Excelente algoritmo mais de dificil implementação.

•Seleciona as páginas menos acessadas na

LFU
memoria.
•Utiliza um contador de acesso.
•Causa problemas para as páginas recem
carregadas.

MFU •Seleciona as páginas mais acessadas na memória.


•Utiliza um contador de acesso.

•Semelhante a politica do LRU.

WS
•Descarta as páginas menos utilizadas a mais
tempo.
•estabelece um tempo máximo que cada página
pode ficar ativa na memória.

Prof. Paulo Lino 99 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Atributos de arquivo

Tabela de extensão de arquivos

Significado Extensão

Cópia de segurança .bak

Documento em HTML .html

Imagem codificada no padrão jpeg .jpeg

Música codificada no padrão MPEG camada 3 .mp3

Arquivo no formato portable document format .pdf

Arquivo compactado .zip

Prof. Paulo Lino 100 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Operações básicas sobre arquivos

Operações básicas
sobre os arquivos

Criar Gravar Ler Excluir

Sequência de bytes
1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

1 byte

Sequência em registro
1 registro

Árvore
NE SUL NORTE

PE PB RN PR SC RS AM PA AP

RECIFE JAMPA NATAL

Prof. Paulo Lino 101 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Particionamento Windows

100 GB
C:\ (Partição do S.O)

300 GB D:\ (Partição de App)

1 TB

E:\ (Partição de Dados)


600 GB

Disco Bruto Disco - Particionado

Particionamento Linux

Exemplo de diretório

Diretório em nível único

Diretório
raiz

A B C

Prof. Paulo Lino 102 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Diretório hierárquico
Diretório
raiz

Diretório B Diretório
A C

Sub -
A C
Diretório
C1

C1

Caminho absoluto

C:\Concursos\Exponencial\Aulas de TI\Redes\AulaCamada2.PDF
Caminho absoluto

Caminho relativo

Redes\AulaCamada2.PDF
Caminho relativo

Operações básicas sobre diretórios

Operação Windows Linux

Criar diretório md mkdir

Navegar entre os diretórios cd cd

Remover um diretório rmdir rm -r

Renomear diretório rename mv

Alocação contigua
Diretório

Arquivo Inicio Tamanho


2 3 0 2
0 1 Livre Livre Aula1
Aula2 4 3

7 Aula3 8 4
4 5 6 Livre

8 9 10 11

Prof. Paulo Lino 103 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Alocação encadeada
Diretório

Arquivo Inicio Fim


0 6
Aula1
Aula2 1 11

2 3
0 1 Livre Livre

4 7
Livre
5 6 Livre

8 9 10
Livre Livre Livre
11

Alocação indexada

Diretório

Arquivo Bloco de indice


5
Aula1
Aula2 6

2 3
0 1 Livre Livre 5 (1, 11)

4 7
Livre
5 6 Livre

8 9
Livre Livre
10 11
6 (0, 10)

Alocação de espaço em disco

•Arquivos ocupam blocos contiguos no disco;


Alocação •Alocação é definida pelo endereço do primeiro
bloco e pelo tamanho do arquivo.
contigua •Possui boa performanace no acesso, mas causa
fragementação dos espaços livres.
•Os arquivos podem estar espalhados em quais

Alocação blocos no disco.


•O diretório contém o endereço para o primeiro e

encadeada
último bloco do disco.
•Resolve o problema da alocação contigua mais
causa a fragmentação dos arquivos.

Alocação •Resolve o problema da fragmentação externa e da


declaração de tamanho da alocação contigua.

indexada •cada arquivo contém seu proprio blocos de indices


que é um array de endereços de blocos de disco.

Prof. Paulo Lino 104 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

Tipos de dispositivo de E/S

Dispositivo Dispositivo
de Bloco caractere

Envia ou aceita
Armazena
um fluxo de
informações em
caractere
blocos de
tranferindo bytes
tamanho fixo
um a um

Transferencia em
um ou mais Não é
blocos inteiros e endereçavel
consecutivos

Cada bloco pode


ser lido ou escrito Não faz operação
independe do de busca
outro

Buffer vs cache

Buffer Cache
área de memoria região de memoria
principal. rápida.

minimizar a diferença fixa a velocidade de


de velocidade entre dados usados
dispositivos. repetidamente.

armazena a cópia armazena a cópia dos


original dos dados. dados originais.

Camadas de E/S

Programas de usuário

Sistema Operacional

Drive de
Drive de disco
impressora

Controlador de Controlador de
impressora disco

Impressora
Disco

Prof. Paulo Lino 105 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

8 - Lista de questões apresentadas (sem comentário)

1 - (CESPE - 2016 - FUNPRESP-EXE - Especialista - Tecnologia da


Informação)
Acerca do sistema operacional Linux em ambiente de rede, julgue o item a
seguir.
O sistema Linux possui kernel monolítico e arquitetura monousuário, o que
aumenta a segurança.

2 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Informática)

Com relação a sistemas operacionais, julgue o item a seguir.

Cabe ao sistema operacional gerenciar a segurança do sistema computacional


e permitir que arquivos sejam acessados somente por usuários devidamente
autorizados.

3 - (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


No que concerne a sistemas operacionais e tecnologias de virtualização, julgue
o item seguinte.
Um sistema operacional classificado como multitarefa é aquele em que vários
processos de utilizador (tarefas) estejam carregados em memória; nesse caso,
um pode estar ocupando o processador e outros ficam enfileirados, aguardando
a sua vez.

4 - (CESPE - 2017 - SEDF - Professor de Educação Básica - Informática)


Acerca dos princípios de sistemas operacionais, julgue o item a seguir.
A interface entre o sistema operacional e os programas de usuário é definida
por um conjunto de instruções estendidas denominadas chamadas de sistema.

Prof. Paulo Lino 106 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

5 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 9)

Julgue o item seguinte, a respeito da aritmética computacional e dos princípios


de sistemas operacionais.

No escalonamento de processos do tipo SJF (shortest job first), o tempo de


ocupação de CPU é determinado para cada processo; assim, quando a CPU
está livre, o processo que irá utilizar a CPU é selecionado pelo critério de
menor tempo, formando-se uma fila de processos por ordem crescente de
tempo de execução.

6 - (CESPE - 2018 - MPE-PI - Analista Ministerial - Tecnologia da


Informação)

Julgue o item a seguir, acerca de sistemas operacionais.

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

7 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 6)

Julgue o item a seguir, relativo a sistemas operacionais.

Em uma execução de processo com multi-thread, o sistema operacional garante


a proteção entre threads em relação ao espaço de memória compartilhado entre
eles.

8 - (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


A respeito de sistemas operacionais e de aplicativos de edição de textos e
planilhas, julgue o item a seguir.
A técnica de swapping consiste em transferir temporariamente um processo da
memória para o disco do computador e depois carregá-lo novamente em
memória.

9 - (VUNESP - 2019 - Prefeitura de Itapevi - SP - Analista em Tecnologia


da Informação e Comunicação)
Memória Virtual é uma técnica de gerenciamento de memória de computadores
muito utilizada, que pode ser implementada com o emprego de dois
mecanismos:
a)a paginação e a fragmentação.
b)a paginação e a segmentação.
c)a segmentação e o particionamento.
d)a virtualização e o swapping.
e)o swapping e o particionamento.

Prof. Paulo Lino 107 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

10 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Engenharia Elétrica)
Em relação aos microcomputadores, julgue o item a seguir.
Entre as atribuições dos sistemas operacionais, está o gerenciamento do
sistema de arquivos.

11 - (FADESP - 2018 - IF-PA - Professor - Informática)


Considere as seguintes afirmativas sobre buffers em sistemas operacionais.
I. Um dispositivo pode iniciar uma nova gravação enquanto o processador
manipula os dados do buffer. II. O objetivo principal do buffer é desocupar o
processador e os dispositivos de processamentos extras. III. O cache é um tipo
de buffer para instruções que são utilizadas com maior frequência pelo
processador. IV. O buffer não é utilizado para operações de leitura em função
de não haver controle sobre o ponteiro da fila de instruções.
Considerando-se V para verdadeiro e F para falso, o julgamento correto das
afirmativas é
a)I – F, II – V, III – F, IV – F.
b)I – V, II – F, III – F, IV – V.
c)I – F, II – V, III – V, IV – F.
d)I – V, II – V, III – F, IV – V.
e)I – V, II – F, III – V, IV – F.

12 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um sistema operacional típico, os estados de um processo são:
a)Ativo, Desocupado, Finalizado e Executando.
b)Bloqueado, Desbloqueado, Ativo e Suspenso.
c)Executando, Bloqueado e Pronto.
d)Parado, Ocupado, em Execução e Finalizado.
e)Pronto, Terminado, Ativo e Processando.

Prof. Paulo Lino 108 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

13 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 8)


Com relação a fundamentos de computação, julgue o item que se segue.
O escalonamento cooperativo é um tipo de gerenciamento de processos
moderno usado por versões atuais de sistemas operacionais como Linux,
Windows Vista e MacOSX.

14 - (CESPE - 2017 - TRE-TO - Técnico Judiciário - Programação de


Sistemas)
Considerando o contexto de gerenciamento de processos dos sistemas
operacionais, assinale a opção que apresenta a estrutura de dados responsável
por habilitar o sistema operacional a localizar e acessar rapidamente o bloco de
controle de processo (PCB) de um processo.
a)árvore de processos
b)lista de bloqueados
c)tabela de processo
d)região de pilha
e)lista de prontos

15 - (CESPE - 2017 - TRF - 1ª REGIÃO - Analista Judiciário - Informática)


Com relação a sistemas operacionais, julgue o item a seguir.
Na técnica denominada escalonamento de processos, o sistema operacional
mantém parte do espaço de endereçamento de um processo na memória
principal e parte em dispositivo de armazenamento secundário, realizando
trocas de trechos de código e de dados entre eles, de acordo com a necessidade.

16 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Informática)
Com relação a sistemas operacionais, julgue o item a seguir.
Erro fatal e finalização por outro processo são condições involuntárias usuais
que ocasionam o término de processos executados por sistemas operacionais.

17 - (CESPE - 2019 - SLU-DF - Analista de Gestão de Resíduos Sólidos -


Engenharia Elétrica)
Em relação aos microcomputadores, julgue o item a seguir.
Uma das características dos sistemas preemptivos é o fato de eles serem
monotarefa.

Prof. Paulo Lino 109 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

18 - (CESPE - 2016 - POLÍCIA CIENTÍFICA - PE - Perito Criminal -


Engenharia Elétrica)
O algoritmo Round Robin permite
a)determinar o valor dos parâmetros de controladores PID digitais
b)evitar a acumulação de erros significativos ao se implementarem filtros
digitais com o emprego da aritmética de ponto fixo.
c)evitar a ocorrência de ciclos limite em sistemas de controle digital devido aos
erros de quantização.
d)filtrar ruídos no controle de processos por alocação de polos.
e)agendar processos, em um sistema operacional multitarefa, com atribuições
iguais de tempo e de forma circular.

19 - (CESPE - 2016 - POLÍCIA CIENTÍFICA - PE - Perito Criminal - Ciência


da Computação)
Nos sistemas operacionais multiprogramáveis e(ou) multitarefas, os
mecanismos básicos que tornam possível a execução de tarefas concorrentes
são
a)o acesso direto à memória e a reentrância.
b)a interrupção e a exceção.
c)o buffering e o spooling.
d)a interrupção e a memória secundária.
e)as operações de entrada e(ou) saída e pipeline.

20 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Um sistema operacional moderno prevê uma maneira de um processo dividir a
si mesmo em outras tarefas, as quais podem ser executadas concorrentemente.
Essas novas tarefas são denominadas
a)interrupções.
b)Kernel.
c)máquina virtual.
d)Servlets.
e)Threads.

Prof. Paulo Lino 110 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

21 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 6)***


Julgue o item a seguir, relativo a sistemas operacionais.
O escalonamento de threads nem sempre fica sob a responsabilidade do núcleo
do sistema operacional.

22 - (VUNESP - 2018 - Câmara de Indaiatuba -SP - Analista de Sistemas)


As threads são suportadas por diversos sistemas operacionais modernos. Cada
thread
a)não pode compartilhar as mesmas variáveis de um processo.
b)não pode se replicar, pois, nessa situação, haveria a necessidade de
duplicação de todo o processo.
c)não pode voluntariamente desistir do uso da Unidade Central de
Processamento, devendo sempre ser executada até o seu final.
d)tem acesso à memória e aos recursos do processo ao qual pertence.
e)utiliza a mesma pilha do processo que a criou.

23 - (CESPE - 2019 - MPC-PA - Analista Ministerial – Tecnologia da


Informação)
Um sistema operacional multiprocessador com memória compartilhada
caracteriza-se por
a)permitir que dois ou mais processadores assumam simultaneamente o
controle de um processo a ser executado.
b)impedir a adoção de uma estratégia de processamento mestre-escravo, na
qual um processador mantém o domínio sobre os demais processadores.
c)manter, necessariamente, um único sistema operacional compartilhado entre
os diversos processadores.
d)possibilitar que um processador escreva um dado em determinada região de
memória e que esse dado esteja diferente logo na leitura em sequência.
e)ter independência dos múltiplos processadores em relação à sincronização
entre eles mesmos

24 - (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 6)


Julgue o item a seguir, relativo a sistemas operacionais.
O início da execução de um programa provocada pelo usuário leva à criação de
processos deamons.

Prof. Paulo Lino 111 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

25 - (CESPE - 2017 - TRF - 1ª REGIÃO - Analista Judiciário - Informática)


Com relação a sistemas operacionais, julgue o item a seguir.
O início de uma tarefa em lote é um tipo de evento que faz que o sistema
operacional crie processos.

26 - (CESPE - 2017 - SEDF - Professor de Educação Básica - Informática)


Acerca dos princípios de sistemas operacionais, julgue o item a seguir.
O tempo de resposta ao usuário é uma desvantagem da estruturação do sistema
operacional em camadas, pois, em uma requisição do usuário, as camadas se
comunicam entre elas, levando a um maior consumo de tempo no
processamento.

27 - (FGV - 2018 - COMPESA - Analista de Saneamento - Engenheiro


Eletrônico)
Os sistemas operacionais surgiram da necessidade de se fazer um uso eficiente
dos escassos recursos de memória e processamento nos computadores da
época, que ficavam ociosos na execução de programas menos complexos.
Dentre as funcionalidades de um sistema operacional, a capacidade que lhe
permite um melhor uso desses recursos escassos é a de
a)alocar memória e multiplexar o processamento para execução paralela de
programas, até o limite dos recursos existentes.
b)traduzir comandos de linguagem de alto nível para linguagem de máquina,
para que o programa possa ser executado com maior velocidade.
c)intercalar a tradução e a execução do código de um programa em alto nível,
acelerando a execução do programa em ambientes de desenvolvimento.
d)fornecer uma biblioteca de programas básicos com o fim de prover uma
execução eficiente de determinadas tarefas repetitivas de programação.
e)executar programas de aplicação diretamente em alto nível, economizando o
tempo de processamento e a memória associadas a tradução para o baixo nível.

28 - (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico)


Em relação aos fundamentos de sistema operacional, julgue o item a seguir.
A qualquer dado instante somente um processo pode executar instruções em
um multicomputador.

Prof. Paulo Lino 112 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

29 - (CESPE - 2018 - MPE-PI - Analista Ministerial - Tecnologia da


Informação)
Julgue o item a seguir, acerca de sistemas operacionais.
Em um sistema operacional de tempo real, cada operação deve apresentar seu
resultado dentro de um período definido de tempo.

30 - (VUNESP - 2016 - FUNDUNESP - Analista Programador Júnior)


A técnica de spooling utilizada pelos sistemas operacionais permite
a)a criação e a manutenção de uma área em disco para simular a impressão em
uma impressora.
b)a limpeza dos dados armazenados em arquivos temporários de um disco.
c)a verificação da presença de códigos maliciosos presentes em arquivos do
sistema.
d)o acesso de um usuário aos seus arquivos em uma máquina remota, somente
com direito à leitura de dados.
e)o controle dos processos de outros usuários que estão em execução no
sistema, com possibilidade de exclusão desses processos.

31 - (VUNESP - 2016 - FUNDUNESP - Analista Programador Júnior)


Considere a seguinte situação ocorrendo no ambiente de um sistema
operacional no qual um conjunto de processos está sendo executado: “em
determinado momento, cada processo está esperando um evento que somente
outro processo poderá fazer acontecer”. Essa descrição refere-se a
a)deadlock.
b)interrupts.
d)multitasking.
d)throughput.
e)time-sharing.

Prof. Paulo Lino 113 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

32 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um sistema operacional de computador, três processos estão na seguinte
situação:
- o processo P1 tem a posse do recurso R1.
- o processo P2 tem a posse do recurso R2.
- o processo P3 tem a posse do recurso R3.
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
a)não haverá deadlock, pois o processo P1 não solicitou o recurso R3.
b)tem-se uma condição de deadlock.
c)não haverá deadlock, pois o processo P3 não solicitou o recurso R2
d)só ocorrerá deadlock caso P1 solicite o recurso R3, P2 solicite o recurso R1 e
P3 solicite o recurso R2.
e)não haverá deadlock, pois o processo P2 não solicitou o recurso R1.

33 - (FVG - 2016 - IBGE - Analista - Análise de Sistemas - Suporte


Operacional)
Jonas, Analista de Suporte Operacional do IBGE, realizou uma análise minuciosa
dos processos e threads do servidor que ele mantém. Durante a análise, Jonas
identificou que três processos estavam na lista de espera por um recurso
compartilhado. Além disso, Jonas também identificou uma situação inusitada:
um desses processos nunca conseguia executar sua região crítica e, por conta
disso, nunca acessava o recurso compartilhado.
A situação inusitada encontrada por Jonas é a de:
a)lock;
b)starvation;
c)sincronização condicional;
d)threads;
e)stack

Prof. Paulo Lino 114 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

34 - (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -


Assistente Técnico de Suporte)
Em um computador com um sistema operacional típico nem sempre é possível
manter na memória todos os processos por falta de espaço. Uma solução
comumente adotada nessas situações é a utilização de uma área no disco para
a colocação de processos que estejam momentaneamente bloqueados. Esse
mecanismo é conhecido como
a)swapping.
b)paginação.
c)particionamento.
d)segmentação.
e)compactação.

35 - (FGV - 2018 - AL-RO - Analista Legislativo - Engenharia Elétrica)


A função dos computadores é executar processos mas para que os processos
sejam executados, eles devem estar na memória do computador. O
gerenciamento da memória é uma das funções dos sistemas operacionais.
Uma técnica empregada pelo sistema operacional para permitir que processos
não carregados na memória principal sejam executados, a partir da emulação
de uma memória significativamente maior, é
a)o swapping.
b)a memória física.
c)a memória virtual.
d)a paginação.
e)o cache.

36 - (CESPE - 2018 - EBSERH - Técnico em Informática)


Julgue o próximo item, a respeito da aritmética computacional, da gerência de
memória e dos sistemas de arquivos.
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.

Prof. Paulo Lino 115 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

37 - (IBFC - 2019 - IDAM - Técnico de Nível Superior - Analista de


Redes)
Leia a frase abaixo referente ao conceito básico sobre paginação:
“É um esquema de gerenciamento de _________ pelo qual um computador
armazena e recupera dados de um armazenamento _________ para uso na
memória _________.”
Assinale a alternativa que completa correta e respectivamente as lacunas:
a)memória/ secundário/ principal
b)entrada-saída/ secundário/ principal
c)processos/ principal/ secundária
d)memória/ principal/ secundária

38 - (CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área


Informática - Administrador de Banco de Dados)
No que se refere à arquitetura e às características dos sistemas operacionais,
julgue o item que se segue.
A estratégia de gerenciamento de memória conhecida como swapping permite
que programas sejam executados mesmo se estiverem parcialmente carregados
na memória principal.

39 - (UFMA - 2019 - UFMA - Analista de Tecnologia da Informação)


Técnica de gerenciamento de memória que combina a memória principal e a
secundária, dando ao usuário a ideia de existir uma memória maior que a
memória principal.
a)Swapping.
b)Paginação
c)Segmentação
d)Memória Virtual
e)Escalonamento

Prof. Paulo Lino 116 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

40 - (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista


de Redes e Comunicação de Dados)
Considere as seguintes afirmativas sobre Gerenciamento de Memória: I) Troca
ou Swap é o recurso de gerenciamento de memória que realiza troca de dados
entre a memória principal e a memória auxiliar (disco).II) A técnica de memória
virtual por paginação proporciona uma desassociação entre endereços lógicos e
físicos, permitindo que programas considerem a memória como linear e utilizem
até um espaço de armazenamento maior que a memória principal da máquina.
III) A técnica de gerenciamento de memória denominada segmentação não
pode ser usada concomitantemente com a técnica de paginação. Está correto o
que se afirma em:
a)somente I;
b)somente I e II;
c)somente II e III;
d)I, II e III;
e)nenhuma afirmativa está correta.

Prof. Paulo Lino 117 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

9 - Gabarito

1 Errado 11 E 21 Certo 31 A

2 Certo 12 C 22 D 32 B

3 Certo 13 Errado 23 D 33 B

4 Certo 14 C 24 Errado 34 A

5 Certo 15 Errado 25 Certo 35 C

6 Certo 16 Certo 26 Certo 36 Errado

7 Errado 17 Errado 27 A 37 A

8 Certo 18 E 28 Errado 38 Errado

9 B 19 B 29 Certo 39 D

10 Certo 20 E 30 A 40 B

Prof. Paulo Lino 118 de 119


www.exponencialconcursos.com.br
Teoria e Questões comentadas
Prof. Paulo Lino

10 - Referencial Bibliográfico

WIKIPEDIA. Núcleo (sistema operacional): Disponível em:


<https://pt.wikipedia.org/wiki/N%C3%BAcleo_(sistema_operacional)> Acesso em: 19 Jan.
2020.

WIKIPEDIA. Núcleo Monolitico: Disponível em:


<https://pt.wikipedia.org/wiki/N%C3%BAcleo_monol%C3%ADtico> Acesso em: 19 Jan. 2020.

WIKIPEDIA. Micronúcleo: Disponível em:


<https://pt.wikipedia.org/wiki/Micron%C3%BAcleo_(computa%C3%A7%C3%A3o)> Acesso
em: 19 Jan. 2020.

WIKIPEDIA. Exonúcleo: Disponível em: <https://pt.wikipedia.org/wiki/Exon%C3%BAcleo>


Acesso em: 19 Jan. 2020.

WIKIPEDIA. Nanonúcleo: Disponível em: < https://pt.wikipedia.org/wiki/Nanon%C3%BAcleo>


Acesso em: 19 Jan. 2020.

WIKIPEDIA. Núcleo Híbrido: Disponível em:


<https://pt.wikipedia.org/wiki/N%C3%BAcleo_h%C3%ADbrido> Acesso em: 19 Jan. 2020.

WIKIPEDIA. Escalonamento de processos: Disponível em:


<https://pt.wikipedia.org/wiki/Escalonamento_de_processos> Acesso em: 20 Jan. 2020.

GUSTAVO SCHROEDER. Paginação x segmentação: Disponível em:


<https://gustavoschroeder.wordpress.com/2015/06/25/paginacao-x-segmentacao/> Acesso
em: 24 Jan. 2020.

TERMINAL DE INFORMAÇÃO. Paginação x segmentação: Disponível em:


<https://terminaldeinformacao.com/2013/01/28/tudo-sobre-paginacao-e-segmentacao/>
Acesso em: 24 Jan. 2020.

EDSON MORENO. Gerência de memória: Disponível em:


<https://www.inf.pucrs.br/~emoreno/undergraduate/CC/sisop/class_files/Aula11.pdf> Acesso
em: 25 Jan. 2020.

PASSEI DIRETO. Algoritmos de susbtituição de página : Disponível em:


<https://www.passeidireto.com/arquivo/1001223/aula-15-algoritmos-de-substituicao-de-
paginas> Acesso em: 25 Jan. 2020.

TECHTUDO. O que são threads e para que server: Disponível em:


<https://www.techtudo.com.br/noticias/2019/01/o-que-sao-threads-e-para-que-servem-em-
um-processador.ghtml> Acesso em: 02 Fev 2020.

WIKIPEDIA. Inanição: Disponível em:


<https://pt.wikipedia.org/wiki/Inani%C3%A7%C3%A3o_(computa%C3%A7%C3%A3o)>
Acesso em: Acesso em: 02 Fev 2020.

Tanembaum, Andrew S. & Bos, Hebert. Sistemas Operacionais Modernos. 4a ed. São Paulo,
Editora Person, 2016 - Editora Person.

Silberschatz, Abraham. Galvin, Peter Baer. Gagne, Greg . Fundamentos de Sistemas


Operacionais. 9a ed. Rio de Janeiro, 2015 - Editora LTC.

Machado,Francis Berenger,Maia,Luiz Paulo. Arquitetura de Sistemas Operacionais - 5ª Ed.


Brasil, 2013 – Editora LTC Exatas Didático.

Prof. Paulo Lino 119 de 119


www.exponencialconcursos.com.br

Você também pode gostar