Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

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

Prévia do material em texto

Sistemas Operacionais
Unidade 1
Introdução aos Sistemas Operacionais
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
JOÃO DANILO VENTURA HOLANDA NOGUEIRA
AUTORIA
João Danilo Ventura Holanda Nogueira
Sou formado em Ciência da Computação, com uma experiência 
técnico-educacional na área de Sistemas Operacionais de mais de 
dois anos. Lecionei na Faculdade Integrada da Grande Fortaleza. Sou 
apaixonado pelo que faço e adoro transmitir meu conhecimento àqueles 
que estão iniciando em suas carreiras. Por isso, fui convidado pela Editora 
Telesapiens a integrar seu elenco de autores independentes. Estou muito 
feliz em poder ajudar você, nesta fase de muito estudo e trabalho. Conte 
comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento de 
uma nova compe-
tência;
DEFINIÇÃO:
houver necessidade 
de se apresentar um 
novo conceito;
NOTA:
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou dis-
cutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
se fazer um resumo 
acumulativo das últi-
mas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO:
quando o desen-
volvimento de uma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Definição de sistemas operacionais .................................................... 12
O que é um sistema operacional? ...................................................................................... 12
Sistema de processamento Batch ...................................................................................... 16
Sistema multitarefa ........................................................................................................................ 18
Sistema de computador pessoal ........................................................................................ 20
Sistemas com múltiplos processadores ........................................................................ 21
Sistemas fortemente acoplados .......................................................................23
Sistemas fracamente acoplados .....................................................................24
Histórico dos sistemas operacionais ..................................................26
Como tudo começou? .................................................................................................................26
Os computadores antes de Babbage ...........................................................27
Os computadores depois de Babbage ........................................................28
Evolução do computador moderno ..................................................................................29
Década de 40 ..................................................................................................................29
Década de 50 ................................................................................................................. 30
Década de 60 .................................................................................................................32
Década de 70 ..................................................................................................................34
Década de 80 .................................................................................................................35
Década de 90 .................................................................................................................35
A virada do milênio .....................................................................................................37
Década de 2010 – tempos atuais .................................................................... 38
Conceitos iniciais sobre sistemas operacionais ............................. 41
Hardware ............................................................................................................................................... 41
Processador .....................................................................................................................42
Memórias ............................................................................................................................44
Dispositivos de entrada e saída ........................................................................................... 46
Barramentos.....................................................................................................................47
Arquiteturas de processadores .........................................................................47
Software ................................................................................................................................................ 49
Tradutor .............................................................................................................................. 50
Linker e Loader ............................................................................................................. 50
Concorrência ...................................................................................................................................... 51
Estrutura dos sistemas operacionais ..................................................54
Processos e endereçamento ..................................................................................................54
Arquivos..................................................................................................................................................55
Interpretador de comandos .....................................................................................................57
Criando shellscripts ...................................................................................................................... 59
Comunicação .....................................................................................................................................61
9
UNIDADE
01
Sistemas Operacionais
10
INTRODUÇÃO
Você sabia que chamamos de sistema operacional (SO), e na 
realidade, não é um sistema operacional?? Isso mesmo. Na verdade, 
o que hoje é chamado de SO é, apenas, um mecanismo de interação 
com o usuário que pode ser chamado de Shell, ou interpretador de 
comandos, quando temos um sistema com base em texto, ou uma 
GUI, nome dado para a famosa interface gráfica, usada na grande 
maioria dos computadores. Isso vale para diversos tipos de sistemas 
operacionais com os quais as pessoas, normalmente, têm contato 
como: Windows, Linux, iOS ou qualquer outro. Entendeu? Ao longo 
desta unidade letiva, você vai mergulhar neste universo!
Sistemas Operacionais
11
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 1. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Definir o conceito de sistemas operacionais.
2. Entender a evolução dos sistemas operacionais até o estado da 
arte.
3. Definir os conceitos iniciais relacionados aos sistemas operacionais.
4. Demonstrar a estrutura dos sistemas operacionais.
Sistemas Operacionais
12
Definição de sistemas operacionais
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
como funcionamos sistemas operacionais. Entender o 
funcionamento de um SO é fundamental para qualquer um 
que deseja seguir na área da tecnologia, pois ele interfere 
diretamente em todo o processo tecnológico. E então? 
Motivado para desenvolver esta competência? Então 
vamos lá. Avante.
O que é um sistema operacional?
Muito se fala de sistemas operacionais e muito pouco se 
compreende sua real função. Um sistema operacional é um software que 
atua como um mediador de interação entre os usuários e os hardwares do 
computador. Ele é um software que operacionaliza a utilização de outros 
softwares para tornar as funcionalidades mais intuitivas.
Figura 1 – Sistema operacional
Fonte: Freepik (2021).
Sistemas Operacionais
13
Para cumprir o objetivo de se tornar mais intuitivo, o SO conta com 
a utilização de dois mecanismos de interação: o Shell e a GUI. O Shell 
é um interpretador de comandos, um software que responde, via texto, 
para cada instrução que seja digitada em sua caixa. As GUI, Graphical User 
Interface, ou interface gráfica do usuário, são o mecanismo de interação 
mais comum nos computadores modernos de uso pessoal. Elas têm 
como base as imagens gráficas, cores e respostas visuais.
Vale a pena salientar que o uso de um mecanismo de interação não 
exclui o outro, pois os grandes sistemas operacionais de mercado, como 
diversas distribuições Linux (Debian, Ubuntu, Slackware, Fedora, Mint), as 
distribuições macOS e as distribuições Microsoft Windows, utilizam-se de 
uma combinação de Shell e GUI para sua total funcionalidade. Os SOs 
têm os chamados terminais de comando, sendo o Bash, em distribuições 
Linux e macOS e o CMD, em distribuições Microsoft Windows.
Mas tornando a dialogar sobre sistemas operacionais, propriamente 
ditos, trata-se de uma das partes mais importantes de um sistema 
computacional. Segundo Tanenbaum (1995), o sistema operacional pode 
ser chamado de alocador de recursos, sendo responsável por processar, 
escalonar e controlar os recursos de hardware e software, garantindo que 
eles possam se comunicar sem problemas.
Os SOs fazem parte do chamado sistema computacional, que pode 
ser dividido em quatro partes: Hardware, sistema operacional, Softwares 
aplicativos e usuários.
Figura 2 – Componentes de um sistema computacional
Usuário Aplicativos
Sistema 
operacional
Hardware
Fonte: Elaborado pelo autor (2021).
Segundo Tanenbaum (1995), os hardwares englobam toda a 
parte operacional física do computador, desde a unidade central de 
processamento, UCP, mais conhecida como CPU, as memórias e os 
dispositivos de entrada e saída de dados. Os softwares aplicativos 
Sistemas Operacionais
14
englobam a parte lógica, desenvolvida para cumprir funções específicas e 
facilitar a vida do usuário. Seus exemplos mais comuns são os aplicativos 
de leitura e edição de texto, executores de áudio, vídeo, navegadores da 
internet, aplicativos presentes em celulares, entre outros. Já os usuários 
são os atores que irão interagir com os softwares aplicativos para que 
eles realizem o processamento de dados. São aqueles que esperam os 
resultados dos processamentos e execuções das funções específicas 
dos softwares aplicativos. Podem ser tanto seres humanos como outros 
computadores. Por fim, o sistema operacional, que é o nosso foco 
principal, é o responsável por garantir o controle dos recursos de hardware, 
permitindo que todos os softwares aplicativos funcionem e apresentem 
seus resultados para o usuário.
REFLITA:
Para facilitar o entendimento, pense em um SO como o RH 
de uma empresa. Cada setor dessa empresa é um software 
diferente e o quadro de funcionários é o agrupamento de 
hardwares. O diretor da empresa é o usuário que precisa que 
cada setor apresente seus resultados. O RH da empresa irá 
alocar cada funcionário em setores e cada funcionário irá 
realizar sua função para gerar o resultado do setor. Por fim, 
esse resultado é enviado para o diretor da empresa que 
analisa todas as informações e pode aceitá-las ou solicitar 
uma nova demanda dos setores. Esse é o funcionamento 
de um sistema computacional.
Com base nessa análise, podemos inclusive perceber que a definição 
de sistema operacional pode, muitas vezes, ser confundida com a definição 
de sistema computacional. Isso acontece porque não existe uma definição, 
universalmente, aceita sobre o que é um sistema operacional. É mais fácil 
definirmos um SO pelo que ele faz, do que pelo que ele propriamente é. 
Tendo isso em mente, um sistema operacional é uma ferramenta que torna 
o uso do computador, conveniente para o usuário.
Tomamos, por exemplo, um sistema computacional comum, 
presente nas casas, empresas e ambientes educacionais. Esses sistemas 
têm diversos dispositivos de entrada e saída, monitores, mouses, 
Sistemas Operacionais
15
teclados, portas USB que podem receber pen-drives, leitoras de CD. 
Os mais antigos tinham floopy de disquetes. A forma de funcionamento 
desses dispositivos não é interessante para o usuário. Para ele, basta que 
os dispositivos funcionem, sem que se preocupe em porque ou como 
está ocorrendo.
Muitas vezes, ocorre de um usuário achar que uma interação de um 
dispositivo desses é simples, quando, na verdade, ela é composta por um 
conjunto de rotinas específicas que são, totalmente, manipuladas pelo 
sistema operacional, de modo que elas sejam acionadas de forma correta 
e eficaz. Em outras palavras, uma das funções do sistema operacional é 
ser um facilitador de acesso aos componentes desse sistema.
A grande maioria dos usuários acaba tendo essa visão de 
simplicidade por conta de definições rápidas dadas por algumas literaturas. 
Não vale a pena para, por exemplo, um usuário comum, entender todo o 
conceito que está em um SO, pois para ele, basta saber que o sistema 
operacional é o responsável pela interface gráfica, apresentada pelo 
computador. Esse conceito, embora incompleto, não está errado, é uma 
abstração de um todo para partes, também chamada de visão top-down.
Nós, da área da tecnologia, estamos mais acostumados com 
uma visão alternativa, que tem sempre o objetivo de abstrair as partes e 
relacioná-las a um todo, chamada de visão bottom-up. Enquanto a visão 
top-down tem o objetivo de simplificar conceitos, abstraindo suas partes, 
tornando fácil de compreender o funcionamento de uma determinada 
ferramenta, a bottom-up vem com o objetivo de listar todas as partes da 
ferramenta que contribuem para seu funcionamento.
Quando, por exemplo, o usuário de um SO executa três aplicativos 
simultaneamente, ele jamais irá imaginar que, no lugar daquele 
funcionamento, existe todo um processo de distribuição de processamento 
e que, na verdade, nada está sendo executado de forma simultânea.
Sistemas operacionais modernos podem realizar as chamadas 
“execuções simultâneas” de forma mascarada, quando, de fato, os 
processadores estão tão desenvolvidos que as trocas de processamento 
são imperceptíveis, de tão rápidas.
Sistemas Operacionais
16
Esse é o conceito do compartilhamento de recursos do SO, no qual 
temos uma determinada lista de requisições e o sistema operacional irá 
tratar uma a uma, em uma fila de prioridade. Quando a requisição que tiver 
maior prioridade for executada por tempo suficiente, os recursos irão para 
a segunda requisição, em seguida para a terceira e assim, sucessivamente.
Exemplo: Pense no funcionamento de uma impressora, agora 
imagine que vários arquivos foram enviados para serem impressos nessa 
mesma impressora. Se não houvesse um sistema operacional, gerindo 
o funcionamento, poderíamos ter uma impressão em que partes da 
folha pertenceriam a vários arquivos diferentes. Porém, existe uma fila 
de impressão, que cuida para que os recursos físicos sejam utilizados 
para cada requisição, uma por vez, garantindo assim que, quando o 
processamento for concluído, o próximo seja iniciado tão logo, quando 
possível e, caso surja uma requisiçãoprioritária, ela fure essa fila e seja 
executada, logo após o atual processamento.
Sistema de processamento Batch
Antes dos computadores modernos existirem, todos os processos 
eram realizados de forma manual. Mesmo aqueles processos que já 
utilizavam alguma forma de automatização, por meio de computadores, 
precisavam ser inseridos manualmente, um a um, para seu processamento.
Nessa época, os computadores eram máquinas fisicamente grandes, com 
toda a sua operação controlada em um painel que continha, geralmente, 
uma leitora de cartão ou fita e um dispositivo, que poderia ser uma 
impressora, um unidade de gravação de fita ou um perfurador de cartão, 
responsável por entregar os resultados dos processamentos de dados.
Como ainda não existia um dispositivo ou método de comunicação 
entre usuário e máquina, não havia interação direta do responsável pela 
operação com o sistema computacional. Para realizar os processamentos, o 
usuário preparava todo a tarefa, previamente, e a submetia para a execução. 
Dependendo da complexidade da tarefa, o processamento poderia levar 
um tempo extremamente longo, o que tornava a permanência do usuário 
na frente do console obsoleta. Os usuários submetiam as tarefas e iam fazer 
outras atividades, até que o resultado fosse emitido pelo computador.
Sistemas Operacionais
17
Em algum momento, no entanto, se erros ocorressem ou se o 
processamento terminasse, antes do tempo estimado, a máquina ficava 
obsoleta, por só poder realizar uma tarefa por vez. Pensando nisso, os 
programadores da época começaram a organizar as tarefas em lotes de 
requisitos semelhantes.
O loteamento de processamentos e execução sequencial de tarefas 
de requisitos semelhantes denominam-se de processamento em lote, ou 
processamento Batch.
Figura 3 – Processamento sequencial
Fonte: Freepik (2021).
Nos sistemas computacionais antigos, mesmo o processamento 
Batch acabava deixando a máquina obsoleta, em alguns momentos, 
pois a diferença, entre a velocidade do processamento eletrônico e do 
processamento físico, era enorme.
Durante a execução das tarefas, uma determinada atividade 
precisaria executar uma ação de entrada ou saída. Enquanto essa ação 
ocorria, o sistema ficava ocioso, aguardando o momento em que poderia 
retomar o processamento e seguir com a execução da tarefa.
Sistemas Operacionais
18
Com o avanço das tecnologias computacionais, surgiu um 
modelo de processamento chamado de multiprogramação. Os sistemas 
operacionais que se baseavam em multiprogramação tinham, uma certa 
autonomia, sobre o lote de processamentos que ele deveria realizar e, 
enquanto um determinado processo estava aguardando uma ação de 
entrada ou saída, o processador era realocado para outra tarefa, que 
era executada até que ela ficasse dependente de alguma ação física da 
máquina, passando, logo em seguida, para o próximo processamento, 
assim diminuindo o tempo de ociosidade do sistema computacional. Ao 
processo de decidir qual tarefa executar, enquanto outra tarefa esperava, 
dá-se o nome de escalonamento de processos.
Sistema multitarefa
O uso e o desenvolvimento de técnicas para o melhoramento do 
processamento Batch, incluindo o uso de multiprogramação, chegou ao 
ponto de evolução.
Segundo Machado (2007), o sistema multitarefa, de tempo 
compartilhado ou de compartilhamento de tempo, é um sistema que 
funciona com o princípio da multiprogramação. Diversos processos 
executados por vez, cada um ocupando o processador por um 
determinado período, porém, diferente do processamento Batch, em 
que os processos que ocupam o processador só são trocados, quando 
há uma dependência externa. No processamento multitarefa, as 
execuções entram e saem do processador, em intervalos de tempo fixos, 
permanecendo lá por tempo o bastante para executar uma instrução e, 
logo depois, é substituída por outro processo. Aqui, as trocas ocorrem 
com uma frequência tão acelerada que temos a impressão de presenciar 
o processamento simultâneo de tarefas.
Sistemas Operacionais
19
Figura 4 – Multitarefa
Fonte: Freepik (2021).
Os sistemas interativos usam a técnica de processamento 
multitarefa para garantir que o usuário tenha sempre o melhor resultado 
possível da execução. Quando o usuário, por exemplo, alterna as janelas 
de programas, ele precisa ter a percepção de que tudo está ocorrendo de 
forma simultânea, na frente dele, porém, ali há todo o escalonamento de 
processos, definindo a fila de prioridade para os processamentos em lote. 
Essa técnica de processamento permite que múltiplos usuários usem os 
recursos da máquina, ao mesmo tempo.
Sistemas operacionais de tempo compartilhado têm uma 
complexidade maior do que um sistema operacional de multiprogramação. 
Embora ambos tenham similaridades, como o caso de terem a necessidade 
de manter várias tarefas na memória ao mesmo tempo, no caso do tempo 
compartilhado, a velocidade com que as tarefas são executadas exige uma 
rápida troca de alocação do processo, entre memória principal e disco. 
Um dos métodos mais utilizados para garantir essa velocidade 
de forma eficiente, é a utilização das memórias virtuais. Esse método 
permite que algumas tarefas sejam executadas, sem que elas estejam, 
totalmente, na memória física da máquina, permitindo, assim, que o 
sistema computacional consiga executar, até mesmo tarefas que sejam 
maiores do que a própria memória física.
Sistemas Operacionais
20
O uso da memória virtual elimina a limitação do tamanho da 
memória, fazendo com que programas, mais complexos, possam ser 
executados sem problemas.
Os sistemas de tempo compartilhado, geralmente, têm um 
sistema de arquivos que são armazenados em diversos discos, exigindo 
tecnologias de gerenciamento de arquivos e gerenciamento de disco.
Sistema de computador pessoal
Não é nenhum segredo que o desenvolvimento tecnológico 
não teve foco na experiência com o usuário, mas sim no poder de 
processamento e execução de tarefas. As máquinas eram criadas para 
serem capazes de realizar as mais diversas tarefas e, quando sofriam 
atualizações, eram aquelas que potencializavam os hardwares e a 
capacidade de processamento.
Com a chegada dos computadores pessoais, no entanto, uma nova 
linha de pensamento começou a ser aplicada nas linhas de produção. O 
usuário comum não tinha necessidade de um hardware potencializado, 
porque o usuário comum realizaria tarefas mais simples do que, por 
exemplo, o cálculo necessário para realizar um lançamento de um foguete 
espacial que irá aterrissar em outro planeta.
Surgiram então os modelos de sistemas operacionais, voltados 
exclusivamente, para computadores pessoais, especialidade de 
empresas como Microsoft e Apple e de comunidades de software livre 
que criavam distribuições Linux. Esses SO otimizavam a experiência do 
usuário, o tempo de resposta das execuções e o conforto da utilização 
dos terminais para a realização das mais diversas tarefas.
Coloca-se em questão, também, que computadores pessoais não 
tinham uma conexão de rede, inicialmente, então os sistemas operacionais 
não eram preparados para realizar a proteção de dados, porém, com 
o advento da internet e com a aplicação das máquinas em empresas, 
surgiu a necessidade do desenvolvimento de SOs capazes de realizar 
essa proteção de forma autônoma, embora existam diversos softwares de 
antivírus que prometem aprimorar essa proteção.
Sistemas Operacionais
21
Figura 5 – Sistema de computador pessoal
Fonte: Freepik (2021).
Conforme a tecnologia aplicada nos computadores pessoais foi 
se aprimorando, hardwares e softwares mais poderosos começaram a 
ser utilizados, chegando em um momento tecnológico que dificulta a 
separação do que é a tecnologia do computador pessoal e da tecnologia, 
por exemplo, de mainframes.
Sistemas com múltiplos processadores
Com a necessidade de resultados mais rápidos, chegamos ao 
impedimento do nível de processamentodas tecnologias atuais. Uma 
problemática que foi abonada com a aplicação da metodologia de criação 
de sistemas com múltiplos processadores.
Esses sistemas caracterizam-se por terem, duas ou mais unidades 
de processamento interligadas, trabalhando em conjunto para realizar as 
atividades de processamento.
Com a aplicação de sistemas com múltiplos processadores, as 
execuções começaram a ter seu tempo de resposta diminuído e criou-
se a capacidade de termos mais de um processamento, ocorrendo 
simultaneamente. São computadores complexos, não voltados para o uso 
do público geral, com foco maior em desenvolvimento científico e militar, 
processamento de imagens e CAD.
Sistemas Operacionais
22
VOCÊ SABIA?
Segundo Narayan (2008), CAD é o nome dado a softwares, 
utilizados principalmente por engenheiros, geólogos, 
geógrafos e designers para a criação e facilitação de 
projetos técnicos. São softwares que exigem um nível 
de processamento extremamente alto, devido ao 
detalhamento das informações que cada desenho deve 
passar, podendo ter diversas camadas que aumentam a 
exigência de processamento.
Um sistema com múltiplos processadores pode ser comparado 
a um sistema de multiprogramação, com um foco principal, na forma 
como é realizada o escalonamento das tarefas e a sua distribuição pelos 
processadores de forma que a tarefa seja executada, no menor tempo 
possível. Para falar desses sistemas, precisamos entender os conceitos 
relacionados às três vantagens de sua aplicação em atividades, que 
segundo Machado (2007) são: escalabilidade, disponibilidade e 
balanceamento.
Ainda, para Machado (2007), escalabilidade é a garantia que, a 
qualquer momento, eu posso ampliar a quantidade de processadores 
no sistema computacional, para potencializá-lo. Hoje, em um sistema 
computacional comum, caso haja algum problema em um processador, é 
necessário trocar todo o sistema por um novo, de forma a reconfigurar o 
funcionamento pelo novo dispositivo.
Disponibilidade é, talvez, a maior vantagem do uso de um sistema de 
múltiplos processadores. Imagine que você está na sua casa, trabalhando 
em um projeto para seu curso e, devido a uso constante, o processador 
do seu computador queime. No mesmo momento, o dispositivo iria 
desligar e só iria ligar novamente, se você trocasse o processador. Agora 
imagine que você não conseguiu o mesmo modelo de processador, 
esse trabalho seria ainda maior, pois todo o sistema computacional seria 
afetado e o sistema operacional precisaria ser trocado para se adaptar ao 
novo hardware.
Sistemas Operacionais
23
De acordo com Machado (2007), a disponibilidade garante, por 
exemplo, que caso isso ocorra no sistema, ele continue disponível e 
funcional, realizando a distribuição dos processamentos que seriam feitos 
pelo processador que falhou, entre os demais processadores disponíveis.
Por fim, o balanceamento é a forma como os processos serão 
alocados, entre os processadores, de forma que eles sempre trabalhem 
similarmente balanceados (MACHADO, 2007), ou seja, se estou em um 
sistema de oito processadores e tenho 64 tarefas, cada processador irá, 
teoricamente, realizar oito tarefas cada, podendo, inclusive, serem tarefas 
de diferentes capacidades e diferentes exigências de processamento, 
algumas até serem feitas simultaneamente pelos oito.
Quando falamos de sistemas com multiprocessadores, falamos, 
principalmente de duas classificações: sistemas fortemente acoplados 
ou sistemas paralelos e sistemas fracamente acoplados ou sistemas 
distribuídos.
Sistemas fortemente acoplados
Um sistema fortemente acoplado é formado por conexões “fortes”. 
É um sistema computacional que tem um conjunto de processadores que 
compartilham, entre si, o mesmo conjunto de hardwares: memória física, 
dispositivos de entrada e dispositivos de saída. Também são sistemas que 
sofrem gerenciamento de um único sistema operacional.
Eles podem ser divididos em sistemas de multiprocessadores 
simétrico e sistemas de acesso não uniforme à memória. A diferença 
dos dois está no tempo de resposta aos processamentos. Enquanto o 
primeiro, tem um tempo simétrico e linear de acesso à memória principal, 
o segundo, por ser composto por diversos conjuntos de processadores 
acoplados, por meio de interconexões, tem um tempo de acesso não 
linear. Em sistemas paralelos, não existe um conceito de hierarquia de 
processamento, então, todos os processadores têm a mesma função.
Você vai perceber que toda tecnologia relacionada a computadores, 
que é desenvolvida, passa por um período de “larga escala de tamanho” 
e depois passa por um período de “encolhimento”. Com os sistemas 
Sistemas Operacionais
24
fortemente acoplados não foi diferente. Inicialmente, eles eram formados 
por dispositivos enormes, para caber os diversos processadores alinhados. 
Esses dispositivos eram utilizados, geralmente, por universidades e por 
grandes corporações que necessitavam de um processamento massivo 
e poderoso de dados.
Atualmente, com o avanço da tecnologia, os sistemas fortemente 
acoplados são utilizados na maioria dos sistemas operacionais modernos, 
principalmente naqueles com base em Unix e nos relacionados à família 
Microsoft.
Sistemas fracamente acoplados 
Diferentemente dos sistemas fortemente acoplados, os sistemas 
fracamente acoplados não dividem uma única memória física, pois eles 
são formados por agrupamentos de sistemas computacionais, ou seja, 
cada integrante do sistema tem um sistema operacional próprio, uma 
memória física individual, seus próprios dispositivos de entrada e saída.
Uma curiosidade, é que a existência de um sistema fortemente 
acoplado, em um sistema fracamente acoplado, é possível, pois nada 
impede que um dos sistemas computacionais, listados no grupo, tenha 
mais de um processador.
Nesse modelo de sistema, os sistemas computacionais são 
interligados por redes de comunicação, podendo ser locais ou não. 
Os membros do sistema, por meio da rede, enviam requisições para o 
sistema computacional, definido como principal, e esperam as respostas 
para realizar seus processamentos.
Com o avanço das tecnologias de comunicação, surgiu um modelo 
novo de rede de computadores. Um modelo que difere dos anteriores, 
enquanto eles traziam um sistema computacional como o “host”, ou 
principal, o novo modelo trazia um conceito similar a “dividir para 
conquistar”, no qual diversos sistemas computacionais principais fazem 
parte desse sistema, descentralizando, assim, o acesso à informação.
Sistemas Operacionais
25
Cada sistema computacional principal é responsável por parte das 
requisições, agilizando assim o andamento dos processos e acesso aos 
resultados.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que um sistema operacional é o software responsável por 
gerenciar a comunicação de todas as partes de um sistema 
computacional e que, por isso, ele é considerado uma das 
partes mais importantes dele. Vimos também que existem 
muitas definições possíveis para o que seria realmente um 
sistema operacional, mas que é mais fácil definir um SO, 
por sua função e usabilidade, do que realmente por sua 
essência. Definimos então o conceito com o qual iremos 
trabalhar a partir de agora, o “alocador de recursos” que se 
utiliza de uma GUI ou Shell, para traduzir para o usuário, o 
funcionamento dos hardwares e softwares e, utilizando-se 
da mesma GUI ou Shell traduz os comandos e ações do 
usuário para esses hardwares e softwares. Vimos também 
os conceitos, envolvendo o compartilhamento de recursos, 
que é a funcionalidade principal de um sistema operacional. 
Foram abordados conceitos sobre tipos específicos de 
sistemas operacionais, salientando a diferença entre 
sistemas multiprogramados e multitarefados e de sistemasfracamente acoplados e fortemente acoplados.
Sistemas Operacionais
26
Histórico dos sistemas operacionais
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
o avanço dos sistemas operacionais até o estado da 
arte. Faremos uma viagem por todo o túnel do tempo, 
entendendo os tipos de sistemas operacionais e suas 
usabilidades. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
Como tudo começou?
É impossível falar sobre a história dos sistemas operacionais, sem 
falar sobre a história da evolução do computador como um todo. Sempre 
existiu o conceito de que o software apareceu para desafiar o hardware e 
esse evolui para suportar aquele. No dia a dia, podemos ver isso claramente, 
temos computadores com alta capacidades de processamento, memórias 
cada vez maiores, sistemas de armazenamento, cada vez mais rápidos 
e, sempre, acompanhados desse avanço, temos diversos softwares que 
exigem mais processamento, mais armazenamento e, cada vez mais, 
memória.
Para falar sobre a história dos sistemas operacionais, precisamos nos 
atentar a dois grandes marcos temporais. A máquina de Babbage, também 
chamada de máquina analítica ou Analytical Engine, considerada, hoje, 
como o mais próximo que temos de um computador moderno, criado, em 
1833, por Charles Babbage, também chamado de “Pai do Computador”, 
juntamente com sua assistente Augusta Ada Byron, que ficou responsável 
por criar a sequência de instruções que eram executadas pela máquina. 
Ada Byron é considerada a primeira programadora da história.
Considerando Babbage, temos o período em que o computador 
se modernizou, juntamente com os sistemas operacionais, mas vale nos 
atermos à menção honrosa de todos aqueles que vieram antes.
Sistemas Operacionais
27
Os computadores antes de Babbage
Um dos grandes nomes da programação moderna é Blaise Pascal, 
homenageado pela linguagem de programação Pascal. Mas o que muitos 
desconhecem é que Blaise Pascal foi um matemático francês que, em 
1642, utilizando-se dos seus conhecimentos em matemática, inventou 
uma máquina de somar, a primeira do mundo, que ficou conhecida como 
Pascalina.
Figura 6 – Manutenção de engrenagens 
Fonte: Freepik (2021).
Em 1673, quando a Pascalina só era utilizada por faculdades 
renomadas, devido ao seu alto valor comercial, Gottfried Wilhem Leibniz 
se dedicou a aperfeiçoá-la e, com seu sucesso, construiu uma máquina 
capaz de multiplicar e dividir.
As máquinas de Pascal e Leibniz foram utilizadas, constantemente, 
até o ano de 1820, quando outro matemático francês resolveu trabalhar 
em um invento capaz de realizar as quatro operações matemáticas. 
Charles Colmar então inventou o Arithmomètre. Uma máquina que teve 
mais sucesso comercial, pois suas antecessoras foram máquinas de 
sucesso acadêmico.
Em 1822, surge o divisor de águas. Charles Babbage trabalhou e 
lançou uma máquina para cálculos de equações polinomiais, a máquina 
diferencial. Mas foi, em 1833, que, com o algoritmo descoberto por Ada 
Byron, surgiu a ideia da máquina analítica.
Sistemas Operacionais
28
Os computadores depois de Babbage
De acordo com Machado (2007), a máquina analítica nunca foi 
concluída por problemas de financiamentos, porém seu funcionamento 
e engenharia foi estudado e contribuiu para a criação do que hoje 
chamamos de computador moderno. E é por esse motivo que o título de 
Babbage se mantém como “Pai do Computador.”
Com o avanço nas engenharias das máquinas, foi necessário o 
estudo de técnicas de comunicação e lógica. Foi seguindo essa linha de 
estudo que George Boole chegou à definição da lógica Booleana, a base 
para o modelo de computação digital que é utilizada até hoje. Também 
chamada de lógica binária e lógica de Boole, foi um conceito usado no 
desenvolvimento de dispositivos com relés e válvulas, criando sistemas 
complexos de engenharia, capazes de ações automatizadas, nunca 
pensadas. Boole abriu as portas para o desenvolvimento dos primeiros 
computadores.
Em 1890, surgiu então a primeira máquina de cartões perfurados, 
criada por Herman Hollerith, para facilitar e acelerar os processos 
relacionados ao censo dos Estados Unidos. Hollerith, mais tarde, viria a 
fundar uma empresa que se tornaria a International Business Machine, 
IBM.
Enquanto a utilização de cartões perfurados era difundida, o ano de 
1930 se tornou um ano de inovação. Na Alemanha surgia a Z1, a primeira 
calculadora eletrônica, que utilizava de relés e lógica binárias para chegar 
aos seus resultados. Nos Estados Unidos, surgia também a primeira 
máquina de cálculos lineares, a ABC (Atanasoff-Berry Computer), nome 
dado por seus criadores John Vicent Atanasoff e Clifford Berry. Essa é a 
máquina considerada o primeiro computador digital.
O ano era 1937, véspera do despontar da Segunda Guerra Mundial, 
Alan Turing cria a ideia da máquina universal, a máquina de Turing, capaz 
de executar qualquer sequência de instruções de forma eficaz. Um 
modelo teórico que criou todo um novo pensamento e chegou a auxiliar 
na criação do modelo de processamento de símbolos, a base da ciência 
da computação. Turing também é chamado de “Pai da Computação.”
Sistemas Operacionais
29
Evolução do computador moderno
Aqui, chegamos ao segundo grande marco temporal: A Segunda 
Guerra Mundial. Não é segredo que as guerras aceleram a pesquisa e 
o desenvolvimento de novas tecnologias, e foi a Segunda Guerra que 
acelerou o desenvolvimento do computador moderno. Mas porque isso é 
importante? Simples, os sistemas operacionais começaram a surgir, com 
o desenvolvimento dos computadores modernos.
Década de 40
Com o advento da Segunda Guerra Mundial, tornou-se, cada 
vez mais comum, encontrar máquinas de grandes dimensões, capazes 
de realizar os mais diversos tipos de cálculos. Essas máquinas podiam 
ser do tamanho de salas ou prédios inteiros. Nessa época, Alan Turing 
estava focado em desenvolver uma nova máquina, uma capaz de decifrar 
mensagens codificadas, principalmente, do exército nazista.
Foi na mesma época que a Marinha dos Estados Unidos começou 
a utilizar o Mark I, o invento de Howard Aiken, para realizar os cálculos 
de coordenadas náuticas. A máquina usava os mesmos princípios da 
máquina analítica, de Babbage.
Com o fim da Segunda Guerra, os investimentos em tecnologia 
focaram em criar máquinas, capazes de maior processamento, desde o 
início da era criada por Pascal. Só em 1945, foi criado o primeiro computador 
eletrônico-digital. Ele recebeu o nome de Electronic Numerical Integrator 
and Calculator, o ENIAC.
Foi uma máquina revolucionária, capaz de realizar milhares de 
adições por minuto, seu principal uso conhecido foi o projeto da bomba 
de hidrogênio.
Por mais revolucionário que fosse o computador, programar o 
ENIAC requeria um conhecimento profundo do hardware da máquina. 
Sua programação consistia em painéis e conectores que deveriam ser 
posicionados, utilizando-se linguagem de máquina.
Sistemas Operacionais
30
Embora a velocidade de processamento fosse excelente, o 
tempo necessário para codificar um programa começou a se tornar 
um empecilho para seu uso, o que levou a novas pesquisas. John Von 
Neumann, um dos consultores do projeto ENIAC, propôs o primeiro 
modelo de armazenamento de instruções e dados em uma memória.
Figura 7 – Circuitos eletrônicos
Fonte: Freepik (2021).
Com base no modelo desenvolvido por Von Neumann, criou-se o 
conceito de programa armazenado que é a base da arquitetura atual de 
computadores. Esse modelo, chamado de arquitetura de Von Neumann, 
pegou as ideias de Babbage (máquina analítica) e Turing (máquina de 
Turing) e unificou-as em um só projeto, finalmente colocando-as em 
prática. Deu-se início ao que foi chamado de sistema computacional.
Embora o conceito de sistema computacional começasse a ser 
aplicado no desenvolvimento de novos modelos de computadores, 
ainda não se trabalhava com mecanismosou dispositivos, com função de 
interface com o usuário. Não existiam formas de entrada de dados como 
teclados, nem de saída de informação como monitores. As máquinas 
ainda eram utilizadas, unicamente, por universidades e órgãos militares. O 
conceito de sistema operacional ainda não havia sido aplicado.
Década de 50
Os computadores da época já eram mais usuais, mas não eram 
nada práticos. Seus tamanhos atrapalhavam processos simples, de 
manutenção. Foi, também, na década anterior que se popularizou o termo 
Sistemas Operacionais
31
“bug” para representar a existência de alguma falha no funcionamento. 
Insetos costumavam ficar presos entre as engrenagens e alavancas e 
causavam mau funcionamento.
Os físicos, do final da década de 40, inventaram um dispositivo 
capaz de amplificar e trocar sinais eletrônicos. Batizaram seu invento de 
transistor. Com seu tamanho diminuto, os transistores começaram a ser 
utilizados para substituir os grandes maquinários dos computadores.
Foi na década de 50 que a memória magnética começou a 
ser empregada. O uso combinado dos transistores e das memórias 
magnéticas permitiu um aumento na qualidade, confiabilidade e 
velocidade do processamento, além de rapidez e precisão no acesso 
de dados. Também foi ampliada a capacidade de armazenamento dos 
computadores e, conforme as engrenagens e alavancas foram sendo 
substituídos, começou-se também o processo de diminuição do tamanho 
das máquinas.
Com a diminuição do tamanho e barateamento da produção, 
grandes empresas começaram a atuar no mercado e a desenvolverem 
computadores para utilização em aplicações comerciais. O primeiro 
computador a atender esse objetivo de forma bem-sucedida foi o 
UNIVAC, Universal Automatic Computer.
VOCÊ SABIA?
A IBM nasceu em 1896, com o nome de Tabulating Machine 
Company e já naquela época dominava a tecnologia dos 
cartões perfurados. Só em 1924, que se tornou a International 
Business Machine, a empresa que continuou dominando a 
parcela de mercado por ser a única no mundo a dominar 
a tecnologia de seu lançamento. Foi ela que, no início da 
década de 60, lançou o primeiro computador eletrônico 
do mundo, RAMAC 305, que por sua vez, foi a primeira 
máquina comercial a utilizar um sistema operacional.
Programas específicos começaram a ser criados para as mais 
diversas áreas. Eles eram registrados em cartões perfurados que, quando 
submetidos a leitoras eram gravados em fitas. Os computadores eram 
Sistemas Operacionais
32
utilizados para realizar a leitura dessas fitas, executando as instruções 
gravadas, gerando uma fita de resultado. Quando um conjunto de 
programas é submetido a um computador, para sofrer esse tipo de 
processamento, chamados de processamento Batch.
Antes do surgimento do processamento Batch, os processadores 
ficavam ociosos entre uma execução e outra, porque as inserções de 
instruções eram feitas de forma manual e uma por vez. Para realizar 
automatização desse processo, alguns membros do Centro de Pesquisa 
da General Motors, utilizando-se do computador IBM 701, criaram o 
primeiro sistema operacional, registrado na história. Ele serviria de base 
para a criação de várias outras versões até a versão que chegou para 
lançamento comercial, juntamente com o RAMAC 305.
A década de 50 trouxe mais uma revolução nas tecnologias 
computacionais. Surgiram as primeiras linguagens de programação. Até 
aqui, sempre que alguma instrução era passada para o computador, a 
linguagem utilizada era a linguagem de máquina.
Com o surgimento das linguagens de alto nível, como COBOL, 
FORTRAN e ALGOL, os programas que antes eram desenvolvidos para 
serem executados em um determinado hardware e que, muito dificilmente, 
eram compatíveis com outros hardwares, passaram a ser mais “eletrônicos”, 
tornando a manutenção e evolução deles mais fácil e barata.
Os sistemas operacionais, seguindo a lógica da evolução das 
linguagens de programação, começaram a mudar para se tornarem mais 
simples, mais eficazes, para facilitarem codificação, execução e depuração 
dos aplicativos. Foi no final da década que surgiu o Atlas. O SO que introduziu 
a ideia de hierarquia de memória, criando os conceitos conhecidos e 
utilizados até hoje de memória principal, secundária e virtual.
Década de 60
A década de 60 trouxe um avanço no uso de transistores. Eles 
passaram a ser utilizados em circuitos integrados, o que fez o custo, 
que já era baixo, cair mais ainda, tornando o computador comercial mais 
acessível para ser utilizado em massa.
Sistemas Operacionais
33
As grandes empresas então começaram a utilizá-los para compor 
seus escritórios. Com a procura aumentando, novas tecnologias de 
processamento foram desenvolvidas e os processadores começaram a 
ficar, cada vez mais, poderosos. As revoluções dessa década trouxeram 
diversas técnicas que usamos hoje para implementar sistemas operacionais, 
são elas: multiprogramação, multiprocessamento, compartilhamento 
de tempo e uma usabilidade mais encorpada da memória virtual.
Lembra-se do processamento Batch? A técnica de processamento 
em que permitia múltiplos programas serem executados de forma 
sequencial? Agora, surgiu o conceito de multiprogramação. Mas o que seria 
isso? É um modelo de processamento que permite que vários programas 
sejam executados na mesma memória. Enquanto no Batch, os programas 
eram enfileirados e executados, um por vez, aqui temos programas que 
executam parcialmente “simultaneamente”. Por exemplo, enquanto um 
processamento de leitura de dados ocorria, um processamento de escrita 
de dados poderia ser executado.
Nessa década, começou o processo de substituição das fitas por 
discos, tornando o uso dos processamentos Batch e a multiprogramação 
mais rápidos e eficientes. Vários programas eram carregados na memória 
e a gerência da fila de execução passou a ser dinâmica e não mais 
puramente sequencial.
Figura 8 – HardDisk (HD) – Disco magnético 
Fonte: Pixabay (2021).
Sistemas Operacionais
34
A análise e a depuração de programas, no entanto, ainda estava 
sendo um empecilho para os programadores da época. Erros de digitação 
e de lógica poderiam levar horas para serem encontrados. A tecnologia 
de compartilhamento de tempo foi lançada para que esse problema 
pudesse ser sanado, fazendo com que os SO garantissem que cada 
programa utilizaria o processador por pequenos intervalos de tempo.
O final da década de 60 foi marcado pela criação do mercado de 
minicomputadores, computadores de tamanho extremamente compacto, 
que poderiam ser mais facilmente comercializados. Foi também no 
final da década que Ken Thompson criou um sistema operacional que 
se popularizou e é utilizado como Kernel, base para vários sistemas 
operacionais modernos, o UNIX.
Década de 70
O advento dos anos 70 trouxe o conceito de microtecnologia. 
Tivemos aqui o lançamento do primeiro microprocessador, utilizado na 
composição do primeiro microcomputador. Esta década também foi 
marcada pela criação de duas linguagens de programação que, até hoje, 
são importantes para a área da Tecnologia da Informação: Pascal e C.
Os microcomputadores tornaram-se os computadores mais baratos 
já produzidos, o que induziu e aferventou o seu comércio, difundindo-
os para vários usos possíveis. Foi nessa mesma década que Steve Jobs 
lançou o seu primeiro grande sucesso, o Apple II. Essa foi a década de 
fundação de duas das empresas que mais marcaram a evolução dos 
sistemas operacionais: a Apple e a Microsoft. Jobs e Gates competiram em 
tecnologia de forma tão intensa que forçaram a evolução da tecnologia, 
causando a criação de diversas arquiteturas de processamento e a 
principal delas foi a arquitetura de multiprocessadores. 
A arquitetura de multiprocessadores levou um desafio aos 
programadores responsáveis por desenvolver os SOs. Eles precisavam 
de novos mecanismos de controle e sincronismos. Surgiu então o 
multiprocessamento, quepermitia a execução de mais de um programa, 
agora, simultaneamente, ou até mesmo, quando necessário, a execução 
de um mesmo programa por mais de um processador.
Sistemas Operacionais
35
Usando tecnologias de processamento vetorial e de paralelismo, 
agregadas ao multiprocessamento, foi lançado em 1976 o Cray-1, um 
microcomputador de processamento extremamente potente, composto 
por nada menos que duzentos mil circuitos integrados, capaz de realizar 
milhões de operações por segundo.
As GUIs começaram a se tornar, cada vez mais populares, e com 
elas os usuários comuns começaram a se mostrar interessados na 
usabilidade das máquinas.
As redes distribuídas, WAN (Wide Area Network), ficaram mais 
comuns, fazendo com que sistemas computacionais distintos passassem 
a conversar e compartilhar dados, independente da distância geográfica. 
As redes locais, LAN (Local Area Network), passaram a ser utilizados 
para interligar computadores e criar redes de acesso restrito. Com a 
popularização do uso de redes, os sistemas operacionais avançaram e se 
tornaram intimamente relacionados a elas.
Década de 80
A década de 80, trouxe o surgimento do computador pessoal, da 
estação de trabalho e dos sistemas operacionais, com base totalmente, 
em uma interface gráfica amigável ao usuário.
Embora as estações de trabalho fossem de uso de um usuário 
único, elas eram multitarefa, permitindo que diversas tarefas fossem 
realizadas de forma concorrente.
Um dos destaques dessa era foi, sem dúvida, o surgimento da 
tecnologia de protocolo TCP/IP, Transmission Control Protocol/Internet 
Protocol. Esse protocolo de rede é utilizado para uso da internet.
Década de 90
Os anos 1990 vieram com diversos avanços, relacionados a 
hardware e software. Podemos perceber que, durante a história, até esse 
momento, estavam sendo desenvolvidos hardwares mais potentes, mas 
pouco se falava da eficácia dos softwares. Eles eram criados para serem 
utilizados por aquele conjunto de hardware.
Sistemas Operacionais
36
Isso mudou durante esta década. Softwares, cada vez mais 
potentes, foram surgindo o que obrigou a uma nova busca de formas de 
potencializar os hardwares para acompanhar esse desenvolvimento.
A evolução da microeletrônica possibilitou a então criação de 
processadores e memórias com maiores capacidade e de custos, 
extremamente inferiores. Em adendo, as mídias de entrada e saída 
sofreram uma redução de tamanho físico e uma ampliação de capacidade, 
ao mesmo tempo.
O Protocolo TCP/IP começou a ser mais frequente nos sistemas 
operacionais, devido à difusão do uso da internet. Com o aumento de 
usuários, surgiram os problemas de segurança e gestão do tráfego 
de dados. Os sistemas operacionais passaram a receber ferramentas 
que controlavam esse tráfego e procuravam garantir a segurança da 
informação. Também, se tornaram comuns os ataques de vírus ao 
computador.
Figura 9 – Rede de conexão 
Fonte: Freepik (2021).
Foi a década de 90 que consolidou as interfaces gráficas dos 
sistemas operacionais. O lançamento das empresas Microsoft, Apple e 
Unix ganharam a simpatia dos usuários finais e os computadores pessoais 
de modelo Desktop começaram a entrar nas casas. 
O Projeto Linux foi criado, em 1991, por Linus Torvalds, com auxílio e 
apoio de diversos programadores, criando uma comunidade que difundiu 
Sistemas Operacionais
37
o conceito de software aberto. Até o final dessa década, diversos produtos 
surgiram e foram disponibilizados, gratuitamente, na internet, atraindo 
diversos adeptos da filosofia.
A virada do milênio
Com computadores pessoais adentrando inúmeras casas pelo 
mundo e a internet se tornando um meio de entretenimento, além de 
uma forma de uma comunicação de dados, a virada do milênio trouxe um 
grande avanço nas tecnologias de processamento.
Os, até então já baratos, computadores se tornaram tão acessíveis 
que passaram de bem de luxo para bem comum. A eficácia e eficiência 
dos equipamentos trouxeram um novo viés comercial e começou-se a 
trabalhar em modelos portáteis.
Diversos portais de comunicação foram criados, periódicos que, 
antes, eram exclusivos em papel começaram a criar suas versões digitais. 
Comunicação pessoal, antes com base em telefonia e correios, começa a 
se digitalizar com a frequência do uso de e-mails.
Diversos modelos de portais, especializados em comunicação 
humana, começaram a serem lançados por todo o globo, fazendo 
surgirem assim as primeiras redes sociais: Orkut, Facebook, Twitter, Flickr, 
Google+. Surgem também os aplicativos de comunicação direta: ICQ, 
MSN, IRC.
O advento da internet gerou um novo modelo comercial, antes 
experimental. Nos anos 1990, já era comum existirem propagandas de 
aquisição de produtos por meio da TV e do rádio, mas com a internet, 
a ideia de comércio a distância popularizou-se e surgiram os primeiros 
e-commerces.
Os sistemas operacionais tornaram-se o grande foco do 
desenvolvimento da tecnologia. Agora eles estavam presentes nas vidas 
das pessoas por meio de computadores e, aos poucos, começaram a ser 
implantados em outros dispositivos, começando a ideia de ambientes 
integrados.
Sistemas Operacionais
38
Os SOs começaram a ser implementador com técnicas de 
inteligência artificial, fazendo com que o tratamento de erros, prevenções 
de segurança e recuperação de dados ocorressem de forma automática, 
sempre que necessário. A área da Tecnologia da Informação começou a 
se tornar de extrema importância em todas as linhas socioeconômicas 
e as tecnologias começaram a mudar para suprir essas necessidades, 
criando arquiteturas mais robustas e sistemas distribuídos.
O final da década inicial do milênio, trouxe consigo uma nova visão 
do que era tecnologia. O que antes eram prédios e salas, agora estava 
disponível não apenas nas residências, como também espalhados nas 
mãos, com acesso facilitado com o toque. Surgiram os Smartphones e os 
sistemas operacionais embarcados.
DEFINIÇÃO:
Chamamos de sistema embarcado todo sistema operacional 
que é, completamente, dedicado a um dispositivo ou 
sistema que o controla. Os exemplos mais comuns os 
Smartphones. Um sistema operacional, totalmente, 
voltado para garantir o funcionamento de um dispositivo 
específico. Embora, por exemplo, possamos ter um Android 
Marshmallow em diversos dispositivos diferentes, na 
prática, o que existe é uma imagem do sistema operacional 
Android Marshmallow que foi adaptado e otimizado para 
o funcionamento em conjunto daquele agrupamento de 
hardware, ou seja, mesmo com sistemas operacionais 
de bases iguais, dois modelos diferentes de Smartphone 
teriam dois sistemas operacionais embarcados, totalmente 
diferentes.
Década de 2010 – tempos atuais
A ideia que até ali estava surgindo, aqui começou a ser popularizada. 
Com a facilidade de acesso e o baixo custo, os aparelhos smartphones se 
difundiram por todo o planeta. Dispositivos com capacidades de conexão 
à internet, que antes necessitava ser cabeada, agora utilizavam redes com 
base em conexões de ondas.
Sistemas Operacionais
39
Com a comunicação de dados na palma das mãos e as diversas 
possibilidades de perdas de dados, novas tecnologias de armazenamento 
começaram a ser utilizadas.
Diversos serviços de armazenamento de dados surgem, utilizando-
se da internet. O armazenamento em nuvem difunde-se, se tornando uma 
nova rama de negócios digitais. O armazenamento massivo em disco, 
que antes era um desejo e uma necessidade, agora passa a ser, cada vez 
mais, substituível por um armazenamento de nuvem.
A evolução da tecnologia móvel começou a desafiar os 
desenvolvedores de sistemas operacionais a criarem SOs mais robustos 
e com mais ferramentas e funcionalidades, voltadas à comunicação. As 
interfaces começaram a ser desenvolvidas para serem mais intuitivas 
e para garantirem uma compatibilidade na comunicação, entre os 
dispositivos móveis, desktops e servidores.
Figura 10– Internet das Coisas (IoT) 
Fonte: Freepik (2021).
Esse mesmo crescimento começou a trazer um novo conceito 
de usabilidade. Equipamentos que, antes eram puramente eletrônicos, 
começaram a se tornar digitais. Os sistemas operacionais foram aplicados 
em aparelhos de televisão, eletrodomésticos, equipamentos elétricos. 
Assim, surgiu a era da Internet das Coisas (Internet of Things – IoT).
Sistemas Operacionais
40
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que a criação dos sistemas operacionais está intimamente 
ligada ao desenvolvimento e evolução dos computadores. 
A evolução das máquinas foi lenta e gradual, usando as 
mesmas mecânicas e extremamente complexas. Diversos 
foram os nomes que tentaram criar automatizações de 
trabalhos manuais, mas os mais famosos foram Babbage 
e Turing. Enquanto Babbage teorizou uma máquina, capaz 
de realizar processamentos analíticos, Turing utilizou a 
teoria de Babbage para criar ideal de processamento, 
uma máquina capaz de executar, qualquer instrução 
que fosse inserida em seu processamento. Infelizmente, 
nenhum dos dois viveu o bastante para ver suas teorias 
aplicadas e utilizadas, no dia a dia e, inclusive, eles nem 
imaginavam onde suas teorias os levariam na história da 
computação. Chegamos então aos sistemas operacionais 
modernos. Softwares extremamente poderosos, capazes 
de processamentos impensáveis, disponíveis em aparelhos 
que cabem na palma das nossas mãos.
Sistemas Operacionais
41
Conceitos iniciais sobre sistemas 
operacionais
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
conceitos relacionados aos sistemas operacionais. Para 
entender o funcionamento de um SO é preciso ter em mente 
diversos conceitos sobre técnicas e funcionalidades para os 
quais ele é preparado. Como visto anteriormente, temos 
sistemas computacionais de diversos tipos de formação, 
bem como sistemas operacionais, desenvolvidos para 
atender cada modelo daquele sistema. Entender o tipo de 
sistema computacional ou operacional com o qual se está 
tratando, é fundamental para garantir a melhor aplicação das 
novas implementações ou de manutenções. Mas, quais são 
os conceitos que vão auxiliar, diretamente, nos tratamentos 
com o sistema operacional? E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
Hardware
Muito falamos sobre hardwares, até o momento, mas o que 
realmente ele é? Para responder isso, vamos ter que lembrar que um 
sistema computacional é formado por um aglomerado de circuitos 
eletrônicos. Esses circuitos eletrônicos formam diferentes dispositivos 
que têm funções específicas no sistema computacional.
Existe uma numerosa lista de possibilidades da existência desses 
dispositivos em um sistema computacional, mas os mais comuns de 
serem encontrados são: processadores, memórias, registradores, 
barramentos, monitores de vídeo, dispositivos de impressão, mouses, 
teclados e discos magnéticos.
Segundo Machado (2007), a característica comum a todos esses 
dispositivos é a capacidade individual de manipular dados de forma 
digital, gerando resultados específicos de cada função de dispositivo, 
tornando-os úteis e confiáveis para a realização da transmissão de 
Sistemas Operacionais
42
dados por meio do próprio sistema computacional. Dispositivos físicos 
que realizam transmissão de dados e comunicação, nesse sistema, são 
chamados hardwares.
Figura 11 – Manutenção de hardwares por técnico 
Fonte: Freepik (2021).
Os hardwares são divididos, no sistema, em três grandes 
agrupamentos: unidade central de processamento, composta 
unicamente pelo processador (veja na Figura 11); a memória principal, 
formada por um dispositivo de memória; e os dispositivos de entrada e 
saída. Esses três agrupamentos, ou unidades funcionais, estão presentes 
em todos os sistemas computacionais digitais, independente do modelo 
ou arquitetura. Algumas vezes, em formatos variados.
Processador
Todo sistema computacional é centralizado em dispositivos de 
hardware chamados de processadores. Os processadores, ou unidades 
centrais de processamento, são responsáveis por realizar todas as 
execuções de processar e o gerenciamento de ações de um sistema 
computacional, responsáveis, também, pelo controle de todas as 
unidades funcionais (outros hardwares), ligados ao sistema.
Os processadores são o cérebro da máquina. Todos os dados, em 
algum momento, passam por eles para que alguma ação seja executada. 
Eles são responsáveis por controlar e executar cada instrução, registrada 
na memória principal, por meio de operações lógicas, aritméticas ou 
apenas de gestão de dados.
Sistemas Operacionais
43
Assim, existem unidades diferentes do processador que lidam com 
cada tipo de operação realizada por ele: uma unidade lógica e aritmética, 
uma unidade de controle e os registradores.
Cada unidade do processador tem suas funcionalidades bem 
definidas, por exemplo, a unidade de controle é a responsável pela 
execução de todas as atividades de cada componente do sistema 
computacional. É ela, por exemplo, que gerencia o processo de gravação 
e a leitura do disco magnético e o escalonamento de instruções, 
enfileirados na memória principal.
A unidade lógica e aritmética já descreve em seu nome sua 
funcionalidade. Cada operação lógica, sendo comparação e testes 
lógicos, e operação aritmética, somas e subtrações, são realizadas nessa 
parte do processador.
Por fim, temos os registradores. Eles são pequenos hardwares que 
compõem o hardware maior (processador). Eles, como o próprio nome 
já descreve, realizam o registro de dados. Para serem processados, os 
dados precisam estar em algum lugar de fácil acesso ao processador, 
então, durante uma execução, o processador registra esses dados, 
temporariamente, nos registradores e, quando o processamento é 
finalizado, ele emite o resultado e limpa dos dados registrados.
Os principais registradores que existem em um processador são 
específicos, com alguma funcionalidade, voltada ao funcionamento do 
sistema como um todo. Um processador tem um registrador que guarda 
o endereçamento de memória da próxima tarefa a ser executada, e que, 
toda vez que a tarefa é concluída, ele já se atualiza para apontar para o 
próximo endereço, por exemplo.
O funcionamento de um processador é um ciclo bem definido. De 
primeiro passo, o processador busca, na memória, o endereçamento 
registrado da próxima tarefa e então executa o processo de atualização 
do próximo endereçamento de memória. Ele então interpreta a instrução 
que recebeu, para a realização daquela tarefa e decodifica em linguagem 
de máquina. Caso existam dados complementares ou necessários na 
memória, ele realiza a busca e os carrega nos registradores. Quando os 
Sistemas Operacionais
44
registradores estão carregados com os dados necessários, finalmente, 
o processo é executado e então se inicia o ciclo novamente, como 
demonstrado na figura 12.
Figura 12 – Funcionamento de um processador
Atualização do 
registro do próximo 
endereçamento de 
instrução
Execução da 
atividade
Busca na memória 
pelo endereçamento 
de instrução
Decodificação 
da instrução
Busca de dados 
complementares
Fonte: Elaborado pelo autor (2021).
Memórias
As memórias são dispositivos que permitem ao sistema 
computacional a ação de armazenar dados, de forma permanente ou 
temporária. Os computadores modernos, geralmente, com base na 
arquitetura de Von Neumann, utilizam-se de memórias.
Memórias, quando realizam o armazenamento, organizam os dados 
em unidades de memória, a mais comum é o bit. Um bit é a menor unidade 
existente de memória, podendo assumir, apenas valores positivos ou 
negativos, aritmeticamente, descritos como 1 ou 0, respectivamente.
Um sistema computacional trabalhacom a existência de dois tipos 
de memória, as voláteis e as não voláteis. A volatilidade da memória está 
diretamente ligada à necessidade de energia para manter os dados, 
e as memórias voláteis são totalmente apagadas, quando a energia 
desaparece. Com as não voláteis, mesmo quando o sistema não está 
sendo alimentado com energia, os dados permanecem armazenados.
A memória principal, ou memória primária, é a memória onde 
os dados ficam armazenados, enquanto estão sendo utilizados. Ela é 
formada por células compostas por um determinado número de bits. É 
uma memória volátil. Na Figura 13, podemos ver o formato atual de uma 
memória principal.
Sistemas Operacionais
45
Figura 13 – Memória principal
Fonte: Freepik (2021).
Para realizar o acesso ao conteúdo de uma célula da memória 
principal, o processador utiliza um registrador que ficou responsável por 
guardar um endereço de memória. Então, se determinada instrução quiser 
acessar informações na memória, ela precisa fornecer, ao processador, o 
endereço em que aquela informação foi armazenada.
As memórias secundárias são memórias não voláteis, responsáveis 
pelo armazenamento de modo permanente dos dados. São utilizadas 
para agrupar dados importantes que não, necessariamente, serão 
utilizados pelo processador imediatamente. Seus principais exemplos são 
as memórias de fita magnética, disco magnético e disco óptico.
Por fim, temos o terceiro tipo de memória, que também é uma 
memória volátil. A memória cache é uma memória de alta velocidade, 
utilizada para reduzir a disparidade entre as velocidades de execução das 
instruções pelo processador e a velocidade que os dados são gerenciados 
na memória principal.
Se colocarmos em ordem de velocidade de acesso, temos a 
memória secundária, com a mais lenta e a memória cache com a mais 
rápida. Em ordem de espaço de armazenamento, a velocidade de acesso 
é inversamente proporcional, sendo a memória cache a com menor 
capacidade de armazenar massividade de dados e a memória secundária, 
a com maior capacidade.
Sistemas Operacionais
46
Dispositivos de entrada e saída
Um sistema computacional é formado por um sistema operacional, 
processador, hardwares, softwares e usuários, como já falamos. O objetivo 
geral da existência de um sistema computacional é a interação do usuário 
com os hardwares e softwares com o foco de determinar tarefas e receber 
resultados. Para isso ocorrer, são necessários dispositivos que permitam 
essa comunicação, transformando linguagem humana em linguagem de 
máquina e vice-versa.
A esses dispositivos, damos o nome de dispositivos de entrada e 
saída, utilizados pelo usuário, para comandar o sistema computacional 
(entrada) e para receber os resultados das execuções de suas tarefas 
(saída).
Os discos e fitas magnéticas são os dispositivos de entrada, 
utilizados pelo sistema computacional como memórias secundárias, 
geralmente, sendo acoplados ao sistema computacional e, raramente, 
são retirados de seus lugares.
Figura 14 – Dispositivos de entrada e saída mais comuns
Fonte: Freepik (2021).
Os dispositivos não necessariamente acoplados são variados, 
como teclados e mouses que têm objetivo de transmitir aos hardwares e 
softwares os comandos, definidos pelo usuário, de forma direta para gerar 
resultados. Resultados esses que podem ser exibidos, diretamente em 
telas, e monitores ou podem ser impressos ou plotados.
Sistemas Operacionais
47
Barramentos
Barramentos são fundamentais no tratamento das unidades 
funcionais do sistema computacional. São os responsáveis por realizar a 
conexão de dados entre os dispositivos de hardware.
Seu funcionamento é simples. Eles têm dois registradores, um que 
registra a natureza da operação que está sendo executada, e outro que 
registra os dados que devem ser repassados de um hardware para outro. 
Os dados são endereçados e enviados para a memória principal, para 
assim passar pelo processador e a tarefa ser executada.
Agora, imagine que você está mexendo o mouse pela tela do seu 
computador. Enquanto você está movimentando o ponteiro, centenas 
de processamentos estão acontecendo e centenas de sinais estão 
sendo enviados do seu mouse, passando por barramentos, para só 
então entrarem na memória e serem processados pela unidade central 
de processamento. Agora perceba, também, que o ponteiro do mouse 
apresenta um movimento fluido e contínuo. Esse é o potencial de 
processamento dos computadores modernos.
Arquiteturas de processadores
Para falar sobre as arquiteturas, usadas nos processadores, é 
necessário entender um pouco sobre o conceito do que seria uma 
linguagem de máquina. Bom, quando falamos em computação, temos 
a linguagem humana, a linguagem de programação e a linguagem de 
máquina. A linguagem humana é a que nós utilizamos no dia a dia, a 
linguagem como os humanos costumam se comunicar.
Linguagem de programação é uma abstração da linguagem humana, 
criada para podermos nos comunicar com a máquina. O computador não 
entende a linguagem humana, assim como ele não entende a linguagem 
de programação, o que ocorre é que as linguagens de programação são 
criadas com base na arquitetura de um tradutor de código. Esse tradutor 
é o responsável por transformar a linguagem humana em uma linguagem 
que o sistema computacional possa compreender.
Sistemas Operacionais
48
Existem linguagens de programação de alto nível, que são mais 
próximas da linguagem humana e são mais facilmente entendidas em 
uma leitura superficial, e existem as linguagens de programação de baixo 
nível, que são mais próximas da linguagem de máquina, a linguagem 
entendida pelo sistema computacional.
Cada processador vem com um conjunto de instruções, definidas 
pelo fabricante; são responsáveis por ditar a forma como esse processador 
irá trabalhar com seus registradores, controle de endereçamento e os 
tipos de dados que podem ser interpretados.
Se um programa for criado, em linguagem de máquina, podemos 
executá-lo diretamente no processador, sem a necessidade de interpretá-
lo. Também pensando na ideia de que cada processador tem a sua lista 
de instruções, podemos dizer que cada processador fala uma linguagem 
diferente. As instruções diretas que funcionam em um processador A não 
serão executadas pelo processador B.
Um processador de arquitetura RISC (Reduced Instruction Set 
Computer), por exemplo, é criado com uma quantidade diminuta de 
instruções de máquina. Geralmente, as instruções aqui não acessam a 
memória principal e podem ser executadas, diretamente, no processador, 
sem passar por meios externos. A arquitetura RISC tem execução de 
tarefas rápida e tem fácil implementação de pipelinings.
DEFINIÇÃO:
Nós vimos que existe um tipo de processamento de 
dados, chamado de processamento Batch, em que o 
sistema operacional aloca um lote de tarefas e faz com 
que elas sejam executadas de forma intercalada para 
diminuir o tempo ocioso do sistema. Um pipelining é um 
outro modelo de processamento em lote, no qual esse 
lote de tarefas é executado de forma que cada tarefa seja 
particionada em pequenas instruções e entrem uma a 
uma, sendo executadas como em uma linha de produção 
(TANENBAUM,1995).
Sistemas Operacionais
49
Uma arquitetura CISC (Complex Instruction Set Computer), por outro 
lado, apresenta um conjunto de instruções complexas que necessitam 
de programas para serem executadas. Ela se diferencia da RISC também 
pelo número de registradores, enquanto a RISC tem muitos, CISC é 
caracterizada por ter poucos. Esse número reduzido de registradores 
dificulta a implementação de pipelinings.
Software
Depois de trabalharmos a definição de hardwares, está na hora de 
falarmos sobre o outro nome, citado diversas vezes: o software.
O hardware nada mais é do que um conglomerado de peças 
eletrônicas que reagem a impulsos elétricos. Na prática, sem um 
software eles não têm aplicação direta. É necessário existir umconjunto 
de programas para servir de interface de comunicação e que realizem a 
gestão de fluxo de dados para que os hardwares possam então funcionar 
devidamente no sistema computacional.
Podemos dizer então que o software é o gerenciador lógico 
do sistema computacional e que ele pode enviar diversas tarefas e 
instruções para serem executadas no processador e, após a conclusão 
do processamento, recolher os resultados e organizá-los para melhor 
apresentar ao usuário que disparou seu início.
Podemos fixar três nomenclaturas que são utilizadas, na área da 
computação, para trabalharmos com softwares. Um software de sistema 
operacional é o próprio sistema da máquina, quem faz a gestão direta 
e indireta de todos os hardwares e demais softwares que compõem o 
sistema computacional.
Mas, além do sistema operacional, os computadores modernos 
vêm com um conjunto de softwares que têm funções complementares 
ao SO. Eles são chamados de softwares utilitários e realizam serviços de 
apoio ao SO. São eles que cuidam de correções de erros, depuração de 
dados, carregamentos e ligações.
Sistemas Operacionais
50
Por fim, os softwares aplicativos são aqueles que foram criados 
por usuários ou empresas, para a realização de objetivos específicos ou 
realização de tarefas cotidianas.
Tradutor
Como falado anteriormente, existem diversas linguagens de 
programação de alto nível e baixo nível. Essas linguagens de programação 
não são compreendidas pelo sistema computacional e precisam passar 
por um processo de tradução.
Os primeiros programadores eram obrigados a saber linguagem 
de máquina, já que as instruções eram passadas para o processador por 
meio de painéis e fios. Porém, com o desenvolvimento das técnicas de 
processamento, linguagens foram introduzidas no universo computacional.
REFLITA:
Vamos contextualizar os sistemas em Batch, sem conceitos 
de multiprogramação. Nessa etapa de processamento, 
em que um código não pode ser executado porque vai 
ficar, dependente de um código externo que precisa ser 
preparado, antes de ser executado, o sistema computacional 
se tornava ocioso e o tempo permanecia sendo gasto. Nos 
computadores modernos, esse processo simplesmente 
é realocado para outra posição na fila de execução e um 
novo processamento pode ocupar seu espaço.
Um tradutor carrega a instrução escrita em linguagem de 
programação e converte toda a representação simbólica em linguagem 
de máquina para só então iniciar a execução do código fonte. Muitas 
vezes, os códigos não estão prontos para serem executados, mesmo 
após estarem traduzidos, isso ocorre devido a existência de dependências 
externas que precisam ser ligadas ao processo de execução.
Linker e Loader
Após o tradutor gerar o programa de código fonte, ou módulo-
objeto, cabe ao linker a função de realizar ligações entre os códigos 
Sistemas Operacionais
51
fontes que têm dependência entre si, para que assim seja gerado um 
programa executável que, pode ser listado na memória principal, para ser 
executado pelo processador.
Linkers são os softwares utilitários responsáveis por resolver todas 
as referências simbólicas entre dois, ou mais, códigos fontes. Ele faz isso, 
utilizando-se de bibliotecas de módulos-objetos.
O linker é o responsável por garantir o funcionamento do 
endereçamento da tarefa, gerada na memória principal, utilizando-se do 
princípio da relocação, para que sempre que o objeto seja carregado na 
memória, ele possa ser acessado. Para isso, o linker chama o processo 
do loader, que faz o trabalho de relocar esse processo sempre que é 
recarregado na memória principal.
É o loader que cuida do carregamento da memória principal. 
Todos os processos que estão enfileirados para serem executados são 
gerenciados por ele.
Concorrência
Um sistema operacional é um gestor para o sistema computacional. 
Ele é responsável por organizar e escalonar os processos, que serão 
executados, de forma ordenada e balanceada.
Podemos então dizer que um sistema operacional é um conjunto 
de processos que serão executados, competindo por recursos, 
ordenadamente. Isso ocorre porque o processador executa diversas 
tarefas, simultaneamente, fazendo com que os recursos do sistema 
computacional tenham que ser concorridos em cada processo.
Já vimos o conceito relacionado a multiprogramação. Se existe 
algo com uma característica multiplicativa, significa que existe algo com 
característica individual, então, vamos entender também o conceito de 
monoprogramação.
Em sistemas monoprogramáveis, cada processo entra de forma 
solitária no processador e permanece lá até seu encerramento. Todos os 
recursos do sistema computacional permanecem exclusivos para esse 
Sistemas Operacionais
52
processo. É um tipo de processamento que não utiliza o potencial do 
processador e causa ociosidade no sistema.
Nos sistemas multiprogramáveis, temos exatamente o conceito 
contrário, em que diversos processos são armazenados, na memória 
principal, e são executados de forma concorrente, com os recursos do 
sistema. Enquanto um processo aguarda uma operação de entrada/
saída, por exemplo, outro processo ocupa o processador.
O princípio da concorrência diz que, quando um determinado 
processo perde o lugar no processador e retorna para a memória principal 
e logo em seguida, quando for recuperar seu lugar no processamento, 
esse processo deve estar exatamente igual ao momento em que deixou o 
processador, ou seja, a concorrência de processos exige que seja, criada 
uma imagem estática do momento do processo, para que esse possa ser 
continuado do mesmo ponto em que parou.
Para a existência da concorrência, também devemos nos atentar à 
necessidade de existirem interrupções e exceções. Quando, por exemplo, 
algum evento causa uma mudança no fluxo de processamento ou ocorre 
alguma falha de processamento, chamamos de interrupção ou de 
exceção, dependendo da natureza do evento.
Para entender esses dois conceitos, vamos contextualizar um 
caso: existe um processo A, que iniciou o processamento e solicitou 
uma requisição de entrada. Entrada e Saída são processos lentos, logo, 
o sistema operacional escalonou o processo B para executar, enquanto A 
ainda aguarda. Quando o hardware de entrada emite um sinal, informando 
ao processador que a requisição de A foi atendida, um processo de 
interrupção é disparado e interrompe o processamento de B, retomando, 
em seguida, o processamento de A.
Em resumo, uma interrupção sempre será gerada por causa externa 
à execução. Quando uma interrupção ocorre, o sistema operacional 
aciona um sistema de tratamento de interrupção, para garantir que o 
estado lógico daquele processo permaneça o mesmo até ele retornar 
para o processamento.
Sistemas Operacionais
53
Exceções são geradas, sempre, como resultados do processo de 
execução. Quando ocorrem falhas de processamento, como por exemplo 
um ciclo infinito (loop infinito), uma superlotação de memória (overflow), 
uma divisão por zero ou o retorno nulo de uma solicitação que não deveria 
retornar nulo.
Assim como quando ocorrem interrupções, quando ocorrem 
exceções, o sistema operacional tende a acionar uma rotina de tratamento 
de exceções, para evitar que a falha cause danos diretos a outros 
processos.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que um sistema computacional é formado por hardwares e 
softwares e que dependem um do outro para operar, senão 
não passam de um conjunto de circuitos que responde 
a impulsos elétricos. Você deve ter visto os tipos de 
hardwares que podem compor o sistema computacional, 
seus funcionamentos, diferenças, classificações e papéis 
específicos no sistema. Quando falamos de softwares, foram 
listados os conceitos e suas divisões, os tipos existentes,funcionalidades no sistema computacional e as funções 
dos utilitários de tradução, ligação e carregamento de 
código. Também, foi abordado o conceito de concorrência, 
a capacidade do sistema computacional em permitir 
que seus recursos sejam concorridos pelos processos, 
armazenados na memória principal. Vimos um pouco 
sobre o que seria uma interrupção e uma exceção e sobre 
o princípio da concorrência.
Sistemas Operacionais
54
Estrutura dos sistemas operacionais
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
a estrutura de um sistema operacional. Compreender as 
estruturas de funcionamento de um sistema operacional nos 
mostra o caminho a seguir para a criação das ferramentas 
de sistema (softwares utilitários). E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
Para a compreender o funcionamento de um sistema operacional, 
precisamos entender que ele é um agrupamento de instruções que estão 
sendo executadas de forma lógica e ordenada. Para que essa lógica e 
ordenação funcionem, é necessário que toda a estrutura do sistema seja 
bem definida. Vamos dar uma olhada, mais profundamente, em cada 
parte dessa estrutura:
Processos e endereçamento
Muito falamos sobre processos, processamentos, processadores. O 
que realmente seria um processo? Podemos dizer que é um dos conceitos 
mais básicos e mais importantes para os sistemas operacionais.
Todo software em execução irá gerar um ou mais processos, então 
podemos relacionar, diretamente, que um processo é um software ou 
parte dele que é executado pelo sistema computacional. Um processo 
tem instruções detalhadas para a execução de sua tarefa central. Essas 
instruções podem ser simples ou até mesmo complexas o bastante para 
se tornarem um novo processo.
Cada um deles, quando é alocado na memória principal, recebe 
um endereçamento de memória. Esse endereçamento consiste 
em um registro de posição, na memória, no qual aquele processo 
estará armazenado. Aqui, podemos relembrar que a memória principal 
é composta, por células divididas, em agrupamentos de bytes. O 
endereçamento diz para o processador em qual célula e em que byte 
específico ele irá encontrar o início do processo que irá ser executado.
Sistemas Operacionais
55
No espaço endereçado, estão presentes todo o código executável, 
os dados a serem processados e o conjunto de recursos que serão 
necessários para a conclusão da tarefa. As principais chamadas do SO, 
quando se trata do gerenciador de processos, estão relacionadas ao início 
e final do processo. Sempre que um processo é iniciado pelo sistema, ele 
dispara uma rotina que irá realizar o seu encerramento.
Em todo sistema computacional, necessariamente na memória 
principal, existem espaços destinados ao armazenamento de informações, 
sobre os processos registrados, que entrarão na fila de processamento. 
Esses espaçamentos são organizados e registrados de forma que um 
espaçamento seja único, impedindo assim que o funcionamento de um 
processo interfira em outro.
Em uma situação ideal, os processos são enxutos e cabem, 
individualmente, em um endereçamento de memória, porém, com 
os avanços tecnológicos, processamentos, cada vez mais poderosos, 
foram se tornando mais comuns. e os processos que utilizavam 
diversos espaços de memória começaram a fazer parte do dia a dia do 
sistema computacional, o que acabava por diminuir a capacidade de 
armazenamento de um número maior de processos. Foi então aplicado 
o uso de memórias virtuais, uma técnica que separa parte do disco de 
armazenamento (memória secundária) para servir de apoio à memória 
principal, na qual o processo é incialmente endereçado a essa memória 
principal e, complementarmente, endereçado no disco. Conforme o 
processamento vai ocorrendo, os endereçamentos são trocados de uma 
para outra até que todo o processo tenha passado pelo processador.
Arquivos
Trabalhando com o conceito de memória secundária, ou memória 
de armazenamento, temos então os arquivos. Aglomerados de dados, 
logicamente, dispostos de forma a exibirem resultados ou informações, 
pertinentes ao usuário.
A base fundamental de todo o sistema operacional é o 
gerenciamento de arquivos, afinal, é necessário o registro dos arquivos, 
Sistemas Operacionais
56
na memória secundária, para serem executados com sucesso, durante 
o processamento de dados. Os arquivos são manipulados por meio de 
chamadas de sistema que podem mover, criar, editar, excluir ou copiar 
seus dados. A usabilidade de um arquivo é simples: ele pode ser aberto, 
lido e fechado.
Para trabalhar com arquivos, o sistema operacional fornece o 
suporte aos diretórios, que nada mais são do que agrupadores de 
arquivos. Você, por exemplo, pode ter um diretório com todos os arquivos 
referentes ao curso que está fazendo, agrupando-os de forma inteligente 
e que facilitem um acesso futuro. O sistema operacional oferece a 
capacidade de um diretório ter outros diretórios, o que cria a árvore de 
hierarquia de diretórios, na qual para você acessar um diretório filho, 
necessariamente, você tem que passar pelo diretório pai. A essa árvore 
hierárquica, chamamos sistema de arquivos.
Assim como na memória principal, os dados armazenados na 
memória secundária, também, são endereçados. Esse endereço é 
composto pela nomenclatura do disco, também chamada de diretório-
raiz, em que se encontra o caminho para acessar o arquivo, passando 
por todos os diretórios necessários para chegar a ele. O resultado desse 
endereço é chamado de caminho ou pathname.
Figura 15 – Exemplo de hierarquia de arquivos
Fonte: Elaborado pelo autor (2021).
Sistemas Operacionais
57
Com base no exemplo da Figura 15, podemos ver que o diretório-
raiz tem três diretórios que contêm outros diretórios e arquivos. Para 
acessarmos, por exemplo, o arquivo “Unidade 01.pdf”, temos que 
acessar o seguinte Pathname: “/Raiz/Documentos/Faculdade/Sistemas 
Operacionais/Unidade 01.pdf”.
Interpretador de comandos
Antes de continuar, vamos falar um pouco sobre um SO específico. 
Para essa disciplina, iremos utilizar uma distribuição Linux, chamada de 
Ubuntu. Ela utiliza a base do sistema Debian.
Usaremos um sistema Linux, devido a característica de código 
aberto que nos permite maior liberdade para realizarmos operações das 
mais variadas naturezas. É comum a comunidade, inclusive, utilizar o 
sistema operacional como base e realizar centenas de modificações para 
torná-los únicos para cada usuário.
Figura 16 – Shell
Fonte: Elaborado pelo autor (2021).
Dito isso, um sistema operacional é na verdade um código que 
realiza as chamadas de sistema, ou seja, o SO é um processo que chama 
outros processos, mas isso, nós já definimos anteriormente. Vale a pena 
lembrar que alguns sistemas operacionais trabalham com shell. O shell é o 
Sistemas Operacionais
58
interpretador de comandos mais comum, utilizado nas distribuições Linux 
e, recentemente, aderida por algumas versões do Microsoft Windows e 
também tem bastante similaridade com o interpretador de comandos do 
iOS, da Apple.
Cada linha digitada no shell gerará um subprocesso que irá executar 
e, quando encerrado, irá exibir o resultado de seu processamento. Vamos 
tomar como exemplo o Shell do Ubuntu, caso a instrução “date”, sem aspas, 
seja inserida, ele irá realizar o processamento e irá retornar a data atual do 
sistema operacional. Nós podemos, por exemplo, realizar combinações de 
comandos como, “echo ‘Olá Mundo’”, sem as aspas duplas. Esse comando 
vai fazer com que o interpretador de comandos, shell, ou terminal, exiba 
a saída “Olá Mundo”, porém, caso seja realizada uma modificação nesse 
comando e ele se torne “echo ‘Olá Mundo’>arquivo1”, também sem as 
aspas duplas, ele irá gerar um arquivo, no diretório em que está, e nesse 
arquivo irá escrever “Olá Mundo”.
Quadro 1 – Lista de comandos comuns ao interpretador de comandos do UBUNTU
Comando Objetivo AplicaçãoMkdir Criação de um diretório mkdir pasta01
Cp Copiar arquivos ou diretórios cp arquivo01 arquivo02
Mv Mover arquivos ou diretórios mv pathname1 pathname2
Cd Acessa um determinado Pathname cd pathname
rm Remove um arquivo ou diretório rm arquivo 01
Help Exibe informações sobre os comandos comando --help
Fonte: Elaborado pelo autor (2021).
O quadro 1 traz uma lista dos comandos mais comuns, utilizados pelo 
sistema LINUX. A lista de comandos do sistema operacional é infindável, 
cada um contém suas próprias funcionalidades e muitos são relacionados 
a softwares específicos. Na lista, temos instruções de gerenciamento do 
sistema de arquivos.
Sistemas Operacionais
59
Criando shellscripts
Vimos que o Shell é o interpretador de comandos no Linux e que 
ele aceita a inserção de instruções diversas que realizam processos e 
retornam resultados.
Vimos, também, alguns comandos que são mais comuns no uso 
do shell, mas agora vamos realizar um procedimento de automatização 
desses comandos. Vamos criar um arquivo, chamado de shellscript, que 
será executado e irá realizar a sequência de instruções que nós definirmos, 
no interpretador.
Vamos começar com a preparação do ambiente. Já é comum as 
distribuições Linux virem com editores de texto instalados, mas vamos 
utilizar o editor de textos do próprio terminal do Linux. Caso ele não esteja 
instalado, basta executar o comando a seguir:
sudo apt-get update && sudo apt-get install vim
Sudo é um comando que invoca as permissões do administrador 
do sistema. Somente ele pode realizar algumas operações especiais ou 
instalações de pacotes de recursos.
Apt-get é uma chamada de instalador de pacotes de recursos; é 
um gerenciador que auxilia o sistema operacional a organizar os softwares 
que estão armazenados no disco. Ele pode ser combinado com comandos 
como “update”, para realizar a atualização de todos os pacotes instalados 
e “install” que irá instalar o pacote, cujo nome for listado, após o comando.
Então, essa linha de comando realiza a atualização de todos os 
pacotes de recurso instalados no seu sistema operacional e, logo em 
seguida, instala o software aplicativo “vim”.
Vamos criar um arquivo, com o vim, inserir uma sequência de 
comandos e então preparar a execução. Para criar o arquivo, podemos 
utilizar o comando “vim meu_shell.sh”, que irá criar um arquivo de texto 
com o nome “arquivo.sh”. Nesse arquivo iremos digitar:
Sistemas Operacionais
60
Código 1 – Exemplo de Código ShellScript simples
#!/bin/bash
echo “Esse é o meu primeiro ShellScript”
numero_1 = 15
numero_2 = 16
soma = $numero_1 + $numero_2
echo “Um Shell Script é capaz de realizar operações matemáticas, quando 
precisar”
echo “Por exemplo: $numero_1 + $numero_2 = $soma”
Podemos também criar condições e laços de repetição que 
executem um shellscript, criando execuções mais complexas e mais 
específicas. Podemos usar como exemplo o código abaixo:
Código 2 – Exemplo de código shellscript com condicional e laço 
de repetição
if [“$numero_1” > 10]; then
echo “O número é maior que 10”
fi
if [“$numero_2” > 20]; then
echo “o número é maior que 20”
elif [“$numero_2” < 10]; then
echo “o número é menor que 10”
else
echo “o número é $numero_2”
fi
for i in $(seq $numero_1) 
do 
echo $i 
done
Sistemas Operacionais
61
No código 2, temos dois modelos de condicional e um modelo 
de laço de repetição. No primeiro modelo, ele apenas irá informar, se o 
número é maior que 10. No segundo modelo, ele faz uma verificação para 
o número maior que 20 ou menor que 10, caso não seja nenhum dos dois, 
ele irá imprimir o próprio número. Por fim, o laço de repetição que irá fazer 
com que todos os números de 0 até 15 sejam impressos na tela, de 1 em 1.
Lembre-se, a implementação de um arquivo shellscript necessita 
sempre ser iniciada com a instrução “#!/bin/bash”, sem aspas. 
Retomemos o arquivo criado pelo vim, o “meu_shell.sh”. Ao concluir a 
inserção das instruções, linha a linha no arquivo, pressione a tecla ESC, 
no teclado e digite as teclas : e w, logo pressione enter. Essa ação irá 
salvar as alterações no arquivo. Repita o procedimento de pressionar ESC 
e agora realize a inserção das teclas : e q, logo depois pressione enter, 
novamente. O aplicativo vim será encerrado e nós retornaremos para o 
interpretador de comandos. Caso deseje, você também pode efetuar esse 
procedimento, utilizando wq, juntos, assim ele irá salvar e, em seguida, 
encerrar o aplicativo.
Agora vamos transformar nosso arquivo de texto em um shell 
executável, para isso, vamos mexer nas permissões gerais do arquivo. 
O comando que permite que nós alteremos as permissões de leitura e 
execução de um arquivo é o chmod.
chmod a+x meu_shell.sh
Ao executar esse comando, o arquivo se torna executável e passará 
a funcionar sempre que for chamado com a instrução “./meu_shell.sh”.
Comunicação
Sistemas operacionais modernos são preparados, para a realização 
de conexões entre máquinas, por meio de redes de comunicação. Existem 
três protocolos que são utilizados, de forma comum, para a realização 
dessa conexão e troca de pacotes de dados: TCP, SSH e FTP.
Sistemas Operacionais
62
O protocolo TCP é o mais utilizado para realização de conexões 
de rede, geralmente, relacionado à rede WAN. Ele é que permite a 
conexão de um sistema computacional com a internet. Com ele, por 
meio de servidores e endereçamentos WEB, é possível realizar o envio e 
recebimento indireto de dados.
Protocolos SSH e FTP diferem do TCP no caráter de diretividade. 
Enquanto o TCP utiliza uma ferramenta para realizar o intermédio 
de comunicação, os protocolos SSH e FTP conectam dois sistemas 
computacionais, diretamente entre si, e permitem a interação de dados.
O Protocolo SSH, Secure Shell, garante a conexão entre o cliente 
(sistema computacional requisitante) e o cliente remoto (sistema 
computacional acessado). Ele permite a manipulação e comunicação de 
dados, bem como a transferência de arquivos.
Ele funciona de forma a criptografar os arquivos que estão 
transitando de um sistema para o outro, evitando assim que, caso eles 
sejam interceptados por um software malicioso, possam ser lidos por 
terceiros.
O FTP, File Transfer Protocol, é um protocolo de transferência 
de arquivos. Enquanto o SSH permite a manipulação do sistema 
computacional, acessado remotamente, o FTP permite apenas a 
comunicação e transferência de dados.
As distribuições Linux são variadas e implementadas para diversos 
tipos de objetivo, logo, algumas delas já podem vir com aplicativos que 
garantam ou facilitem a utilização de protocolos de transferência de 
arquivos.
O Ubuntu não está nessa lista de distribuições, logo, para utilizar 
o serviço, teremos que realizar a instalação dos pacotes necessários. No 
shell do seu sistema operacional, execute o seguinte comando:
sudo apt-get install openssh-server
sudo service ssh start
Sistemas Operacionais
63
Para se conectar com o sistema operacional, é necessário utilizar o 
comando ssh, da seguinte forma:
ssh nomeusuario@ip-remoto
O “nomeusuario” é o nome do usuário do computador remoto, “ip-
remoto” é o endereçamento IP do computador remoto. É possível também 
acessar por meio de uma porta de conexão específica e ainda conectar, 
automaticamente, já passando na instrução a senha de conexão. Para usar 
outra porta, que não seja a padrão, basta adicionar no final da instrução o 
complemento “-p numeroporta”, sem aspas.
Para realizar a passagem automática da senha, precisamos utilizar 
um outro pacote do sistema operacional. Execute os comandos:
sudo apt-get install sshpass
sshpass -p “seu_password” ssh nomeusuario@ip-remoto
Para realizar a transferência de arquivos, utilize, no lugar de ssh, o 
comando scp, seguido do pathname que contém o arquivo:
scp nomeusuario@ip-remoto:/home/documentos/faculdade/sistemas_
operacionais/unidade_01.pdf /home/documentos
Esse comando fará comque o documento “unidade01.pdf”, que 
está em outro sistema computacional, seja copiado para meu sistema 
computacional, nos diretórios “documentos.”
Sistemas Operacionais
64
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo? 
Agora, só para termos certeza de que você realmente 
entendeu o tema de estudo deste capítulo, vamos resumir 
tudo o que vimos. Você deve ter aprendido que um sistema 
computacional tem uma estrutura bem definida, e que 
tudo funciona de forma organizada e objetiva. Os famosos 
processos, tão citados em outros capítulos, são a alma do 
sistema operacional e são movimentados o tempo inteiro 
entre as memórias principal, secundária e o processador. 
Viu também a importância do endereçamento de memória 
e entendeu o conceito do sistema de arquivos. O sistema 
de arquivos, como base do sistema de armazenamento da 
memória secundária, é organizado de forma hierárquica e 
pode ser acessado também por meio de um endereçamento 
de memória. Você entendeu o conceito do interpretador 
de comandos, descobriu alguns comandos comuns e 
suas funcionalidades e até mesmo montou seu primeiro 
shellscript. Agora você é capaz de criar shellscripts variados 
para atender os mais diversos propósitos no seu sistema 
computacional. Falamos também sobre comunicação 
de dados, focando em protocolos de transferência de 
arquivos. Realizou a primeira configuração e entendeu 
como funciona o protocolo SSH para manipulação de 
clientes remotos e transferência de arquivos.
Sistemas Operacionais
65
REFERÊNCIAS
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 
Rio de Janeiro: LTC, 2007.
NARAYAN, K. L. Computer aided design and manufacturing. New 
Delhi: Prentice Hall of India, 2008. 
TANENBAUM, A. S. Sistemas operacionais modernos. São Paulo: 
Guanabara Koogan, 1995.
SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Fundamentos de 
sistemas operacionais. Rio de Janeiro: LTC, 2010.
SILBERSCHATZ, A. GALVIN, P.; GAGNE, G. Sistemas operacionais: 
conceitos e aplicações. Rio de Janeiro: Campus, 2000. 
Sistemas Operacionais
Sistemas Operacionais
Unidade 2
Processos e Threads
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
LEANDRO C. CARDOSO
AUTORIA
Leandro C. Cardoso 
Sou formado em Comunicação Social com habilitação em Design 
Digital e mestrado em Tecnologias da Inteligência e Design Digital, pela 
PUC-SP, com experiência em direção de arte e criação na área com 
mais de 25 anos. Passei por empresas com a Laureate International 
Universities - FMU | FIAM-FAAM, Universidade Anhembi Morumbi e o 
Centro Paula Souza (FATEC-ETEC). Fui analista de Desenvolvimento 
Pedagógico Sênior - Laureate EAD e coordenador de Curso Técnico de 
Design Gráfico, no Centro Paula Souza. Fui revisor técnico e validador para 
cursos EAD, atendendo cliente como Laureate International Universities; 
DeVry Brasil; UNEF; FAESF; Faculdade Positivo; Uninter; Platos Soluções 
Educacionais S.A. (Krotonn - Universidade Anhaguera). Sou autor de mais 
de 21 livros didáticos, um dos organizadores da Maratona de Criação e 
Design do Curso de Comunicação Visual, da ETEC - Albert Einstein. Sou 
apaixonado pelo que faço e adoro transmitir minha experiência de vida 
àqueles que estão iniciando em suas profissões. Por isso, fui convidado 
pela Editora Telesapiens a integrar seu elenco de autores independentes. 
Estou muito feliz em poder ajudar você nesta fase de muito estudo e 
trabalho. Conte comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento de 
uma nova compe-
tência;
DEFINIÇÃO:
houver necessidade 
de se apresentar um 
novo conceito;
NOTA:
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou dis-
cutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
se fazer um resumo 
acumulativo das últi-
mas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO:
quando o desen-
volvimento de uma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Conceito de processos e threads ......................................................... 10
Os processos e o modelo de threads na dinâmica de um sistema 
operacional .......................................................................................................................................... 10
Comunicação e escalonamento de processos ............................... 17
Forma de comunicação entre processos de um sistema operacional ......... 17
Técnica de escalonamento de processos em um sistema operacional ...... 21
Gerenciamento de memória .................................................................24
Atribuições do gerenciamento de memória ...............................................................24
Algoritmos de substituição de páginas ............................................32
Políticas de substituição de páginas.................................................................................32
7
UNIDADE
02
Sistemas Operacionais
8
INTRODUÇÃO
Você sabia que os processos e threads são uma das demandas 
mais importantes do sistema operacional, justamente por serem 
relacionados à memória, seja ela física, a memória RAM ou virtual? Isso 
mesmo. Para o entendimento desses processos e threads, é importante 
compreendê-los e ao modelo de threads na dinâmica de um sistema 
operacional, a comunicação e o escalonamento de processos, como 
a forma de comunicação entre processos de um sistema operacional. 
Também é importante conhecer as técnicas de escalonamento de 
processos em um sistema operacional, logicamente, o gerenciamento 
de memória e as suas atribuições e o conhecimento dos algoritmos de 
substituição de páginas e como ocorre as políticas de substituição de 
páginas. Entendeu? Ao longo desta unidade letiva você vai mergulhar 
nesse universo!
Sistemas Operacionais
9
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 2. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Discernir sobre o papel dos processos na dinâmica de um sistema 
operacional.
2. Aplicar o modelo de threads em sistemas operacionais.
3. Compreender a forma de comunicação entre processos de um 
sistema operacional.
4. Entender a técnica de escalonamento de processos em um 
sistema operacional.
Sistemas Operacionais
10
Conceito de processos e threads
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
como funcionam os processos e threads. Isto será 
fundamental para o exercício de sua profissão. As pessoas 
que tentaram compreender, sem a devida instrução, 
tiveram problemas ao trabalhar com sistemas operacionais. 
E então? Motivado para desenvolver esta competência? 
Então vamos lá. Avante!
Processo é uma entidade dinâmica e sua função é de alteração 
do seu estado, de acordo com o avanço de sua execução. O conceito de 
threads está relacionado em um processo com múltiplos fluxos de controle.
Os processos e o modelo de threads na 
dinâmica de um sistema operacional
Para entender o conceito de processos, entende-se que a 
totalidade dos arquivos executáveis, chamados diretamente, rodará 
nesses processos. Os executáveis, que são chamados em um processo, 
permitem rodarexplicitamente, seja em outro ou no mesmo processo. 
Logicamente, quando esses procedimentos forem viáveis, de acordo com 
a característica do executável, geralmente se usa uma DLL. 
Os arquivos executáveis são os que se caracterizam por realizar 
comandos, no momento que são abertos, ou seja, executado pelo usuário. 
São facilmente identificados pelas extensões EXE, BAT e COM.
DLL - Dynamic Link Library nada mais é que uma biblioteca 
dinâmica na qual estão contidos dados que podem ser acessados, por 
mais de um programa que esteja instalado em um sistema operacional. 
A DLL pode ser acessada da maneira simultânea, ou seja, mais de um 
programa acessa a mesma DLL, ao mesmo tempo. Um exemplo prático 
é o momento em que abrimos mais do que um programa ao mesmo 
tempo. Além de conceituar DLL, é importante entender que o processo 
tem controle do sistema operacional em duas situações. São elas:
Sistemas Operacionais
11
1. Relacionado ao tempo de processador, no qual o processo tem 
referência à memória disponível, que pode ser solicitada por esse 
processo.
2. Nas permissões de acesso, relacionadas a outros recursos, que 
têm vínculos ao processo como um todo.
Figura 1 - Todos os arquivos executáveis rodam em um processo
 
Fonte: Freepik (2021).
É importante frisar que um processo tem um espaço de 
endereçamento de memória virtual, destinado único e, exclusivamente, 
para ele. De certa forma, pode ser conceituado como se o processo 
rodasse, unicamente, no dispositivo, como o computador.
Figura 2 - Uma das situações em que o processo tem controle 
do sistema operacional está relacionada ao tempo de processador
Fonte: Freepik (2021).
Embora pareça que o processo “rode sozinho” não é que o realmente 
acontece. Os profissionais iniciantes e estudantes, às vezes, se confundem, 
pelo fato que comportamento desse processo é bem característico e 
esteja executando de maneira única. Não acontece devido ao fato de que 
ele é executável, com poder de rodar em vários momentos. Estes são os 
conceitos, de maneira geral, relacionados a eles. Já a conceituação de 
thread pode ser definida que é similar ao de processo. Esta semelhança 
Sistemas Operacionais
12
ocorre pelo fato que o thread tem uma nova linha de execução, e, 
também, todos os aspectos que estão relacionados a esta linha. Assim o 
sistema operacional lhe dá o tratamento de maneira similar ao processo. 
Para alocar o tempo de processamento, mas quando se trata da memória, 
esta responsabilidade de aplicar o controle do acesso, é compartilhado 
por todo o processo. Uma maneira prática de visualizá-lo, é utilizando o 
sistema operacional Windows, por exemplo, por meio do Gerenciador 
de Tarefas, que pode ser acessado pela tecla de atalho CTRL+ALT+DEL, 
conforme exemplificada na próxima figura.
Figura 3 - No gerenciador de tarefas, do Sistema Operacional Windows, 
é uma das formas de visualizar os processos
Fonte: Elaborado pelo autor (2021).
Para entender melhor em relação aos processos, é importante 
salientar que, comumente, os programas que também são conhecidos 
como aplicações têm uma stack para cada thread. Mas raramente 
um programa tem mais do que um stack espaço de heap para todo o 
sistema. Dessa maneira, alguns profissionais encontram dificuldades na 
Sistemas Operacionais
13
programação com threads, pelo fato de ser muito difícil compartilhar 
estado. A definição de stack, também conhecida como pilha de funções, 
trata-se de uma área da memória em que são alocadas as variáveis ou 
ponteiros. No momento, em que uma função é chamada e desalocada, 
como também no momento que esta função é encerrada, em outras 
palavras seria a representação da memória local àquela função. 
Já o termo heap, também conhecido como área de alocação 
dinâmica, é um espaço reservado para variáveis e dados, criado no período 
da execução do programa, também conhecido como expressão runtime. 
Em outras palavras, o heap pode ser considerado como a memória global 
do programa ou aplicação, assim, threads estão vinculados ao processo, 
até porque o principal em si não deixa de ser uma thread. É importante 
considerar que alguns programas dispõem de seu próprio controle de 
threads internamente, não controlados pelo processador ou o sistema 
operacional. 
Figura 4 - Algumas aplicações dispõem de seu próprio controle de threads 
internamente não controladas pelo sistema operacional - Windows.
Fonte: Freepik (2021).
As vantagens, quando os threads não são controlados pelo 
processador/ sistema operacional, é que pode ser evitada a troca de 
contexto do sistema operacional, mas também tem desvantagens, por 
exemplo, não ser permitido o uso de outros processadores. Geralmente, 
são denominados como soft, light ou green threads, para entender melhor, 
green threads são implementados no nível do programa, e não no sistema 
operacional. Normalmente, acontecem no momento que o sistema 
operacional não fornece uma API de thread. Dessa maneira, os benefícios 
são obter as funcionalidades similares a do thread propriamente dito. 
Sistemas Operacionais
14
IMPORTANTE:
API - Application Programming Interface (Interface de 
Programação de Aplicações) trata-se de uma série tanto de 
padrões como de rotinas, estabelecidas por uma aplicação, 
com objetivo de usar de suas funções por aplicativos, 
nos quais não pretendem envolver-se em detalhes da 
implementação do programa, mas somente utilizar suas 
funcionalidades.
Figura 5 – API- conjunto de padrões e rotinas estabelecidas por um programa
Fonte: Freepik (2021).
De maneira geral, de acordo com a maneira que é analisada, thread 
pode ser visto correspondente a um processo ou não, mas analisando, 
especificamente, na perspectiva de agendamento do processador. Nesta 
visão, pode-se conceituar que apenas existem threads, e não processos, e 
de maneira simplificada, na visão de gerenciamento de memória e acesso 
aos recursos externos, pode-se definir que só existe o processo. Veja a 
seguir uma tabela comparativa entre processo e threads.
Sistemas Operacionais
15
Quadro 1- Comparação entre processo e threads
Recurso Processo Thread
Execução Linha própria Linha própria
Memória global Própria Compartilhada
Memória local Sim Geralmente
Consumo de memória Normal Ligeiramente menor
Manipuladores de recursos 
externos
Proprietário Empresta do processo
Tempo de criação Relativamente longo Relativamente curto
Tempo de troca de 
contexto
Relativamente longo Relativamente curto
Instâncias Múltiplas Múltiplas
Associação Um programa (executável) Um processo
Paralelismo Limitado Sim
Comunicação entre seus 
pares
Só com um mecanismo 
de IPC
Sim, no processo
Eficiência de comunicação Não Sim
Comunicação direta com 
o OS
Sim Não
Controle de exceções Próprio Próprio
Confiabilidade e segurança Sim Depende do código
Fonte: Silberschatz (2010).
De maneira geral, processo trata de uma entidade dinâmica, cuja 
função é de alteração de seu estado, conforme avança sua execução. Já 
threads são um processo com múltiplos fluxos de controle. 
Sistemas Operacionais
16
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que os conceitos de processos e threads, embora tenham 
similaridades são diferentes, pois processos são referentes 
a uma entidade dinâmica, que tem com atribuição 
modificar seu estado, de acordo com o avanço de sua 
execução. Em relação à conceituação de threads é um 
processo com múltiplos fluxos de controle e processos são 
todos praticamente arquivos de programas executáveis 
de maneira geral. Os programas dispõem de uma stack 
para cada thread, quase nunca um programa tem mais 
do que um stack, espaço de heap para todo processo. 
Stack, nada mais é do que pilha de funções, a área da 
memória na qual são alocados variáveis ou ponteiros.Existem vantagens e desvantagens no momento que os 
threads não são controlados pelo processador e ou sistema 
operacional. Uma delas é evitar a troca de contexto do 
sistema operacional, mas não permite o uso de outros 
processadores.
Sistemas Operacionais
17
Comunicação e escalonamento de processos
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
o processo de comunicação e escalonamento em um 
sistema operacional. Isto será fundamental para o exercício 
de sua profissão. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
A sigla IPC, da língua inglesa, Inter-Process Communication, ou 
simplesmente comunicação entre processos, consiste em um grupo 
de mecanismos que viabiliza aos processos o poder de transferir as 
informações entre si.
Forma de comunicação entre processos de 
um sistema operacional
Executar um processo presume, em relação do sistema operacional, 
entre vários aspectos, criar um contexto de execução próprio do qual, 
certa maneira, é abstraído o processo dos componentes reais do sistema. 
No sistema operacional Windows, por exemplo, ele pode ser visualizado 
no gerenciador de tarefas, no qual são discriminados os aplicativos, 
esses processos, em segundo plano, e os próprios processos do sistema 
operacional.
Figura 6 - No Windows, por exemplo, os processos 
podem ser visualizados no gerenciador de tarefas
Fonte: Elaborado pelo autor(2021).
Sistemas Operacionais
18
Justamente pelo fato da virtualização dos recursos, faz com que 
o próprio processo não tome ciência em relação aos outros e, desta 
maneira, não consiga intercambiar informações.
Técnica que viabiliza que um programa de um sistema operacional, 
ou até mesmo o sistema na sua totalidade, seja executado em outro 
sistema operacional, é o conceito de virtualização. Por exemplo, permite 
que o sistema Linux seja executado no Windows e vice-versa. 
Os modelos de comunicação entre processos, normalmente, são 
caracterizados em dois grupos. O primeiro recebe o nome de memória 
compartilhada e o segundo de troca de mensagens. O modelo de memória 
compartilhada caracteriza-se por ser uma área de memória na qual, como 
o nome diz, é compartilhada entre os processos. Já segundo modelo 
acontece por meio da troca dessas mensagens entre os processos.
Figura 7 - No modelo de memória compartilhada, há o compartilhar entre os processos
Fonte: Freepik (2021).
O objetivo principal da memória compartilhada, além de permitir o 
acesso simultâneo de vários programas, é promover a comunicação entre 
eles, evitando que aconteçam cópias redundantes. As cópias redundantes 
consistem em duplicar os componentes principais, ou seja, os mais 
críticos, com objetivo de aumentar a confiança de um sistema e sua 
disponibilidade. De maneira geral, a memória compartilhada, de acordo 
com a situação, permite que os programas sejam executados, apenas em 
um processador, ou também por dois processadores diferentes. Deve-se 
Sistemas Operacionais
19
atentar que nos fundamentos de memória compartilhada, normalmente, 
não é inclusa a utilização da memória com objetivo de comunicar distintos 
threads de um mesmo processo.
Figura 8- A memória compartilhada viabiliza que as aplicações sejam 
executadas apenas em um ou dois processadores diferentes
Fonte: Freepik (2021).
Para compreender melhor a comunicação de processos, também, 
é importante o entendimento da sincronização entre processos, no qual 
tem a função de proporcionar o gerenciamento do acesso concorrente a 
recursos do sistema operacional, mas de maneira que se tenha controle 
em relação aos processos, proporcionando que um recurso não sofra 
alterações simultâneas, ou que os processos não fiquem aguardando que 
o recurso seja disponibilizado. Os mecanismos de sincronização podem 
ser classificados quanto à espera em dois grupos:
1. Busy waiting - espera ociosa.
2. Espera bloqueante.
Em relação à espera ociosa, a entidade seja processo ou thread, 
tem o seu funcionamento testando de maneira repetitiva à condição de 
sincronização. Normalmente é usado uma variável de impedimento que é 
denominada spinlock, que é um bloqueio que viabiliza com que um thread 
que procura adquiri-lo, apenas aguarde um loop até que seja verificado 
de forma repetida, se o bloqueio está com disponibilidade. 
Sistemas Operacionais
20
Figura 9- A memória compartilhada apresenta como 
desvantagem o desperdício de tempo de CPU
Fonte: Freepik (2021).
A memória compartilhada apresenta como desvantagem, se a 
espera é longa, o desperdício de tempo de CPU. Assim, normalmente, é 
usada nos programas que executam processamento paralelo, conhecido 
como multiprocessamento, e recomendada para sincronização rápida.
DEFINIÇÃO:
Central Process Unit – CPU, ou simplesmente em português, 
Unidade Central de Processamento, é considerado o 
principal elemento de hardware do computador, cuja 
responsabilidade é desenvolver cálculos e a realização de 
específicas tarefas, de acordo solicitada pelo usuário.
A espera bloqueante é a segunda classificação dos mecanismos 
de sincronização. Neste caso não existe desperdiço do tempo de CPU, 
no momento que é executado um programa no modo usuário. Uma 
comparação ilustrativa entre a espera ociosa e a espera bloqueante pode 
ser visualizada na Figura 10.
Figura 10 - Comparação entre a espera ociosa e a espera bloqueante
Fonte: Elaborado pelo autor (2021).
Sistemas Operacionais
21
Comparando à espera ociosa e a espera bloqueante, fica nítido 
que no primeiro método, ou seja, a espera ociosa ou loop, e no segundo 
método de espera bloqueante, não há o desperdício de tempo de CPU.
Técnica de escalonamento de processos em 
um sistema operacional
Escalonamento de maneira geral é o ato de decisão no qual o 
processo irá ocupar o processador no momento que ele estiver livre, e para 
facilitar essa etapa, geralmente, os sistemas operacionais dispõem de um 
escalonador, ou seja, o responsável pelas decisões para resultar em uma 
escolha, no qual geralmente se baseia na política, usando os algoritmos 
de escalonamento, atribuindo assim os processos concorrentes a um ou 
mais processadores. Normalmente, o escalonamento é executado pelo 
sistema operacional, com base no compartilhamento do processador, 
por meio de técnicas de timesharing, no qual o tempo de utilização do 
processador é dividido em time-slice, ou seja, pequenas fatias de tempo 
que são usadas pelos variados processos, ordenadamente, permitindo 
assim, o uso de forma eficiente o processador que está disponível.
Figura 11 - O uso de maneira eficiente do processador 
é função do escalonador do sistema operacional
Fonte: Freepik (2021).
Para que seja garantida a imparcialidade, o sistema operacional, 
normalmente, define a ativação ou suspensão dos processos, por meio 
de uma técnica chamada de preempção, ou seja, de preferência.
Sistemas Operacionais
22
Preempção ou preemptividade, nos sistemas operacionais, é a 
ação de interrupção temporária de uma tarefa que está em execução, por 
meio de um sistema operacional, mas com objetivo de retornar a tarefa 
posteriormente; esse ato também é conhecido como troca de contexto. 
Escalonar pode apresentar problemas como apontam Casavant e 
Kuhl (1988), visualizando como recurso para o gerenciamento de recursos. 
Assim é apresentado o problema dividindo em três componentes 
principais: 
1. Algoritmo de escalonamento.
2. Consumidores que são os processos tanto dos sistemas quanto 
dos usuários.
3. Recursos que podem ser redes de comunicação, memória 
processadores, entre outros.
De maneira geral, os consumidores, ou seja, os processos dos 
usuários e dos sistemas operacionais usam os recursos computacionais 
como também o algoritmo de escalonamento, que é o responsável pela 
a distribuição dos processos entre os processadores, conforme se faz 
necessário, e também são disponíveis nos recursos.
Figura 12 - As redes de comunicaçãosão uma das situações 
de aplicação do escolamento para a definição de prioridades
Fonte: Freepik (2021).
Sistemas Operacionais
23
Autores como Shirazi e Hurson (1992) e Baumgartner e Wah (1991) 
apontam que distribuir processos é importante que seja vinculado com um 
propósito, que deve ter como base todas as decisões de escalonamento 
a serem tomadas. Para exemplificar, uma decisão pode ser tomada com o 
intuito da diminuição do tempo de execução dos processos, balanceando, 
assim a carga do sistema.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudo? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que a comunicação e o escalonamento de processos 
são muito importantes para um bom funcionamento de 
um sistema operacional, que fica evidenciado pelo uso 
da sigla IPC Inter-Process Communication, que significa 
comunicação entre processos, relacionados a uma série 
de mecanismos que viabiliza aos processos o poder 
de transferir as informações entre si. A execução de 
um processo considera o relacionamento do sistema 
operacional em diferentes aspectos, como desenvolver 
um contexto de execução própria que é abstraída do 
processo dos componentes reais do sistema. De modo 
geral, os modelos de comunicação entre processos, são 
divididos em duas classificações grupos, o de memória 
compartilhada e troca de mensagens, este último tem 
como base a troca de mensagens entre os processos. Já a 
memória compartilhada trata-se de uma área de memória 
no qual é compartilhada entre os processos.
Sistemas Operacionais
24
Gerenciamento de memória 
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender 
como ocorre o gerenciamento de memória dos sistemas 
operacionais. Isto será fundamental para o exercício de 
sua profissão. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
O gerenciamento da memória RAM que está disponível em um 
dispositivo como um computador, é considerado uma das principais 
características e atribuições do sistema operacional, para que ele possa 
assegurar que o próprio sistema como também quaisquer processos 
tenham a quantidade de memória necessária, para a execução dos 
processos. 
Atribuições do gerenciamento de memória
Quando comparamos aos demais recursos disponíveis em um 
sistema operacional, como a instalação de programas, entre outros, 
podemos considerar que a memória dispõe de recursos escassos.
Figura 13- O gerenciamento da memória RAM e as atribuições do sistema operacional
Fonte: Freepik (2021).
Sistemas Operacionais
25
Pelo fato de que os recursos da memória são considerados 
escassos, várias técnicas foram criadas com o objetivo de otimizar o seu 
uso. É importante estarmos atualizados e procurar informações detalhadas 
de cada uma, principalmente nas atualizações dos sistemas operacionais. 
São exemplos, segundo Vahalia (1996):
 • Compressão de memória.
 • Bibliotecas dinâmicas compartilhadas.
 • Memória virtual.
 • Carga de páginas sob demanda.
 • Copy-on-write.
 • Alocação preguiçosa.
Quando um sistema é virtualizado, sua característica permite que 
em cada máquina virtual se obtenha do hipervisor uma fração da memória 
da máquina, no qual tem o gerenciamento do sistema operacional 
convidado. Para entender melhor o hipervisor, trata-se de um programa 
que desenvolve e executa máquinas virtuais, também conhecido como 
VMs ou VMM - monitor da máquina virtual.
Figura 14 - Em um sistema virtualizado, cada máquina virtual 
obtém do hipervisor uma fração da memória da máquina
Fonte: Freepik (2021).
Sistemas Operacionais
26
É importante salientar que os mecanismos que estão, internamente, 
no sistema operacional têm limitação em relação à memória da própria 
máquina virtual, na qual tem isolamento das demais pelo hipervisor. 
Para facilitar o entendimento em relação ao gerenciamento de memória 
nos sistemas virtualizados, alguns termos devem ser facilmente 
compreendidos, segundo VMware Inc. (2010):
 • Memória física da máquina virtual - trata-se da memória que 
é disponibilizada pelo hipervisor, gerenciada pelo sistema 
operacional da máquina virtual – VM.
 • Memória virtual da máquina virtual - está relacionado à memória 
vista pelos processos da máquina virtual, ou seja, as páginas.
 • Memória de máquina - host memory - trata-se da memória RAM, 
propriamente dita, ou seja, a memória real que está disponível no 
hardware e também gerenciada pelo hipervisor.
Mecanismos relacionados à alocação de memória, geralmente 
devem ser adicionados, nos sistemas virtualizados, com o objetivo de 
prestar atendimentos à demanda de memória dos sistemas convidados.
Figura 15- A memória de máquina - host memory- tem a memória RAM propriamente dita
Fonte: Freepik (2021).
Ao serem adicionados mecanismos facilitam tanto na manutenção 
quanto no equilíbrio de recursos nos ambientes, principalmente, em 
ambientes de grande porte com diversas máquinas virtuais - VM, 
consequentemente, ocasionando aproveitamento do hardware e 
economia de recursos físicos.
Sistemas Operacionais
27
O recurso denominado memory overcommit, também, se refere 
na proposta de oferecimento de espaço de memória, além da memória 
física que está disponível no dispositivo como um computador, 
mas sem quaisquer garantias de que a quantia do armazenamento 
físico, determinada efetivamente exista, desta maneira, é um recurso 
também usado nos sistemas operacionais. É importante considerar que 
geralmente os sistemas convidados utilizam somente pouca parte da 
memória física que lhe são alocadas, permitindo que os hipervisores 
com a função de identificação de trechos de memória ócios, atuem bem. 
De modo dinâmico, executam o processo de relocação para as outras 
máquinas virtuais – VMs, que precisam de quantidade de memória maior 
no momento específico, segundo VMware Inc. (2010).
Figura 16- O memory overcommit oferece espaço 
de memória e memória física que está disponível 
 
Fonte: Freepik (2021).
Além do recurso memory overcommit, existem outras técnicas de 
recuperação e de otimização de memória, por exemplo: 
 • Swap.
 • Memory compression.
 • Ballooning.
Sistemas Operacionais
28
A técnica denominada de swap, geralmente, é utilizada quando se 
esgotam todas as opções de recuperar páginas de memória por meio de 
outras técnicas como ballooning e memory compression.
DEFINIÇÃO:
Página virtual, página de memória, ou simplesmente uma 
página, trata-se de um bloco contínuo e de comprimento 
fixo de memória virtual, o qual tem descrição por uma única 
entrada na tabela de páginas.
O swap também é utilizado quando não existe a possibilidade de 
alocamento de quantidade de memória maior para as máquinas virtuais – 
VMs, ou para o host de virtualização, sendo a utilização da área de troca 
como o último recurso para recuperação de memória (YUN et al., 2014).
No swap, cada um dos hipervisores usa mecanismos para 
potencializar o processo. Geralmente, é desenvolvido um arquivo auxiliar 
na estrutura de diretórios do hipervisor, e nesse arquivo são transferidas 
as páginas de memória da máquina virtual – VM. Desta maneira, é liberado 
o espaço da área de memória que no momento está em disco. Importante 
salientar que quando acontece esse processo, não acontece interação 
com o sistema convidado, sendo o hipervisor o responsável por decidir 
quais páginas que serão enviadas para swap (WALDSPURGER, 2002). É 
considerado desvantagem que reside no hipervisor o fato de não dispor 
o acesso às páginas, as quais seriam mais recomendadas de serem 
remetida para swap. Assim, uma máquina virtual – VM pode acessar uma 
página na mesa hora que é enviada para área de intercâmbio, podendo 
afetar de forma considerável a performance do sistema convidado.
A técnica de recuperação e de otimização de memória que recebe 
o nome de memory compression, osmecanismos de compressão de 
memória são usados em situações de falta de memória do hipervisor. 
E como quaisquer sistemas, na inexistência de memória, as páginas 
serão direcionadas para a área de troca ou swap, isso se não existir a 
possibilidade de recuperação da memória a suficiente, usando a técnica 
denominada como balloning. 
Sistemas Operacionais
29
Ou outras técnicas de gerenciamento de memória, em que as 
páginas que iriam para área de troca podem sofrer compreensão e serem 
armazenadas em uma unidade na qual há o controle do hipervisor, que 
recebe o nome de cache de compressão (WALDSPURGER, 2002). Esta 
ficará situada na memória do host, para que possam ser direcionadas para 
o cache de compressão as páginas, que foram identificadas para a área 
de troca que precisam de percentual de ao menos 50% de compressão. 
Na situação que esse valor não seja atingindo, essa mesma página não é 
preiteada ao cache de compressão, segundo VMware Inc. (2010). A figura 
18 representa o processo de armazenamento de páginas e o cache de 
compressão. Observe que com a utilização do cache de compressão não 
é usada a área de troca.
Figura 18 - Técnica Memory Compression
Fonte: VMware Inc (2010).
Já a técnica denominada como ballooning é comum em diversos 
hipervisores e se caracteriza por uma maneira de máquina virtual – 
VM, se comunicar com o hipervisor no momento que o hipervisor está 
demandando mais memória. De acordo com Wen et al., (2012) por causa 
do isolamento, o sistema operacional convidado não tem ciência de 
que está sendo executado internamente de uma máquina virtual – VM, 
e, também, não tem conhecimento da relação dos estados das outras 
máquinas virtuais no mesmo host físico. 
Sistemas Operacionais
30
A próxima figura representa o processo de funcionamento do 
mecanismo ballooning. Observe que é somente ativado no momento que 
host está com pouca memória. E o driver balloon específico em que as 
páginas de memória -as máquinas virtuais – VM, de certa forma serão 
permitidas de “abrir mão” para que o servidor executar swap para o disco.
Figura 19- Técnica Ballooning
Fonte: VMware Inc. (2010).
No momento que o hipervisor executa diversas máquinas virtuais 
– VMs- e o número total de memória livre no host está baixo, nenhuma 
das máquinas virtuais poderão efetuar a liberação física, pois o sistema 
operacional convidado não tem ciência da falta de memória do host. 
Em relação à abordagem desse tema, entre outros, é importante estar 
atualizado, principalmente, pelo fato que sempre há novas atualizações 
dos sistemas operacionais. 
Sistemas Operacionais
31
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que o gerenciamento da memória, seja ele físico como 
a memória RAM que está disponível em um dispositivo, 
como um computador, ou memória virtual, é considerado 
uma das principais características e atribuições do sistema 
operacional. Para isso, é importante o conhecimento de 
virtualização, entendendo suas aplicações, tipos e técnicas, 
um diferencial no entendimento do gerenciamento 
de memória em ambientes virtualizados. Importante 
salientar que apesar de existirem diversos mecanismos 
de recuperação de memória, os ambientes virtualizados 
precisam de uma quantidade de memória adicional 
para controle do funcionamento do hipervisor. Enfim, 
o gerenciamento de memória é importante para que o 
próprio sistema operacional e quaisquer processos tenham 
a quantidade de memória necessária.
Sistemas Operacionais
32
Algoritmos de substituição de páginas 
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender 
o que são os algoritmos de substituição de páginas e as 
suas funções no sistema operacional. Isto será fundamental 
para o exercício de sua profissão. E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
No momento da gerência da memória virtual com paginação, um 
dos maiores problemas que, geralmente, são apresentados, por incrível 
que pareça, não estão relacionados à decisão de qual página deve ser 
carregada na memória principal. Mas sim, qual será a página que deve ser 
removida da memória principal, justamente os algoritmos de substituição 
de página têm como principal atribuição de seleção dos frames que terão 
menor chances de serem referenciados em um futuro próximo.
Políticas de substituição de páginas
A política de substituição de páginas usadas é considerada um 
dos elementos mais fundamentais em um sistema de memória virtual, 
pois tem poder da determinar os parâmetros de seleção que serão 
utilizados para remoção de uma ou mais páginas de memória principal, 
no momento que se faz necessário que outra página seja designada e não 
exista espaço disponível.
Para implementar a substituição de página, usam-se algoritmos 
para tal substituição que de maneira geral são classificados em dois tipos:
1. Algoritmos com espaço variável.
2. Algoritmos com espaço fixo.
Sistemas Operacionais
33
Figura 20 - Algoritmos - decisão da substituição de uma página
Fonte: VMware Inc. ( 2010).
Os algoritmos com espaço variável caracterizam-se pelo poder 
de alterar o tamanho da memória, alocada dinamicamente, conforme 
o volume de execução do sistema. Já os algoritmos com espaço fixo 
caracterizam-se em relação a uma determinada região de memória que 
esteja disponível de maneira contínua, ou seja, sempre constante. São 
exemplos de algoritmos com espaço fixo:
 • FIFO.
 • LRU.
 • OPT.
 • MRU-n.
 • Clock.
 • NRU.
 • LFU.
 • MFU.
 • WS.
 • PFF.
 • VMIN.
Sistemas Operacionais
34
O algoritmo FIFO - First In, First Out- tem, como diretriz de 
substituição, remover da memória a página carregada que está há mais 
tempo, não considerando acessos, identificados no momento que esteve 
residente na memória. 
Figura 21 - O algoritmo FIFO remove da memória virtual a página carregada há mais tempo
Fonte: Freepik (2021).
Alguns estudiosos apontam que o algoritmo FIFO pode apresentar 
uma incapacidade que recebe o nome de “anomalia de Belady” (BELADY; 
NELSON; SHEDLER, 1969), que se caracteriza pelo número de faltas de 
página, ocasionalmente, gerar um aumento no momento que o tamanho 
da memória disponível aumenta. Mas tem como benefício a facilidade 
de implementar e simplicidade, pois uma fila pode ser facilmente usada 
como ordenamento das páginas, de acordo com a ordem de chegada, por 
exemplo. Uma página como regra entrará no começo da fila no momento 
que é carregada e a página substituída, como diretriz, sempre será aquela 
que ocupará a última posição da fila.
Figura 22 - Uma página entrará no começo da fila no momento que é carregada
Fonte: Freepik (2021).
Sistemas Operacionais
35
O algoritmo Least Recently Used – LRU -é outro exemplo de 
algoritmo de espaço físico. É considerado bastante eficiente e com 
simplicidade, utilizando como diretriz de substituição a página que teve 
acesso há mais tempo. Desta forma, será a página residente que esteja 
com menor atividade ativa no momento da substituição; é importante 
estar sempre atualizados, pois este algoritmo tem algumas variações, nos 
quais podem ser destacadas duas:
1. LRU-K.
2. 2Q.
O algoritmo denominado como LRU-K, segundo O’Neil et.al (1993, 
1999), não considera a quantidade de tempo que uma página foi acessada 
pela última vez, mas sim o momento que aconteceu o seu último acesso. 
Para exemplificar, veja a seguinte situação: o LRU-2 tem a função de 
verificar qual a página que realizou penúltimo acesso há mais tempo, 
neste mesmo momento o LRU-3 identifica o antepenúltimo acesso e 
assim de maneira sucessiva.
Em relação ao algoritmo denominado como 2Q, como apontam 
Johnson e Shasha (1994), tem como diretriz utilizar duas áreas para 
gerenciar a memória que são:
1. Páginas recém-carregadas.
2.Páginas acessadas no momento que estavam na primeira área.
As páginas que são excluídas da memória, utilizando as diretrizes 
2Q são as que, geralmente, estão na primeira área, e a definição utilizada 
são os critérios FIFO, mas caso, a situação for que a primeira área se torne 
pequena demais, e se quase todas as páginas que foram carregadas já 
foram acessadas pelo menos por duas vezes. O critério de substituição 
executado será em relação a uma página da segunda área, a diretriz 
aplicada nesta situação será o LRU. Para entender melhor, nesta situação 
a memória é dividida em dois níveis, pois as páginas serão direcionadas 
em cada um, conforme sua frequência de utilização. Assim, pode-se 
observar que o algoritmo 2Q usa uma convenção bem considerável dos 
algoritmos LRU e FIFO para critérios de substituição das páginas.
Sistemas Operacionais
36
O algoritmo que recebe o nome OPT ou Ótimo, de acordo com 
Belady, (1966), tem como função representar a melhor solução possível, 
com objetivo de minimizar o número de faltas de página. 
IMPORTANTE:
O algoritmo OPT utiliza como critério remover da memória, 
em caso de falta, a página que leva maior tempo para ser 
novamente referenciada, pode se dizer que o algoritmo 
“conhece” o futuro, pelo fato de permitir a leitura prévia 
de todos os acessos à memória, que foi executada pelo 
programa, o que não aconteceria em uma situação real de 
execução (BELADY, 1966).
Já o algoritmo que recebe o nome de MRU-n de Most Recently Used- 
tem como diretriz escolher a última página que foi acessada, para que ela 
seja substituída, é uma variação do MRU-2. Mas é considerado mais eficiente, 
pois explora, com maior ou menor grau de intensidade, as características 
de localidade temporal que algumas páginas apresentam. Já o clock, se 
caracteriza por ser uma fila como a do FIFO, no qual é usada pelo algoritmo 
do relógio, ou algoritmo clock, em que as páginas são apresentadas nesta 
fila, conforme a ordenação que foram carregadas na memória.
Figura 23 - Clock tem como característica de ser uma fila, usada pelo algoritmo do relógio
Fonte: Freepik (2021).
Sistemas Operacionais
37
Neste algoritmo, a página substituída geralmente a que foi 
carregada há mais tempo, mas neste caso um bit de uso será adicionado 
ao mecanismo de seleção, fazendo com que a página residente mais 
antiga apenas seja substituída. Na situação no qual o seu bit de uso estiver 
zerado, se esta situação não ocorrer, a próxima página com bit zerado na 
sequência da fila será selecionada. 
DEFINIÇÃO:
O bit é considerado a menor unidade de informação 
que pode ser tanto transmitida quanto armazenada na 
informática Os algoritmos bit são consideradas bastante 
velozes e, geralmente, são utilizados para melhorar a 
performance de programas.
A função do bit no clock é de prestar informação da situação de 
uma página se ela foi ou não referenciada, desde o momento do seu 
carregamento, utilizando este procedimento não acontece o risco de 
remoção de páginas que foram acessadas recente, assim é similar ao LRU.
Figura 24 - Um bit de uso é adicionado ao mecanismo de seleção, na página substituída 
Fonte: Freepik (2021).
O algoritmo NRU – Not Recently Used -tem como diretriz a remoção 
da memória de uma página não acessada, recentemente, isto é, entre as 
duas últimas faltas. Este algoritmo também tem a função de verificação 
de cada página residente foi ou não alterada, isto é, se aconteceram 
modificações nos dados, desde que foi carregada na memória. Neste 
caso, dois bits são utilizados:
Sistemas Operacionais
38
1. Primeiro com objetivo de representação da existência ou não de 
acessos recentes.
2. Segundo com objetivo de sinalizar, se a página foi modificada, 
desde o seu carregamento. 
A diretriz que estabelece prioridades de substituição utiliza a 
ordem, de primeiro as páginas não referenciadas e também não alteradas, 
segundo as páginas apenas não referenciadas, terceiro, as páginas 
que não foram alteradas e, quarto, as páginas referenciadas e também 
modificadas.
Figura 25 - No algoritmo NRU, caso aconteçam modificações 
nos dados de uma página, dois bits são utilizados
Fonte: Freepik(2021).
No caso do algoritmo LFU – Least Frequently Used - é utilizado como 
diretriz de substituição, a página que foi menos acessada entre as páginas 
que estejam carregadas na memória. Assim, esta verificação é executada 
por contador de acessos, também chamado de hits, mas associado a 
cada página residente, no qual é zerado no momento que uma página 
deixa a memória principal. Desta forma, frequência de utilização se refere 
somente aos acessos recentes e não a todo o histórico de execução da 
aplicação. 
Sistemas Operacionais
39
O algoritmo MFU – Most Frequently Used - tem como principal função 
substituir sempre a página residente que obteve mais acesso, igualmente, 
o LFU, utiliza contadores de acesso para definir a frequência de utilização 
de cada página. O algoritmo WS Working Set, segundo Denning e Schwartz, 
(1972), utiliza as mesmas diretrizes da LRU, no momento que a memória 
já está carregada e uma falta de página acontece, a página acessada 
há mais tempo é substituída. Porém, não tem como função somente a 
substituição de páginas, mas também de estabelecer o tempo máximo 
que cada uma pode permanecer na memória, sem ser referenciada. 
Figura 27- Algoritmo WS Working Set estabelece o tempo 
máximo que cada página pode permanecer na memória
Fonte: Freepik(2021).
O algoritmo PFF- Page Fault Frequency- usa as diretrizes LRU, em 
situações de substituição, no momento no qual o espaço de memória 
disponível está totalmente ocupado, igualmente ao WS remove, 
automaticamente, páginas da memória, quando constatado inatividade 
aparente. O algoritmo VMIN é considerado bastante eficiente por 
reconhecer os acessos futuros que um programa irá realizar, removendo 
memória das páginas que o próximo acesso leve mais tempo para 
acontecer do que um parâmetro fixo pré-estabelecido. Por esse motivo 
a memória que tem o gerenciamento de VMIN, quase que nunca estará 
totalmente ocupada, pelo fato de apenas permanecer aquelas páginas 
que certamente serão referenciadas em um futuro breve. 
Sistemas Operacionais
40
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que os algoritmos de substituição de páginas são 
fundamentais para uma boa performance de um sistema 
operacional, no qual está relacionado ao gerenciamento de 
memória virtual, ligada à paginação. A principal decisão não 
é a definição de qual página será carregada na memória 
principal e sim, qual será a página excluída da memória 
principal. Para essa decisão importante são consultados 
os algoritmos de substituição. Assim a sua principal 
função é selecionar os frames que terão menor chances 
de serem referenciados em um futuro próximo, para isso, 
é estabelecida uma política de substituição de páginas 
usada, assim considerada, uns dos elementos essenciais 
em um sistema de memória virtual. Os algoritmos de 
substituição de páginas, de maneira geral, são classificados 
em dois tipos: algoritmos com espaço variável e algoritmos 
com espaço fixo.
Sistemas Operacionais
41
REFERÊNCIAS
BELADY, L. A. A study of replacement algorithms for a virtual storage 
computer. IBM Systems Journal, v. 5, n. 2, p. 78-101, 1966.
BAUMGARTNER, K.M.; WAH, B.W. A global load balancing strategy 
for a distributed computer system. In: International workshop on the future 
trends in distributed computing systems. 1990. S, 1, 1998, Hong Kong. Anais… 
Los Alamitos: IEEE CS Press, 1998. p. 93-102.
BELADY, L.A.; NELSON, R.A.; SHEDLER, G.S. An anomaly in space-
time characteristics of certain programs running in a paging machine. 
Communications of the ACM, v. 12, n. 6, p. 349-353, 1969.
CASAVANT,L.; KUHL, J.G. A taxonomy of scheduling in general-
purpose distributed computing systems. New York: IEEE Trans. Softw. 
Eng, 1988.
DENNING, P.J.; SCHWARTZ, S.C. Properties of the working-set model. 
Communications of the ACM, v. 15, n. 3, p. 191-198, 1972.
VAHALIA, V. U. UNIX Internals: The New Frontiers. [s.l.]: Prentice-
Hall, 1996.
Sistemas Operacionais
Sistemas Operacionais
Unidade 3
Sistemas de Arquivos
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
LEANDRO C. CARDOSO
AUTORIA
Leandro C. Cardoso 
Sou formado em Comunicação Social com habilitação em Design 
Digital e mestrado em Tecnologias da Inteligência e Design Digital, pela 
PUC-SP, com experiência em direção de arte e criação na área com 
mais de 25 anos. Passei por empresas com a Laureate International 
Universities - FMU | FIAM-FAAM, Universidade Anhembi Morumbi e o 
Centro Paula Souza (FATEC-ETEC). Fui analista de Desenvolvimento 
Pedagógico Sênior - Laureate EAD e coordenador de Curso Técnico de 
Design Gráfico, no Centro Paula Souza. Fui revisor técnico e validador para 
cursos EAD, atendendo cliente como Laureate International Universities; 
DeVry Brasil; UNEF; FAESF; Faculdade Positivo; Uninter; Platos Soluções 
Educacionais S.A. (Krotonn - Universidade Anhaguera). Sou autor de mais 
de 21 livros didáticos, um dos organizadores da Maratona de Criação e 
Design do Curso de Comunicação Visual, da ETEC - Albert Einstein. Sou 
apaixonado pelo que faço e adoro transmitir minha experiência de vida 
àqueles que estão iniciando em suas profissões. Por isso, fui convidado 
pela Editora Telesapiens a integrar seu elenco de autores independentes. 
Estou muito feliz em poder ajudar você nesta fase de muito estudo e 
trabalho. Conte comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento de 
uma nova compe-
tência;
DEFINIÇÃO:
houver necessidade 
de se apresentar um 
novo conceito;
NOTA:
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou dis-
cutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
se fazer um resumo 
acumulativo das últi-
mas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO:
quando o desen-
volvimento de uma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Arquivos e diretórios .................................................................................. 10
Aspectos essenciais de arquivos e diretórios ............................................................ 10
Desempenho do sistema de arquivos ................................................ 18
Performance do acesso a dados em um sistema de arquivos ..................... 18
Processamento paralelo e distribuído ............................................................................. 21
Segurança em sistemas de arquivos ..................................................29
Processamento do sistema de segurança em arquivos e diretórios 
implementado por sistemas operacionais ...................................................................29
Mecanismos de proteção em sistemas de arquivos .................... 35
Técnicas e mecanismos de proteção para sistemas de arquivos ...............35
7
UNIDADE
03
Sistemas Operacionais
8
INTRODUÇÃO
Você sabia que os sistemas de arquivos é uma das demandas 
mais importantes que os sistemas operacionais têm como atribuição? 
Isso mesmo. A área de sistemas de arquivos envolve os arquivos e 
diretórios e, logicamente, os seus aspectos essenciais, e para isso 
são importantes o seu desempenho e a sua performance do acesso 
a dados em um sistema de arquivos. Entender, ainda, como os dados 
e arquivos podem ser processados de maneira paralela ou distribuída, 
e principalmente, aspectos relacionados à segurança em sistemas 
de arquivos. Para isso, é importante o entendimento como se gera 
o processamento do sistema de segurança em arquivos e diretórios 
implementados por sistemas operacionais, como também das técnicas 
e mecanismos de proteção em sistemas de arquivos. Entendeu? Ao 
longo desta unidade letiva você vai mergulhar neste universo!
Sistemas Operacionais
9
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 3. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Identificar os aspectos essenciais de um sistema de arquivos.
2. Compreender os aspectos que impactam a performance do 
acesso a dados em um sistema de arquivos. 
3. Entender como se processa o sistema de segurança em arquivos 
e diretórios, implementado por sistemas operacionais.
4. Aplicar as técnicas e mecanismos de proteção para sistemas de 
arquivos, analisando alguns modelos e exemplos.
Sistemas Operacionais
10
Arquivos e diretórios
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
como funcionam os sistemas de arquivos. Isto será 
fundamental para o exercício de sua profissão. As pessoas 
que tentaram utilizar, sem a devida instrução, tiveram 
problemas ao buscar e organizar os arquivos. E então? 
Motivado para desenvolver esta competência? Então 
vamos lá. Avante!
Uma série de dados que estão relacionados de alguma forma, ou 
seja, que unidos têm a função de descrever uma informação ou uma série 
de informações, é o que caracteriza um arquivo na informática.
Aspectos essenciais de arquivos e diretórios
Os arquivos são sempre constituídos por dados digitais, justamente 
pela natureza da sua aplicação que se originam em dispositivos digitais 
como computadores, notebooks, tablets, smartphones, entre outros, 
nos quais podem ser armazenados e executados arquivos. Além de 
serem dados digitais, para ser caracterizado como um arquivo, eles são 
organizados, seguindo alguma forma estrutural ou formato.
Figura 1 - Os arquivos são formados por dados digitais 
pela natureza da sua aplicação em dispositivos digitais 
Fonte: Freepik (2021).
Sistemas Operacionais
11
Os arquivos são caracterizados pelo poder de representação de 
dados, das mais variadas naturezas como:
 • Texto.
 • Imagens.
 • Áudio. 
 • Instruções para processadores.
Além do poder de representação de um determinado tipo de 
arquivo, em um mesmo arquivo é possível a junção de vários tipos como 
um vídeo cujo conteúdo tem informações gráficas, ou seja, arquivo de 
imagem. No vídeo, também, há informações sonoras, os arquivos de 
áudio, além de em algumas situações ter legenda, ou seja, informações 
textuais que podem ser originadas de um arquivo de texto.
Figura 2 - Arquivo de um produto audiovisual - junção de vários tipos de arquivos 
Fonte: Freepik (2021).
É importante compreender a maneira pela qual o serviço de 
arquivos está estruturado, pois depende como o sistema operacional 
mostra ou representa os arquivos, por exemplo, em alguns sistemas, um 
arquivo pode ser caracterizado como uma série sequencial de quaisquer 
bytes. O MS-DOS ou Unix são exemplos de representação de arquivos 
em uma sequência qualquer, e nesta situação, a estrutura e o conteúdo 
interno do arquivo estão por conta dos programas de aplicação. 
Sistemas Operacionais
12
DEFINIÇÃO:
Microsoft Disk Operation System, ou simplesmente MS-
DOS, foi o primeiro sistema operacional daMicrosoft. 
Sua comercialização foi no início da década de 1980, nos 
primeiros computadores pessoais da IBM. Até a versão 
do Windows 98, era possível instalar o sistema num 
computador sem o sistema operacional, nas versões mais 
recentes encontra-se o MS-DOS por meio do comando 
CMD, que pode ser aberto na opção Localizar do Windows 
ou no Executar.
Outra maneira de estruturar um arquivo é por meio de uma série de 
registros de modo sequencial, no qual ele pode ser localizado por meio de 
uma posição, ou seja, o número do registro. Ou até mesmo, por meio do 
valor de algum de seus campos, cujas chamadas no sistema operacional 
são executadas para escrita e leitura em um registro específico. O 
atributo que podem estar contidos nos arquivos, nada mais é do que as 
informações relacionadas nesses arquivos, mas que não pertencem ao 
conteúdo, como:
 • Tamanho.
 • Data de criação.
 • Nome
 • Direitos de acesso.
Para entender melhor, uma imagem que abrimos em um navegador 
qualquer, seja Chrome, Firefox, Safira, Edge, entre outros, visualizamos 
apenas essa imagem, mas se visualizarmos em um gerenciador de 
arquivos, dados que foram relacionados, anteriormente, como tamanhos, 
data de criação, nome, e direitos de acesso podem ser vistos. 
Sistemas Operacionais
13
Figura 3 - Exemplo dos atributos contidos nos arquivos
Fonte: Elaborado pelo autor (2021).
Uma forma fácil de identificar essas informações é no gerenciador 
de arquivos, por exemplo, o explorador de arquivos do Microsoft Windows, 
que basta clicar com o botão direito em quaisquer arquivos. E depois 
escolher a opção Propriedades que abrirá uma caixa de diálogo, como 
apresentado na Figura 3. É importante destacar que os arquivos, também, 
podem dispor de proteções para o controle de:
 • Operações referentes aos arquivos.
 • Acesso ao seu conteúdo.
Essas informações, continuando a utilizar o exemplo da caixa de 
diálogo Propriedades do sistema operacional Windows, estão identificadas 
bem abaixo, nas opções de Atributos nos quais podem ser selecionados 
somente leitura ou oculto.
Sistemas Operacionais
14
Figura 4 - Exemplo de atributos relacionados à leitura de arquivo
Fonte: Elaborado pelo autor (2021).
Em relação aos diretórios, são estruturas de dados que estão 
contidos nas entradas, associadas aos arquivos, nos quais são 
armazenadas informações como: 
 • Organização.
 • Localização física.
 • Nome.
 • Outros atributos. 
No momento em que é solicitada a abertura, ou seja, a leitura 
do arquivo, o sistema operacional busca a sua entrada na estrutura de 
diretórios cujo serviço dispõe de várias operações. 
Figura 5 - Os diretórios são estruturas de dados 
que contêm entradas associadas aos arquivos
Fonte: Freepik (2021).
Sistemas Operacionais
15
São exemplos das operações que os serviços de diretório 
dispõem, a possibilidade de movimentar arquivos de um diretório para 
outro, exclusão de diretórios, alterar nomes de arquivos, operações e 
identificação. A maneira de organização que o sistema de arquivo executa 
no disco é que o determina a estrutura de diretórios, na qual em relação 
a sua estruturação pode ser de diversas formas, por exemplo, estrutura 
de diretórios de:
 • Múltiplos níveis.
 • Nível único.
 • Dois níveis.
A estrutura de diretórios de múltiplos níveis é uma das estruturas 
mais utilizadas nos sistemas operacionais, também, chamada de estrutura 
de diretórios em árvore. Proporciona que o usuário crie a quantidade de 
diretórios que deseja, assim os arquivos podem, de certa forma, ter uma 
melhor organização, conforme apresentado na Figura 6 (MACHADO,1997). 
Figura 6 - Exemplo de estrutura de diretórios de múltiplos níveis
Fonte: MACHADO (1997).
Na estrutura de diretórios de nível único, embora seja considerada 
mais fácil a sua implementação, não é indicada a melhor forma de um 
sistema operacional organizar os arquivos em disco, pelo fato de consistir 
em apenas um único diretório que irá conter todos os arquivos, e não 
Sistemas Operacionais
16
é permitido ao usuário a criação de nomes duplicados desses arquivos. 
Também não pode executar a separação dos arquivos dos demais 
arquivos do disco.
Figura 7 - Exemplo de estrutura de diretórios de nível único
Fonte: MACHADO (1997).
A estrutura de diretórios de dois níveis surgiu pela necessidade 
das restrições da estrutura de nível único, na qual a solução apontada 
foi de manter um diretório principal que recebe o nome de MFD - Master 
File Directory. Nele cada usuário dispõe de seu próprio diretório, ou seja, 
individual, que recebe o nome de UFD - User File Directory, que está 
conectado ao diretório principal. O diretório principal é indexado, ou seja, 
os arquivos são organizados por meio de índices, facilitando o acesso 
rápido à informação, favorecendo a organização dos arquivos que pode 
ser pelo nome do usuário, e tem uma entrada que aponta para cada 
diretório pessoal.
De maneira geral, no momento que um arquivo é criado, é possível 
executar a definição de qual organização será aplicada, além de outras 
variáveis, se pode ser uma estrutura suportada pelo sistema operacional 
ou definida pelo próprio programa.
Sistemas Operacionais
17
Figura 8 - A estrutura de diretórios de dois níveis
 
Fonte: MACHADO (1997).
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudo? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que nos sistemas de arquivos, é importante identificar seus 
aspectos essenciais, e um arquivo propriamente dito é o 
conjunto de dados que estão relacionados de alguma 
forma. Os arquivos têm como objetivo a descrição de 
um conjunto de informações, e por serem executados e 
abertos, em dispositivos digitais, como computadores, 
notebooks, tablets, smartphones, os dados dos arquivos 
são, obrigatoriamente, digitais. Um arquivo pode ser 
constituído apenas por um tipo de dado, ou pela união 
de vários tipos: um vídeo com legenda é um exemplo 
que tem um arquivo de vídeo, áudio e de texto. Sobre os 
diretórios, são caracterizados como estruturas de dados, 
nas quais contêm as entradas associadas aos arquivos que 
armazenam informações como organização, localização 
física, nome, entre outros atributos.
Sistemas Operacionais
18
Desempenho do sistema de arquivos
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender 
a importância do desempenho do sistema de arquivos 
em um sistema operacional. Isto será fundamental para 
o exercício de sua profissão. E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
Compreender os aspectos que impactam a performance do acesso 
a dados em um sistema de arquivos, tem papel de extrema importância 
para os sistemas operacionais, de maneira geral, tanto para já os existentes, 
como para as suas atualizações ou inovações.
Performance do acesso a dados em um 
sistema de arquivos 
Um sistema operacional, entre as suas várias atribuições relacionadas 
aos arquivos, executa a função de transferir dados e arquivos, nos quais é 
importante a procura constante para melhora da sua performance nesse 
aspecto. 
Figura 9 - A transferência de dados e arquivos é função do sistema operacional
 
Fonte: Freepik (2021).
Para acessar os dados ou transferir, esta ação pode ser tanto local, 
ou seja, de um diretório para o outro do mesmo dispositivo, ou por meio de 
servidores, nos quais podem ser utilizada a técnica de cache no servidor.
Sistemas Operacionais
19
DEFINIÇÃO:
Cache trata-se de mecanismo que propõe acesso rápido de 
maneira interna a um sistema, como o sistema operacional, 
cuja função principal é fazer o intercâmbio entre um 
operador de um processo, que pode ser, por exemplo, o 
programa e o dispositivo de armazenamento ao qual esse 
operador faz parte.
É importante salientar que acessar os sistemas de arquivos é mais 
lento do que oacesso à memória e os discos rígidos, também conhecidos 
como HD – Hard Disk, que têm taxa de acessos de velocidade inferior em 
relação às memórias RAM. 
Figura 10- Os discos rígidos têm taxa de acesso de velocidade inferior às memórias RAM 
 
Fonte: Freepik (2021).
Mas existem alternativas para melhorar o desempenho do sistema 
de arquivos, por exemplo, as denominadas como:
 • Redução do movimento do braço do disco.
 • Leitura antecipada de blocos.
 • Cache de blocos. 
Sobre a redução do movimento do braço do disco, primeiro é 
importante entender que os pratos de um HD ou disco rígido, têm a 
possibilidade de giro a uma velocidade bastante considerável. Porém, 
o braço no qual executa a leitura, o movimento é de uma velocidade 
Sistemas Operacionais
20
bem inferior. Assim diminuir a quantidade de movimentos do braço para 
que seja efetuada a leitura dos blocos de um arquivo, pode ter como 
consequência a melhora do desempenho do sistema de arquivos. Para 
executar esse procedimento, uma das maneiras é a reorganização de 
modo inteligente dos blocos dos arquivos no disco, como na Figura 11.
Figura 11 - Redução do movimento do braço em um HD
Fonte: Elaborado pelo autor(2021).
Sobre a leitura antecipada de blocos, estão relacionados nos 
mecanismos com objetivo que resultem nas transferências de blocos para 
o cache do HD, antes mesmo que sejam necessários. Consequentemente, 
irá ocasionar o aumento dos acertos, justamente pelo fato dos históricos 
de diversos programas acessarem arquivos de forma sequencial. Por 
exemplo, no momento que o bloco t é solicitado ao sistema de arquivos, 
ele o busca e executa a verificação, se o bloco t+1 já está no cache, se 
não está, é agendada a recuperação; a desvantagem é que para acesso 
aleatório esta estratégia piora o tempo de acesso.
Figura 12- Leitura antecipada de blocos nos mecanismos 
para transferências para cache do HD 
Fonte: Elaborado pelo autor (2021).
Sistemas Operacionais
21
Em relação ao cache de blocos, pode ser considerada como a 
técnica mais utilizada para a redução do acesso ao disco, assim, o cache é 
uma série de blocos que, do ponto de vista lógico, faz parte do disco. Mas 
que de certa forma, é mantido na memória com objetivo de melhorar a 
perfomance, para isso, existem diversos algoritmos que podem gerenciar 
o cache de disco, sendo que o mais comum executa as seguintes funções: 
 • Na situação no qual o bloco não esteja no cache, primeiramente, 
é executada a sua leitura do disco, repassado ao processo 
requisitante, e, posteriormente, é efetuada uma cópia para o cache 
desse procedimento também conhecido como – MISS.
 • Verificação de todas as requisições de leitura de modo a apontar, 
caso o bloco que é esperado se encontre no cache.
 • Na situação no qual o bloco está no cache, a requisição de leitura 
pode ser atendida, sem um acesso ao disco, também, conhecida 
pela sigla – HIT.
Além dos diversos algoritmos que podem gerenciar o cache de 
disco, a compreensão do processamento paralelo é importante para o 
desempenho do sistema de arquivos. 
Processamento paralelo e distribuído
Processamento paralelo é uma maneira considerada eficiente 
de trabalhar com dados e arquivos com ênfase em explorar eventos 
sincrônicos, ou seja, simultâneos na execução de um programa, por 
exemplo. Aplicando esses fundamentos na prática, é a utilização, no 
uso sincrônico, de inúmeras CPUs – Unidades de Processamento- com 
objetivo de realizar funções computacionais. Este fundamento origina-se 
desde o surgimento da era da computação, é observado em trabalhos de 
Von Neumann (1945) em que Arquiteturas Paralelas foram apresentadas 
como maneiras de obtenção de maior capacidade de processamento 
para executar tarefas, na qual se faz necessária para altas cargas de 
processamento, como arquivos. 
Sistemas Operacionais
22
Figura 13 - O processamento paralelo utiliza inúmeras 
CPUs para realizar funções computacionais
Fonte: Freepik (2021).
De forma geral, são diversas unidades de processamento ativas que 
colaboram para resolver um problema específico por meio de cooperação, 
e cada uma delas, de certa forma, se destina à resolução de determinada 
parte de trabalho. Mas nesse processamento paralelo, as unidades 
comunicam-se para trocar os resultados, obtidos seja ele intermediário 
ou no mínimo para dividir o início do trabalho e, consequentemente, para 
a junção final dos resultados. São exemplos de programas paralelos, 
aplicações escritas, em:
 • C com vários threads.
 • Java com vários threads.
 • Java usando RMI (Remote Method Invocation).
 • C quebrada em vários processos que se comunicam por sockets.
Para utilizar os benefícios do processamento paralelo, é necessário 
que o programa e os arquivos sejam desenvolvidos para que possam 
executar com várias unidades ativas. Caso seja implementado, utilizando 
somente um processo que não dispara múltiplas threads, ele não executará 
mais rápido em uma máquina dual, ou seja, com dois processadores 
integrados.
Sistemas Operacionais
23
Figura 14 – Java com vários threads é exemplo de programa paralelo
Fonte: Freepik (2021).
Executando esses procedimentos, o programa e os arquivos, 
de certa forma, não “quebrarão” de maneira automática pelo sistema 
operacional e só executarão em um único processador, e não utilizarão 
os benefícios de outros processadores que poderiam estar disponíveis 
na arquitetura, seguindo o exemplo da máquina dual. A utilização de 
processamento paralelo traz diversos benefícios como de desempenho, 
reduzindo o tempo de executar determinados processos, pelo fato de 
utilizar várias unidades ativas para resolver um determinado problema, 
melhorando, por exemplo, o desempenho de arquivos.
Figura 15 - O processamento paralelo utiliza unidades 
ativas para resolver um determinado problema
Fonte: Freepik (2021).
Sistemas Operacionais
24
O processamento paralelo tende à redução da probabilidade de 
falhas no cálculo, pelo fato que cada unidade ativa pode calcular o mesmo 
problema procedimento conhecido como tolerância a falhas. Reduz a 
complexidade da modelagem e, consequentemente, de implementar a 
aplicação, usando uma linguagem que expresse paralelismo. Logicamente, 
esta técnica é aplicada em casos em que o problema tem sua essência 
no paralelo. O aproveitamento de recursos é um dos benefícios do 
processamento paralelo, pelo fato de fazer esse aproveitamento na rede, 
executando uma aplicação com múltiplos processos.
A resolução no processamento paralelo se origina na quebra do 
problema em diversas partes menores, para que cada pedaço que foi 
dividido receba uma série de instruções ainda menores e direcionadas 
para inúmeras CPUs para ser resolvida de maneira simultânea. A partir 
desse fundamento, fica fácil constatar que se torna mais rápido resolver 
problemas, uma estratégia no caso de operações que necessitam 
o processamento de grande quantidade de dados ou arquivos que 
precisam gerar informações de maneira rápida. Um exemplo prático são 
os desktops que utilizam o princípio desta tecnologia como “dual core” ou 
“quad core” em suas configurações, ou seja, são de certa forma diversa 
CPUs, usando o sistema de multiprocessamento.
Figura 16- Exemplo de processamento paralelo são 
os desktops que usam o“dual core” ou “quad core” 
Fonte: Commons.wikimedia (2021).
Em relação ao processamento distribuído, é notório que a área 
da computação tem como uma das principais características o avanço 
tecnológico e o poder de conexão entre si. Segundo Tanenbaum (1992), 
esses avanços proporcionaram o surgimento de redes que permitiam 
Sistemas Operacionais
25
a conexão de muitos computadores e a transmissão de dados e 
arquivos com alta velocidade. Os microprocessadores sempre avançam, 
tecnologicamente, praticamente a cada dia, e, consequentemente, com 
diminuição de custo, mas com aumento da qualidade de interconexão 
entre as máquinas,ainda, se tornando mais confiáveis. Todos esses 
acontecimentos incentivam a ideia de implementar processamento 
distribuído, que tem como uma das suas características a necessidade de 
programas e arquivos diferentes dos utilizados em sistemas centralizados.
Figura 17 - Os microprocessadores contribuem para o processamento distribuído
Fonte: Freepik (2021).
Analisando os fundamentos de processamento distribuído, 
alguns estudiosos e autores elaboram diferenciação drásticas com 
o processamento paralelo, que podem gerar discussões. Já outros 
conceituam o processamento paralelo, igualitariamente, como 
processamento distribuído, pois também se enquadram na definição 
prática e teórica desse processamento.
Na prática, para fundamentar o processamento distribuído precisa 
acontecer o resultado de integrar sistemas computacionais autônomos, 
combinados com objetivo comum. Pode ser entendido como sistemas 
“centralizados” interligados por meio de uma rede que compartilha 
recursos físicos, com a intenção de desenvolver uma atividade ou tarefa 
específica. Para comparar melhor, o autor Tanenbaum (1992) identifica 
que os sistemas paralelos também obedecem a esta definição, mas além 
de ter sistemas em máquinas dispersas, os processos são executados 
paralelamente no mesmo instante de tempo. 
Sistemas Operacionais
26
Algumas vantagens do processamento distribuído são mais 
evidentes, se comparadas com a dos sistemas centralizados, e uma delas 
está relacionada ao baixo custo, principalmente pelo avanço tecnológico 
dos microprocessadores que resultaram na queda dos preços. Assim, 
torna a implementação de sistemas distribuídos com um custo menor 
e ainda com melhor desempenho. Por exemplo, um sistema distribuído 
com 20.000 microprocessadores, cada um dos quais rodando a 20 MIPS 
(milhões de instruções por segundo), teria um desempenho de 400.000 
MIPS. Mas tudo deve ser levado em consideração, embora os sistemas 
distribuídos tenham melhor custo/benefício em relação aos sistemas 
centralizados, não significa que o sistema distribuído é mais barato e 
oferece maior eficiência no processamento dos dados, como aponta 
Tanenbaum (1992). 
Figura 18- Avanço tecnológico dos microprocessadores resulta em bom custo benefício
Fonte: Freepik (2021).
Para aplicações que exigem alto teor de confiabilidade, o 
processamento distribuído normalmente é empregado, como no caso de 
controle de tráfego aéreo, que nunca pode parar, mesmo que aconteça 
uma perda de 10% do seu funcionamento. Para esses tipo de sistema como 
o de tráfego aéreo, correria grandes riscos de queda em sua totalidade, 
caso fosse utilizado o sistema centralizado, pois ficaria dependendo do 
funcionamento do mainframe, e caso acontecesse algum problema, o 
sistema poderia parar. Com sistemas centralizados ainda pode acontecer 
saturação da rede pelo alto tráfego de dados com origem/destino ao 
mainframe. 
Sistemas Operacionais
27
Figura 19 - Processamento distribuído pode ser empregado no controle de tráfego aéreo
Fonte: Freepik (2021).
Outro exemplo de aplicação de processamento distribuído é 
o sistema bancário, no qual há computadores distribuídos em várias 
agências que estão distantes, fisicamente, portanto a implantação de 
sistema distribuído é mais viável.
Sistemas Operacionais
28
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que o desempenho do sistema de arquivos está relacionado 
em compreender os aspectos que impactam a performance 
do acesso a dados em um sistema de arquivos, justamente 
pelo fato de executar a função de transferência de dados e 
arquivos como uma das funções de um sistema operacional. 
Assim é destacada a importância da busca constante para 
melhora da sua performance nesse aspecto. Mesmo com 
as evoluções tecnológicas, o acesso aos sistemas de 
arquivos é mais devagar, quando comparado ao acesso à 
memória, na qual dispõe de acessos de velocidade inferior 
em relação às memórias RAM. Para isso foram encontradas 
alternativas para melhora do desempenho do sistema 
de arquivos, como a redução do movimento do braço do 
disco, leitura antecipada de blocos e cache de blocos.
Sistemas Operacionais
29
Segurança em sistemas de arquivos
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender 
a segurança em sistemas de arquivos. Isto será fundamental 
para o exercício de sua profissão. E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
A busca pela segurança em sistemas de arquivos e confiáveis, nos 
sistemas operacionais, que em tempos atrás era apenas uma tendência, 
já algum tempo se tornou uma necessidade e não mais um diferencial.
Processamento do sistema de segurança 
em arquivos e diretórios implementado 
por sistemas operacionais
É importante entender como se processa o sistema de segurança 
em arquivos e diretórios implementado por sistemas operacionais, nos 
diferentes aspectos, como em sistemas distribuídos. Apontam Tanenbaum 
e Steen (2006): “Se por um lado os processos devem ser desvinculados 
e independentes, por outro é necessário garantir integridade e 
confidencialidade dos dados”. 
Figura 20 - A segurança nos sistemas de arquivos 
é imprescindível nos ambientes não confiáveis
Fonte: Freepik (2021).
Sistemas Operacionais
30
Modi et al. (2010) complementam que devido ao aumento de casos 
de acesso não autorizado e mal-intencionado aos arquivos armazenados, 
remete à demanda aos sistemas de arquivos como os distribuídos e à 
necessidade de estarem capacitados para lidar com a segurança dos 
arquivos de maneira transparente e eficaz, principalmente, na situação 
que os arquivos estejam disponíveis a um ambiente não confiável.
A segurança em sistemas de arquivos está relacionada à segurança 
no armazenamento. Desta maneira, destaca-se a importância da 
investigação dos requisitos de segurança com objetivo de se evitarem as 
ameaças em que o sistema de arquivos está aparente. Assim, define-se o 
nível de segurança que deve ser oferecido aos arquivos armazenados, de 
acordo com as diferentes ameaças à segurança em sistemas de arquivos, 
nos quais vários aspectos devem ser considerados como:
 • Eficiência dependente do hardware.
 • Largura de banda.
 • Tamanho dos arquivos.
 • Latência.
Mas também outros pontos fundamentais, que têm relação com a 
segurança em sistemas de arquivos, são importantes como disponibilidade 
dos arquivos, confidencialidade, integridades que podem ser afetadas 
pelo programa que os utilizam.
Figura 21 - A segurança em sistemas de arquivos e a segurança do armazenamento
Fonte: Freepik (2021).
Sistemas Operacionais
31
É importante salientar, como apontam Graf e Wolthusen (2005) as 
distintas ameaças a um sistema de arquivos, que podem ser divididas em 
duas principais, por exemplo:
1. Off-line.
2. On-line.
Para entender melhor, as ameaças on-line são caracterizadas 
como aquelas que acontecem, no momento que o sistema operacional, 
desempenha o intercâmbio para acessar os recursos de armazenamento. 
Já na off-line acontece, quando essa mediação não é realizada. Uma das 
soluções para as ameaças, on-line ou off-line, indicadas na segurança em 
sistemas de arquivos, está relacionada à criptografia.
A criptografia relacionada nos sistemas operacionais pode ser definida 
como métodos com referências de fundamentos matemáticos, que recebe 
o nome de algoritmos, utilizados para converter mensagens de fácil 
decifração, em mensagens ininteligíveis para as quais não há a informação 
correta para decifrá-las.
De acordo Stallings (2015), tanto os protocolos quanto os algoritmos 
de criptografia podem ser agrupados em quatro principais áreas: o 
primeiro, encriptação ou criptografia simétrica; o segundo, assimétrica; o 
terceiro, algoritmos de integridadede dados e o quarto, protocolos de 
autenticação.
Figura 22 - Uma das soluções para as ameaças na segurança é a criptografia
Fonte: Freepik(2021).
Sistemas Operacionais
32
Em relação à encriptação ou criptografia simétrica, é usada com 
objetivo de mascarar o conteúdo dos fluxos contínuos ou blocos de dados 
de quaisquer tamanhos. Já a encriptação ou criptografia assimétrica, 
é utilizada para mascarar pequenos blocos de dados, como valores de 
função e chaves de encriptação. Sobre algoritmos de integridade de 
dados são aplicados para identificação de prováveis mudanças em blocos 
de dados; e protocolos de autenticação são esquemas que têm como 
base a utilização de algoritmos criptográficos, criados para autenticação 
da identidade de entidades.
DEFINIÇÃO:
As entidades de segurança são aquelas no qual é permitida 
a sua autenticação pelo sistema operacional. São exemplos 
a conta de usuário, a conta de computador ou processo ou 
thread, no qual é executado na circunstância de segurança 
de uma conta de usuário ou computador ou os grupos de 
segurança dessas contas.
É importante salientar e sempre revisar que a função da criptografia 
é ligada aos fundamentos de segurança nos sistemas de arquivos, nos 
quais é importante um aprofundamento nos principais tipos de criptografia. 
Existem várias técnicas de criptografia, a assimétrica e a simétrica, essa 
última também é conhecida como criptografia de chave simples ou chave 
secreta, e tem como base a aplicação de um segredo a um texto de uma 
mensagem. Essa técnica altera as informações para texto cifrado, em que 
este segredo pode ser de vários tipos como:
 • Sequência de caracteres aleatórios.
 • Senha.
Todos em forma de chave, no qual pode-se ter o conhecimento 
apenas do lado que cifra e para o outro lado que o decifra a mensagem, 
mas o aspecto negativo é quem tiver conhecimento da chave terá a 
capacidade de decifrar tal mensagem. Pelo fato dessa insegurança, deve-
se tomar o máximo de cuidado com o controle, troca e distribuição das 
chaves, para não resultar em problemas de segurança, durante todo o 
processo. Em relação à criptografia assimétrica também denominada 
Sistemas Operacionais
33
como chave pública e privada, se caracteriza por utilizar um par de chaves 
que tem relação entre si, da maneira que uma delas pode ser distribuída 
publicamente. Mas a outra permanece em segredo com o proprietário, 
por esse motivo é chamado de chave pública e a segunda recebe o nome 
de chave privada. Para entender melhor, um arquivo que foi cifrado com a 
chave pública, apenas pode ser decifrado, usando o mesmo algoritmo da 
respectiva chave privada.
Figura 23- A criptografia assimétrica- chave pública e privada
Fonte: Freepik (2021).
Utilizando essa técnica de chave pública e de chave privada, 
os problemas identificados com a técnica simétrica são solucionados, 
mas consequentemente em questões de custo é maior em relação ao 
seu processamento, é mais lento quando se comparado à criptografia 
simétrica. Mas cada um dos tipos de criptografia tem a sua indicação, na 
qual a simétrica é indicada para arquivos pequenos e a assimétrica para 
criptografar arquivos maiores. Também há possibilidade da utilização do uso 
de método híbrido, no qual são empregados ambas técnicas, aproveitando 
o melhor de cada uma, além da criptografia simétrica e assimétrica, 
é importante o conhecimento da função de hash. Esta corresponde a 
cálculos matemáticos, cuja operação são referentes dos dados de tamanho 
variável, resultando em uma sequência de dados de tamanho fixo. Uma das 
principais características da função de hash é a de que quaisquer alterações 
em seu domínio, o resultado será em uma mudança considerável na sua 
imagem, assim, é importante estar atualizados em todas as novas opções 
de segurança em sistemas de arquivos.
Sistemas Operacionais
34
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudo? Agora, só para termos certeza de que você realmente 
entendeu o tema de estudo deste capítulo, vamos 
resumir tudo o que vimos. Você deve ter aprendido que 
a segurança em sistemas de arquivos não é relacionado 
ao entendimento de como se processa o sistema de 
segurança em arquivos e diretórios, implementado por 
sistemas operacionais. É importante que os profissionais da 
área, em relação aos próprios sistemas de arquivos, tenham 
a capacidade para lidar com a segurança dos arquivos de 
forma eficaz e transparente. Essa preocupação deve ser 
mais potencializada nos casos em que os arquivos estejam 
disponíveis em um ambiente não confiável e também pelo 
motivo do constante aumento de situações de acesso não 
autorizado e mal-intencionado aos arquivos armazenados. 
A segurança em sistemas de arquivos está relacionada 
à segurança no armazenamento, por isso é importante, 
adotar diretrizes de segurança que devem ser oferecidas 
aos arquivos armazenados. Deve ser personalizada, 
conforme as distintas ameaças à segurança em sistemas 
de arquivos, e vários aspectos devem ser considerados 
como a eficiência dependente do hardware, largura de 
banda, tamanho dos arquivos e latência.
Sistemas Operacionais
35
Mecanismos de proteção em sistemas de 
arquivos
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
os conceitos de mecanismos de proteção em sistemas 
de arquivos. Isto será fundamental para o exercício de 
sua profissão. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
Os mecanismos de proteção em sistemas de arquivos, geralmente, 
englobam diversos princípios como de disponibilidade, confidencialidade 
e da integridade, para isso, é importante aplicar técnicas para alcançar 
esses objetivos.
Técnicas e mecanismos de proteção para 
sistemas de arquivos
Uma das técnicas e mecanismos de proteção para sistemas de 
arquivos está relacionada à confidencialidade, que pode ser conhecida 
também como sigilo ou exclusividade, que se caracteriza pela limitação 
dos usuários que podem acessar determinado tipo de arquivo. Desta 
maneira, de acordo Hintzbergen (2018), a confidencialidade tem o foco 
com o sigilo da informação, no qual pode ser o resultado da criptografia 
dos arquivos, conforme acontece a sua transmissão ou armazenamento.
A integridade é outra das técnicas e mecanismos de proteção 
para sistemas de arquivos. Neste caso tem relação com a proteção 
dos arquivos contra alterações não autorizadas, nas quais podemos 
exemplificar como medidas de integridade a segregação das funções 
que pode indicar que é necessário dois usuários para que seja possível a 
realização de alterações significativas. Esta segregação também pode ser 
nas execuções de gravar as ações dos usuários, nas quais seja possível o 
rastreamento e a identificação desse usuário que realizou determinadas 
alterações no arquivo, além de poder utilizar a criptografia para assegurar 
a integridade dos arquivos.
Sistemas Operacionais
36
Figura 24 - A confidencialidade é uma das técnicas de proteção para sistemas de arquivos
Fonte: Freepik(2021).
Figura 26 - A integridade e proteção dos arquivos contra alterações não autorizadas
Fonte: Freepik (2021).
Outro recurso importante, segundo Cert (2012), relacionado às 
técnicas e aos mecanismos de proteção para sistemas de arquivos 
é a disponibilidade, cujo objetivo é da garantia que um determinado 
recurso permaneça acessível, sempre que for necessário. Esta técnica e 
mecanismo compreendem vários aspectos como:
 • Robustez.
 • Continuidade.
 • Oportunidade.
Sistemas Operacionais
37
Para exemplificar as medidas de disponibilidade, temos os mais 
rotineiros como os procedimentos de backup, o gerenciamento e 
armazenagem de arquivos, objetivando perda mínima de informações ou 
arquivos.
Figura 27 - Procedimentos de backups são medidas de disponibilidade
Fonte: Freepik (2021).
Além dos mecanismos de proteção em sistemas de arquivos já 
citados, existem outros princípios que podemser aplicados nos sistemas 
operacionais, como:
 • Não repúdio.
 • Autorização.
 • Autenticação.
 • Identificação.
O não repúdio está relacionado em evitar que a entidade negue que 
ela executou determinado ato, quando de fato executou. A autorização 
tem objetivo de determinar as ações que podem ser executadas pela 
entidade. Já a autenticação é usada para a verificação, se a entidade é 
realmente quem se diz ser e a identificação está relacionada à permissão 
para que a entidade possa se identificar.
Sistemas Operacionais
38
Figura 28 - A identificação é mecanismos de proteção em sistemas de arquivos
Fonte: Freepik (2021).
Enfim para que sejam garantidos que os princípios serão adotados, 
é fundamental que na prática sejam aplicados mecanismos de 
segurança, que também servem como um facilitador na proteção dos 
arquivos, garantido que as informações não sejam violadas. Mas apenas 
os princípios ou mecanismo não são importantes, pois em grandes 
organizações é recomendado a elaboração de políticas de segurança 
que devem ser respeitadas por todos os usuários que manipulam os 
arquivos nos sistemas operacionais. De acordo com Guimarães et al 
(2006), os mecanismos de proteção em sistemas de arquivos podem ser 
compreendidos como “mecanismos projetados para detectar, prevenir 
ou se recuperar de um ataque de segurança”. Vários mecanismos de 
segurança podem ser adotados nos sistemas de arquivos, os quais é 
sempre bom serem revistos, pois envolvem os próprios arquivos dos 
sistemas operacionais, que são recebidos pelos diversos meios, como:
 • Filtro antispam.
 • Firewall.
 • Ferramentas antimalware.
 • Criptografia.
 • Cópias de segurança.
Sistemas Operacionais
39
 • Notificação de incidentes e abusos.
 • Política de segurança.
 • Contas.
 • Senhas.
De maneira geral, a notificação de incidentes e abusos estão 
relacionados em prestar informações que sejam fundamentais para 
a organização poder se proteger e facilitar na detecção de problemas, 
como violações de políticas de segurança e computadores infectados.
Figura 29 - A senha é um mecanismos de segurança adotado nos sistemas de arquivos
Fonte: Freepik (2021)
A política de segurança está relacionada a uma série de diretrizes e 
normas que devem ser respeitadas por todos os usuários que tem acesso 
aos sistemas de arquivos no sistema operacional. É importante que sejam 
especificadas as penalidades e as responsabilidades de cada usuário 
ao acessar os arquivos, no caso dos descumprimentos das diretrizes e 
normas da política de segurança.
Sistemas Operacionais
40
Figura 30 - A política de segurança inclui normas respeitadas pelos usuários
Fonte: Freepik (2021).
Assim pode-se definir que a política de segurança compreende 
diversos outros procedimentos e políticas, por exemplo, a política de 
privacidade, de senhas, de backup, confidencialidade e de uso aceitável.
Sistemas Operacionais
41
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que os mecanismos de proteção em sistemas de arquivos, 
de maneira geral, compreendem vários princípios como 
de disponibilidade, confidencialidade e da integridade, e 
consequentemente, é importante aplicar técnicas para 
alcançar esses objetivos. Como também existem outros 
princípios como não repúdio, autorização, autenticação e 
identificação. Somente os princípios ou mecanismos não 
são suficientes para garantir segurança. Por exemplo, em 
grandes organizações é recomendado a elaboração de 
políticas de segurança que devem ser respeitadas por 
todos os usuários que manipulam os arquivos nos sistemas 
operacionais. De maneira geral, vários mecanismos de 
segurança podem ser adotados nos sistemas de arquivos, 
como filtro antispam, firewall, ferramentas antimalware, 
criptografia, cópias de segurança, notificação de incidentes 
e abusos, contas, senhas. Assim é importante estar sempre 
atualizado sobre os novos mecanismos de proteção 
em sistemas de arquivos, pois sempre aparecem novas 
ameaças que precisam de soluções inovadoras.
Sistemas Operacionais
42
REFERÊNCIAS
GRAF, F.; WOLTHUSEN, D. S. A capability-based transparent 
cryptographic file system,” In: 2005 International Conference on 
Cyberworlds (CW’05), Nov. 2005, pp. 8 pp.–108. 21.
GUIMARÃES, A. G..; LINS, R. D.; OLIVEIRA, R. Segurança em redes 
privadas virtuais - VPNs. Rio de Janeiro: Brasport, 2006. 
HINTZBERGEN, J. et al. Fundamentos em segurança da informação: 
com base na ISO 27001 e na ISO 27002. Rio de Janeiro: Brasport, 2018. 
MACHADO, B.; MAIA, L. P. Arquitetura de sistemas operacionais. 
Rio de Janeiro : Livros Técnicos e Científicos Editora, 1997.
MODI, D.; AGRAWALLA, R.K. ; R. MOONA, R. Transcryptdfs: a secure 
distributed encrypting file system. In: International Congress on Ultra 
Modern Telecommunications and Control Systems, p. 187–194. 20, Oct 
2010.
TANENBAUM, A.S.; STEEN, M.V. Distributed systems: principles and 
paradigms. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 2006
TANENBAUM, A. S. Sistemas operacionais modernos. São Paulo: 
Editora Campus,1992.
STALLINGS, W. Criptografia e segurança de redes: princípios e 
práticas, 6a. ed. São Paulo: Pearson Education do Brasil, 2015.
Sistemas Operacionais
Sistemas Operacionais
Unidade 4
Entrada e Saída
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
LEANDRO C. CARDOSO
AUTORIA
Leandro C. Cardoso 
Sou formado em Comunicação Social com habilitação em Design 
Digital e mestrado em Tecnologias da Inteligência e Design Digital, pela 
PUC-SP, com experiência em direção de arte e criação na área com 
mais de 25 anos. Passei por empresas com a Laureate International 
Universities - FMU | FIAM-FAAM, Universidade Anhembi Morumbi e o 
Centro Paula Souza (FATEC-ETEC). Fui analista de Desenvolvimento 
Pedagógico Sênior - Laureate EAD e coordenador de Curso Técnico de 
Design Gráfico, no Centro Paula Souza. Fui revisor técnico e validador para 
cursos EAD, atendendo cliente como Laureate International Universities; 
DeVry Brasil; UNEF; FAESF; Faculdade Positivo; Uninter; Platos Soluções 
Educacionais S.A. (Krotonn - Universidade Anhaguera). Sou autor de mais 
de 21 livros didáticos, um dos organizadores da Maratona de Criação e 
Design do Curso de Comunicação Visual, da ETEC - Albert Einstein. Sou 
apaixonado pelo que faço e adoro transmitir minha experiência de vida 
àqueles que estão iniciando em suas profissões. Por isso, fui convidado 
pela Editora Telesapiens a integrar seu elenco de autores independentes. 
Estou muito feliz em poder ajudar você nesta fase de muito estudo e 
trabalho. Conte comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento de 
uma nova compe-
tência;
DEFINIÇÃO:
houver necessidade 
de se apresentar um 
novo conceito;
NOTA:
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou dis-
cutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
se fazer um resumo 
acumulativo das últi-
mas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO:
quando o desen-
volvimento deuma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Princípios de hardware e software ...................................................... 10
Princípios dos hardwares e dos softwares de entrada/saída nos sistemas 
operacionais ........................................................................................................................................ 10
Gerenciamento de discos ....................................................................... 16
Dinâmica de funcionamento de discos seus tipos e formatos ..................... 16
Clocks .............................................................................................................. 25
Conceito de clock de processamento e aplicação em dispositivos de 
entrada/saída .....................................................................................................................................25
Terminais ....................................................................................................... 33
Gerenciamento de terminais multiusuários por meio de um sistema 
operacional ..........................................................................................................................................33
7
UNIDADE
04
Sistemas Operacionais
8
INTRODUÇÃO
Você sabia que os dispositivos de entrada e saída são elementos 
importantes dos sistemas operacionais, considerados responsáveis 
pela a popularização dos computadores? Isso mesmo. Mesmo nos 
sistemas operacionais com códigos, eram necessários dispositivos de 
entrada e saída, como o teclado, para que o operador de computador 
pudesse interagir com a máquina. E com a evolução dos sistemas 
operacionais e outros dispositivos de entrada em saída como o mouse, 
os computadores tornaram-se mais populares. Os dispositivos de 
entradas e saídas podem ser utilizados não apenas em computadores, 
mas também em outros dispositivos computacionais como notebooks, 
tablets, smartphones, entre outros existentes. Entendeu? Ao longo 
desta unidade letiva você vai mergulhar neste universo!
Sistemas Operacionais
9
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 4. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Entender os princípios dos Hardwares e dos Softwares de entrada/
saída no contexto dos sistemas operacionais.
2. Compreender o papel dos discos, seus vários tipos e formatos, 
bem como a dinâmica de seu funcionamento no contexto dos 
sistemas operacionais.
3. Definir o conceito de Clock de processamento e sua aplicação em 
outros dispositivos de entrada/saída.
4. Entender como o sistema operacional consegue gerenciar 
terminais multiusuário.
Sistemas Operacionais
10
Princípios de hardware e software 
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
os conceitos de dispositivos de entrada e saída no sistema 
operacional. Isto será fundamental para o exercício de 
sua profissão. As pessoas que tentaram utilizar esses 
dispositivos, sem a devida instrução, tiveram problemas ao 
tentar conectá-los nos dispositivos como computadores, 
notebooks, tablet, ente outros. E então? Motivado para 
desenvolver esta competência? Então vamos lá. Avante!
O hardware é a parte física de um dispositivo, seja um computador, 
notebook, tablet, smartphone, entre outros. Já o software é como um 
programa ou software aplicativo, é a parte lógica dos dispositivos que 
recebe e emite instruções, fundamental para o funcionamento deles, 
gerenciada pelo sistema operacional.
Princípios dos hardwares e dos softwares 
de entrada/saída nos sistemas operacionais
O hardware de um dispositivo, como um computador ou notebook, 
é formando por uma série de componentes que têm interligação entre si, 
os quais podemos citar:
 • Impressoras.
 • Processadores.
 • Terminais.
 • Memória principal.
 • Outros dispositivos físicos.
Os componentes físicos, ou seja, ou hardwares de um dispositivo 
como computador, geralmente, têm um agrupamento em três subsistemas 
básicos: o primeiro é a CPU - Unidade Central de Processamento; o 
segundo, a memória o terceiro, os dispositivos de entrada e saída.
Sistemas Operacionais
11
Figura 1 - A CPU é um dos componentes físicos de um dispositivo
 
Fonte: Freepik (2021).
A CPU - Unidade Central de Processamento- tem como principal 
atribuição agregar todo o sistema e ter o controle das aplicabilidades, 
realizadas em cada unidade funcional, é a responsável por executar todos 
os softwares. É importante salientar que para a execução desses softwares, 
eles devem estar armazenados na memória principal. A CPU divide-se em 
dois principais componentes:
1. ULA - Unidade Lógica e Aritmética.
2. UC - Unidade de Controle.
Para entender melhor, a unidade lógica e aritmética – ULA- tem 
como principal atribuição realizar as operações lógicas como comparações 
e testes, e as operações aritméticas, ou seja, as somas e as subtrações. 
Figura 2 - A ULA é responsável por operações lógicas e aritméticas na CPU 
Fonte: Freepik (2021).
Sistemas Operacionais
12
Já a Unidade de Controle – UC - tem como principal atribuição 
o controle das atividades de todos os componentes de um dispositivo, 
como o computador, por intermédio da projeção de pulsos elétricos, 
ou seja, sinais de controle, realizados por um mecanismo que recebe o 
nome de clock, no qual esse controle pode ser realizado na busca de uma 
instrução na memória ou a gravação de um dado no disco.
DEFINIÇÃO:
Clock é definido como o número de ciclos por segundo 
de um sinal de sincronismo, utilizado no processador. Esse 
ciclo é medido em Hertz (Hz). Um exemplo prático é quando 
“escutamos” a expressão GigaHertz dos processadores.
Desta maneira, é importante conhecer a velocidade de 
processamento de uma CPU - Unidade Central de Processamento, que 
pode ser definida pela quantidade de instruções que o processador exerce 
e executa por unidade de tempo. Geralmente, este tempo é medido em 
segundos e é utilizada a unidade de medida MIPS, que corresponde a 
milhões de instruções por segundo, pois a emissão de dados entre o 
próprio transmissor e receptor é controlada pelo clock.
Figura 3 - A velocidade de processamento da CPU é medida em segundos 
Fonte: Freepik (2021).
Os aparelhos de entrada e saída estão relacionados aos que 
proporcionam a comunicação com os dispositivos como computador, 
notebook ou tablet, sendo que alguns aparelhos estão ligados diretamente 
na comunicação entre o homem-máquina. São exemplos:
Sistemas Operacionais
13
 • Impressoras.
 • Teclados.
 • Mouses.
 • Monitores de vídeo.
 • Plotters.
 • Joystick.
Implementar interfaces consideradas amigáveis, facilita que o maior 
número de pessoas, sem conhecimento específico sobre informática, 
possa utilizar dispositivos como computador, notebook e tablets, facilitados 
pelos itens de entrada e saída. 
Figura 4 - Teclado é um dispositivo de entrada e saída
Fonte: Freepik (2021).
Outros exemplos que tornam mais acessíveis dispositivos 
computacionais são caneta ótica, scanner, dispositivos sensíveis à voz 
humana, como a Alexia, da Google, ou a Siri, da Apple. Já em relação aos 
softwares, existem três níveis ou camadas:
1. Software aplicativos. 
2. Utilitários.
3. Sistema operacional. 
Os programas ou softwares que são executados pelos usuários, 
atualmente, são chamados de aplicativos, principalmente pelo fato da 
popularização dos dispositivos móveis, como os smartphones e tablets, 
nos quais os softwares que podem ser instalados são chamados apenas 
Sistemas Operacionais
14
pela a sigla APP, pois, antes eram chamados, simplesmente, de programas 
ou softwares. Na maioria dos procedimentos, ações nas quais os usuários 
de qualquer sistema operacional conseguem executar, é necessário um 
software com recursos para ser possível sua viabilização. 
Figura 5 - O computador como máquina de níveis
Fonte:Machado (2004).
Os programas de um sistema operacional podem ser de vários 
tipos, por exemplo:
 • Contas a receber.
 • Editor de textos.
 • Planilhas.
 • Programa de imposto de renda.
 • Controle de estoques.
Tempos atrás eram mais visíveis as diferenças entre os programas, 
hoje são chamados de aplicativos e utilitários. Pelo fato que poucas 
pessoas tinham acesso aos computadores, existiam profissionais que 
exerciam a função de operador de computador que tinham como 
atribuição a execução de determinadas atividades, como operar as 
impressoras, copiar de fita para disco e vice-versa e, para desenvolver 
esses procedimentos, eram necessários vários softwares. Era necessário, 
Sistemas Operacionais
15
ainda, um software específico apenas para localizar um arquivo no 
computador, pois a maioria deles, que o operador de computador 
utilizava eram chamados de utilitários. Atualmente, ainda existe uma 
série de softwares, usados como interface entre o usuário e o hardware. 
A terminologia utilitários é, assim, uma referência a softwares que têm 
relação aos serviços do sistema operacional como os compiladores, 
depuradores e outros.
É importante revisar que os softwares ou aplicativos podem ser 
facilmente identificados, como os que estão mais próximos do usuário 
domésticos, por exemplo, os navegadores web, os editores de texto como 
o Word, jogos etc. Já os softwares utilitários executam a intermediação 
entre eles e o núcleo do sistema operacional, dispondo de funções mais 
específicas e, normalmente, mais restritas.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudo? Agora, só para termos certeza de que você realmente 
entendeu o tema de estudo deste capítulo, vamos resumir 
tudo o que vimos. Você deve ter aprendido que para 
entender os princípios de hardware e software de entrada/
saída no contexto dos sistemas operacionais, é importante 
saber definir o que é cada um deles. O hardware trata-se 
da parte física de um dispositivo, seja um computador, 
notebook, tablet, smartphone, entre outros. Já o software 
que também recebe as denominações de programa ou 
software aplicativo, é a parte lógica que recebe e emite 
instruções, que são fundamentais para o funcionamento do 
dispositivo, o qual é gerenciado pelo sistema operacional. A 
emissão e o recebimento das instruções são facilitadas por 
dispositivos de entrada e saída, como o teclado, mouse, 
uma impressora, entre outros. Um joystick, também, é 
considerado um dispositivo de entrada e saída, mas o seu 
uso tem um foco maior no entretenimento, como também 
os óculos de realidade virtual que pode ser conectado via 
bluetooh.
Sistemas Operacionais
16
Gerenciamento de discos 
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
como se processa o gerenciamento de discos, nos sistemas 
operacionais. Isto será fundamental para o exercício de 
sua profissão. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
Gerenciamento de disco é considerado um utilitário dos sistemas 
operacionais como o Windows, da empresa Microsoft, cuja função é 
proporcionar a execução de tarefas avançadas de armazenamento. 
Dinâmica de funcionamento de discos seus 
tipos e formatos
De maneira geral, o gerenciamento de disco manipula as Unidades 
Lógicas - UL dos HDs, ou seja, os discos rígidos, pensando na sua 
subdivisão ou unificação, por exemplo. Modifica assim o seu tamanho, 
podendo executar cópias, além de alterar o seu tipo, no qual pode ser 
particionado, geralmente, de dois modos: o primeiro recebe o nome de 
estendido e o segundo, de primário.
Figura 6 - O gerenciamento de disco permite 
executar cópias dos arquivos armazenados em HD
Fonte: Freepik (2021).
Sistemas Operacionais
17
Para entender melhor, a partição estendida caracteriza-se por 
dedicar uma área no disco, para alocar as unidades lógicas que são 
objetos que atuam como partições, mas não podem ser destinadas ao 
sistema operacional.
DEFINIÇÃO:
A partição é uma fragmentação do espaço de um disco 
rígido – HD, cuja partição é possível armazenar um sistema 
de arquivos distintos. Desta forma, em cada partição 
pode ser instalado um sistema operacional diferente. 
Por exemplo, Windows ou Linux, é uma solução para 
viabilizar uma convivência de vários sistemas operacionais 
distintos no mesmo HD, bastante utilizados por estudantes 
e profissionais da área para conhecer vários sistemas 
operacionais com baixo custo.
Em relação à partição primária, os sistemas operacionais, como 
o Windows, permitem o uso de uma partição desse tipo com objetivo 
de inicialização desse sistema operacional. Assim, apenas as partições 
primárias devem estar identificadas como ativas. A partição ativa é o 
ambiente, no qual o dispositivo como o computador ou notebook busca 
pelos arquivos de inicialização.
Figura 7 - A partição primária tem a função de inicialização do sistema operacional
Fonte: Freepik (2021).
Sistemas Operacionais
18
Depois de encontrados os arquivos de inicialização, é iniciado assim 
o processo de boot do sistema operacional. É importante salientar que em 
uma HD, apenas uma partição pode estar marcada como ativa.
DEFINIÇÃO:
Boot é terminologia inglesa, traduzida por arranque ou 
inicialização. O boot é utilizado no dispositivo como o 
computador ou notebooks, no período que está carregando 
o sistema operacional, exatamente no momento que o 
dispositivo está sendo ligado.
Em uma HD básica, geralmente, é possível incluir até quatro 
partições primárias, ou, por exemplo, três partições primárias e uma 
partição estendida, e usar algum utilitário para o gerenciamento dessas 
informações, mas deve estar como ativa, apenas, a partição na qual 
contém o sistema operacional.
Figura 8 - Em uma HD básica, é possível incluir até quatro partições primárias
Fonte: Freepik (2021).
Sistemas Operacionais
19
O sistema operacional Windows, por exemplo, normalmente, utiliza 
três partições na unidade principal que, geralmente, é identificada como 
unidade C:\. São elas:
1. Partição de recuperação.
2. Partição de sistema EFI.
3. Unidade do sistema operacional Windows (C:).
A partição de recuperação é o local em que as ferramentas 
específicas são armazenadas para facilitar a recuperação do sistema 
operacional. No caso do Windows, nas situações que aconteçam erros de 
inicialização ou mesmo problemas graves.
Figura 9 - Exemplos de partições-padrões do sistema operacional Windows
Fonte: Elaborado pelo autor (2021).
A partição de sistema EF pode ser configurada e utilizada por 
alguns dispositivos como computadores ou notebooks para a inicialização 
por meio de boot, tanto o próprio dispositivo como também o sistema 
operacional. Já a unidade do sistema operacional, no caso do exemplo o 
Windows (C:), é o local no qual está instalado, e que, normalmente, estão 
armazenado os outros softwares e os arquivos. É importante considerar 
que mesmo que o gerenciamento de disco permita apresentar a partição 
de sistema EFI, como também a partição de recuperação como 100% livre, 
não é o que realmente acontece. Normalmente, essas partições ficam com 
bastante ocupação de arquivos, que são geralmente fundamentais para 
os dispositivos, assim, é importante que estas partições sejam operadas, 
corretamente. Deve-se evitar, por exemplo, executar alterações para que 
essas partições desenvolvam as funções nos quais são destinadas, que 
podem ser de iniciar o dispositivo e facilitar recuperar, quando houver 
problemas. 
Sistemas Operacionais
20
Figura 10 - O uso das partições facilita recuperar informações 
Fonte: Freepik (2021).
Outros recursos relacionados ao gerenciamento de discos facilitam 
compreender o seu papel, seus vários tipos e formatos e a dinâmica 
de seu funcionamento no contexto dos sistemas operacionais. Estão 
relacionados aos discos rígidos virtuais, também conhecidos pela sigla 
VHDs, que são arquivos de disco rígido virtualizados que,ao serem 
preparados, executam o funcionamento, e parecem de maneira bem 
similar a um disco rígido físico. 
DEFINIÇÃO:
Virtualização pode ser definida como o fundamento 
que propõe resultados computacionais que permitem 
executar vários sistemas operacionais, e logicamente, os 
softwares relacionados por meio de um único dispositivo, 
por exemplo, um computador ou notebook ou até mesmo 
servidores robustos.
É importante salientar que os discos rígidos virtuais – VHDs- são 
apresentados como discos físicos. No gerenciamento de disco, no 
momento, em que um disco rígido virtual é disponibilizado, ou seja, é 
anexado para ser utilizado no sistema operacional, ele é identificado com 
Sistemas Operacionais
21
a cor azul, utilizando o sistema operacional Windows, por exemplo, e no 
momento, que ele fica indisponível, ou seja, for desanexado, o seu ícone 
é apresentado na cor cinza. Para a criação de discos rígidos virtuais – 
Vedas, continuando o exemplo do sistema operacional Windows, primeiro 
o usuário deve ter privilégios de administrador ou operador de backup, 
depois basta ir no menu Ação e selecionar a opção denominada como 
Criar VHD.
Figura 11 - Exemplo de como criar discos rígidos 
virtuais – VHDs no sistema operacional Windows
Fonte: Elaborado pelo autor (2021).
Na caixa de diálogo denominada como Criar e Conectar disco 
rígido virtual, deve ser especificado o local no dispositivo, ou seja, no 
computador ou notebook, no qual será armazenado o arquivo VHD e o 
tamanho do VHD, como é apresentado na Figura 12. 
Sistemas Operacionais
22
Figura 12 - Caixa de diálogo Criar e Conectar disco 
rígido virtual no sistema operacional Windows
Fonte: Elaborado pelo autor (2021).
Depois de efetuar esses procedimentos para conectar, ou seja, 
anexar ou desconectar um disco rígido virtual – VHD para iniciar o seu 
uso, basta ir novamente, no menu Ação, depois selecionar Anexar VHD. 
Depois que esteja conectado, caso queira desanexar o VHD, ou seja, 
tornar indisponível, basta clicar no disco com o botão direito e selecionar 
Desanexar VHD, e clicar em OK. É importante considerar que ao desanexar 
um VHD, não exclui o VHD - disco rígido virtual ou quaisquer arquivos nos 
quais foram armazenados. Algumas observações são importantes como 
o caminho que determina o local do VHD que deve estar, plenamente 
correto, não podendo ficar no \diretório do Windows, pois o tamanho 
mínimo para um VHD é de três megabytes (MB), como também que um 
VHD pode ser apenas um disco básico. É importante, ainda, considerar o 
fato que VHD é inicializado, quando é criado e quando é utilizada a opção 
de tamanho fixo grande, pode levar algum tempo.
Sistemas Operacionais
23
Figura 13 - Opções disponíveis de disco rígido 
virtual – VHD no sistema operacional Windows 
Fonte: Elaborado pelo autor (2021).
No sistema operacional Windows, também, é importante conhecer 
os discos dinâmicos. Nesse tipo de armazenamento de arquivos, é criado 
apenas uma única partição com todo o espaço do disco, e esse disco no 
qual foi configurado, com esse tipo de armazenamento, recebe o nome 
de “disco dinâmico”. Um disco dinâmico pode ser dividido em volumes, 
nos quais cada volume pode conter uma ou mais partes de um ou mais 
discos, e existem diferentes tipos de volumes. É importante estar sempre 
atualizado nos tipos de volumes que são:
 • Volume simples.
 • Volume expandido.
 • Striped volume ou distribuído (RAID 0).
 • Volume espelhado (Mirrored volume – RAID 1).
 • Volume do tipo RAID-5.
Sistemas Operacionais
24
É importante considerar que o tipo de volume a ser usado é 
especificado por vários fatores como performance, espaço disponível e 
tolerância a falhas, nos quais está relacionada a possibilidade de manter 
as informações, mesmo no evento de comprometimento de um disco ou 
volume. É importante compreender o papel dos discos, seus vários tipos 
e formatos, bem como a dinâmica de seu funcionamento no contexto dos 
diversos sistemas operacionais, não apenas no Windows. Geralmente, 
o sistema operacional Windows obtém mais destaque, pelo fato de ser 
o mais utilizado e mais fácil de usar para os profissionais iniciantes e 
estudantes.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que para entender o gerenciamento de discos, primeiro é 
importante saber o seu papel e seus vários tipos e formatos, 
bem como a dinâmica de seu funcionamento no contexto 
dos sistemas operacionais. O gerenciamento de disco é 
classificado como um utilitário dos sistemas operacionais, 
como o Windows, da empresa Microsoft, no qual uma 
das suas atribuições é permitir que sejam executadas as 
tarefas avançadas de armazenamento. O gerenciamento 
de disco pode modificar as Unidades Lógicas - UL dos 
discos rígidos, ou seja, HDs, com o objetivo de subdividir 
ou mesmo unificar, utilizando os mecanismos de partição 
que pode ser primária ou estendida. A partição estendida 
aloca uma parte do disco rígido, com objetivo de destinar 
as unidades lógicas que não podem ser destinadas ao 
sistema operacional. Já partição primária, os sistemas 
operacionais, como o Windows, utilizam para inicializar o 
sistema operacional. Em uma HD básica, geralmente, é 
possível incluir até quatro partições primárias.
Sistemas Operacionais
25
Clocks 
OBJETIVO:
Ao término deste capítulo, você será capaz de entender o 
conceito de clocks em um sistema operacional. Isto será 
fundamental para o exercício de sua profissão. E então? 
Motivado para desenvolver esta competência? Então 
vamos lá. Avante!
Clocks são frequências nas quais um processador é qualificado a 
exercer as tarefas de sua responsabilidade, de modo que, quanto maior 
for a frequência, menor intervalo uma tarefa levará para ser executada, ou 
seja, o processador será mais eficiente. 
Conceito de clock de processamento e 
aplicação em dispositivos de entrada/saída
Tecnicamente, o conceito de clock é um relógio interno, por esse 
motivo recebe este nome, que tem referências num cristal de quartzo 
que produz um pulso elétrico. Sua principal função é a sincronização da 
totalidade dos circuitos que são compostos da placa-mãe, como também 
os circuitos internos do processador, com objetivo de que o sistema 
execute todas as suas funções de modo harmônico.
Figura 14 - O clock tem como função a sincronização dos circuitos internos do processador
Fonte: Freepik (2021).
Sistemas Operacionais
26
Os pulsos elétricos, gerados pelos clocks em intervalos regulares, 
são medidos pela sua frequência, cuja unidade é dada em hertz. Então 
1 MHz equivale a 1 milhão de ciclos por segundo. Geralmente, os 
processadores são referenciados pelo clock ou frequência de operação.
VOCÊ SABIA?
Hertz, cujo símbolo é o Hz, é uma unidade de medida 
derivada do SI (Sistema Internacional de Unidades) para 
frequência, que expressa, em termos de ciclos por segundo, 
essa frequência do evento periódico, oscilações, ou seja, 
vibrações ou rotações por segundo. O nome homenageia o 
físico alemão Heinrich Hertz. Disponível aqui.
Para definir o conceito de clock de processamento e sua aplicação 
em outros dispositivos de entrada saída, é importante saber fundamentar 
um microprocessador, também conhecido como processador 
(SILBERSCHATZ, 200), que equivale, em um circuito integrado, o que 
foi arquitetado com objetivo da realização de operações e cálculos, 
considerado como a parte principal de um dispositivo como um 
computador ou notebook. 
Figura 15 - O microprocessador é a parte principal 
de um dispositivo como computador ou notebook
Fonte: Freepik (2021).
É preciso salientar que, embora o microprocessador seja importante, 
por si só, não é autossuficiente para um dispositivo ter interações com um 
usuário, com o qual é necessário ter outros mecanismos como:
SistemasOperacionais
http://www.numdam.org/article/PHSC_1996__1_1_21_0.pdf
27
 • Conversores de sinais.
 • Dispositivos de entrada e saída.
 • Memórias.
O microprocessador é o responsável por determinar a velocidade 
de processamento dos dados de um dispositivo, como um computador 
ou notebook, melhorando assim o desempenho do sistema operacional.
Figura 16 - O microprocessador determina a velocidade 
de processamento dos dados de um dispositivo
Fonte: Freepik (2021).
É importante, inclusive, o conhecimento de alguns termos como 
Clock Rate, que também é conhecido como Clock Speed, que é a 
velocidade em que o processador desempenha instruções. Seguindo 
nesta lógica, quanto maior for a velocidade do clock, mais instruções uma 
CPU terá habilidades de executar por segundo, geralmente, a taxa de 
clock é uma característica fixa do processador. Mas alguns dispositivos 
como computadores ou notebooks têm uma “chave” que proporciona 
duas ou mais velocidades distintas. Esse benefício pode ser aplicado 
em softwares que foram criados para se utilizar em dispositivos com boa 
performance, ou seja, com alta velocidade de clock, mas em contrapartida, 
esses mesmos programas podem não ter a mesma performances em 
dispositivos cuja velocidade de clock seja mais lenta, e vice versa, e ainda, 
interfere na velocidade dos dispositivos de entrada e saída.
Sistemas Operacionais
28
Figura 17 - A velocidade do clock é aplicada na 
performance dos periféricos de entrada e saída
Fonte: Freepik (2021).
Igualmente, é importante considerar que alguns elementos de 
expansão não podem ter capacidade de utilizar a alta velocidade de clock. 
Dessa maneira, pode-se concluir que aliada à velocidade desse clock, 
a arquitetura interna de um processador interfere na performance. Por 
esse motivo, é possível levantar a hipótese que mesmo duas CPUs com 
velocidades iguais de clock, não se pode afirmar que vão performar da 
mesma maneira. Por exemplo, um processador 80286 precisa de vinte 
ciclos para multiplicar dois números, já um processador superior 80486 
pode ser capaz de efetuar o mesmo cálculo simples no mesmo ciclo. 
Dessa maneira, a tecnologia de novos processadores pode ser vinte vezes 
superior, ou seja, mais rápida, quando comparada aos de tecnologia 
inferior, caso a velocidade de clock seja a mesma. 
Figura 18 - Os novos processadores são mais rápidos 
Fonte: Freepik (2021).
Sistemas Operacionais
29
É importante salientar que existem processadores que são superescalar, 
ou seja, que têm habilidade de execução de mais de uma instrução por 
ciclo, otimizando, consideravelmente, os dispositivos de entrada e saída. São 
exemplos, os barramentos de expansão e CPUs, que também têm a sua 
velocidade de clock. A melhor situação é quando as velocidades, tanto dos 
barramentos quanto da CPU, forem as mesmas, assim um componente não 
fica mais lento que o outro. Na prática, a velocidade de clock dos barramentos 
é mais lenta que a velocidade da CPU.
DEFINIÇÃO:
Processador superescalar utiliza de paralelismo em grau 
de instruções de modo a possibilitar a execução de mais de 
uma instrução por ciclo de clock, decodificando inúmeras 
dessas instruções de uma só vez. Outro termo importante 
relacionado para entender a definição do conceito de clock 
de processamento, e sua aplicação em outros dispositivos 
de entrada e saída, é overclock, no qual há o incremento 
da frequência do processador, para possibilitar que ele 
desenvolva a sua atividade rapidamente.
Figura 19 - Overclock é o aumento da frequência do 
processador para desenvolver sua atividade mais rápida 
Fonte: Freepik (2021).
Sistemas Operacionais
30
A frequência de operação dos dispositivos domésticos como 
computadores e notebooks, normalmente, são definidos por dois 
princípios:
1. Um multiplicador de clock.
2. Velocidade de operação da placa-mãe.
Um multiplicador de clock proporciona ao processador lidar 
de maneira interna a uma velocidade superior que a da placa-mãe, 
salientando que outros periféricos do dispositivo como o computador são 
importantes:
 • Placa de vídeo.
 • Memória RAM.
 • Cachê.
Esses periféricos permanecem trabalhando na velocidade de 
barramento.
Figura 20 - A placa de vídeo trabalha na velocidade de 
barramento se é utilizado um multiplicador de clock
Fonte: Freepik (2021).
A velocidade de operação da placa-mãe, que também é conhecida 
como velocidade de barramento, nos processadores da marca Pentium, 
pode ser de 50, 60 e 66 MHz, por exemplo. É importante lembrar que 
as frequências tanto do multiplicador quanto do barramento podem ser 
modificadas por meio de jumpers de configuração da placa-mãe.
Sistemas Operacionais
31
DEFINIÇÃO:
Tecnicamente jumper trata-se de uma ligação móvel entre 
duas partes de um circuito eletrônico; é constituído por 
uma pequena peça plástica que contém um metal que 
tem função de conduzir a eletricidade. A incrementação 
da velocidade de barramento da placa-mãe pode criar 
problemas, caso algum periférico como a memória RAM 
ou cache não suporte essa velocidade. No momento que 
é executado um overclock, o processador começa a lidar 
a uma velocidade superior do que foi projetado, fazendo 
com que haja um maior aquecimento dele.
Figura 21 - Ao executar um overclock, o processador 
começa a uma velocidade superior do que foi projetado
Fonte: Freepik (2021).
É importante salientar que quando é utilizado esse procedimento, 
acontece uma redução considerável da vida útil do processador, 
provocando um aquecimento excessivo que pode ocasionar os conhecidos 
crashes, ou seja, travamento do sistema operacional, exigindo do usuário 
reiniciar o dispositivo. É importante que ao executar o overclock, não se 
pode dispensar o uso de um cooler, ou seja, um ventilador que fica sobre 
o processador para reduzir seu aquecimento, mas que seja de qualidade. 
Em algumas situações é recomendada uma pasta térmica especial que é 
colocada diretamente sobre a superfície do processador.
Sistemas Operacionais
32
Figura 22 - Ao executar o overclock, não dispensar o uso de um cooler
Fonte: Freepik (2021).
Para definir o conceito de clock de processamento e sua aplicação 
em outros dispositivos de entrada saída, é importante estar sempre 
atualizado, pois nesta área existem avanços rápidos e consideráveis.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que para entender clock de processamento e sua aplicação 
em outros dispositivos de entrada/saída, é importante 
conhecer o seu conceito. Clock pode ser definido como 
as frequências de um microprocessador exercem suas 
tarefas, pois quanto maior é a frequência, menor intervalo 
uma tarefa levará para ser executada, assim, o processador 
é considerado mais eficiente. Uma das suas principais 
atribuições é sincronizar todos os circuitos que fazem 
parte a placa-mãe e também os circuitos internos do 
processador, para que todos executem as suas atribuições 
com harmonia. Os pulsos elétricos que são originados 
pelos clocks, em períodos regulares, são medidos pela sua 
frequência, e sua unidade é de medida é o hertz. Ainda é 
essencial o entendimento de alguns termos como Clock 
Rate, também conhecido como Clock Speed, entre outros.
Sistemas Operacionais
33
Terminais 
OBJETIVO:
Ao término deste capítulo, você será capaz de entender 
como o sistema operacional consegue gerenciar terminais 
multiusuários. Isto será fundamental para o exercício de 
sua profissão. E então? Motivado para desenvolver esta 
competência? Então vamos lá. Avante!
Um dispositivo seja ele um computador ou notebook, é constituído 
por diversos subsistemas, como memórias, processadores, discos rígidos 
ou HD, interfaces de rede, impressoras, diversos dispositivos de entrada e 
saída, além dos terminais.
Gerenciamento de terminaismultiusuários 
por meio de um sistema operacional
O sistema operacional tem como uma das suas principais atribuições, 
o gerenciamento de maneira mais correta possível de todos os recursos 
nativos e os que podem ser incorporados, por exemplo, os dispositivos de 
entrada e saída. Este gerenciamento tem como principal objetivo atender 
às demandas solicitadas pelos usuários, ou seja, por meio dos softwares 
utilitários, softwares aplicativos, ou por outros meios, e é importante que 
esse atendimento seja o mais rápido possível.
As várias atribuições do sistema operacional é, por exemplo, o 
compartilhamento da CPU - Unidade Central de Processamento, entre as 
diversas tarefas planejadas em sistemas multiprogramados, nas quais o 
sistema operacional assume a função de distribuir de maneira otimizada 
os recursos da CPU, entre as tarefas em execução.
Sistemas Operacionais
34
Figura 23 - O sistema operacional gerencia as demandas solicitadas pelos usuários
Fonte: Freepik (2021).
DEFINIÇÃO:
Os sistemas multiprogramados são caracterizados pelo 
momento em que um software aguarda uma entrada de 
dados pelo usuário, simultaneamente outro programa 
pode estar em processo, no mesmo intervalo de tempo. 
Assim tanto o processador quanto a memória são 
compartilhados, e o sistema operacional gerencia e 
controla este compartilhamento dos recursos de forma 
segura e protegida.
É importante revisar que um software que está em execução 
recebe o nome de tarefas ou processo, as quais podem ser visualizadas, 
por exemplo, no gerenciador de tarefas do Windows pelas teclas 
CTRL+ALT+Del. 
Sistemas Operacionais
35
Figura 24 - Gerenciador de tarefas do sistema operacional Windows
Fonte: Elaborado pelo autor (2021).
Um sistema operacional multitarefa é caracterizado pela sua 
atribuição de poder suportar a execução concorrente de processos sobre 
um processador único, sem que seja preciso prover uma elaborada forma 
de gerenciamento de recursos como de:
 • Memória.
 • CPU, entre outros.
Assim, sistemas operacionais multiusuários proporcionam acessos 
simultâneos ao dispositivo como o computador, por meio de dois ou 
mais terminais de entrada. Mesmo que geralmente haja associação 
com multiprogramação, a multitarefa não acarreta absolutamente em 
uma operação multiusuário. A operação multiprocesso sem suporte 
de multiusuários pode ser encontrada em sistemas operacionais de 
determinados dispositivos como computadores pessoais.
Sistemas Operacionais
36
Para entender como o sistema operacional consegue gerenciar 
terminais multiusuários, é importante conhecer o conceito de 
multiprogramação, que é um fundamento mais genérico do que 
multitarefa (SILBERSCHATZ, 2010). Evidencia um sistema operacional que 
é o provedor de gerenciamento de todos os recursos como, memória, 
CPU, mas também dos sistemas de arquivos e adição ao suporte da 
execução concorrente dos processos.
Figura 25 - O conceito de multiprogramação é mais genérico do que multitarefa
Fonte: Freepik (2021).
É importante considerar que um dispositivo, como um computador, 
pode ter uma série de processos que estão sendo executados de forma 
serial ou de forma concorrente. Nesta situação, os recursos presentes no 
dispositivo podem ser disponibilizados a um único software até a finalização 
de sua execução. Também esses recursos podem ser disponibilizados de 
maneira dinâmica, entre um número de softwares, conforme o nível de 
prioridade ou o estágio de execução de cada um deles. A utilização da 
multiprogramação possibilita a redução do tempo que a CPU fica inativa, 
aumentando assim a eficiência do uso do sistema na sua totalidade. O 
nível de multiprogramação presente em um sistema pode ser classificado 
em dois:
1. Serial.
2. Integral.
Sistemas Operacionais
37
Na multiprogramação serial somente um processo se encontra 
em execução a cada instante, sendo a CPU alocada aos processos de 
forma intercalada, ao longo do tempo. Já a multiprogramação integral, 
na situação de um processo, pode se encontrar em execução em um 
dado instante. Já que a maioria dos dispositivos, como computadores e 
notebook, dispõe somente de uma única CPU, a multiprogramação serial 
é encontrada com mais frequência.
Figura 26 - A multiprogramação serial é mais comum nos 
computadores ou notebook que dispõe de uma única CPU
Fonte: Freepik (2021).
De maneira geral, para entender como o sistema operacional 
consegue gerenciar terminais multiusuários, é importante entender 
os sistemas operacionais considerados complexos que dispõem de 
dispositivo como um computador multiusuário com vários terminais. 
Nestas situações, diversas variáveis devem ser consideradas, como a 
administração de todos os pedidos de usuários, assegurando que eles 
não conflitem entre si. É necessário o gerenciamento dos dispositivos 
entre todos os usuários que solicitam um serviço, em um dispositivo que 
nativamente são seriais, por exemplo, uma impressora.
Sistemas Operacionais
38
Figura 27 - Em terminais multiusuários, pode se gerenciar uma impressora
Fonte: Freepik (2021).
Uma das soluções é armazenar o sistema em disco rígido - HD, e 
partes podem ser carregadas na memória RAM, quando for preciso, para 
isso é necessário que o sistema operacional tenha utilitários como:
 • Desenvolvimento de softwares.
 • Gerenciamento de documentos.
 • Gerenciamento de arquivos.
 • Comunicação entre outros computadores e usuários.
Além de utilitário relacionado ao gerenciamento de pedidos 
de usuários para softwares, prevendo espaço de armazenamento e 
prioridade, é preciso uma interface que aceite, interprete e então execute 
comandos ou programas do usuário, por exemplo, Shell. 
DEFINIÇÃO:
De maneira geral, Shell é um software utilitário que tem 
como função a intermediação do contato entre o usuário 
e o computador, ou seja, é a interface entre o usuário e o 
sistema operacional.
Sistemas Operacionais
39
É importante para entender como o sistema operacional consegue 
gerenciar terminais multiusuários, cujo principal objetivo é proporcionar 
o controle e a proteção dos diversos tipos de dispositivos que possam 
estar conectados em uma rede. Atualmente é possível controlar diversos 
dispositivos como Tanenbaum (1995) aponta:
 • Smartphones.
 • Notebooks.
 • Tablets.
 • Computadores.
 • Equipamentos de IoT.
 • Dispositivos vestíveis.
Este controle pode ser efetuado por terminais ou por um único 
terminal, no qual também pode ter o foco na automação de processos, 
facilitando o gerenciamento de todo o ambiente, desde a camada de 
dispositivos até sistemas operacionais e modelos de implantação 
em nuvem.
Figura 28 - Equipamentos de IoT são administrados em terminais multiusuários
Fonte: Freepik (2021).
Sistemas Operacionais
40
Por meio do gerenciamento dos terminais multiusuários, é possível 
também automatizar a implantação de software, executar restrição do uso 
de determinados dispositivos, para entender como o sistema operacional 
consegue gerenciar esses terminais, lembrando que é importante estar 
sempre atualizado.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir tudo o que vimos. Você deve ter aprendido 
que para entender como o sistema operacional consegue 
gerenciar terminais multiusuários, primeiro é importante 
ter um dispositivo seja ele um computador ou notebook. 
O sistema é formado por vários subsistemas, como as 
memórias, processadores, discos rígidos ou HD, interfaces 
de rede, impressoras, diversos dispositivos de entrada 
e saída como também os terminais. O gerenciamento 
tem como foco principal o atendimento dos pedidos 
dos usuários, por meio de softwares utilitários, softwares 
aplicativos, ou por outros meios, sendo fundamental que 
o atendimento seja o mais rápido possível. Os sistemas 
operacionais multiusuários permitem acessossimultâneos 
ao dispositivo como o computador pelos terminais de 
entrada. Diversas situações devem ser consideradas, 
por exemplo, da administração de todos os pedidos de 
usuários, assegurando que eles não conflitem entre si.
Sistemas Operacionais
41
REFERÊNCIAS
MACHADO, F. B. Arquitetura de sistemas operacionais. Rio de 
Janeiro: Editora LTC, 2004.
SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Fundamentos de 
sistemas operacionais. Rio de Janeiro: LTC, 2010.
SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas Operacionais: 
Conceitos e Aplicações. Rio de Janeiro: Campus, 2010.
TANENBAUM, A. S. Sistemas operacionais modernos. Rio de Janeiro: 
Ed. Guanabara Koogan, 1995.
Sistemas Operacionais

Mais conteúdos dessa disciplina