Buscar

Sistemas de aplicação

Prévia do material em texto

2013
SiStemaS e aplicaçõeS 
DiStribuíDaS
Prof. Danton Cavalcanti Franco Junior 
Prof. Jan Charles Gross
Copyright © UNIASSELVI 2013
Elaboração:
Prof. Danton Cavalcanti Franco Junior 
Prof. Jan Charles Gross
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri 
UNIASSELVI – Indaial.
004.36
F825s Franco Junior, Danton Cavalcanti
Sistemas e aplicações distribuídas / Danton Cavalcanti Franco Junior; 
Jan Charles Gross. Indaial : Uniasselvi, 2013.
178 p. : il 
 
 ISBN 978-85-7830- 698-4
1.	 Processamento distribuído – Redes.
 I. Centro Universitário Leonardo da Vinci.
Impresso por:
III
apreSentação
Prezado(a) Acadêmico(a)!
 
 Seja bem-vindo ao estudo da disciplina de Sistemas e Aplicações 
Distribuídas, que tem como principal objetivo demonstrar a importância e o 
funcionamento de um sistema operacional e dos sistemas distribuídos.
Este Caderno de Estudos foi dividido em três unidades. A primeira 
é introdutória, conta o histórico do sistema operacional e traz conceitos 
elementares de sua estrutura além de fazer entender o gerenciamento da 
memória. Na segunda unidade falaremos de processos, incluindo suas 
variantes (threads e subprocesso) além de entender como funciona a gerência 
do processador através do escalonamento de processos, finalizando com a 
gerência de dispositivos. Na terceira unidade serão estudados os sistemas 
distribuídos, sua arquitetura em um ambiente distribuído. 
Durante o texto, você encontrará dicas de leitura e, ao final de cada 
unidade, um texto complementar que lhe auxiliará na busca de informações 
complementares.
Bom estudo!
Prof. Danton Cavalcanti Franco Junior
Prof. Jan Charles Gross
IV
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há 
novidades em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é 
o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um 
formato mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova 
diagramação no texto, aproveitando ao máximo o espaço da página, o que também 
contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade 
de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto 
em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
UNI
V
VI
VII
UNIDADE 1 – INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS ........ 1
TÓPICO 1 – FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS 
 OPERACIONAIS ............................................................................................................. 3
1 INTRODUÇÃO .................................................................................................................................... 3
2 O QUE É UM SISTEMA OPERACIONAL? .................................................................................... 4
2.1 FUNÇÕES BÁSICAS DO SISTEMA OPERACIONAL .............................................................. 5
2.1.1 Facilidade de acesso aos recursos do sistema .................................................................... 6
2.1.2 Compartilhamento de recursos de forma organizada e protegida ................................ 7
2.1.3 Controle e gerenciamento dos recursos de rede ............................................................... 7
3 HISTÓRICO .......................................................................................................................................... 7
3.1 PRIMEIRA GERAÇÃO .................................................................................................................. 8
3.2 SEGUNDA GERAÇÃO .................................................................................................................. 11
3.3 TERCEIRA GERAÇÃO .................................................................................................................. 12
3.4 QUARTA GERAÇÃO ..................................................................................................................... 14
3.5 QUINTA GERAÇÃO ...................................................................................................................... 16
4 TIPOS DE SISTEMAS OPERACIONAIS ....................................................................................... 16
4.1 SISTEMAS OPERACIONAIS DE COMPUTADORES DE GRANDE PORTE ....................... 17
4.1.1 Sistemas operacionais de lote (batch) ................................................................................. 18
4.1.2 Sistemas operacionais de tempo compartilhado ............................................................... 18
4.1.3 Sistemas operacionais transacionais ................................................................................... 18
4.2 SISTEMAS OPERACIONAIS DE SERVIDORES ........................................................................ 18
4.3 SISTEMAS OPERACIONAIS DE MULTIPROCESSADORES ................................................. 19
4.4 SISTEMAS OPERACIONAIS DE COMPUTADORES PESSOAIS ........................................... 19
4.5 SISTEMAS OPERACIONAIS DE TEMPO REAL ....................................................................... 19
4.6 SISTEMAS OPERACIONAIS EMBARCADOS .......................................................................... 20
4.7 SISTEMAS OPERACIONAIS DE CARTÕES INTELIGENTES ................................................ 20
LEITURA COMPLEMENTAR .............................................................................................................. 21
RESUMO DO TÓPICO 1 ....................................................................................................................... 23
AUTOATIVIDADE ................................................................................................................................ 24
TÓPICO 2 – INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E 
 DE REDES ......................................................................................................................... 25
1 INTRODUÇÃO .................................................................................................................................... 25
2 SISTEMAS FORTEMENTE ACOPLADOS .................................................................................... 25
2.1 SISTEMAS ASSIMÉTRICOS .......................................................................................................... 26
2.2 SISTEMAS SIMÉTRICOS ............................................................................................................... 27
2.3 SISTEMAS COM MULTIPROCESSAMENTO ........................................................................... 28
2.3.1 Processamento vetorial ......................................................................................................... 28
2.3.2 Processamento paralelo ........................................................................................................29
2.4 QUANTO À ORGANIZAÇÃO FUNCIONAL ........................................................................... 29
3 SISTEMAS FRACAMENTE ACOPLADOS ................................................................................... 31
3.1. SISTEMAS OPERACIONAIS DE REDE ..................................................................................... 32
3.2 SISTEMAS OPERACIONAIS DISTRIBUÍDOS ........................................................................... 33
Sumário
VIII
3.3 QUANTO À ORGANIZAÇÃO FUNCIONAL ........................................................................... 34
LEITURA COMPLEMENTAR .............................................................................................................. 35
RESUMO DO TÓPICO 2 ....................................................................................................................... 37
AUTOATIVIDADE ................................................................................................................................ 38
TÓPICO 3 – FUNDAMENTAÇÃO DA GERÊNCIA DE MEMÓRIA .......................................... 39
1 INTRODUÇÃO .................................................................................................................................... 39
2 A MEMÓRIA DO COMPUTADOR ................................................................................................. 39
3 ALOCAÇÃO DE MEMÓRIA ............................................................................................................ 41
3.1 ALOCAÇÃO CONTÍGUA DE ÚNICO USUÁRIO (ALOCAÇÃO SIMPLES) ....................... 41
3.2 ALOCAÇÃO PARTICIONADA FIXA (ALOCAÇÃO ESTÁTICA) ......................................... 42
3.3 ALOCAÇÃO PARTICIONADA DINÂMICA ............................................................................ 44
4 TÉCNICAS COMPLEMENTARES ................................................................................................... 46
4.1 SWAPPING ...................................................................................................................................... 46
4.2 MEMÓRIA VIRTUAL .................................................................................................................... 46
4.2.1 Paginação ................................................................................................................................ 47
4.3 SEGMENTAÇÃO ............................................................................................................................ 47
LEITURA COMPLEMENTAR .............................................................................................................. 48
RESUMO DO TÓPICO 3 ....................................................................................................................... 50
AUTOATIVIDADE ................................................................................................................................ 51
UNIDADE 2 – GERÊNCIA DE PROCESSOS E DISPOSITIVOS ................................................ 53
TÓPICO 1 – ESTRUTURA E FUNCIONAMENTO DOS PROCESSOS ..................................... 55
1 INTRODUÇÃO .................................................................................................................................... 55
2 CONCEITO DE PROCESSO ............................................................................................................. 56
2.1 BLOCO DE CONTROLE DO PROCESSO (PCB) ....................................................................... 57
2.2 ESTADOS DO PROCESSO ............................................................................................................ 57
2.3 MUDANÇA DE ESTADOS DO PROCESSO .............................................................................. 59
3 SUBPROCESSO ................................................................................................................................... 60
4 THREAD ................................................................................................................................................ 61
5 INTERRUPÇÕES E EXCEÇÕES ....................................................................................................... 62
LEITURA COMPLEMENTAR .............................................................................................................. 64
RESUMO DO TÓPICO 1 ....................................................................................................................... 67
AUTOATIVIDADE ................................................................................................................................ 68
TÓPICO 2 – GERENCIAMENTO DO PROCESSADOR ................................................................ 69
1 INTRODUÇÃO .................................................................................................................................... 69
2 CONCEITOS BÁSICOS ..................................................................................................................... 69
2.1 CRITÉRIOS DE ESCALONAMENTO ......................................................................................... 70
2.2 OBJETIVOS DO ESCALONAMENTO ........................................................................................ 71
3 TIPOS DE ESCALONAMENTO ....................................................................................................... 71
3.1 TIPOS DE ESCALONAMENTO NÃO PREEMPTIVOS ........................................................... 72
3.1.1. First-in-first-out (FIFO) ........................................................................................................ 72
3.1.2 Escalonamento job mais curto primeiro ............................................................................. 73
3.1.3 Escalonamento cooperativo ................................................................................................. 73
3.2 ESCALONAMENTO PREEMPTIVO ........................................................................................... 74
3.2.1 Escalonamento circular ......................................................................................................... 75
3.2.2 Escalonamento por prioridades ........................................................................................... 75
3.2.2.1 Escalonamento circular com prioridades ........................................................................ 76
3.2.3 Múltiplas filas ......................................................................................................................... 76
3.2.3.1 Múltiplas filas com realimentação ................................................................................... 77
IX
4 ESCALONAMENTO DE SISTEMAS EM TEMPO REAL ........................................................... 78
4.1 TEMPO REAL CRÍTICO – RÍGIDOS ........................................................................................... 79
4.2 TEMPO REAL NÃO CRÍTICO – MODERADOS ....................................................................... 79
5 GERENCIAMENTO DE PROCESSOS EM SISTEMAS DISTRIBUÍDOS E DE REDE ........ 79
LEITURA COMPLEMENTAR .............................................................................................................. 81 
RESUMO DO TÓPICO 2 ....................................................................................................................... 84
AUTOATIVIDADE ................................................................................................................................ 85
TÓPICO 3 – GERENCIAMENTO DE DISPOSITIVOS .................................................................. 87
1 INTRODUÇÃO .................................................................................................................................... 87
2 O SUBSISTEMA DE E/S – FUNCIONAMENTO ..........................................................................87
3 DEVICE DRIVER (DRIVER) ............................................................................................................. 89
4 CONTROLADORES ........................................................................................................................... 90
5 LÓGICO E FÍSICO .............................................................................................................................. 91
LEITURA COMPLEMENTAR .............................................................................................................. 92
RESUMO DO TÓPICO 3 ....................................................................................................................... 96
AUTOATIVIDADE ................................................................................................................................ 97
UNIDADE 3 – SISTEMAS DISTRIBUÍDOS .................................................................................... 99
TÓPICO 1 – SISTEMAS DISTRIBUÍDOS ........................................................................................ 101
1 INTRODUÇÃO .................................................................................................................................... 101
2 SISTEMAS DISTRIBUÍDOS ............................................................................................................. 101
3 CARACTERÍSTICAS FUNDAMENTAIS DOS SISTEMAS DISTRIBUÍDOS ....................... 104
3.1 COMPARTILHAMENTO DE RECURSOS ................................................................................. 104
3.2 CRESCIMENTO INCREMENTAL ............................................................................................... 105
3.3 CONCORRÊNCIA .......................................................................................................................... 106
3.4 ESCALABILIDADE ........................................................................................................................ 107
3.5 TOLERÂNCIA A FALHAS ............................................................................................................ 108
3.6 TRANSPARÊNCIA ......................................................................................................................... 110
3.7 HETEROGENEIDADE ................................................................................................................... 111
3.8 ABERTURA ...................................................................................................................................... 112
3.9 SEGURANÇA .................................................................................................................................. 114
RESUMO DO TÓPICO 1 ....................................................................................................................... 117
AUTOATIVIDADE ................................................................................................................................ 118
TÓPICO 2 – ARQUITETURA DE SISTEMAS DISTRIBUÍDOS .................................................. 119
1 INTRODUÇÃO .................................................................................................................................... 119
2 CAMADAS E MÓDULOS ................................................................................................................. 120
3 MODELOS DE ARQUITETURA ...................................................................................................... 122
3.1 MODELO CLIENT-SERVER ......................................................................................................... 123
3.2 SERVIÇOS ATENDIDOS POR MÚLTIPLOS SERVIDORES .................................................... 126
3.3 SERVIDOR PROXY E CACHE ...................................................................................................... 127
3.4 PROCESSOS PARES ....................................................................................................................... 129
4 VARIAÇÕES DO MODELO CLIENTE-SERVIDOR .................................................................... 131
4.1 CÓDIGO MÓVEL ........................................................................................................................... 131
4.2 AGENTES MÓVEIS ........................................................................................................................ 133
4.3 COMPUTADORES EM REDE ...................................................................................................... 134
4.4 CLIENTES FRACOS ....................................................................................................................... 136
4.5 DISPOSITIVOS MÓVEIS ............................................................................................................... 138
4.6 INTEROPERABILIDADE ESPONTÂNEA ................................................................................. 139
4.7 COMPUTAÇÃO UBÍQUA OU PERVASIVA .............................................................................. 139
X
RESUMO DO TÓPICO 2 ....................................................................................................................... 142
AUTOATIVIDADE ................................................................................................................................ 143
TÓPICO 3 – COMUNICAÇÃO EM UM AMBIENTE DE COMPUTAÇÃO DISTRIBUÍDA .. 145
1 INTRODUÇÃO .................................................................................................................................... 145
2 PROTOCOLOS .................................................................................................................................... 145
2.1 CARACTERÍSTICAS DA COMUNICAÇÃO ENTRE PROCESSOS ....................................... 146
2.2 SOCKETS .......................................................................................................................................... 148
2.3 COMUNICAÇÃO UDP ................................................................................................................. 150
2.4 COMUNICAÇÃO TCP .................................................................................................................. 152
3 COMUNICAÇÃO CLIENTE-SERVIDOR ...................................................................................... 156
3.1 O PARADIGMA CLIENTE/SERVIDOR ...................................................................................... 156
3.2 SERVIDORES ................................................................................................................................... 157
3.3 ARQUITETURA DOS SISTEMAS C/S ......................................................................................... 158
3.4 SGBD DISTRIBUÍDO ...................................................................................................................... 159
4 OBJETOS DISTRIBUÍDOS E RPC ................................................................................................... 159
4.1 INTRODUÇÃO ............................................................................................................................... 160
4.2 OBJETOS DISTRIBUÍDOS ............................................................................................................. 160
4.3 CHAMADAS REMOTAS DE PROCEDIMENTOS .................................................................... 162
4.4 ARQUITETURA OSF RPC ............................................................................................................. 163
5 FALHAS DE COMUNICAÇÃO ........................................................................................................ 164
5.1 FALHAS POR OMISSÃO .............................................................................................................. 164
5.1.1Falhas por omissão de processo .......................................................................................... 165
5.1.2 Falhas por omissão na comunicação ................................................................................... 165
5.2 FALHAS ARBITRÁRIAS ............................................................................................................... 166
5.3 FALHAS DE SINCRONIZAÇÃO ................................................................................................. 167
5.4 MASCARAMENTO DE FALHAS ................................................................................................ 168
5.5 CONFIABILIDADE DA COMUNICAÇÃO 1 PARA 1 ............................................................. 168
LEITURA COMPLEMENTAR .............................................................................................................. 169
RESUMO DO TÓPICO 3 ....................................................................................................................... 173
AUTOATIVIDADE ................................................................................................................................ 174
REFERÊNCIAS ........................................................................................................................................ 175
1
UNIDADE 1
INTRODUÇÃO E FUNDAMENTOS DE 
SISTEMAS OPERACIONAIS
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
A partir do estudo desta unidade, o(a) acadêmico(a) estará apto(a) a:
• conhecer os principais conceitos de sistemas operacionais;
• entender os principais conceitos e fundamentos de sistemas operacionais;
• entender o processo de gerência de memória;
• conhecer o mecanismo dos processos;
• entender o funcionamento dos processos e suas formas de atuação.
Esta unidade está dividida em três tópicos, sendo que, ao final de cada um 
deles, você encontrará atividades que lhe auxiliarão na apropriação do 
conhecimento.
TÓPICO 1 – FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS 
OPERACIONAIS
TÓPICO 2 – INTRODUÇÃO AOS SISTEMAS OPERACIONAIS
 TRADICIONAIS E DE REDES
TÓPICO 3 – FUNDAMENTAÇÃO DA GERÊNCIA DE MEMÓRIA
2
3
TÓPICO 1
UNIDADE 1
FUNDAMENTOS E CONCEITOS BÁSICOS DE 
SISTEMAS OPERACIONAIS
1 INTRODUÇÃO
Vamos falar de sistemas operacionais, para isso é importante entender 
como é o seu funcionamento. Vale lembrar que é um programa como qualquer 
outro, exceto pelo fato de ser um programa que executa rotinas no núcleo do 
processador. Essas rotinas são, contudo, responsáveis pelo interfaceamento entre 
o hardware da máquina e as demais aplicações do usuário.
Para muitos, quando se fala em sistema operacional, imagina-se algo 
intangível e muito complicado, entretanto, um sistema operacional não é nada disso.
É graças ao sistema operacional que a interação do usuário com o 
computador é transparente, rápida e muito mais segura. Todo o gerenciamento 
dos recursos como processador, memória e dispositivos de entrada e saída fica a 
cargo do sistema operacional.
Dispositivos também conhecidos por devices podem ser de entrada ou saída 
(I/O), e servem para a comunicação do mundo exterior com o computador. São exemplos de 
dispositivos: HD, DVD, monitor, teclado e mouse (figura a seguir).
UNI
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
4
FIGURA 1 – EXEMPLOS DE DISPOSITIVOS CONECTADOS A UM COMPUTADOR
FONTE: Disponível em: <http://2.bp.blogspot.com/-0U7BhViJd3c/
UQkV3fvjLtI/AAAAAAAAACw/yK0jXZWCF-k/s1600/perifericos.jpg>. Acesso 
em: 10 fev. 2013.
Neste capítulo veremos os conceitos básicos do sistema operacional, bem 
como sua evolução histórica.
Programas computacionais podem ser grosseiramente divididos em dois tipos:
•	 programas do sistema, que manipulam a operação do computador. Podemos citar o 
desfragmentador de discos, o gerenciador de tarefas, entre outros;
•		programas aplicativos, que resolvem problemas para o usuário, como Excel, Word e Corel Draw.
IMPORTANT
E
2 O QUE É UM SISTEMA OPERACIONAL?
Pode-se dividir a estrutura de um sistema computacional em quatro 
elementos: hardware, o sistema operacional, os programas e os usuários.
•	 O hardware compreende toda a parte física, que engloba a UCP (Unidade Central 
de Processamento), em inglês conhecida por CPU (Central Process Unit), a 
memória e os dispositivos de entrada e saída (I/O devices).
•	 Os programas, também conhecidos como aplicativos, que fornecem 
funcionalidades específicas como planilhas, editores de texto, editores gráficos 
e sistemas administrativos.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
5
•	 Os usuários são as pessoas que interagem com esses programas, utilizando 
alguns recursos de hardware. Podemos ter os usuários finais e os usuários 
desenvolvedores de sistemas.
•	 Finalmente, tem-se o sistema operacional, que é responsável por gerenciar todos 
os recursos de hardware, tornando o uso da máquina transparente aos usuários. 
A figura a seguir mostra esses elementos e a relação entre eles.
FIGURA 2– ELEMENTOS QUE COMPÕEM UM SISTEMA COMPUTACIONAL E SUA 
RELAÇÃO
FONTE: Os autores
CPU é a unidade central de processamento, considerado o processador 
da máquina. É errado quando as pessoas se referem ao gabinete como CPU, pois 
o gabinete engloba uma série de dispositivos (placa-mãe, unidades de disco etc.). 
Portanto, fique atento e nunca chame seu gabinete de CPU, trate-o apenas como 
gabinete. Se estiver falando de recursos de desempenho de processamento, aí 
sim utilize o termo CPU.
2.1 FUNÇÕES BÁSICAS DO SISTEMA OPERACIONAL
São várias as funções do sistema operacional, podemos citar:
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
6
•	 permitir que os programas armazenem e obtenham informação;
•	 isolar os programas dos detalhes específicos de hardware;
•	 controlar o fluxo de dados entre os componentes de um computador;
•	 permitir que os programas sejam executados sem a interferência de outros 
programas;
•	 permitir que os programas independentes cooperem periodicamente e 
compartilhem informações;
•	 responder aos erros ou a solicitações dos usuários;
•	 impor um escalonamento entre programas que solicitam recursos;
•	 facilitar o acesso aos recursos do sistema.
FONTE: Adaptado de: <http://www.paginadox.xpg.com.br/downloads/CEFET/so/Aula1.pdf >. 
Acesso em: 22 mar. 2013.
Contudo, sintetizamos todas as funções em duas: facilidade de acesso 
aos recursos do sistema e compartilhamento de recursos de forma organizada e 
protegida, vistos a seguir.
2.1.1 Facilidade de acesso aos recursos do sistema
A parte física da máquina (hardware) é composta por inúmeros componentes 
como discos rígidos, unidades de fita, impressoras, monitores de vídeo, teclados, 
mouses etc., todos interligados e funcionando de forma transparente.
É justamente esse funcionar de “forma transparente”, o papel do sistema 
operacional, que deve garantir que todos esses dispositivos sejam acessados e 
controlados conforme as regras estabelecidas. Essa estrutura pode ser observada 
na figura a seguir.
FIGURA 3 – ESTRUTURA DO SISTEMA OPERACIONAL
FONTE: Os autores
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
7
A gravação de um dado no disco, por exemplo, envolve uma série de 
processos, são comandos necessários para a localização da trilha e do setor, 
transferência dos dados da memória para o local correto, a validação dos dados, 
o controle da integridade e por fim a conclusão da gravação. Para o usuário o 
arquivo foi salvo, mas internamente o ciclo ocorrido foi bem amplo.
2.1.2 Compartilhamento de recursos de forma organizada 
e protegida
O compartilhamento de recursos, principalmente em sistemas multiusuários é 
um papel muito importante que o sistema operacional deve desempenhar. Entretanto, 
os sistemas monousuários também devem ter os recursos gerenciados, pois é só através 
disso que um usuário consegue utilizar todos os dispositivos disponíveis.
Por exemplo,uma impressora não deve ser acessada por dois usuários ao 
mesmo tempo, enquanto um imprime outro deve aguardar, todavia, uma unidade 
de disco pode ser acessada simultaneamente por diversos usuários, e cabe ao 
sistema operacional gerenciar a leitura e escrita dos dados no disco. Isso pode 
parecer para o usuário uma tarefa simples, mas há uma série de processos e rotinas 
envolvidas para que esse procedimento ocorra com sucesso.
2.1.3 Controle e gerenciamento dos recursos de rede
Os sistemas operacionais de rede devem permitir também o 
compartilhamento de recursos entre os usuários e o controle de acesso, permitindo 
que todos interajam de forma cooperativa.
Todos os recursos devem ser monitorados, sendo alocados quando um 
usuário solicita e tem permissão por exemplo.
3 HISTÓRICO
A evolução dos sistemas operacionais ocorreu de forma gradativa e está 
diretamente relacionada à evolução do hardware. A partir da Segunda Guerra 
Mundial, a evolução do hardware deu um salto com grandes avanços.
Podemos dividir a história dos sistemas operacionais em gerações ou fases.
Antes de 1940, as máquinas eram mecânicas, sendo sua programação 
feita através de engrenagens. Só a partir da Segunda Guerra Mundial que se 
desencadeou o processo de criação de máquinas digitais, sendo necessário 
elaborar formas de gerenciá-las.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
8
Este item de nossa apostila mostra a evolução dos sistemas operacionais 
dentro do contexto histórico, da primeira à quinta fase. Alguns autores também 
trazem a fase zero, considerando-a como uma fase antes da era digital.
Alguns autores consideram a geração anterior aos computadores digitais como 
geração zero.
NOTA
3.1 PRIMEIRA GERAÇÃO
Válvulas e Plugs
É a fase compreendida entre os anos de 1940 até 1955. Com o início da 
Segunda Guerra Mundial, também se deu início a era dos computadores digitais, 
sendo o ENIAC (Electronic Numerial Integrator and Computer) o primeiro computador 
digital criado para realizar cálculos balísticos.
O ENIAC pesava 30 toneladas, media 5,50 metros de altura e 25 metros de 
comprimento, ocupando uma área de 180m². Contava com 70 mil resistores e 17.468 válvulas 
a vácuo. Demorou três anos para ser construído. Realizava uma soma em 0.2 milissegundos, 
uma multiplicação de dois números de 10 dígitos em 2.8 milissegundos, e uma divisão em 24 
milissegundos. A temperatura do local de trabalho chegava a 50ºC. Nunca funcionou por 24 
horas ininterruptas (válvulas queimavam e precisavam ser trocadas), e normalmente executava-
se duas vezes um mesmo problema para comprovar o correto funcionamento da máquina. 
Custou US$ 500.000,00 doados pelo exército americano. Na figura a seguir pode ser observada 
uma válvula usada nos primeiros computadores.
NOTA
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
9
FIGURA 4 – VÁLVULA USADA NOS PRIMEIROS COMPUTADORES
FONTE: Disponível em: <http://upload.wikimedia.org/wikipedia/
commons/8/89/VacuumTube1.jpg>. Acesso em: 12 fev. 2013.
Outros computadores como o EDVAC (Electronical Discrete Variable 
Automatic Computer) e o IAS (Princeton Institute for Advanced Studies) também 
pertencem a essa geração.
FONTE: Adaptado de: <http://www.angelfire.com/co/eltonsanders/socap4.html>. Acesso em: 22 
mar. 2013.
Contudo, máquinas como essas exigiam um alto conhecimento no hardware, 
pois sua programação era realizada através de fios em grandes painéis, tudo através 
da linguagem de máquina (a resposta era dada em painéis através de lâmpadas), a 
figura a seguir mostra o painel do ENIAC, mostrando esse processo de programação.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
10
FIGURA 5 – PAINEL DE PROGRAMAÇÃO DO ENIAC 
FONTE: Disponível em: <http://obviousmag.org/archives/2012/03/os_saltos_altos_da_
computacao_1.html>. Acesso em: 20 mar. 2013. 
No início da década de 50, o processo de ligação através de fios nos 
painéis evoluiu para a programação através de cartões perfurados, tornando a 
programação mais fácil, e possível de ser repetida com a releitura dos cartões.
Como cada computador era único tanto em termos de estrutura como 
função, não havia necessidade de um sistema operacional, pois a programação era 
específica de cada máquina.
O advento dos cartões perfurados tornou a programação mais fácil e 
possível de ser repetida com a releitura dos cartões previamente perfurados.
Como cada computador era único, tanto em termos de estrutura como de 
função, não havia necessidade de um sistema operacional, pois a programação era 
específica de cada máquina e era feita exclusivamente para cada computador.
O filme Piratas do Vale do Silício (Pirates of Silicon Valley, 1999), com direção de 
Martyn Burke, conta a história da Microsoft e da Apple. É possível ver um pouco da origem do 
MS-DOS e do Windows, além de haver algumas cenas com uso dos cartões perfurados.
DICAS
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
11
3.2 SEGUNDA GERAÇÃO
Transistores e processamento em Batch
Compreendida entre os anos de 1956 e 1965, essa geração é marcada pelo 
surgimento do transistor e das memórias magnéticas, permitindo o aumento 
da velocidade das máquinas, a diminuição do tamanho dos equipamentos e a 
confiabilidade no processamento, essa é a geração dos computadores de grande 
porte, ou mainframes. A figura a seguir mostra os diferentes tipos de transístores 
usados atualmente.
FIGURA 6 – DIFERENTES TIPOS DE TRANSISTORES USADOS ATUALMENTE
FONTE: Disponível em: <http://www.mikroe.com/old/books/keu/04/4-01.gif. Acesso 
em: 1 fev. 2013.
Nessa geração também há o surgimento das primeiras linguagens de 
comunicação, como Assembly e Fortran, o que permitiu e facilitou a escrita de 
programas, evitando que fossem feitos diretamente no hardware.
Dessa forma surgiu o conceito de Job, onde o programa era escrito em 
papel, posteriormente os cartões eram perfurados com a codificação do programa, 
lidos e processados, tendo o resultado em um relatório impresso.
Os equipamentos possuíam um alto custo, desta forma, um processo Job 
tornava-se caro, a solução foi implementar o processamento em lote (batch), onde 
vários Jobs eram lidos a partir de cartões perfurados e gravados em uma fita 
magnética (utilizando um computador mais barato – 1401). Posteriormente, a fita 
era lida, processada e o resultado gravado em uma fita (utilizando um computador 
mais potente e caro – 7094). Finalmente a fita era lida e impressa novamente usando 
o computador mais barato (1401). A figura a seguir mostra esse processo.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
12
A IBM fez o anúncio do IBM 1401 em 1959. Era um computador totalmente 
transistorizado, com capacidade de memória inicial de 4.096 bytes, podendo ser expandida até 
16 Kb (raras eram as versões com 32 Kb de memória RAM). O IBM 7094 foi criado em 1962 e 
tinha Clock de 500 KHz e 32 Kb de memória operando a 36 bits.
UNI
FIGURA 7 – PROCESSO DE LEITURA E IMPRESSÃO
FONTE: TANENBAUM, Andrew S. Sistemas operacionais modernos. São Paulo: Prentice Hall-Br, 
2003.
3.3 TERCEIRA GERAÇÃO
Circuitos integrados e multiprogramação
A terceira geração ocorreu entre os anos de 1966 e 1980, e destaca-se pelo 
uso dos circuitos integrados e a capacidade de multiprogramação (rodar vários 
programas em fatias de tempo). Na figura a seguir podemos observar diversos 
tipos de circuitos integrados.
No início da década de 60, havia duas linhas de máquinas totalmente 
incompatíveis, uma voltada para o mercado comercial (1401) com grande poder 
de processamento de caracteres, e outra com foco no meio científico (7094), 
com grande poder de processamento matemático. Portanto, escrever sistemas 
operacionais para esse tipo de estrutura era extremamente caro, pois para cada 
linha deveriam ser escritos sistemas operacionais específicos.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
13
FIGURA 8 – TIPOS DE CIRCUITOS INTEGRADOS
FONTE: Disponívelem: <http://img.alibaba.com/photo/331648991/IC_integrated_circuit_
SN74LVC1G38DCKR_TI.jpg>. Acesso em: 20 fev. 2013.
Para unificar as funções do processamento, permitindo dessa forma 
que apenas um único tipo de sistema operacional fosse escrito, a IBM lançou a 
família 360, sendo suas sucessoras chamadas de 370, 4300, 3080 e 3090. A ideia 
de se ter famílias de máquinas sendo todas compatíveis, em teoria facilitaria o 
desenvolvimento de um sistema operacional, entretanto, isso não ocorreu, pois 
dada a complexidade de funções, vários bugs existiam, e a cada atualização, 
problemas eram corrigidos, mas ao mesmo tempo novos eram criados, tornando 
esse processo uma bola de neve.
Com a evolução do hardware, foi possível executar um programa, enquanto 
outro aguarda uma requisição de entrada/saída (I/O), para isso foi necessário criar 
partições de memória onde poderiam estar alocados vários Jobs juntamente com o 
sistema operacional (a figura a seguir mostra essa divisão).
Bug é um erro no funcionamento de um programa, também conhecido como 
falha e que pode causar erros no resultado final esperado pelo processamento.
Esse termo originalmente foi criado por Thomas Edison, quando um inseto causou problemas 
de leitura em seu fonógrafo em 1878. Porém a invenção do termo frequentemente é atribuída 
erroneamente a Grace Hopper, que em 1945 reportou um mau funcionamento no computador 
Mark II, que era causado por um inseto preso nos contatos de um relê.
UNI
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
14
FIGURA 9 – PARTICIONAMENTO DA MEMÓRIA
FONTE: Os autores 
Outros grandes avanços dessa geração foram, a substituição das unidades 
de fita por discos, o que facilitou a submissão dos Jobs de forma aleatória, essa 
técnica foi chamada de spooling; terminais de vídeo e teclado foram inseridos 
criando a interação on-line com o usuário e finalmente os processos foram divididos 
em tempos, oferecendo tempos de resposta razoáveis, a essa técnica deu-se o nome 
de time-sharing.
3.4 QUARTA GERAÇÃO
Computadores pessoais e estações de trabalho (redes)
Ocorrida entre os anos de 1981 e 1990, é marcada pela Integração 
em Larga Escala (Large Scale Integration – LSI) e Integração em Muito Larga 
Escala (Very Large Scale Integration – VLSI), o que acarretou na miniaturização 
do hardware e consequentemente seu barateamento. Como exemplo temos os 
primeiros computadores pessoais de 16 bits. A figura a seguir mostra uma placa 
utilizando VLSI.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
15
FIGURA 10 – MINIATURIZAÇÃO UTILIZANDO VLSI
FONTE: Disponível em: <http://www.lambdaess.com/images/vlsi.jpg>. Acesso em: 15 fev. 
2013.
Nessa geração também surge o MS-DOS, destacando o uso dos 
computadores pessoais. O conceito de multitarefa (executar diversas tarefas 
simultaneamente) também é implementado. O multiprocessamento também 
permitiu a execução de mais de um programa simultaneamente dando origem a 
técnicas de processamento vetorial e paralelismo.
As redes distribuídas começam a ser difundidas e vários protocolos de 
rede são criados, entre eles o TCP/IP, de domínio público. Surgem com isso as 
WANs, MANs e as LANs.
Com o desenvolvimento da rede, é na quarta geração que surgem os sistemas 
operacionais de rede.
IMPORTANT
E
LAN – Local Area Network (abrangência no espaço físico de um ou mais prédios).
MAN – Metropolitan Area Network (abrangência no espaço físico de uma cidade).
WAN – Wide Area Network (abrangência no espaço de vários municípios ou países). Rede remota.
DICAS
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
16
3.5 QUINTA GERAÇÃO
Processamento distribuído, interfaces gráficas, linguagem natural
Marcada pela evolução da VLSI para a ULS (Ultra Large Scale Integration 
– Escala Ultra Larga de Integração), essa fase ocorre de 1991 até os dias atuais, 
permitiu uma grande evolução dos processadores, além de um ganho de velocidade 
muito grande.
O avanço das telecomunicações, a evolução do protocolo TCP/IP e o forte 
desenvolvimento da internet servem de fomento ao desenvolvimento dos sistemas 
distribuídos, substituindo a arquitetura/cliente servidor. A mobilidade dos sistemas 
também merece destaque. Sistemas operacionais aptos a rodarem em aparelhos 
celulares, palmtops e handhelds agregam infinitas possibilidades a esses aparelhos.
A quinta geração marca também o firmamento dos sistemas operacionais 
de interface gráfica, e os sistemas ditos open source (código aberto), dentre eles 
podemos destacar o FreeBSD, Linux e TROPIX.
A próxima geração não tarda a chegar, caminhamos para sistemas baseados 
em linguagem natural dotados de inteligência artificial, e extremamente móveis, 
para a tecnologia não há fronteiras.
Caro acadêmico! Para aprofundar seus conhecimentos sobre a história dos 
sistemas operacionais, leia o primeiro capítulo do livro: Introdução aos Sistemas Operacionais, 
de FLYNN, Ida M.; MCHOES, Ann Mclver. Trad.: Marcelo Alves Mendes. São Paulo: Pioneira 
Thomson Learning, 2002.
DICAS
4 TIPOS DE SISTEMAS OPERACIONAIS
A evolução dos sistemas operacionais discutida anteriormente permitiu a 
implementação de uma grande diversidade de sistemas operacionais, que serão 
abordados neste tópico (vamos seguir a divisão proposta por Tanenbaum (2003), 
Sistemas operacionais modernos).
Dividimos basicamente nossa estrutura em dois tipos de sistema, os 
monotarefas e os multitarefas (a figura a seguir mostra o comparativo entre os 
sistemas). Contudo, essa visão pode ser ampliada, e vários subtipos de sistemas 
aparecem, é o que vamos estudar a seguir.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
17
Os sistemas podem ser divididos conforme seu porte e sua função (observe a 
seguir essa divisão).
DICAS
FIGURA 11 – COMPARATIVO ENTRE SISTEMA MONOTAREFA (ESQUERDA) E MULTITAREFA
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 4° ed., São Paulo: Ed. 
LTC, 2007.
4.1 SISTEMAS OPERACIONAIS DE COMPUTADORES DE 
GRANDE PORTE
Sistemas especiais projetados para computadores de grande porte, 
utilizados em grandes corporações, são especializados em processamento de 
vários processos simultaneamente, gerando uma grande necessidade de I/O.
Podemos dividi-los em: lote, transacional e tempo compartilhado, 
explicados na sequência.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
18
4.1.1 Sistemas operacionais de lote (batch)
Integra o conjunto dos primeiros sistemas operacionais multiprogramáveis 
desenvolvidos. Seu funcionamento não necessita da interação do usuário, sendo 
geralmente carregadas a partir de uma memória secundária.
Processamentos de grandes volumes de dados como relatórios, indexação 
de arquivos, backups, ou até mesmo um grande volume de cálculos utilizam 
sistemas batch.
4.1.2 Sistemas operacionais de tempo compartilhado
Também conhecidos como tempo compartilhado (time-sharing), permite 
a execução dos programas em pequenas fatias de tempo denominadas time-slice, 
sendo que um programa pode ter diversas fatias, caso não seja possível executá-lo 
por inteiro, ele retorna ao processador mais tarde para continuar sua execução.
Sistemas desse tipo permitem que se tenham vários usuários simultaneamente 
conectados através de terminais utilizando uma máquina com processador central, a 
maioria dos sistemas comerciais hoje em dia utilizam essa tecnologia.
4.1.3 Sistemas operacionais transacionais
Sistemas desse tipo possibilitam várias requisições simultâneas de usuário, 
como consultas a passagens aéreas ou reservas de uma cadeia de hotéis. São 
requisições pequenas, mas que possuem um alto volume e precisam ser gerenciadas 
como um todo.
4.2 SISTEMAS OPERACIONAIS DE SERVIDORES
Os servidores também são conhecidos como computadores pessoais 
de muito grande porte, sistemas desse tipo permitem que vários usuários 
compartilhem recursos de hardware e software.
As grandes empresas utilizam sistemas de servidores para compartilhamento 
de impressoras,arquivos, banco de dados, aplicações, ou até mesmo serviços web. 
O Windows 2000 é um claro exemplo desse tipo de sistema operacional.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
19
4.3 SISTEMAS OPERACIONAIS DE MULTIPROCESSADORES
São sistemas especiais preparados para gerenciar hardware composto 
por diversas CPUs, tirando o máximo de proveito do poder de processamento 
equilibrando compartilhamento e gerência dos recursos. Em suma, são sistemas de 
servidores com variações para melhora de comunicação e conectividade.
4.4 SISTEMAS OPERACIONAIS DE COMPUTADORES 
PESSOAIS
Funcionalidade, facilidade e interface amigável são os pressupostos 
dos sistemas operacionais para micros pessoais, todas as pessoas que usam um 
computador em casa, possuem esse tipo de sistema operacional instalado, como 
exemplo podemos citar: Windows 98, Windows XP, Linux, MacOS etc.
4.5 SISTEMAS OPERACIONAIS DE TEMPO REAL
Também conhecidos como sistemas real-time, são usados em situações onde 
o tempo é fundamental para o funcionamento do sistema. São estabelecidos limites 
rígidos de tolerância para a resposta aos processamentos realizados.
Nesse tipo de sistema, não existe o conceito de fatia de tempo, sendo que 
o programa utiliza o processador o tempo necessário para efetuar a tarefa, são 
exemplos de aplicação: refinarias de petróleo, controle do trafego aéreo, usinas 
nucleares, equipamentos médicos, linhas de produção etc.
Dentro dessa categoria podemos ter ainda dois tipos de sistemas:
•	 Tempo Real Crítico: O tempo é crucial.
•	 Tempo Real Não Crítico: O descumprimento ocasional de um prazo é aceitável 
(áudio digital ou multimídia).
O robô Curiosity enviado a Marte usa sistemas em tempo real (figura a seguir).
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
20
FIGURA 12 – ROBÔ EM MARTE, USA SISTEMAS EM TEMPO REAL
FONTE: Wikipédia. Disponível em: <http://pt.wikipedia.org/wiki/2013>. 
Acesso em: 22 mar. 2013.
4.6 SISTEMAS OPERACIONAIS EMBARCADOS
Este tipo de sistema é usado em computadores que geralmente controlam 
dispositivos (computadores que não são considerados como tal), como um aparelho 
de televisão, um forno de micro-ondas, telefones móveis etc.
Um exemplo de sistema operacional embarcado, e que já traz novas tendências 
tecnológicas como toque na tela e controle de dispositivo móvel, é o iPhone OS, que controla 
o iPhone da Apple, além do PamlOS e Windows CE., para dispositivos móveis de propósito geral.
UNI
Na maioria das vezes, sistemas desse tipo apresentam restrições de 
memória, processamento, consumo de energia, contudo desempenhando de forma 
perfeita a função para a qual foram escritos.
4.7 SISTEMAS OPERACIONAIS DE CARTÕES INTELIGENTES
São sistemas operacionais muito pequenos, que rodam em dispositivos 
do tamanho de cartões de crédito. A maioria roda poucas funções, sendo 
extremamente limitada. Entretanto, outros possuem múltiplas funções. Como 
exemplo podemos citar os cartões de banco com chips ou as novas tags RFId, que 
são etiquetas inteligentes com transmissão via ondas de rádio.
TÓPICO 1 | FUNDAMENTOS E CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS
21
Identificação por radiofrequência ou RFID (Radio-Frequency IDentification) método 
de identificação automática através de sinais de rádio, onde os dados podem ser recuperados e 
armazenados de forma remota através de dispositivos denominados etiquetas RFID.
É uma tendência do mercado, em breve os produtos deixarão de ter códigos de barra, e 
passarão a ter etiquetas inteligentes para sua identificação.
DICAS
LEITURA COMPLEMENTAR
A HISTÓRIA DO WINDOWS
A Microsoft foi fundada em 1975 por Bill Gates e Paul Allen. Em 1980, Steve 
Ballmer se junta à companhia. O primeiro produto desenvolvido pela empresa foi 
uma versão do interpretador BASIC, para o computador Altair 8800 da MITS. Em 
1977, foi lançado o Microsoft FORTRAN, para computadores baseados em CP/M.
Em 1980, a IBM planeja lançar seu computador pessoal com o sistema CP/M, 
mas as negociações com a Digital Research falham e a IBM procura a Microsoft 
para desenvolver seu sistema operacional. Sem ter um sistema para entregar, a 
Microsoft acerta um contrato não exclusivo de licenciamento com a IBM e procura 
a Seattle Computers para comprar seu sistema Q-DOS. Em 1982 a Microsoft começa 
a desenvolver aplicações para o Macintosh da Apple, lança o Microsoft COBOL e a 
planilha eletrônica Multiplan para MS-DOS. No ano seguinte anuncia o Microsoft 
Word e o Microsoft Windows. Em 1985 a Microsoft e a IBM assinam acordo para 
desenvolvimento conjunto de um futuro sistema operacional, no mesmo ano lança 
o Microsoft Windows 1.0 por 100 dólares. Em 1987 a Microsoft compra o programa 
de apresentações PowerPoint e lança a planilha eletrônica Excel. Em 1988 a Apple 
acusa a Microsoft de plágio sobre o seu Macintosh OS (este já uma cópia, do Xerox 
Alto) com o Windows 2.0, no ano seguinte formam uma aliança para desenvolver 
o padrão de fontes TrueType.
Em 1990 a Microsoft apresenta o Windows 3.0 para computadores 
pessoais e o OS/2 desenvolvido com a IBM para estações de trabalho. Nos anos 
seguintes anuncia em conjunto com outras empresas os padrões Multimidia PC, 
Advanced Power Management e o Plug and Play. Em 1992 a Microsoft e a IBM 
encerram o acordo de cooperação e dividem o sistema desenvolvido, a IBM passa 
a desenvolver o OS/2 4.0 e a Microsoft anuncia o Windows NT 3.0, no mesmo ano 
lança o Microsoft Access para Windows.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
22
Em 1995 é lançado o Windows 95, um sistema operacional completo para 
computadores pessoais que elimina a necessidade do MS-DOS. No mesmo mês lança 
o Internet Explorer, parte do pacote Windows 95 Plus!, vendido separadamente. No 
ano seguinte lança o Windows NT 4.0, com o visual do Windows 95 e a segurança 
do Windows NT.
Em 1997 a Microsoft compra a WebTV e investe 150 milhões de dólares na 
concorrente Apple. No ano seguinte lança o Windows 98 incorporado ao Internet 
Explorer, iniciando um processo de monopólio movido pelo governo dos Estados 
Unidos, esse processo terminou em 2001 com a condenação da empresa.
Em 2001 lança o Windows XP juntando as linhas de sistemas operacionais 
Windows 95/98/Me para computadores pessoais, com o Windows NT/2000 para 
estações de trabalho, introduzindo uma nova interface gráfica. No mesmo ano 
lança o Xbox, seu primeiro console de videogames que irá competir como Sony 
Playstation e o Nintendo GameCube. Em 2007 a Microsoft lança o Windows Vista 
com uma interface gráfica aprimorada. 
PRINCIPAIS VERSÕES DO WINDOWS
Windows 1.0, novembro de 1985.
Windows 2.0, novembro de 1987.
Windows 2.1/286 e Windows 2.1/386, maio de 1988.
Windows 2.11, março de 1989.
Windows 3.0, maio de 1990.
Windows 3.1, abril de 1992.
Windows for Workgroups 3.1, outubro de 1992.
Windows for Workgroups 3.11, novembro de 1993.
Windows 95, agosto de 1995. Possui várias atualizações: OSR 1, OSR 2, OSR 2.1 e 
OSR 2.5.
Windows 98, junho de 1998. Em maio de 1999 é lançado o Windows 98 SE (second 
edition).
Windows Me, setembro de 2000.
Windows NT 3.1, julho de 1993.
Windows NT 3.5, setembro de 1994.
Windows NT 3.51, maio de 1995.
Windows NT 4.0, julho de 1996. Incorporou a interface gráfica do Windows 95.
Windows 2000, fevereiro de 2000. Internamente é a versão NT 4.0.
Windows XP, outubro de 2001. Versão NT 5.1, recebeu as atualizações SP1 e SP2.
Windows Server 2003, abril de 2003. Versão NT 5.2.
Windows Vista, janeiro de 2007. Versão NT 6.0.
FONTE: InfoEscola. História da Microsoft. Disponível em: <http://www.infoescola.com/
informatica/historia-da-microsoft/13>. Acesso em: 1 mar. 2013.
23
Caro(a) acadêmico(a)! Neste primeiro tópico, você estudou os seguintes 
aspectos:
•	 O que é um sistema operacional e sua importância para o funcionamento de um 
sistema computacional.
•	 A importância do sistema operacional na relação entre o hardware e os usuários.
•	 As funções básicas do sistema operacional: facilidade de acesso aosrecursos 
do sistema, compartilhamento de recursos de forma organizada e protegida, e 
controle e gerenciamento da rede.
•	 Um histórico da evolução dos sistemas operacionais.
•	 A relação direta entre a evolução do hardware e a evolução do sistema operacional 
através das gerações.
•	 Na quarta geração, surgiram os sistemas operacionais de rede, impulsionados 
principalmente pela evolução dos mecanismos de rede e a grande difusão das 
LANs, MANs e WANS.
•	 Verificou que os sistemas operacionais podem ser monotarefa e multitarefa.
•	 É possível dividir os sistemas operacionais segundo suas funções em tipos: 
sistemas operacionais de computadores de grande porte, sistemas operacionais de 
servidores, sistemas operacionais de multiprocessadores, sistemas operacionais 
de computadores pessoais, sistemas operacionais de tempo real, sistemas 
operacionais embarcados e sistemas operacionais de cartões inteligentes.
•	 Viu uma breve história do Windows.
RESUMO DO TÓPICO 1
24
Caro(a) acadêmico(a)! Resolva as questões a seguir para aprofundar 
seus conhecimentos e reforçar seu aprendizado.
1 Quais são os elementos que compõem a estrutura de um sistema 
computacional?
2 Quais são as funções básicas de um sistema operacional?
3 Quais gerações são apontadas na história e qual é o período que 
compreendem?
4 Em qual geração surgiram os sistemas operacionais de rede? Por quê?
5 Quais são os tipos de sistemas operacionais?
6 Em que ano surgiu a primeira versão do Windows?
AUTOATIVIDADE
25
TÓPICO 2
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS
 TRADICIONAIS E DE REDES
UNIDADE 1
1 INTRODUÇÃO
Os sistemas operacionais podem ser classificados como fortemente 
acoplados e fracamente acoplados em função da quantidade de processadores e 
dispositivos de entrada e saída que controlam.
A evolução do hardware criou os processadores de múltiplos núcleos (Core 2 
Duo e Quad Core, i3, i5 e i7 são exemplos) ou máquinas com mais de um processador 
(máquinas multiprocessadas), que compartilham recursos como memória e 
dispositivos de I/O. Os sistemas que controlam essas máquinas são considerados 
fortemente acoplados, ao passo que sistemas independentes conectados por uma 
rede (um laboratório, por exemplo) são considerados fracamente acoplados.
Este tópico aborda ambos os tipos de sistemas, explicando sua aplicação 
e uso. Atente para os sistemas fracamente acoplados, geralmente sistemas 
operacionais de rede.
2 SISTEMAS FORTEMENTE ACOPLADOS
Sistemas operacionais tradicionais
Os sistemas fortemente acoplados (tightly coupled) caracterizam-se pela 
existência de um único sistema operacional controlando vários processadores e 
compartilhando apenas uma memória.
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
26
Alguns sistemas fortemente acoplados permitem ampliar sua capacidade 
de processamento apenas adicionando novos processadores (desde que haja suporte na 
placa-mãe). Outra vantagem desse tipo de arquitetura é o custo de desenvolvimento, pois 
processadores com mais de um núcleo são mais baratos que processadores de núcleo único.
IMPORTANT
E
São sistemas aplicados em processamento científico, como exploração de 
petróleo, controle do clima, desenvolvimento aeroespacial etc., pois qualquer 
aplicação que use intensivamente a capacidade de processamento pode beneficiar-
se com a inclusão de novos processadores ao sistema. Na figura a seguir temos a 
representação de um sistema fortemente acoplado.
FIGURA 13 – SISTEMAS FORTEMENTE ACOPLADOS
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., 
São Paulo: Ed. LTC, 2002
A divisão dos sistemas fortemente acoplados pode ser feita conforme a 
simetria dos processadores, a seguir veremos em detalhes cada uma delas.
2.1 SISTEMAS ASSIMÉTRICOS
Sistemas assimétricos, também conhecidos como mestre/escravo (master/
slave), baseiam-se na premissa de que apenas um processador pode executar 
os serviços do sistema operacional, ou seja, as chamadas de I/O, as SystemCalls, 
interrupções e demais processos críticos sempre são realizadas pelo processador 
principal, os demais processadores, quando necessitam realizar esse tipo de 
operação, devem solicitar ao mestre.
TÓPICO 2 | INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E DE REDES
27
Mais adiante você estudará os conceitos de interrupções e System Calls.
ESTUDOS FU
TUROS
A figura a seguir mostra o esquema de um sistema assimétrico.
FIGURA 14 – SISTEMAS ASSIMÉTRICOS
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São 
Paulo: Ed. LTC, 2002.
Essa organização tem algumas desvantagens, a mais crítica é que se o processador 
mestre falhar, o sistema todo para, outro problema é o grande overhead gerado na situação de 
vários processadores requisitarem I/O, isso geraria lentidão no sistema em função do grande 
número de vezes que o processador mestre seria interrompido.
NOTA
2.2 SISTEMAS SIMÉTRICOS
O processamento simétrico (Simmetric Multiprocessing – SMP) garante 
que todos os processadores realizem as mesmas funções, exceto o boot e outras 
pequenas funções que ficam a cargo do processador principal (pois geralmente 
dependem do início pelo endereçamento zero, proveniente da BIOS).
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
28
Essa forma de organização pode gerar conflitos de acesso à memória que 
devem ser cuidadosamente gerenciados, entretanto o poder de processamento 
é aumentado, principalmente com o paralelismo (rodar um mesmo programa 
ao mesmo tempo em processadores diferentes), e tolerável a falhas, pois se um 
processador falhar, o sistema continua operante. A figura 15 mostra essa organização.
FIGURA 15 – SISTEMAS SIMÉTRICOS
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° 
ed., São Paulo: Ed. LTC, 2002.
2.3 SISTEMAS COM MULTIPROCESSAMENTO
O multiprocessamento divide o programa em fatias que podem ser 
executadas simultaneamente em diversos processadores. A seguir abordaremos 
os dois níveis de processamento existentes: vetorial e paralelo.
2.3.1 Processamento vetorial
O processamento vetorial permite a manipulação de vetores inteiros, sendo 
as instruções executadas sobre os vários elementos de um ou mais vetores. As 
aplicações que rodam nesses computadores devem possuir código vetorizável. 
Como exemplo de aplicação que utiliza perfeitamente esta arquitetura, 
podemos citar os modelos numéricos de previsão de tempo e clima (utilizados 
na Meteorologia). Aplicações desse porte trabalham com matrizes numéricas de 
grande tamanho e complexidade; ao ser utilizado um processamento vetorial, se 
ganha muito em processamento.
Com um processamento paralelo, reduz-se consideravelmente a quantidade 
de operações necessárias para simular os movimentos e sistemas meteorológicos. 
Máquinas vetoriais processam dados em altíssimas velocidades, processando, em 
segundos, informações que os computadores normais levariam horas.
TÓPICO 2 | INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E DE REDES
29
Um processador vetorial possui instruções que agilizam a manipulação de vetores. 
Como exemplo de uso podemos pegar a seguinte expressão: C[x] = A[x] + B[x], seria executada 
por apenas uma instrução vetorial, ganhando tempo ao passo que num processador escalar o 
processo envolveria a busca do valor no vetor A, posteriormente a busca no vetor B, somá-los 
e finalmente armazenar no vetor C.
NOTA
2.3.2 Processamento paralelo
No processamento paralelo, uma aplicação pode ser executada 
simultaneamente por mais de um processador. Contudo, para que isso ocorra, é 
necessário que se possa dividir a tarefa em partes independentes, sem que gere 
conflito ou dependência entre as outras partes.
Um exemplo de uso de processamento paralelo é o uso em cálculos 
científicos, onde expressões complexas podem ser quebradas em instruções 
menores que por sua vez podem ser executadas em níveis vetoriais.
Como exemplo de uso de processo paralelo, imaginemos a seguinte expressão:x = (a + b) + (c * b) + (d / a) + (b * i) poderia ser dividida em quatro partes sendo todas 
executadas simultaneamente:
V[1] = (a + b)
V[2] = (c * b)
V[3] = (d / a)
V[4] = (b * i)
NOTA
2.4 QUANTO À ORGANIZAÇÃO FUNCIONAL
Quanto à organização funcional interna, é necessário que a comunicação 
dos dispositivos de I/O e o processador ocorram de forma correta. Para isso temos 
três formas de organização, conforme Machado e Maia (2002):
•	 Barramento comum (common bus ou time-shared bus) – a comunicação entre os 
processadores e demais controladores é feita através de um barramento comum. 
Entretanto, como desvantagem, citamos o fato de que apenas um processador 
pode utilizar o barramento por vez, o que pode causar problemas de performance. 
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
30
Outro fator negativo é que, se houver comprometimento do barramento, o 
sistema falhará por falta de comunicação (figura 16a).
•	 Barramento cruzado (crossbar-switch matrix): Essa estrutura permite a conexão 
simultânea das unidades funcionais, o único problema é gerenciar os conflitos 
de acesso à memória simultaneamente por dois processadores (figura 16b).
•	 Memória multiport: Nesse esquema, os processadores podem acessar a memória 
ao mesmo instante, e os conflitos controlados pelos próprios módulos (figura 16c).
FIGURA 16 – (A) BARRAMENTO COMUM, (B) BARRAMENTO CRUZADO E (C) MEMÓRIA 
MULTIPORT
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São Paulo: Ed. 
LTC, 2002.
TÓPICO 2 | INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E DE REDES
31
3 SISTEMAS FRACAMENTE ACOPLADOS
Sistemas operacionais de rede
A característica desses sistemas é possuir dois ou mais sistemas 
interligados, e cada sistema é controlado pelo seu próprio sistema operacional. 
É importante destacar que cada sistema possui e gerencia seus próprios recursos 
como processador memória e dispositivos de I/O.
Com as redes de computadores evoluídas juntamente com o hardware, o 
conceito de sistema fracamente acoplado evoluiu para rede de computadores (hoje 
é comum termos esse tipo de sistema em nosso dia a dia) (MACHADO; MAIA, 
2002). A figura a seguir mostra o mecanismo de sistemas fracamente acoplados.
FIGURA 17 – SISTEMA FRACAMENTE ACOPLADO
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São Paulo: Ed. 
LTC, 2002.
Para melhor entendimento, imaginemos uma rede de computadores 
onde cada máquina possui seu próprio sistema operacional, mas interconectada 
pode compartilhar recursos. Na figura a seguir podemos observar os sistemas 
fracamente acoplados através da visão de uma rede de computadores.
Usa-se o desenho de uma nuvem para representar uma rede de computadores.
DICAS
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
32
FIGURA 18 – REDE DE COMPUTADORES (SISTEMAS FRACAMENTE ACOPLADO)
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São 
Paulo: Ed. LTC, 2002.
Neste tópico abordaremos as duas subdivisões dos sistemas fracamente 
acoplados: sistemas operacionais de rede e sistemas operacionais distribuídos.
3.1. SISTEMAS OPERACIONAIS DE REDE
Os sistemas operacionais de rede também chamados de SOR possuem vários 
equipamentos cada um com seu próprio sistema operacional interconectados, o 
que possibilita o compartilhamento de recursos entre os usuários.
As redes locais são exemplos dessa arquitetura, inclusive possuindo 
hardware e sistema operacionais diferentes, o sistema funciona perfeitamente, e 
mesmo na falha de algum equipamento o sistema continua operando, limitando-se 
apenas a ausência do recurso com problema (MACHADO; MAIA, 2002). A figura 
a seguir mostra o leiaute de uma rede de computadores.
TÓPICO 2 | INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E DE REDES
33
FIGURA 19 – REDE DE COMPUTADORES, DISPOSITIVOS INDEPENDENTES 
COMPARTILHANDO RECURSOS
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São 
Paulo: Ed. LTC, 2002.
3.2 SISTEMAS OPERACIONAIS DISTRIBUÍDOS
Essa arquitetura propõe que os sistemas estejam separados, mas com um 
forte relacionamento entre si, sendo que na maioria das vezes possuem o mesmo 
sistema operacional, e para os usuários a rede é apresentada de forma transparente.
O balanceamento de carga é um forte ponto positivo dos sistemas 
distribuídos, pois possibilita que uma tarefa seja processada por um processador 
que esteja ocioso. O compartilhamento de recursos também é transparente, pois 
uma impressora em um ponto de rede pode ser vista como um dispositivo local 
(MACHADO; MAIA, 2002).
Além do balanceamento de carga, esse sistema também oferece a vantagem 
de ser tolerante a falhas, pois na eventualidade de falha de um sistema, outro pode 
assumir o papel do sistema problemático impedindo que os processos parem.
A figura a seguir mostra a visão de um sistema distribuído, note que os 
computadores estão espalhados dentro de uma rede, mas na visão do usuário 
existe apenas uma máquina. Os sistemas operacionais, nesse caso, devem estar 
relacionados e compatibilizados.
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
34
FIGURA 20 – SISTEMAS OPERACIONAIS DISTRIBUÍDOS
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São 
Paulo: Ed. LTC, 2002.
O projeto Seti (Search for Extra-Terrestrial Intelligence) é um exemplo de 
computação distribuída, no qual várias máquinas processam uma tarefa. Há necessidade, 
entretanto, da instalação de um software no sistema operacional que processe as informações.
Além do projeto Seti, temos como exemplo o Climateprediction.net (que simula o clima na Terra), 
o PrimeGrid (que busca encontrar o maior número primo do mundo), além de tantos outros.
Acesse o site: <http://boinc.berkeley.edu/> e veja a lista de projetos e, se interessar, participe, 
vale a pena!
NOTA
3.3 QUANTO À ORGANIZAÇÃO FUNCIONAL
Diferentemente dos sistemas fortemente acoplados, a organização funcional 
dos sistemas fracamente acoplados é definida pela topologia, ou seja, a posição 
dos computadores e como estão interligados. Temos dois tipos de topologias 
(MACHADO; MAIA, 2002):
•	 Barramento: Nessa topologia os sistemas são conectados através de uma única 
linha, usado em redes locais, todos compartilham o mesmo meio. Como problema 
aponta-se a falha ao meio, que compromete todo o sistema (figura 21a).
•	 Organização distribuída: Caracteriza-se por possuir várias linhas de comunicação 
entre os diversos equipamentos, desta forma, na falha de alguma delas, outra 
pode permitir a comunicação, muito utilizado em redes distribuídas (figura 21b).
TÓPICO 2 | INTRODUÇÃO AOS SISTEMAS OPERACIONAIS TRADICIONAIS E DE REDES
35
FIGURA 21 – (A) BARRAMENTO E (B) ORGANIZAÇÃO DISTRIBUÍDA
FONTE: MACHADO, F. M.; MAIA, L. P. Arquitetura de sistemas operacionais. 3° ed., São 
Paulo: Ed. LTC, 2002.
LEITURA COMPLEMENTAR
Supercomputador criado com mais de um milhão de núcleos bate recorde
A Universidade de Stanford, nos EUA, ultrapassou a marca de 1 milhão de 
cores de processamento em um supercomputador. O IBM Blue Gene/Q Sequoia 
suporta exatos 1.572.864 núcleos de processadores, que funcionam em conjunto com 
1.6 petabytes de memória. A supermáquina é usada para simulações complexas do 
comportamento dos fluídos e os dados são muito úteis para a indústria aeronáutica.
Uma das principais aplicações do volume de informações colhidas a cada 
simulação do supercomputador é fornecer subsídios a engenheiros para que eles 
criem motores de aeronaves mais silenciosos. Como as turbinas de aviões atuais 
funcionam, basicamente, sugando e expulsando ar, que é um fluído, os dados 
extremamente precisos permitem que novos designs e aprimoramentos nas 
turbinas sejam testados dentro do computador. Assim, não há a necessidade de 
desenvolver protótipos. Além disso, vale lembrar que não é possível entrar em 
uma turbina para vê-la em funcionamento.
Pesquisadores resolveram problemacausado por grande volume de dados
Em termos de computação, há uma tendência a achar que mais é melhor. 
Mais memória, mais núcleos, mais processadores tenderiam a aumentar a 
capacidade de um sistema. Contudo, quando se fala na casa do milhão e meio 
de núcleos de processamentos, problemas começam a mostrar que, nem sempre, 
muito mais é melhor.
UNIDADE 1 | INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
36
Supercomputadores funcionam quebrando porções matemáticas de problemas 
complexos. Cada pedaço dos cálculos pesados realizados pela máquina é endereçado 
a um grupo de processadores, que computa os dados e entrega os resultados no 
dispositivo de saída. Esse princípio faz com que soe natural que o supercomputador 
com 1,5 milhão de processadores seja melhor do que aquele com 500 mil.
No entanto, até o IBM Blue Gene/Q Sequoia de Stanford ser desenvolvido, 
havia um problema: surgia um gargalo de dados quando o computador chegava a 
um valor próximo de 1 milhão de processadores. Tantos núcleos funcionando a altas 
velocidades geravam um volume de dados tão grande que o sistema chegava a um 
bloqueio. Isso acontecia porque os softwares que operavam máquinas com milhões 
de núcleos não eram refinados o suficiente para dar vazão a tanta informação.
Em Stanford, esse problema foi resolvido com uma complexa reengenharia 
diretamente no código do software e no processamento dos dados. O resultado 
proposto foi o CharLES, um tipo de sistema operacional, digamos assim, capaz de 
aproveitar todo o poderio dos 1,5 milhões de cores do supercomputador.
FONTE: TechTudo. Supercomputador criado com mais de um milhão de núcleos bate recorde. 
Disponível em: <http://www.techtudo.com.br/curiosidades/noticia/2013/01/supercomputador-
criado-com-mais-de-um-milhao-de-nucleos-bate-recorde.html>. Acesso em: 10 fev. 2013.
37
RESUMO DO TÓPICO 2
 Caro(a) acadêmico(a)! No Tópico 2, você estudou os seguintes conteúdos:
•	 Os sistemas podem ser classificados como fortemente e fracamente acoplados.
•	 A expansão de sistemas fortemente acoplados ocorre pela adição de novos 
processadores.
•	 Um sistema assimétrico utiliza o mecanismo mestre/escravo.
•	 Nos sistemas simétricos os processadores realizam as mesmas funções.
•	 Sistemas com processamento vetorial utilizam apenas uma instrução para a 
manipulação dos vetores.
•	 Sistemas paralelos permitem a quebra de uma tarefa em pequenas partes.
•	 Os sistemas fracamente acoplados utilizam processamento separado, onde os 
equipamentos são interconectados através de redes ou barramentos.
•	 Barramento e organização distribuída são as formas de organização funcional 
dos sistemas fracamente acoplados.
38
Caro(a) acadêmico(a)! Para seu melhor aprofundamento resolva as 
questões a seguir.
1 Baseado na leitura complementar, pesquise na internet outras formas de 
adaptação de equipamentos, e os sistemas operacionais utilizados para a 
comunicação entre eles.
2 Especifique como poderiam ser conectados três computadores, duas 
impressoras e um sistema de armazenamento de forma que todos 
compartilhassem recursos.
AUTOATIVIDADE
39
TÓPICO 3
FUNDAMENTAÇÃO DA GERÊNCIA DE MEMÓRIA
UNIDADE 1
1 INTRODUÇÃO
A memória é parte fundamental para o processamento dos dados em um 
computador, pois é nela que são armazenados antes de serem executados nos 
registradores da CPU. Seu correto funcionamento e gerenciamento são primordiais 
para que a integridade dos dados seja garantida e, consequentemente, a correta 
execução do programa.
Para tanto, o sistema operacional deve oferecer mecanismos para que os 
dados e os processos em execução interajam entre si sem causar a perda de dados, 
tampouco a sua violação ou falha.
Com a evolução do hardware, as formas de acesso e gerência da memória 
também evoluíram, e o sistema operacional ganhou com isso, fôlego para aprimorar 
o gerenciamento do hardware como um todo.
Neste tópico estudaremos a evolução e a forma com que ocorre o gerenciamento 
da memória do computador, e o papel que o sistema operacional desempenha.
2 A MEMÓRIA DO COMPUTADOR
Podemos considerar que todo dispositivo capaz de armazenar dados no 
computador é chamado de memória, podendo armazenar pequenas quantidades de 
bits (registradores) até grandes massas de dados (discos magnéticos e fitas magnéticas).
Quanto a sua organização, podemos dividir as memórias em uma 
hierarquia conforme sua velocidade e custo. Podemos observar isso na figura a 
seguir (SILBERSCHATZ; GALVIN, 2000).
O sistema operacional deve gerenciar e controlar o acesso aos dados que 
estão nas diversas camadas dessa hierarquia, principalmente das camadas iniciais, 
onde ocorre um grande fluxo de dados.
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
40
Antigamente os cartões perfurados também eram considerados unidades de 
memória, pois armazenavam os dados em papel.
NOTA
FIGURA 22 – HIERARQUIA DOS DISPOSITIVOS DE ARMAZENAMENTO
FONTE: Silberschatz, Galvin e Gagne (2001)
Toda essa divisão hierárquica só foi possível através da evolução do 
computador e dos sistemas operacionais, nos itens a seguir veremos como a 
gerência de memória evoluiu até a atualidade.
Os dispositivos de armazenamento podem ser voláteis (perdem seu conteúdo 
quando é interrompida a energia – a memória RAM é um exemplo) e não voláteis (permanecem 
com os dados mesmo depois da falta de energia – podemos citar aqui os discos rígidos).
NOTA
TÓPICO 3 | FUNDAMENTAÇÃO DA GERÊNCIA DE MEMÓRIA
41
3 ALOCAÇÃO DE MEMÓRIA
O gerenciamento de memória é um processo altamente crítico para o sistema 
operacional. Como apenas as instruções que estão na memória principal é que 
podem ser executadas, cabe ao sistema operacional manter na memória o maior 
número possível de processos, evitando desta forma a queda de desempenho no 
sistema como um todo.
Vamos falar a seguir dos diferentes tipos de alocação de memória, iniciando 
pelo mais simples de todos, implementado nos primeiros sistemas operacionais: 
alocação simples.
3.1 ALOCAÇÃO CONTÍGUA DE ÚNICO USUÁRIO 
(ALOCAÇÃO SIMPLES)
Este tipo de alocação consiste em dividir a memória em duas partes, uma 
para o sistema operacional e outra para o programa do usuário.
Como nos primórdios da computação apenas um programa era executado 
por vez, bastava ao sistema operacional, carregá-lo na memória para sua execução, 
entretanto era importante que o tamanho do programa fosse menor que a memória 
disponível, pois o mesmo deveria ser alocado integralmente na memória.
Como o programa deveria ser alocado inteiro na memória, se a área de memória 
disponível fosse menor que o tamanho do programa, este não poderia ser executado. Salienta-
se que antigamente apesar do grande tamanho dos computadores, sua memória era limitada.
NOTA
A figura a seguir mostra a divisão da memória no esquema de alocação 
simples, detalhando inclusive o ponto de divisão das áreas do sistema operacional 
e do programa do usuário que se utilizava de um registrador com o endereço limite 
da memória. Toda vez que um programa era alocado na memória, os endereços 
eram comparados com o endereço limite do registrador, no caso de ser maior o 
processo era interrompido (gerado o erro de violação de acesso – access violation).
UNIDADE 1 |INTRODUÇÃO E FUNDAMENTOS DE SISTEMAS OPERACIONAIS
42
FIGURA 23 – ESTRUTURA DA MEMÓRIA NO SISTEMA DE ALOCAÇÃO SIMPLES
FONTE: Os autores
Destaca-se que nesse sistema de alocação, se o programa não ocupar toda 
a área da memória, o espaço não utilizado fica vazio e não pode ser utilizado para 
outro processamento.
Para resolver os problemas de incompatibilidade do tamanho dos programas com 
a memória livre disponível, foi criada a técnica de overlay, que consistia em dividir o programa 
em módulos que eram carregados na memória somente quando necessários, e substituíam 
os módulos já utilizados. Para essa divisão, alocava-se o espaço necessário para comportar o 
maior módulo do programa, obtendo um melhor aproveitamento da memória. Esses arquivos 
de overlay

Outros materiais