Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 120 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 120 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 120 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
SISTEMAS 
OPERACIONAIS
2
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
A Faculdade Multivix está presente de norte a sul 
do Estado do Espírito Santo, com unidades em 
Cachoeiro de Itapemirim, Cariacica, Castelo, Nova 
Venécia, São Mateus, Serra, Vila Velha e Vitória. 
Desde 1999 atua no mercado capixaba, des-
tacando-se pela oferta de cursos de gradua-
ção, técnico, pós-graduação e extensão, com 
qualidade nas quatro áreas do conhecimen-
to: Agrárias, Exatas, Humanas e Saúde, sem-
pre primando pela qualidade de seu ensino 
e pela formação de profissionais com cons-
ciência cidadã para o mercado de trabalho.
Atualmente, a Multivix está entre o seleto 
grupo de Instituições de Ensino Superior que 
possuem conceito de excelência junto ao 
Ministério da Educação (MEC). Das 2109 institui-
ções avaliadas no Brasil, apenas 15% conquistaram 
notas 4 e 5, que são consideradas conceitos 
de excelência em ensino.
Estes resultados acadêmicos colocam 
todas as unidades da Multivix entre as 
melhores do Estado do Espírito Santo e 
entre as 50 melhores do país.
 
miSSÃO
Formar profissionais com consciência cida-
dã para o mercado de trabalho, com ele-
vado padrão de qualidade, sempre mantendo a 
credibilidade, segurança e modernidade, visando 
à satisfação dos clientes e colaboradores.
 
ViSÃO
Ser uma Instituição de Ensino Superior reconheci-
da nacionalmente como referência em qualidade 
educacional.
GRUPO
MULTIVIX
3
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
BiBLiOteca mULtiViX (Dados de publicação na fonte)
As imagens e ilustrações utilizadas nesta apostila foram obtidas no site: http://br.freepik.com
Costa, Charles Edward.
Sistemas Operacionais / Charles Edward Costa; Otaviano Silvério de Sousa. – Serra: Multivix, 2018.
eDitOriaL
Catalogação: Biblioteca Central Anisio Teixeira – Multivix Serra
2018 • Proibida a reprodução total ou parcial. Os infratores serão processados na forma da lei.
FacULDaDe capiXaBa Da Serra • mULtiViX
Diretor Executivo
Tadeu Antônio de Oliveira Penina
Diretora Acadêmica
Eliene Maria Gava Ferrão Penina
Diretor Administrativo Financeiro
Fernando Bom Costalonga
Diretor Geral
Helber Barcellos da Costa
Diretor da Educação a Distância
Pedro Cunha
Conselho Editorial
Eliene Maria Gava Ferrão Penina (presidente 
do Conselho Editorial)
Kessya Penitente Fabiano Costalonga
Carina Sabadim Veloso
Patrícia de Oliveira Penina
Roberta Caldas Simões
Revisão de Língua Portuguesa
Leandro Siqueira Lima
Revisão Técnica
Alexandra Oliveira
Alessandro Ventorin
Graziela Vieira Carneiro
Design Editorial e Controle de Produção de Conteúdo
Carina Sabadim Veloso
Maico Pagani Roncatto
Ednilson José Roncatto
Aline Ximenes Fragoso
Genivaldo Félix Soares
Multivix Educação a Distância
Gestão Acadêmica - Coord. Didático Pedagógico
Gestão Acadêmica - Coord. Didático Semipresencial
Gestão de Materiais Pedagógicos e Metodologia
Direção EaD
Coordenação Acadêmica EaD
4
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
Aluno (a) Multivix,
Estamos muito felizes por você agora fazer parte 
do maior grupo educacional de Ensino Superior do 
Espírito Santo e principalmente por ter escolhido a 
Multivix para fazer parte da sua trajetória profissional.
A Faculdade Multivix possui unidades em Cachoei-
ro de Itapemirim, Cariacica, Castelo, Nova Venécia, 
São Mateus, Serra, Vila Velha e Vitória. Desde 1999, 
no mercado capixaba, destaca-se pela oferta de 
cursos de graduação, pós-graduação e extensão 
de qualidade nas quatro áreas do conhecimento: 
Agrárias, Exatas, Humanas e Saúde, tanto na mo-
dalidade presencial quanto a distância.
Além da qualidade de ensino já comprova-
da pelo MEC, que coloca todas as unidades do 
Grupo Multivix como parte do seleto grupo das 
Instituições de Ensino Superior de excelência no 
Brasil, contando com sete unidades do Grupo en-
tre as 100 melhores do País, a Multivix preocupa-
-se bastante com o contexto da realidade local e 
com o desenvolvimento do país. E para isso, pro-
cura fazer a sua parte, investindo em projetos so-
ciais, ambientais e na promoção de oportunida-
des para os que sonham em fazer uma faculdade 
de qualidade mas que precisam superar alguns 
obstáculos. 
Buscamos a cada dia cumprir nossa missão que é: 
“Formar profissionais com consciência cidadã para o 
mercado de trabalho, com elevado padrão de quali-
dade, sempre mantendo a credibilidade, segurança 
e modernidade, visando à satisfação dos clientes e 
colaboradores.”
Entendemos que a educação de qualidade sempre 
foi a melhor resposta para um país crescer. Para a 
Multivix, educar é mais que ensinar. É transformar o 
mundo à sua volta.
Seja bem-vindo!
APRESENTAÇÃO 
DA DIREÇÃO 
EXECUTIVA
Prof. Tadeu Antônio de Oliveira Penina 
Diretor executivo do Grupo multivix
5
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
APRESENTAÇÃO DA DISCIPLINA
De forma equivocada, pode-se entender que sistemas operacionais se tratam de algo 
elementar em tecnologia, sendo apenas a base para o desenvolvimento e instalação 
de aplicações. Esse equívoco leva um estudante a priorizar, no curso, a utilização de 
ferramentas e padrões UML e a focar em uma linguagem de programação de alto 
nível, por exemplo. A disciplina de sistemas operacionais deve ser vista de forma téc-
nica, a qual se adquire fundamentação para identificar onde a aplicação analisada 
ou em desenvolvimento vai operar e encontrar formas de maximização de desem-
penho dessas aplicações. Nesta disciplina, serão apresentados os aspectos gerais de 
sistemas operacionais, de conceituação e histórico até o contato com sistemas distri-
buídos. No decorrer das unidades, serão abordados como se realizam os diversos ge-
renciamentos de responsabilidade do sistema operacional (SO), tais como gerência 
de processos em execução, gerência de sistemas de arquivos, gerência de memória 
e gerenciamento de dispositivos em um ambiente computacional. Recomenda-se 
que apoie o estudo deste material com as referências listadas no decorrer do conteú-
do e ao final de cada unidade. Espera-se que esta disciplina transmita conhecimento 
essencial sobre sistemas operacionais para fundamentar ainda mais a carreira dos 
estudantes de Tecnologia da Informação (TI).
Objetivos da disciplina
Esperamos que, até o final da disciplina, você:
• Descreva o conceito de sistema operacional, tipos, composição e arquiteturas.
• Explique conceitos de linguagem de baixo nível.
• Analise a evolução dos computadores e seus sistemas operacionais.
• Analise os diversos gerenciamentos realizados por um sistema operacional. 
• Identifique as interfaces de um sistema operacional.
• Analise casos de uso de sistemas operacionais.
6
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
 > FIGURA 1 - Abstração de níveis em ambiente computacional 
(âmbito de SO) 17
 > FIGURA 2 - Raspberry PI 2 Model B 18
 > FIGURA 3 - Exemplo de mainframe/data center 19
 > FIGURA 4 - Componentes que caracterizam um 
sistema operacional 23
 > FIGURA 5 - Arquitetura SO com núcleo monolítico 27
 > FIGURA 6 - Arquitetura de SO micronúcleo 28
 > FIGURA 7 - Arquitetura cliente-servidor 29
 > FIGURA 8 - FIGURA 1 – Representação PCB 36
 > FIGURA 9 - Diagrama de estados de processos. 38
 > FIGURA 10 - Hierarquia de processos 39
 > FIGURA 11 - Chaveamentode contexto 40
 > FIGURA 12 - Especificações do processador Intel Core i7-8700T 44
 > FIGURA 13 - Transição de estados de um thread Java 44
 > FIGURA 14 - Congestionamento de trânsito 46
 > FIGURA 15 - Hierarquia de memória 54
 > FIGURA 16 - Overlay 58
 > FIGURA 17 - Alocação particionada estática 59
 > FIGURA 18 - Exemplo de fragmentação interna 60
 > FIGURA 19 - Alocação particionada dinâmica 61
 > FIGURA 20 - Exemplo de fragmentação externa 62
 > FIGURA 21 - Swapping Out e Swapping In 64
 > FIGURA 22 - Paginação 67
 > FIGURA 23 - Segmentação 68
 > FIGURA 24 - Segmentação 69
 > FIGURA 25 - Vários dispositivos de entrada e saída. 73
 > FIGURA 26 - Interação de portas em gerencia de dispositivos 74
LiSta De FiGUraS
7
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
 > FIGURA 27 - Esquema representando controladores E/S, 
memória e CPU. 76
 > FIGURA 28 - Arquitetura em camadas do gerenciamento 
de dispositivos 77
 > FIGURA 29 - Gerenciador de dispositivos do sistema Windows 79
 > FIGURA 30 - Camadas de softwares em gerência de E/S 80
 > FIGURA 31 - Abstração de arquivos físicos 87
 > FIGURA 33 - Estrutura de três tipos de arquivos 90
 > FIGURA 34 - Atributos e significados 93
 > FIGURA 35 - Diretório único compartilhado por todos os usuários. 94
 > FIGURA 36 - Nível hierárquico ou árvore de diretórios. 94
 > FIGURA 37 - Possibilidade de layout de sistema de arquivos. 95
 > FIGURA 39 - Armazenamento encadeado usando 
tabela na memória. 97
 > FIGURA 40 - Representação de arquivo compartilhado 98
 > FIGURA 41 - Configuração de backup Windows 10 Professional 100
 > FIGURA 42 - Terminal do interpretador Shell Bourne 105
 > FIGURA 43 - Prompt de comando 105
 > FIGURA 44 - GUI presente no MAC OS X 107
 > FIGURA 45 - Abstração de uma rede de computadores 111
 > FIGURA 46 - Figura 5 – Topologias de redes 112
 > FIGURA 47 - Serviços/protolocos da internet 113
 > FIGURA 48 - Serviços/protolocos da internet 114
 > FIGURA 49 - Componentes do sistema Linux 117
8
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
LiSta De QUaDrOS
 > QUADRO 1 - Termos básicos 16
 > QUADRO 2 - Observações relacionadas à comunicação 
interprocessos 42
 > QUADRO 3 - Tipos de Deadlock. 48
 > QUADRO 4 - Principais comandos reconhecidos pelo 
prompt no Windows 109
 > QUADRO 5 - Principais comandos reconhecidos no Kurumin - Linux 110
9
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
SUmÁriO
1UNIDADE
2UNIDADE
1 cOnceitOS/FUnciOnaLiDaDeS e HiStÓricO De 
SiStemaS OperaciOnaiS 15
1.1 CONCEITOS INICIAIS 15
1.1.1 SISTEMA OPERACIONAL 16
1.1.2 TIPOS DE SISTEMAS OPERACIONAIS 20
1.1.2.1 TEMPO REAL 20
1.1.2.2 MONOUSUÁRIO 20
1.1.2.3 MULTIUSUÁRIO 21
1.1.2.4 MULTIPLATAFORMA 22
1.1.3 CARACTERÍSTICAS DE UM SISTEMA OPERACIONAL 22
1.1.3.1 ESCALONADOR DE PROCESSOS 23
1.1.3.2 GERENCIADOR DE MEMÓRIA 24
1.1.3.3 GERENCIADOR DE ENTRADAS E SAÍDAS 24
1.1.3.4 GERENCIADOR DE COMUNICAÇÃO INTERPROCESSOS (IPC) 24
1.1.3.5 GERENCIADOR DE SISTEMAS DE ARQUIVOS 25
1.1.4 ARQUITETURAS DE UM SISTEMA OPERACIONAL 25
1.1.4.1 MONOLÍTICA 26
1.1.4.2 EM CAMADAS 27
1.1.4.3 MICRONÚCLEO 28
1.1.4.4 CLIENTE-SERVIDOR 29
1.2 HISTÓRICO DE SISTEMAS OPERACIONAIS 29
1.3 PROGRAMAÇÃO E LINGUAGEM BAIXO NÍVEL 32
cOncLUSÃO 32
2 GerÊncia De prOceSSOS 34
2.1 GERÊNCIA DE PROCESSOS 34
2.1.1 ESTRUTURA DE CONTROLE PCB 35
2.1.2 ESTADOS DO PROCESSO 36
2.1.3 LIMITAÇÃO DE PROCESSOS (CPU BOUND E I/O BOUND) 37
2.1.4 TRANSIÇÃO DE ESTADOS 37
2.1.5 CRIAÇÃO E TÉRMINO DE PROCESSOS 38
2.1.6 HIERARQUIA DE PROCESSOS 39
2.1.7 CHAVEAMENTO DE CONTEXTO 40
2.1.8 INTERRUPÇÕES 41
10
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
2.2 NTERPROCESS COMUNICATION - IPC 41
2.2.1 THREADS 43
2.2.2 CICLO DE VIDA DE THREADS 44
2.2.3 OPERAÇÕES 45
2.2.4 MODELO DE THREADS - USUÁRIO 45
2.2.5 MODELO DE THREADS - NÚCLEO 45
2.2.6 MODELO DE THREADS - HÍBRIDO 45
2.2.7 RELACIONAMENTO DE MODELOS DE THREADS 46
2.3 DEADLOCK 46
2.3.1 TIPOS DE OCORRÊNCIA DE DEADLOCK 47
2.4 RECUPERAÇÃO DAS OCORRÊNCIAS DE DEADLOCK 49
2.4.1 PREVENÇÃO DE DEADLOCK 49
cOncLUSÃO 50
3 GerÊncia De memÓria 52
3.1 TIPOS DE MEMÓRIA E ORGANIZAÇÃO 53
3.2 GERENCIANDO A MEMÓRIA 55
3.3 ESTRATÉGIA DE BUSCA 55
3.4 ESTRATÉGIA DE POSICIONAMENTO 56
3.5 ESTRATÉGIA DE SUBSTITUIÇÃO 56
3.6 ALOCAÇÃO DE MEMÓRIA 56
3.7 SOBREPOSIÇÃO - OVERLAY 57
3.8 ALOCAÇÃO PARTICIONADA 58
3.8.1 PARTICIONADA ESTÁTICA 59
3.8.2 PARTICIONADA DINÂMICA 61
3.9 TÉCNICAS DE SWAPPING E MEMÓRIA VIRTUAL 63
3.9.1 SWAPPING OUT / IN 63
3.10 MEMÓRIA VIRTUAL 65
3.10.1 ESPAÇOS DE ENDEREÇAMENTO E MAPEAMENTO 66
3.10.2 PAGINAÇÃO 67
3.10.3 SEGMENTAÇÃO 68
3.10.4 SEGMENTAÇÃO COM PAGINAÇÃO 68
cOncLUSÃO 70
3UNIDADE
11
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
5UNIDADE
4UNIDADE 4 GerÊncia De DiSpOSitiVOS De entraDa e SaÍDa 72
4.1 DISPOSITIVOS DE ENTRADA E SAÍDA 72
4.1.1 PORTAS 74
4.1.2 CLASSIFICAÇÃO DE DISPOSITIVOS 75
4.2 CONTROLADORES DE DISPOSITIVOS (PERIFÉRICOS) 75
4.3 POLÍTICA DE GERENCIAMENTO DE E/S 77
4.3.1 CAMADA DE SUBSISTEMA 78
4.4 DEVICE DRIVERS 78
4.5 SOFTWARES DE ENTRADA E SAÍDA 80
4.5.1 OPERAÇÕES PROGRAMADAS 81
4.5.2 OPERAÇÕES DIRIGIDAS POR INTERRUPÇÕES 82
4.5.3 OPERAÇÕES DE ACESSO DMA 82
cOncLUSÃO 84
5 SiStemaS De arQUiVOS 86
5.1 EVOLUÇÃO DOS SISTEMAS DE ARQUIVOS 86
5.2 CONCEITOS BÁSICOS DE SISTEMAS DE ARQUIVOS 88
5.2.1 NOMEAÇÃO DE ARQUIVOS 89
5.2.2 ESTRUTURAÇÃO DE ARQUIVOS 90
5.2.3 FORMAS DE ACESSO 91
5.2.4 TIPOS DE ARQUIVOS 91
5.2.5 OPERAÇÕES EM ARQUIVOS 92
5.2.6 ATRIBUTOS DE ARQUIVOS 93
5.2.7 DIRETÓRIOS DE ARQUIVOS 93
5.2.8 CAMINHOS ABSOLUTOS X RELATIVOS 94
5.3 IMPLEMENTAÇÃO DE SISTEMAS DE ARQUIVOS 95
5.3.1 IMPLEMENTAÇÃO DE ARQUIVOS 96
5.3.1.1 MÉTODO DE ALOCAÇÃO CONTÍGUA 96
5.3.1.2 MÉTODO DE ALOCAÇÃO ENCADEADA 96
5.3.1.3 MÉTODO DE ALOCAÇÃO ENCADEADA COM USO DE TABELA 97
5.3.2 IMPLEMENTAÇÃO DE DIRETÓRIOS 97
5.3.3 ARQUIVOS COMPARTILHADOS 98
5.3.4 SEGURANÇA 99
cOncLUSÃO 101
12
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
6 interFaceS; SiStemaS OperaciOnaiS De reDe e DiStriBUÍDOS. 103
6.1 INTERFACES EM SISTEMAS OPERACIONAIS 103
6.1.1 INTERFACE DE LINHA DE COMANDO 104
6.1.2 INTERFACE GRÁFICA DE USUÁRIO 106
6.2 INTRODUÇÃO À LINGUAGEM DE COMANDOS 108
6.2.1 WINDOWS 108
6.2.2 UNIX/LINUX 109
6.3 INTRODUÇÃO A SISTEMAS OPERACIONAIS DE REDE 111
6.4 INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS 114
6.5 ESTUDO DE CASO 115
6.5.1 O SISTEMA OPERACIONAL LINUX 116
cOncLUSÃO 118
reFerÊnciaS BiBLiOGrÁFicaS 119
6UNIDADE
13
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
icOnOGraFia
ATENÇÃO 
PARA SABER
SAIBA MAIS
ONDE PESQUISAR
DICAS
LEITURA COMPLEMENTAR
GLOSSÁRIO
ATIVIDADES DE
APRENDIZAGEM
CURIOSIDADES
QUESTÕES
ÁUDIOSMÍDIAS
INTEGRADAS
ANOTAÇÕES
EXEMPLOS
CITAÇÕES
DOWNLOADS
14
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
> Descrever os conceitos 
básicos de sistemas 
operacionais, suas 
características e 
arquiteturas.
> Analisar a evolução 
histórica dos sistemas 
operacionais.
> Explicar conceitos 
de linguagem de 
baixo nível, tais como 
ligadores, montadores 
e carregadores.
UNIDADE 1
15
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
1 CONCEITOS/
FUNCIONALIDADESE 
HISTÓRICO DE SISTEMAS 
OPERACIONAIS
Nesta unidade, serão abordados os conceitos básicos de sistemas operacionais. Serão 
introduzidos os tipos de sistemas operacionais, suas características e diferentes arqui-
teturas empregadas em diferentes tipos de hardware. Também será apresentada a 
concepção dos sistemas operacionais na história da computação de forma cronoló-
gica. Ao final da unidade, relacionada à linguagem de baixo nível, haverá a conceitua-
ção de ligadores, montadores e carregadores. Esta unidade, apesar de introdutória 
e conceitual, é muito importante para que sejam absorvidos conhecimentos mais 
complexos que serão vistos no decorrer da disciplina.
1.1 CONCEITOS INICIAIS
Neste tópico, serão expostos os conceitos básicos necessários para fundamentar e 
auxiliar a entender sistemas operacionais: o que é um sistema operacional, sua im-
portância e seu nível de operação em um ambiente computacional.
O Quadro 1 oferece termos básicos para o auxiliar em consultas rápidas. Recomen-
da-se retornar a este ponto quando não assimilar um termo específico, incluindo de 
outras unidades.
16
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
QUADRO 1 - TERMOS BÁSICOS
TERMOS DESCRIÇÃO
Jobs Uma tarefa. Conjunto de programas para serem 
executados.
Linguagem de máquina Representa instruções de nível mais baixo.
Memória virtual
Permite executar programas maiores do que as 
memórias físicas. O SO aloca espaço para me-
mória no HD.
Processo
Conjunto de ações em sequência, executadas 
para um objetivo esperado.
Processamento de dados
Realizar operações em dados para gerar saídas 
de regras estabelecidas.
Processamento batch
Feito em lotes, nos quais os jobs se apresentam 
como cartões perfurados e são armazenados em 
fitas.
Processamento distribuído
Aplicações executadas em vários processadores 
de forma espalhada. O acesso se dá por meio de 
redes locais e distribuídas.
Processamento paralelo
Várias aplicações executando ao mesmo tempo. 
Usual nos computadores atuais.
Sistemas time-sharing
Permitem executar utilizando parte do tempo 
do processador, diminuindo, assim, o seu tempo 
de ociosidade.
Fonte: elaborado pelos autores baseando-se em MACHADO, 2007.
1.1.1 SISTEMA OPERACIONAL
Um sistema operacional é um software intermediário entre um usuário e o hardware 
de um ambiente computacional. É ele quem faz o gerenciamento do hardware envol-
vido. No decorrer desta disciplina, será demonstrado que os sistemas operacionais não 
compõem somente um desktop ou notebook, (PCs – computadores pessoais), como o 
computador, tablet ou smartphone em que você possa estar lendo este conteúdo. Em 
relação à finalidade, segundo Silberschatz (2011), um sistema operacional fornece um 
ambiente para o usuário executar programas com conveniência e eficiência.
Um SO moderno fornece a base necessária para outros softwares executarem as fun-
ções programadas. Tais aplicações dependem diretamente dele para acessar recur-
sos de hardware. Um exemplo simples: pressupõe-se que você já teve contato com 
um editor de textos (MS Word, Notepad, etc.), certo? Tal aplicação instalada em um 
computador, para executar uma rotina de impressão de um arquivo textual, neces-
17
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
sita diretamente do sistema operacional para gerenciar a impressora, um dispositivo 
de saída. O mesmo acontece com o gerenciamento de arquivos ao salvar um docu-
mento. Poderiam se listar diversos exemplos nesse sentido. Basta imaginar a utiliza-
ção de uma aplicação em um computador que precise lidar com algum dispositivo 
ou acessar algum dado armazenado. A Figura 1 mostra de forma abstrata os níveis de 
um sistema computacional, envolvendo:
• (1º) Nível de programas do próprio SO e aplicações do usuário.
• (2º) Nível do sistema operacional.
• (3º) Nível de hardware.
FIGURA 1 - ABSTRAÇÃO DE NÍVEIS EM AMBIENTE COMPUTACIONAL (ÂMBITO DE SO)
 
 
 
 
 Componentes de hardware e periféricos 
(Exemplo: memória, HD, discos, impressora) 
Sistema operacional (Exemplo: Windows 10) 
So�wares do sistema e aplicações do usuário (Exemplo: editor de texto) 
Fonte: elaborado pelos autores, adaptado de SILBERSCHATZ, 2011.
Observa-se na Figura 1 que acima da camada de aplicação (primeiro nível da figura), 
há diversas interações do usuário, como a utilização de um editor de textos.
Vale lembrar que um sistema operacional nem sempre está 
relacionado a um PC como se pode estar habituado no cotidia-
no. A Microsoft, por exemplo, criou uma versão do seu SO deno-
minado Windows 10 IoT. A sigla IoT (Internet of Things) é defini-
da como “internet das coisas”. Esse sistema operacional atua, entre outros, 
em placas Raspberry PI (exemplificada na Figura 2), que podem ser progra-
madas para diversos fins, sendo o mais usual a automação residencial. A 
partir disso, um desenvolvedor escreve rotinas diversas utilizando os recur-
sos disponíveis na placa. Já teve vontade de automatizar uma geladeira?
18
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
FIGURA 2 - RASPBERRY PI 2 MODEL B
Fonte: Shutterstock, 2018.
Abordando um pouco mais sobre IoT, não se pode esquecer das placas Arduino. O Ar-
duino é uma plataforma ligada diretamente à robótica e eletrônica. Essas placas, di-
ferentes das Raspberry mais complexas, operam basicamente com um micro contro-
lador de baixa complexidade e possuem poucos recursos de memória. A plataforma 
Arduino já é bastante difundida mundialmente e é utilizada para criar de desde pro-
jetos simples no âmbito de hardware (como prototipagem) até para apoiar projetos 
complexos. O funcionamento pode ser explicado de forma simples: a placa Arduino 
possui um bootloader e, ao ligá-la, carrega-se uma rotina programada previamente 
e que se executa de forma sequencial, podendo também ser colocada em repetição 
(loop). Pode-se, por exemplo, utilizá-la para programar o acendimento de lâmpadas 
observando se um botão é acionado, realizar ações em motores, utilizar sensores de 
proximidade ou temperatura e também automatizar alguma tarefa a distância com 
o uso de shields de rede (módulos) conectados à placa. 
19
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
O mundo Arduino possibilita múltiplas funcionalidades. Recomendamos a você que 
pesquise mais a respeito, caso um dos seus objetivos seja a programação voltada para 
a eletrônica e robótica. Sobre sistemas operacionais, especificamente para o Arduino, 
existem iniciativas como o sistema duinOS, que aumenta o poder dessa grande pla-
taforma. Criado com base no sistema FreeRTOS, o duinOS aumenta a capacidade da 
plataforma e passa a impressão de execução de tarefas simultâneas.
Retomando a abordagem de sistemas operacionais, citam-se também os sistemas 
operacionais voltados para mainframe. Estes têm por função aperfeiçoar ao máximo 
o uso de hardware do ambiente computacional envolvido com um fim específico. 
Mainframes são grandes computadores que se dedicam ao processamento de dados 
em larga escala (Figura 3). Nesse caso, são sistemas operacionais com foco exclusivo 
em eficiência, e não em conveniências, como os PCs, smartphones ou tablets.
FIGURA 3 - EXEMPLO DE MAINFRAME/DATA CENTER 
Fonte: Shutterstock, 2018.
20
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
1.1.2 TIPOS DE SISTEMAS OPERACIONAIS
Os tipos mais abrangentes de sistemas operacionais são: 
• Tempo real.
• Monousuário (monotarefa/multitarefa).
• Multiusuário e multiplataforma.
Veja a seguir maisdetalhes sobre cada um deles.
1.1.2.1 TEMPO REAL
Os sistemas operacionais de tempo real, conhecidos como Real-Time Operating Sys-
tem (RTOS), são utilizados em máquinas e instrumentações específicas, como siste-
mas de apoio a indústrias. Neles, a interface para o usuário não é o foco. O objetivo 
desse tipo de sistema é o gerenciamento de recursos. Mais à frente nesta disciplina, 
será estudado o que é cada tipo gerenciamento. Não se preocupe neste momento 
em saber detalhadamente cada gerência de um sistema operacional.
Um exemplo de RTOS é o FreeRTOS. Pesquise mais a respeito 
na internet acessando o site oficial.
1.1.2.2 MONOUSUÁRIO
Em sistemas monousuário, ao perceber o termo “um usuário”, compreenda-o como: 
a quantidade de usuários executando ações e compartilhando os recursos de uma 
mesma máquina na mesma hora, ou seja, de um mesmo hardware, no mesmo mo-
mento de utilização. De forma simplificada, representa um usuário “logado” no siste-
ma operacional naquele momento específico. Nesse tipo de sistema, (monousuário), 
temos duas divisões quanto às tarefas executadas. Veja:
21
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
• Monousuário/Monotarefa: somente um usuário realiza uma tarefa por vez.
Podemos citar como exemplo o sistema PalmOS, que hoje já 
está descontinuado no mercado.
• Monousuário/Multitarefa: sistemas operacionais como convivemos diariamente 
nos PCs. Um usuário pode executar um arquivo de música enquanto aguarda o 
download de um arquivo, ou seja, multitarefa. Não existem outros usuários simul-
tâneos operando o hardware.
Podemos citar como exemplo o Windows em diferentes ver-
sões atuais, como o Windows 10 Home, distribuições Linux e o 
sistema iOS em dispositivos Apple.
1.1.2.3 MULTIUSUÁRIO
Em sistemas operacionais multiusuário, vários usuários usam os recursos de um mes-
mo ambiente computacional, no mesmo momento. Pode-se, então, definir: simulta-
neamente, mais de um usuário compartilhando recursos de hardware em um mesmo 
sistema operacional. Exemplo: uma equipe de pessoas acessando um mesmo siste-
ma simultaneamente e usando duas ou mais aplicações, também simultaneamente.
Podemos citar como exemplo o Windows em diferentes ver-
sões atuais, como o Windows 10 Home, distribuições Linux e o 
sistema iOS em dispositivos Apple.
22
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
É importante entender que o fato de um sistema operacional 
permitir o acesso via rede não determina que ele é um sistema 
multiusuário! Versões do Windows, como o Windows Server, 
permite existir vários usuários atrelados a ele via rede, mas este 
não é, teoricamente, um sistema operacional multiusuário. O Windows Ser-
ver apresenta um usuário administrador e os demais usuários conectados a 
ele via rede. Ao executar as aplicações, estas estão, na verdade, sendo execu-
tadas pelo usuário administrador, e não pelo usuário remoto.
1.1.2.4 MULTIPLATAFORMA
Sistemas multiplaforma possibilitam instalação em diferentes plataformas de dispo-
sitivos. Eles operam em diversas famílias de processadores, como Intel e AMD.
Sistemas multiplataforma podem ser instalados em computa-
dores desktop e notebook, celulares, etc. Um exemplo é o Win-
dows 10, disponível para diversos tipos de dispositivos, até para 
o desenvolvimento de IoT como já informamos anteriormente.
1.1.3 CARACTERÍSTICAS DE UM SISTEMA 
OPERACIONAL
Um sistema operacional moderno possui algumas características essenciais, confor-
me vamos apresentar a seguir de forma abrangente. Ele se caracteriza pela presença 
de componentes que trabalham diretamente com o hardware da máquina envolvi-
da. A Figura 4 ilustra os componentes de um sistema operacional.
23
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
FIGURA 4 - COMPONENTES QUE CARACTERIZAM UM SISTEMA OPERACIONAL
Fonte: elaborado pelos autores, 2018.
Perceba na Figura 4 que o sistema trabalha diretamente com os componentes. De 
forma resumida, os principais: processos, memória, E/S (entradas e saídas), sistema 
de arquivos e comunicação interprocessos. Vamos entender o que cada um deles de-
sempenha nos próximos tópicos. É importante assimilar esses conceitos, então con-
tinue a leitura com bastante atenção.
1.1.3.1 ESCALONADOR DE PROCESSOS
Antes de se definir o que é escalonar processos, precisamos entender bem o que é 
um processo.
Processo é um conjunto de ações em sequência, executadas 
para um objetivo esperado, em um tempo. Fique tranquilo! 
Nesta disciplina, o gerenciamento de processos será detalhado 
de forma completa.
Partindo do que é um processo, pode-se então definir o escalonamento de processos. 
Escalonar processos, nada mais é que determinar quando um processo será executa-
do em um processador e qual o tempo de execução. 
24
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
1.1.3.2 GERENCIADOR DE MEMÓRIA
A partir do estudo de fundamentos de hardware, consegue-se conceituar o que é 
memória em um computador. Não vamos detalhar o conceito e as características de 
componentes de hardware nesta disciplina de sistemas operacionais. 
O gerenciador de memória no sistema operacional é o responsável pela alocação da 
memória (destinar e reservar espaço de memória), para os processos. Reveja no tópi-
co 1.3.1 o conceito de processo, caso necessário. Além de alocação, o gerenciador de 
memória é responsável por determinar quando e como a alocação acontecerá e por 
decidir sobre isso quando a memória se apresentar totalmente preenchida.
Assim como será apresentado o gerenciamento de processos, também será tratado 
o gerenciamento de memória. Nesse momento, é importante assimilar que o geren-
ciamento de memória compõe o sistema operacional e o caracteriza.
1.1.3.3 GERENCIADOR DE ENTRADAS E SAÍDAS
Percebe-se, por meio da terminologia, o conceito, certo? O gerenciamento de entra-
das e saídas (E/S) tem a função de controlar as solicitações de entradas do usuário, 
como ações do teclado, mouse, câmera, entre outros, bem como solicitações de saí-
da de dispositivos, como impressora, monitor ou projetor.
A gerência de E/S também será apresentada em detalhes nesta disciplina. Apresen-
ta-se neste ponto estudado somente a conceituação de características.
1.1.3.4 GERENCIADOR DE COMUNICAÇÃO 
INTERPROCESSOS (IPC)
Esse conceito é o mais simples a ser assimilado, quando se trata da caracterização 
do sistema operacional: é responsável pela comunicação entre os processos, ou seja, 
a comunicação entre cada ação sequencial de aplicações operando no sistema ope-
racional.
25
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
1.1.3.5 GERENCIADOR DE SISTEMAS DE ARQUIVOS
O gerenciador de sistemas de arquivos tem uma função muito importante no SO. 
Seu papel é organizar os dados e disponibilizar uma interface para acessá-los nos 
hardwares de armazenamento, como um disco rígido (HD).
A seguir, será introduzido o conceito de arquiteturas de um sistema operacional. Va-
mos lá?
1.1.4 ARQUITETURAS DE UM SISTEMA OPERACIONAL
Já se sabe o que compõe o sistema operacional, agora será apresentado como po-
dem ser dispostos os componentes ou, ainda, como podem ser arquitetados os com-
ponentes dentro do sistema.
Quando se fala em arquitetura, entende-se como se organiza 
e como funciona. Imagine uma casa: dizer que a casa possui 
quatro quartos é citar a composição da casa. Agora, como es-
ses quartos estão dispostos na residência? Isso já é a arquitetu-
ra. Um quarto pode se localizar em outro andar oufuncionar com um 
acesso diferente.
Dica para sua carreira: o termo arquitetura se apresenta em 
muitas disciplinas relacionadas à tecnologia. Por exemplo, ar-
quiteturas de desenvolvimento ou, ainda, para linguagens em 
disciplinas de programação. Pode-se programar orientado a 
objetos (uma forma moderna de se programar), como também utilizando 
uma arquitetura MVC, que é uma padronização moderna em linguagens 
de programação de softwares.
26
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
Quanto à arquitetura, os sistemas operacionais podem ser apresentados utilizando:
• Arquitetura monolítica.
• Arquitetura em camadas.
• Arquitetura micronúcleo.
• Arquitetura cliente-servidor.
A seguir, conheça cada uma dessas arquiteturas.
1.1.4.1 MONOLÍTICA
Nessa arquitetura, todos os componentes estão dentro do kernel, ou seja, interno ao 
núcleo do sistema operacional. É a arquitetura mais comum e antiga. Opa, kernel? O 
que é kernel?
Não vamos aprofundar no conceito de kernel aqui. Vamos de-
fini-lo apenas como núcleo do SO. O conceito de kernel é bas-
tante amplo. Existem infinitos conceitos de kernel difundidos 
por diversos autores tratando dessa definição com muita pro-
priedade. Você pode recorrer à bibliografia ao final deste material para se 
aprofundar, assim como à internet. Mas atenção! A web é um local de mui-
tos equívocos e definições literalmente erradas. Desaconselha-se o estudo, 
por exemplo, por meio da Wikipédia. Existem ótimas informações, mas, 
infelizmente, também há muitos artigos que levam ao erro nas definições. 
Dessa forma, o que pode levar ao erro sem fontes científicas comprovadas, 
deve ser evitado. Fique atento!
Uma fonte digna de conhecimento: Google Scholar, também conhecido 
como Google Acadêmico. É um Google científico! Lá se encontram diver-
sos trabalhos e artigos embasados (muitos de outros países e em outros 
idiomas). Com certeza você poderá completar seus estudos com essa fer-
ramenta, além de treinar sua fluência em inglês! Experimente pesquisar 
artigos relacionados a kernel e sistemas operacionais.
27
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Veja na Figura 5 como se apresenta a arquitetura de SO com núcleo monolítico. Ela 
se mostra eficiente, com comunicação entre os componentes de forma direta. 
A desvantagem é a dificuldade para identificar possíveis problemas, sabendo que os 
componentes estão todos dentro do núcleo.
FIGURA 5 - ARQUITETURA SO COM NÚCLEO MONOLÍTICO
Fonte: DEITEL, 2008.
1.1.4.2 EM CAMADAS
Os componentes dessa arquitetura são dispostos por camadas com agrupamento de 
tarefas parecidas. Uma camada fornece serviços à camada superior e faz comunica-
ção com as vizinhas, tanto na superior como na inferior. A performance do sistema 
tende a ser prejudicada nessa arquitetura, pois uma requisição do usuário poderá 
passar por diversas camadas. Nessa comparação, o sistema monolítico apresenta me-
lhor desempenho.
28
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
Acesse o portal Minha Biblioteca e consulte o livro Fundamen-
tos de Sistemas Operacionais – Princípios Básicos (2011), do 
autor Abraham Silberschatz, no qual se apresenta a arquitetu-
ra em camadas na Figura 2.14. Também, na página 60 da obra 
Sistemas Operacionais: Projetos e implementações (2008), do autor An-
drew Tanenbaum, é abordado o sistema em camadas THE. É importante 
você sempre recorrer aos livros da bibliografia para completar seu conhe-
cimento com muito mais informações do que as contidas neste material. 
Tenha várias visões de um mesmo assunto, porque isso enriquece seu 
aprendizado de forma imensurável. 
Dica: estudar para uma certificação de algo (linguagem de programação, 
por exemplo) em tecnologia, requer a leitura de muitos livros!
1.1.4.3 MICRONÚCLEO
O sistema micronúcleo é dividido em módulos pequenos de forma escalável, sen-
do apenas o módulo micronúcleo executado como um núcleo, ou seja, um kernel. 
Outros serviços são executados como processos do usuário, ficando a cargo do mi-
cronúcleo gerir memória de baixo nível, comunicação interprocessos e sincronização 
desses processos. Dessa forma, outros serviços, como o próprio gerenciamento de 
processos, sistemas de arquivos e gerenciamento de dispositivos E/S, passam a exe-
cutar fora.
Veja na Figura 6 a representação de um sistema operacional micronúcleo.
FIGURA 6 - ARQUITETURA DE SO MICRONÚCLEO
Fonte: MACHADO, 2013.
29
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Complemente seu conhecimento sobre a arquitetura micro-
núcleo consultando o livro Arquitetura de Sistemas Operacio-
nais, do autor Francis Machado, página 57. Esse autor explora 
de maneira empolgante os conceitos de arquiteturas de siste-
mas operacionais.
1.1.4.4 CLIENTE-SERVIDOR
A arquitetura de cliente-servidor é apresentada por meio dos servidores que forne-
cem serviços e dos clientes que fazem uso deles. Uma rede local é um exemplo.
Veja na Figura 7 um exemplo da arquitetura cliente-servidor.
FIGURA 7 - ARQUITETURA CLIENTE-SERVIDOR
Fonte: DEITEL, 2008.
1.2 HISTÓRICO DE SISTEMAS OPERACIONAIS
Outras abordagens preferem apresentar o histórico de sistemas operacionais no iní-
cio, antes da conceituação, mas aqui se preferiu fazer o inverso. Entende-se que pode 
ser mais interessante para você ser primeiramente introduzido aos conceitos (como 
30
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
no tópico anterior) e, depois, apresentado à história dos sistemas. Dessa forma, com 
os conceitos anteriores já absorvidos, você consegue ter uma fundamentação básica 
e até mesmo desenvolver melhor o entendimento das fases que vamos lhe mostrar. 
Isso possibilitará desenvolver uma reflexão crítica de qual arquitetura era empregada, 
como eram os componentes e o tipo do sistema operacional na época. Vamos apre-
sentar um resumo por décadas ilustrando de forma exemplificada o histórico dos 
sistemas operacionais. Considere este resumo como um guia para suas pesquisas.
• Década de 1960
1. MIT cria o sistema Compatible Time-Sharing System (CTSS), 
um dos pioneiros de tempo compartilhado.
2. IBM cria o OS/360, sistema operacional que introduz o con-
ceito denominado como máquinas de portes diferentes, mas 
contando com mesma arquitetura.
3. MIT, Bell Labs e General Electric participam de um projeto para imple-
mentação do Multiplexed Information and Computing Service (MULTI-
CS). Os focos do MULTICS: memória virtual usufruindo de segmentação/
paginação e suporte a vários processadores e usuários. Isso influenciou 
as próximas gerações de sistemas.
4. Ken Thompson concebe a primeira versão do Unix em 1969.
• Década de 1970
1. Criação de uma versão do Unix para o minicomputador 
PDP-11 utilizando Assembly, uma linguagem de baixo nível. 
Os criadores foram Dennis Ritcher e Ken Thompson.
2. Fundação da Apple e Microsoft. O sistema operacional mais 
usado na época é o Control Program Monitor (CP/M).
31
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
• Década de 1980
1. Lançamento do IBM Personal Computer (PC), contando 
com sistema operacional DOS, da Microsoft.
2. Minicomputadores utilizam sistemas multiusuários.
3. Universidade Berkeley, na Califórnia, cria uma versão do 
Unix, a Berkeley Software Distribution (BSD).
4. Surgimento de estações de trabalho que usam SO monousuários/mul-
titarefas.
5. Lançamento de sistemas com interface gráfica,como o Windows (da 
Microsoft) e OS/2 (da IBM).
• Década de 1990
1. As fabricantes de sistemas operacionais passam a oferecer 
suporte a protocolos TCP/IP.
2. Linus Torvalds começa a criação do Linux em conjunto com 
diversos programadores.
3. A Microsoft lança o Windows NT, voltado para servidores de corporações.
• Década de 2000
1. Sistemas operacionais exploram o conceito de processa-
mento distribuído/paralelo.
2. A arquitetura de 64 bits é explorada ao máximo nos siste-
mas operacionais.
Interessante como os sistemas operacionais têm evoluído ao longo do tempo, não é 
mesmo? E para corroborar essa análise, vamos falar um pouco sobre programação e 
linguagem de baixo nível. Vamos lá?
32
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
1.3 PROGRAMAÇÃO E LINGUAGEM BAIXO NÍVEL
Vamos introduzir aqui apenas o conceito básico de três componentes de programa-
ção de baixo nível: montadores, ligadores e carregadores. Acompanhe!
Montadores: também conhecido como assemblers, traduzem 
para a linguagem de máquina os programas escritos na lingua-
gem de montagem, conhecidos como Assembly language. 
Ligadores: também conhecidos como linkers, são responsáveis por juntar 
partes que compõem um programa, depois que elas foram montadas. Des-
sa forma, programas grandes podem ser separados em módulos menores. 
Carregadores: também conhecidos como loaders, têm o papel de trans-
portar um programa para a memória principal.
Fique tranquilo! Haverá o aprofundamento desses conceitos nas aulas interativas 
que acompanham esta unidade. Cada um desses conceitos será abordado de forma 
completa. Bons estudos e boa aprendizagem!
CONCLUSÃO
Nesta unidade, você teve contato com conceitos básicos de sistemas operacionais, 
com o modo como eles funcionam na interligação entre usuário e hardware, com 
definições importantes de tipos de SO, componentes e arquiteturas. Além disso, es-
tudou um breve histórico dos sistemas operacionais para guiar suas pesquisas e re-
flexões dos conceitos abordados. Para finalizar, estudou três componentes básicos de 
linguagem de baixo nível, a qual será detalhada nas aulas interativas desta unidade.
Os próximos tópicos serão mais complexos e menos introdutórios. Recomendamos 
que pesquise nas referências os conceitos estudados até aqui, conforme citamos de-
talhadamente em partes do conteúdo, como os livros e links da internet.
Bons estudos!
33
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
 > Identificar o que é 
o gerenciamento de 
processos em um 
sistema operacional.
> Analisar estrutura PCB, 
estados de um processo, 
limitação, transição de 
estados, hierarquia e o 
que é interrupção.
> Narrar o que são threads.
> Avaliar o que são 
deadlocks, seus 
tipos, como se dá a 
recuperação e prevenção 
desses impasses
UNIDADE 2
34
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
2 GERÊNCIA DE PROCESSOS
Um sistema operacional moderno é capaz de promover a execução de programas 
de forma organizada, evitando o acontecimento de erros e também conflitos. Isso 
só é possível através do gerenciamento dos programas em execução e da perfeita 
alocação de processos. Nesta unidade, será apresentado o detalhamento de como é 
realizado esse gerenciamento em um sistema operacional e como ocorre a divisão 
de tempo de processamento em um processador na execução de programas e os 
estados de um processo. Nesta unidade, pretende-se também definir as principais 
características de um processo, explicar o processamento das interrupções e apresen-
tar como é realizada a comunicação interprocessos.
2.1 GERÊNCIA DE PROCESSOS
Um ambiente computacional, como por exemplo, um computador pessoal ou um 
smartphone, precisam saber identificar o que devem executar de forma sequencial 
e organizada em seus processadores. Isso, para atender ao que está sendo esperado 
pelo usuário em sua percepção de uso simultâneo de aplicações e utilização de re-
cursos do hardware em questão. Dessa forma, pode-se entender que o sistema ope-
racional deve ser capaz de fornecer o chamado: processamento concorrente.
Para atingir o objetivo de processamento concorrente, o sistema precisa realizar a 
ordenação da execução de processos, permitindo que não ocorram conflitos. Par-
tindo desse princípio, o sistema operacional realiza o escalonamento de processos. 
Relembrando o conceito, como vimos na unidade 1: escalonar processos, nada mais 
é que determinar quando um processo será executado em um processador, além 
do tempo de execução.
Anteriormente, definimos processo de uma forma simplificada, sendo: conjunto de 
ações em sequência, executadas para um objetivo esperado, em um tempo. A partir 
de agora vamos abstrair esse conceito entendendo que processo é um programa em 
execução. 
35
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Processo não significa programa, visto que um programa pode 
ser executado várias vezes criando vários processos. Cada 
execução de um programa cria-se um processo. Segundo 
Deitel (2008), não se pode entender processo sendo programa. 
Processo é um programa sendo executado, enquanto 
programa pode ser definido como sendo uma entidade.
Um exemplo para facilitar essa compreensão: ao iniciar o 
aplicativo bloco de notas no Windows, inicia-se o processo 
notepad.exe. Iniciando novamente o bloco de notas, será 
criado um novo processo notepad.exe. Veja na prática! Em 
versões do sistema Windows, o atalho Ctrl+Shift+Esc executa 
o gerenciador de tarefas do sistema. Percebe-se na guia 
processos os aplicativos em execução, e em versões como o 
Windows 10, como são exibidos a utilização de CPU, memória, 
disco e rede. Experimente visualizar os processos em execução 
de um computador, você mesmo, utilizando este atalho. 
Perceba também que existem processos do próprio sistema 
em execução, além dos aplicativos que você está utilizando, 
inclusive o próprio gerenciador de tarefas. 
2.1.1 ESTRUTURA DE CONTROLE PCB
Para gerenciar os processos, tem-se uma estrutura para controlá-los, afinal para existir 
desempenho eficiente, é necessária uma organização. Tal estruturação é feita através 
do bloco de controle de processos, em inglês: Process Control Block – PCB. O PCB, 
conforme ilustrado na FIG. 1, é um bloco que reúne diversas informações referentes 
ao processo, como:
• Número designado ao processo (process identification number - PID)
• Estado do processo
• Contador de programa
36
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
• Registradores da CPU
• Informações de scheduling da CPU
• Informações de gerenciamento da memória
• Informações contabilização
• Informação de status de E/S
FIGURA 8 - FIGURA 1 – REPRESENTAÇÃO PCB
Fonte: SILBERSCHATZ, 2011.
É importante ressaltar que a estruturação do PCB se difere entre sistemas operacio-
nais. Isso quer dizer que, em um sistema operacional Windows, a estrutura da tabela 
PCB é apresentada de forma diferente de sistemas operacionais Linux, por exemplo. 
2.1.2 ESTADOS DO PROCESSO
O tempo do processo, ou seja, o seu ciclo de vida, é gerenciado pelo sistema opera-
cional e apresenta-se como:
• Novo: o estado em que o processo é criado.
• Em execução: o estado em que as instruções desse processo estão sendo exe-
cutadas.
• Em espera: o estado em que o processo está aguardando acontecimento de 
algum evento (como, por exemplo, término de uma operação de entrada/saída).
37
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pelaportaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
• Pronto: o estado em que o processo está esperando ser atribuído a um pro-
cessador.
• Concluído: o estado em que o processo finalizou a execução. 
2.1.3 LIMITAÇÃO DE PROCESSOS (CPU BOUND E I/O 
BOUND)
Os processos fazem uso de processamento de CPU e também de dispositivos de en-
trada ou saída. Quando fazem utilização por longo período do CPU, são chamados de 
processos limitados pela CPU ou CPU bound. Já quando os processos fazem muita 
utilização de dispositivos de E/S e muito pouco de CPU, são conhecidos como proces-
sos limitados pela E/S ou I/O bound.
É importante entender que os processos se caracterizam pelo 
tempo de uso da CPU, não sendo caracterizados pelo tempo 
que estão aguardando por dispositivos de entradas e saídas.
2.1.4 TRANSIÇÃO DE ESTADOS
Como vimos, os processos possuem um ciclo de vida e, dessa forma, são criados, exe-
cutados, aguardam em espera até serem concluídos. Para que os processos mudem 
de estado, é preciso um evento para que isso ocorra, que pode ser realizado através, 
por exemplo, do modelo de três estados de transição. 
Este modelo consiste em:
• Pronto
• Em execução
• Bloqueado
Pode-se entender, através do exemplo, quando um usuário envia um arquivo para 
impressão. Desse modo, o processo envolvido entra na lista de processos com estado: 
pronto. Ao chegar ao topo da fila de processos e com o processador livre, o processo 
irá transitar para o estado: em execução. Estando em execução, o processo irá aguar-
38
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
dar a operação de E/S (neste exemplo, a operação da impressora) e transita para o 
estado: bloqueado. Quando termina de operar o dispositivo de E/S, o processo irá 
transitar para o estado: pronto. Veja o diagrama de estados de processos na FIG. 2.
FIGURA 9 - DIAGRAMA DE ESTADOS DE PROCESSOS.
Fonte: SILBERSCHATZ, 2011.
Faça a leitura complementar sobre estados de um processo, 
consultando o livro Fundamentos de Sistemas operacionais 
(2011), do autor Abraham Silberschatz, p. 64.
2.1.5 CRIAÇÃO E TÉRMINO DE PROCESSOS
Os processos são criados partindo de, ao menos, quatro eventos principais, sendo eles:
• Quando se inicia o sistema.
• Um processo sendo executado e realiza uma chamada de sistema para cria-
ção de processos.
• Um usuário realiza requisição para criar um processo.
• Quando se inicia uma nova tarefa.
39
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Depois que executam seu papel, os processos são terminados, por exemplo, quando:
• De forma normal e voluntária.
• Por erro voluntário.
• Por erro fatal e involuntário.
• Por cancelamento através de processo diferente, involuntário.
2.1.6 HIERARQUIA DE PROCESSOS
Um processo pode gerar outros processos e, dessa forma, se define: processo-pai e 
processos-filhos, conforme ilustrado na FIG. 3. Nesse contexto, um processo-pai pode 
ter vários processos-filhos. Partindo desse entendimento, forma-se uma árvore de 
processos.
FIGURA 10 - HIERARQUIA DE PROCESSOS
Fonte: Elaborado pelos autores. Baseado em DEITTEL, 2008.
Em relação à execução de processos entre processos-pai e processos-filhos, existem 
duas possibilidades. Segundo Abraham Silberschatz (2011), é informado:
Quando um processo cria um novo processo: (1) O pai continua a ser execu-
tado concorrentemente com seus filhos. (2) O pai espera até que alguns de 
seus filhos ou todos eles sejam encerrados. Também há duas possibilidades 
quanto ao espaço de endereçamento do novo processo: (1) O processo filho é 
uma duplicata do processo pai (ele tem o mesmo programa e dados do pai). 
(2) O processo filho tem um novo programa carregado nele (SILBERSCHATZ, 
2011, p. 70).
40
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
2.1.7 CHAVEAMENTO DE CONTEXTO
O chaveamento de contexto é utilizado pelo sistema operacional para interromper 
um processo de estado em execução, para então iniciar um processo de estado pron-
to. A FIG. 4 ilustra a mudança entre os processos demonstrando um exemplo, para 
você assimilar este conceito:
cenário:
Processo A = Em execução.
Processo B = Pronto.
Para acontecer o chaveamento de contexto, o kernel salva o contexto da execução de 
(A) na PCB e carrega o contexto da execução de (B).
FIGURA 11 - CHAVEAMENTO DE CONTEXTO
Fonte: DEITTEL, 2008.
Enquanto acontece o chaveamento de contexto, o sistema operacional não pode 
executar outros processos. Dessa forma, ele deve ser realizado em tempo mínimo.
41
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
2.1.8 INTERRUPÇÕES
interrupção é um sinal de hardware que informa a ocorrência 
dos eventos, tal como, finalização de gravação de um DVD. As 
interrupções podem ser:
Síncronas: ocasionada por execução de instrução de um processo (threads. Veremos 
adiante o conceito de threads).
assíncronas: ocasionadas por execução sem relação com instrução de um processo 
(thread) a qual está em execução.
2.2 NTERPROCESS COMUNICATION - IPC
Na unidade anterior, foi abordado minimamente o conceito de IPC como um com-
ponente do sistema operacional, e vamos agora aprofundar esse conhecimento.
A comunicação interprocessos possibilita, por exemplo, que um editor de textos (pro-
cesso) envie um arquivo para ser impresso. Nesse caso, vemos claramente dois pro-
cessos se comunicando. Os processos podem ser classificados neste contexto de co-
municação como independentes ou cooperativos.
• Independentes: Quando não afeta outros processos em execução e também 
não é afetado por outros.
• Cooperativos: Quanto afeta outros, ou é afetado, e também quando compar-
tilha dados com outros processos.
A cooperação entre os processos se dá por algumas razões: compartilhamento de 
informação; velocidade no processamento; modularidade; conveniência;
Faça a leitura complementar sobre IPC consultando o livro 
Fundamentos de Sistemas Operacionais (2011, p. 72), do autor 
Abraham Silberschatz.
42
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
No quadro 1, são relacionados algumas observações inerentes à comunicação inter-
processos - IPC.
QUADRO 2 - OBSERVAÇÕES RELACIONADAS À COMUNICAÇÃO INTERPROCESSOS
Observação Descrição
Quanto a sinais:
Sinal é uma interrupção de software 
que não permite a troca de dados inter-
processos. Dessa forma eles dependem 
do SO e dos sinais gerados. O sistema 
operacional que determina qual pro-
cesso receberá o sinal e como vai res-
pondê-lo. São três maneiras que um 
processo responde ao sinal: o processo 
captura, ignora ou mascara o sinal.
Quanto à troca de mensagem:
O SO deve sincronizar o uso do espaço 
de memória e ele fará isso por meio de 
troca de mensagens. Essa troca aconte-
ce no pipe, uma região compartilhada 
da memória.
Quanto à condição de corrida:
Trata-se de uma falha no sistema operacio-
nal que acontece quando dois processos 
leem ou escrevem em um dado comparti-
lhado, e o resultado depende diretamente 
da sequência de quem executa.
Quanto a regiões críticas:
Trata-se da parte do programa em que 
será preciso acessar memória compar-
tilhada. Ao evitar que dois processos 
entrem em regiões críticas simultanea-
mente, evita-se as condições de corrida 
explicadas anteriormente.
Fonte: Elaborado pelos autores.
43
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
2.2.1 THREADS
Graças às threads existe um grandeaumento de eficiência nos sistemas. Uma apli-
cação pode através do beneficiamento do uso de threads, executar tarefas paralela-
mente.
Até agora, você assimilou que processos são programas em execução. Nesses progra-
mas, existem linhas de instrução que são chamadas threads. Dessa forma, pode-se 
concluir que threads é divisão de um programa em execução (processo), em várias 
tarefas. Com isso, a comunicação entre essas divisões de processos, ou seja, a comu-
nicação entre threads de um mesmo processo é mais eficiente, pois compartilham o 
mesmo espaço de endereçamento, além de variáveis globais.
A utilização de threads está relacionada diretamente com a estrutura do SO e ao 
processador, no âmbito de suporte para utilização. A FIG. 5 mostra os detalhes de um 
processador Intel. 
Um processo que possui diversas threads é denominado multithreads e, logicamen-
te, processos monothreads possuem somente uma thread.
Um servidor web, por exemplo, por receber muitas requisições 
de usuários, é multithreads. Caso fosse monothread, poderia 
então atender somente a um usuário em cada vez.
Para ficar mais claro, pode-se imaginar uma aplicação como um editor de textos. Po-
de-se existir um thread específico para lidar com elementos da parte gráfica, e outro 
thread, por exemplo, para atender à utilização do mouse.
44
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
FIGURA 12 - ESPECIFICAÇÕES DO PROCESSADOR INTEL CORE I7-8700T
Fonte: INTEL, 2018.
O processador ilustrado na FIG. 5 apresenta em suas especificações o suporte a 12 
threads, havendo seis núcleos neste processador. Dessa forma, 12 instruções poderão 
ser processadas de acordo com cada núcleo do processador, ou até seis processos 
simultâneos.
2.2.2 CICLO DE VIDA DE THREADS
Da mesma forma que os processos, as threads possuem também estados em seu 
ciclo de vida. A FIG. 6 demonstra a transição de estados de um thread em linguagem 
de programação Java.
FIGURA 13 - TRANSIÇÃO DE ESTADOS DE UM THREAD JAVA
Fonte: DEITEL, 2008, p. 93.
45
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
2.2.3 OPERAÇÕES
Threads realizam diversas operações, tais como: criar, sair, suspender, retornar, dormir, 
acordar, cancelar e associar. Veremos os significados principais:
• criação: semelhante à criação de processo. Diferencia-se pela atribuição do 
ID do thread e pelo contador de programa, sendo iniciado por um processo.
• cancelamento: pode ser cancelado por outro thread ou processo antes do seu 
próprio tempo.
• associação: operação ao qual um thread se associa a outro. O resultado de 
associação é que um thread não entrará em execução até o primeiro seja can-
celado, ou seja, o thread primário deve ser terminado.
2.2.4 MODELO DE THREADS - USUÁRIO
Threads de usuário são criados pela aplicação desenvolvida através do uso de biblio-
tecas. Tais bibliotecas estabelecem rotinas que através da sua utilização, os aplicativos 
possam criar e cancelar threads, além de trocar mensagens e escalonar os threads.
2.2.5 MODELO DE THREADS - NÚCLEO
Nos Threads de núcleo, os mesmos são criados pelo kernel do SO através de roti-
nas de gerenciamento e sincronização. Diferentemente de threads de usuários, nos 
threads de núcleo o SO sabe que existem todos os threads.
2.2.6 MODELO DE THREADS - HÍBRIDO
Combina vantagens de threads de usuários e também de threads de kernel. Um mes-
mo processo pode conter threads de núcleo, e neles poderão existir diversos threads 
de usuários. Nesse modelo mais flexível, as aplicações são criadas com threads de 
usuário em associação com os threads de núcleo.
46
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
2.2.7 RELACIONAMENTO DE MODELOS DE THREADS
modelo de relacionamento muitos-para-um: vários threads de usuário são mapea-
dos para um único thread de núcleo.
modelo de relacionamento um-para-um: um thread de usuário mapeado para um 
thread de núcleo.
modelo de relacionamento muitos-para-muitos: Vários threads de usuários conec-
tam a vários threads de núcleo, mas sendo em menor ou igual em quantidade, com-
parado ao número de threads de usuário.
2.3 DEADLOCK
É simples entender o conceito de deadlock em sistemas operacionais fazendo uma 
simples analogia com o trânsito de veículos em uma cidade. Perceba na FIG. 7 um 
congestionamento de veículos entre duas vias.
FIGURA 14 - CONGESTIONAMENTO DE TRÂNSITO
Fonte: SHUTTERSTOCK, 2018.
47
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
O congestionamento de automóveis em vias no trânsito é o mesmo que ocorre entre 
processos e recursos. Nesse exemplo, os carros são os processos, e as vias de trânsito, 
os recursos. Em sistemas operacionais, o congestionamento é chamado de deadlock 
ou também impasse. Pode-se então definir deadlock como:
impasse ou Deadlock: Dois ou mais processos fazem 
requisição para utilizar recursos do sistema simultaneamente, 
acontecendo bloqueio entre eles.
Os impasses acontecem, por exemplo, por causa do compartilhamento de recursos 
do SO. Existem quatro condições necessárias para acontecer deadlocks.
1. exclusão mútua: cada recurso só pode ser alocado a um recurso por vez. O 
recurso em questão só estará em uma de duas situações: alocado a um único 
processo ou também liberado.
2. espera por recursos: um processo aguarda pela utilização de outros processos, 
além dos que já estão alocados a ele.
3. não preempção: um recurso não é liberado de um processo por necessitar uti-
lizá-lo em outro(s) processo(s).
4. espera circular: um processo aguarda por recurso já em alocação de outro pro-
cesso.
Para acontecer deadlock, todas as condições devem acontecer 
ao mesmo tempo.
2.3.1 TIPOS DE OCORRÊNCIA DE DEADLOCK
Observa-se no QUA. 2 os tipos de deadlock, ou seja, os tipos de falhas que podem 
acontecer em um sistema operacional.
48
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
Um deadlock é um erro de programação? Não! Deadlock 
é considerado uma falha, não um erro. Acontece quando 
processos tentam acessar simultaneamente um recurso. No 
exemplo do trânsito, o cruzamento não possui sua via de 
tráfego errada, existe uma falha no excesso de veículos.
QUADRO 3 - TIPOS DE DEADLOCK.
Tipo Descrição
De tráfego:
Como os congestionamentos de trânsito, que ocasio-
nam parada de tráfego.
No momento de alocar 
recursos:
Recursos considerados dedicados são os que podem 
ser utilizados por diversos processos, mas apenas po-
dem usar um recurso de cada vez. Exemplo: a im-
pressora.
De adiantamento/blo-
queio indefinido:
Ocorre quando um processo precise esperar indefi-
nidamente, no momento em que outros processos 
operem no sistema. O adiantamento/bloqueio inde-
finido pode acontecer por decisões de alocar recur-
sos ou também por técnicas ao escalonar os proces-
sos. Evita-se tipo de deadlock, elevando prioridade 
do processo enquanto ele aguarda. Saiba mais sobre 
esse deadlock pesquisando pelo termo: inanição; 
starvation.
Em sistemas com uso de 
spool:
Simultaneous peripheral operation on-line – Spoo-
ling, é uma técnica ao qual se utiliza do buffer (área 
em disco) para armazenar dados que irão para uma 
impressora, por exemplo. O deadlock de spooling 
acontece quando serviços que estão em estados de 
pronto travam por falta de espaço no disco para o ar-
quivo de spool.
Fonte: Elaborado pelos autores.
49
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
2.4 RECUPERAÇÃO DAS OCORRÊNCIASDE 
DEADLOCK
Para que aconteça o deadlock, é necessário que aconteça as condições conforme 
abordamos no início desta unidade, sendo elas: exclusão mútua, espera por recursos, 
condição de não preempção e a espera circular. Quando o sistema apresenta dea-
dlock, a saída de recuperação é eliminar umas das quatro condições. É importante 
saber que neste momento de recuperação de impasses (deadlocks), os processos 
que estejam envolvidos irão perder seus trabalhos.
Recuperar o sistema em deadlock não é uma tarefa simples. Como dito, a alternativa 
é eliminar um processo envolvido e proceder com a liberação de recursos acionados, 
finalizando, dessa forma, a condição de espera circular.
2.4.1 PREVENÇÃO DE DEADLOCK
Partindo do entendimento que são necessárias quatro condições para acontecer um 
deadlock, obviamente a prevenção se dá pensando em maneiras de tentar garantir 
que ao menos uma não aconteça.
O algoritmo do banqueiro é uma das formas usadas para se evitar deadlocks. Ele se uti-
liza de técnicas de escalonamento de processos para tratar da prevenção de impasses.
Você poderá aprofundar seu conhecimento sobre o algoritmo 
do banqueiro, consultando o tópico Evitação de impasses do 
livro Sistemas operacionais: projetos e implementação (2008, 
tópico 3.3.6, p. 239), do autor Andrew Tanenbaum. 
50
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
CONCLUSÃO
Nesta unidade, você teve contato com os principais assuntos relacionados ao geren-
ciamento de processos, suas divisões (threads) e os impasses ou falhas (deadlocks).
Recomenda-se que seus estudos em gerenciamento de processos sejam aprofun-
dados com a leitura dos livros da bibliografia básica e complementar deste material. 
Na próxima unidade, trataremos do gerenciamento de memória em sistemas opera-
cionais. Bons estudos!
51
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
OBJETIVO 
Ao final desta 
unidade, 
esperamos 
que possa:
> Entender o que são memória principal 
e memória secundária
> Compreender estratégias adotadas 
para melhoria de desempenho
> Compreender alocação de memória, e 
formas de alocação de processos.
> Compreender técnicas de swapping in 
e swapping out
> Compreender o que é memória 
virtual e ser introduzido às formas de 
implementa-la
> Analisar problemas da gerência de 
memória, como fragmentação e 
thrashing.
UNIDADE 3
52
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
3 GERÊNCIA DE MEMÓRIA
Como são realizadas as alocações dos processos que estudamos na unidade anterior? 
Podemos considerar a memória como um componente que se comunica diretamen-
te com o processador, em qualquer ambiente computacional que realize processa-
mento de instruções. Entender como a memória exerce esse papel é importante para 
diversas áreas de tecnologia da informação, principalmente para profissionais que 
atuam com análise e desenvolvimento de sistemas/aplicações. Como exemplo, temos 
as carreiras de desenvolvimento voltadas para dispositivos móveis. O desafio de pro-
gramar aplicações em diferentes plataformas de hardware de smartphones e tablets 
requer do desenvolvedor/analista uma base sólida de gerenciamento de recursos, 
e, a memória talvez (dependendo do projeto) seja um dos recursos mais essenciais. 
Existem arquiteturas de hardware com pouca memória principal e mesmo assim é 
necessário que os aplicativos operem perfeitamente, também neles. Já parou para 
pensar no desafio de programar o consagrado aplicativo Whatsapp para diversas ver-
sões do sistema operacional Android? Apenas como informação, em Junho de 2018 o 
Whatsapp opera em aparelhos a partir da segunda versão do sistema Android, sendo 
a sétima versão a mais atual nesta data, continuando em constante evolução.
A memória faz um papel importante em um sistema operacional, pois graças a ela 
são armazenados dados para serem executados pelo processador ou também são 
armazenados dados que já foram executados pelo processador. De modo geral, uma 
memória pode armazenar dados temporários ou permanentes, dependendo de sua 
forma de fabricação.
Para quem já tem vivência com tecnologia é simples entender o que é uma memó-
ria, caso seja o seu caso, aproveite este momento para completar seu conhecimen-
to. Convivemos diariamente com o termo “memória”, por exemplo, no momento de 
adquirir um novo smartphone, certo? Pois bem, quando somos atraídos por campa-
nhas de marketing, nos informando que tal aparelho possui 2gb memória, se trata 
da memória de acesso aleatório, Random Access Memory – RAM, ou seja, a chamada 
memória RAM. Conforme figura 1 é apresentada a memória RAM de um computa-
dor pessoal, definida como memória volátil. Isso quer dizer que se trata de um tipo de 
memória que não mantém os dados salvos quando não existe energia no ambiente 
computacional. 
53
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Não confunda memória RAM com espaço de armazenamento 
interno / memória de armazenamento. A memória RAM 
influencia no desempenho do sistema e não em questões 
de espaço para armazenamento de dados do usuário, como 
exemplo, espaço para aplicações, fotos e vídeos.
A memória RAM está presente em computadores pessoais - PCs, notebooks, servido-
res e diversos ambientes computacionais. Logicamente, o seu formato físico varia de 
acordo com a plataforma de hardware.
Nos próximos tópicos dessa unidade, será percebido como a memória se organiza 
e como se da à alocação de memória, swapping e memória virtual. Assimilar o ge-
renciamento de memória é algo importante na disciplina de sistemas operacionais. 
Vamos iniciar os estudos apresentando os tipos de memória e abordar a sua organi-
zação.
3.1 TIPOS DE MEMÓRIA E ORGANIZAÇÃO
Como vimos anteriormente, temos a memória RAM presente em diversos tipos de 
ambientes computacionais, mas e o disco rígido (HD) de um computador pessoal?
HDs e outros tipos de armazenamento, como DVDs, por exemplo, também são con-
siderados memórias, mas estes são denominados como memórias secundárias. Já a 
memória RAM é considerada a memória principal. Em relação às características, as 
memórias são organizadas por:
• Custo por bit
• Sua capacidade de armazenamento
• Tempo de acesso
• Frequência de acesso à memória, pelo processador.
• 
• 
54
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
Dessa forma temos uma hierarquia conforme figura 2. No alto da hierarquia temos 
a memória interna/registradores, cache e memória RAM. No nível do meio se apre-
senta memórias secundárias como exemplo: HD, CD, DVD, etc. No nível mais abaixo 
temos o armazenamento de segurança.
FIGURA 15 - HIERARQUIA DE MEMÓRIA
Fonte: Elaborado pelos autores, adaptado de SILBERSCHATZ, 2011.
Quanto mais alto na hierarquia, “mais caras” são memórias e com menor espaço de 
armazenamento, além de serem mais rápidas e acessadas mais frequentemente 
pelo processador.
Sabemos que os programas são armazenados em memórias secundárias, como nos 
HDs, mas o processador os executa na memória principal. Dessa forma, precisa acon-
tecer uma transferência entre memoria secundária para a memória principal.
Como vimos na primeira unidade de nossos estudos, um dos componentes do siste-
ma operacional é o gerenciador de memória. Agora iremos nos aprofundar em como 
acontece este gerenciamento.
55
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
3.2 GERENCIANDO A MEMÓRIA
O gerenciamento dememória é o componente do SO que tem a responsabilidade 
de alocar espaço de memória aos processos, como vimos na segunda unidade. Dessa 
forma, temos uma clara integração entre processos e memória, certo?
Para acontecer o gerenciamento de memória foram pensadas estratégias para defi-
nir como se obter o melhor desempenho do uso da memória principal. Estas estraté-
gias são classificadas como: 
• Estratégias de busca, 
• Estratégias de posicionamento
• Estratégias de substituição.
para não esquecer: O gerenciamento de memória se dá através de estratégias 
para obtenção de melhor desempenho da memória principal de um sistema 
operacional.
Vamos entender nos próximos tópicos, de forma objetiva, cada uma das estratégias 
de gerenciamento de memória.
3.3 ESTRATÉGIA DE BUSCA
Consiste na transferência dos dados entre memória secundária e memória principal, 
ou seja, dados de um HD para memória RAM, por exemplo. Nas estratégias de busca, 
pode-se existir a classificação de busca sob demanda ou classificação como busca 
antecipada.
56
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
• Na classificação sob demanda, o que era utilizado antigamente, o sistema faz 
uma cópia dos dados para a memória principal quando um programa faz re-
ferencia aos dados. 
• Atualmente os sistemas operacionais adotam a estratégia de busca anteci-
pada, onde os dados são copiados para a memória principal, são dados que 
ainda não foram utilizados/requisitados.
3.4 ESTRATÉGIA DE POSICIONAMENTO
Na estratégia de posicionamento, o SO determina o local da memória da principal 
que os dados são gravados. As estratégias de posicionamento tem a responsabilida-
de de definição deste local.
3.5 ESTRATÉGIA DE SUBSTITUIÇÃO
Na estratégia de substituição a responsabilidade é realizar a troca de dados da me-
mória principal quando ela se apresentar totalmente ocupada. Dessa forma, essa es-
tratégia consiste em definir quando os dados devem ser retirados para disponibilizar 
espaço para armazenar outros dados na memória principal.
3.6 ALOCAÇÃO DE MEMÓRIA 
Nos primeiros sistemas operacionais voltados para computação de grande porte, a 
organização da memória se dava em duas partes distintas. Nessa época o SO poderia 
ficar na parte inferior da RAM e na parte superior era alocado o programa do usuário. 
Dessa forma, nessa organização existia apenas um programa que poderia entrar em 
execução, sendo menor ou igual ao espaço destinado.
Quando surgiram os primeiros computadores pessoas, os drivers de dispositivos eram 
salvos na memória ROM, e o SO também era armazenado na parte inferior da me-
mória RAM. 
57
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Você percebeu que falamos de memória ROM e também 
memória RAM? As memórias ROM diferentemente de 
memória RAM, são memórias não voláteis. Você pode 
completar seus estudos pesquisando artigos no Google 
Scholar, pelo termo: memória ROM.
Em sistemas monousuários dessa época, ao qual a memória principal carregava o 
SO, uma alternativa para escapar do limite de espaço para execução do programa do 
usuário, é a sobreposição – overlay. Os projetistas tinham que criar programas meno-
res ou de igual tamanho a memória principal (RAM) disponível.
3.7 SOBREPOSIÇÃO - OVERLAY
A sobreposição é ação de divisão de programas em blocos lógicos, para então serem 
alocados na memória principal. Dessa forma, não existindo a necessidade do bloco 
permanecer na memória, ele pode ser substituído por outro, liberando memória. Fa-
zendo overlay, os programadores estendiam o tamanho de memória principal, onde 
as áreas de overlay eram definidas por eles. Assim, os programas poderiam ter um ta-
manho maior do que a memória principal, mas fisicamente a memória não alterava 
seu tamanho. 
Segundo DEITEL (2008, p. 244) com a sobreposição, os programadores podiam es-
crever programas maiores do que a memória real, mas o gerenciamento do uso das 
sobreposições aumentava a complexidade do programa, e por consequência o custo 
de desenvolver.
Vamos exemplificar a sobreposição (overlay) considerando uma aplicação (programa) 
com três módulos:
• Módulo principal
• Módulo de cadastro (independente)
• Módulo de impressão (independente) Observação: Considere que a inde-
58
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
pendência dos módulos de cadastro e de impressão, nos informa que quando 
um módulo estiver presente na memória para ser executado o outro não ne-
cessita estar presente.
Neste exemplo, o módulo principal da aplicação é comum aos outros dois módulos. 
Dessa forma, o módulo principal permanece na memória enquanto o programa esti-
ver em execução. Conforme figura 3, o tamanho da memória principal não é suficien-
te para todo o programa, e utilizando overlay, temos um espaço comum na memória 
para cadastramento e impressão poderem compartilhar (área de overlay). 
FIGURA 16 - OVERLAY
Fonte: MACHADO, 2013
3.8 ALOCAÇÃO PARTICIONADA
Muita atenção a partir daqui, o entendimento de alocação e problemas de fragmen-
tação que iremos estudar se baseia no perfeito entendimento dos tópicos a seguir, 
como premissa, sendo a alocação particionada. 
Com a evolução dos sistemas e introdução de multiprogramação, foi necessário que 
muitos programas estivessem na memória principal simultaneamente. Dessa forma 
houve a necessidade de programar novos meios de gerenciamento da memória.
59
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
Vamos entender agora dois meios de alocação:
• Alocação particionada estática 
• Alocação particionada dinâmica
3.8.1 PARTICIONADA ESTÁTICA
Na alocação particionada estática, também conhecida como fixa, a memória é divi-
dida em tamanhos fixos. Essa forma de alocação foi bastante utilizada nos primei-
ros sistemas multiprogramáveis. Tal forma de divisão era definida na inicialização do 
sistema levando em consideração o tamanho dos programas. Na figura 4 podemos 
notar que cada partição era usada por um único programa, e o processador atuava 
alternando entre os diversos programas que constavam em cada partição.
FIGURA 17 - ALOCAÇÃO PARTICIONADA ESTÁTICA
Fonte: MACHADO, 2013
A alocação de partições de forma fixa causava a chamada fragmentação interna, pois os 
programas não usavam o tamanho total das partições e dessa forma parte da memória 
não era utilizada. Isso pode ser visto no exemplo da figura 5, onde os programas A, C e 
E não ocupam por completo o espaço de partições ao qual estão alocados, deixando 
como espaço livre: 1kb, 3kb e 5kb de áreas livres na memória principal, respectivamente.
60
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017SUMÁRIO
SiStemaS OperaciOnaiS
FIGURA 18 - EXEMPLO DE FRAGMENTAÇÃO INTERNA
Fonte: MACHADO, 2013
Ainda na alocação particionada estática, aconteceu uma evo-
lução dos compiladores e montadores da linguagem de baixo 
nível, onde em primeiro momento acontecia a alocação está-
tica absoluta e posteriormente alocação estática realocável. 
Para completar seu estudo a respeito dessas formas de alocação (absoluta 
e realocável), consulte o livro Arquitetura de Sistemas Operacionais do au-
tor Francis Machado – capítulo 9, disponível no sistema virtual da Minha 
biblioteca.
61
FACULDADE CAPIXABA DA SERRA/EAD
Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 SUMÁRIO
SiStemaS OperaciOnaiS
3.8.2 PARTICIONADA DINÂMICA
Na alocação particionada dinâmica (variável), foi abandonada a ideia de partição com 
tamanho fixo. Nessa forma de alocação foi minimizada

Mais conteúdos dessa disciplina