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

Prévia do material em texto

Sistemas 
Operacionais
Sistemas 
Operacionais
1ª edição
2019
Autoria
Parecerista Validador
Paulo Sérgio Pádua de Lacerda
Augusto Mendes Gomes Jr.
*Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência.
Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. Nenhuma parte
desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização. A violação dos
direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal.
8
 1Unidade 1
1. Fundamentos de 
Sistemas Operacionais
Para iniciar seus estudos
Olá! Nesta unidade, será apresentado o conceito de sistema operacional, 
bem como sua importância no universo da tecnologia da informação. 
Sistemas operacionais são sistemas de base para qualquer dispositivo 
de TI e controlam tanto o hardware quanto o software de seu dispositivo 
eletrônico. Vamos lá?
Objetivos de Aprendizagem
• Recordar a evolução dos sistemas operacionais.
• Esclarecer os diversos tipos de sistema operacional.
• Identificar a estrutura dos sistemas operacionais.
9
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Introdução da unidade
A compreensão do papel dos sistemas operacionais nos diversos tipos de dispositivo de tecnologia da informação 
é fundamental para o entendimento na resolução de problemas relacionados, por exemplo, à capacidade de 
memória e desempenho de hardware.
Esta seção tem como objetivo dialogar e estudar os conceitos fundamentais, começando pela definição de 
sistemas operacionais, registrando a evolução histórica, descrevendo o funcionamento da sua estrutura e, por 
fim, diferenciando os diversos tipos de sistema operacional. 
Em suma, você será capaz de aplicar os conceitos sobre sistema operacional, por exemplo, no planejamento de 
uma infraestrutura de tecnologia da informação.
1.1 O que é sistema operacional (SO)?
Na era atual, os sistemas computacionais são constituídos de processadores, memórias (volátil e fixa), diversos 
tipos de disco (hard disk, pen drives, nuvem), teclado, conjunto multimídia (CD, DVD, som), monitor, impressoras, 
redes, interface com usuário, mouse, câmeras, scanners, entre outros. Em suma, sistema computacional é um 
sistema muito complexo para desenvolvedores tanto de software quanto de hardware (WATSON, 2013). 
Os desenvolvedores têm uma tarefa difícil na criação de softwares e hardwares devido à complexidade de desenvolver 
programas que, além das funcionalidades do próprio software ou hardware, também tenham que gerenciar de 
forma eficiente todos esses elementos que compõem os sistemas computacionais. O desenvolvedor de um 
software, como, por exemplo, o Waze (NOERKAISAR et al., 2016) não precisa se preocupar com o gerenciamento 
de memória; no mesmo sentido, um desenvolvedor de impressora ou de qualquer outro hardware não precisa 
se preocupar com o reconhecimento do hardware com relação ao dispositivo conectado. Então, os sistemas 
operacionais têm a finalidade de controlar e gerenciar tanto o hardware, através de uma interface amigável, 
quanto o software (programas de usuários), por meio de diversos recursos disponíveis no sistema.
“Popularmente”, define-se sistema operacional como um software que gerencia o hardware de um dispositivo 
computacional; porém, o sistema operacional é um software de base, que provê um conjunto de aplicações que 
tem a finalidade de atuar de forma transparente entre os programas de usuários e os hardwares de qualquer 
dispositivo computacional, como computadores, celulares, tablets, televisão, etc. (FIGURA 1). 
Então, pode-se dizer que, basicamente, um sistema operacional tem como objetivos:
1. Gerenciar o compartilhamento de recursos, como memória, hardware e processador.
2. Prover diversos serviços que simplifiquem as aplicações.
3. Apresentar uma interface entre programas de aplicação e hardwares.
Conclui-se, então, que um SO pode atuar como um gerenciador de recursos, um provedor de serviços e uma 
máquina virtual.
10
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Figura 1 – Estrutura básica de um SO
SOFTWARE
HARDWARE
SISTEMA
OPERACIONAL
Fonte: Elaborada pelo autor.
1.1.1 SO como gerenciador de recursos
Recurso refere-se a um dispositivo de hardware que é compartilhado entre programas de softwares. Um conceito 
mais básico de sistema operacional é o gerenciador de recursos de hardware. Sob esse ponto de vista, o sistema 
operacional tem o papel principal de controlar todo o gerenciamento de quaisquer recursos disponíveis para 
utilização dos softwares. No papel de gerente de recurso, o sistema operacional recebe diversas solicitações de 
uso de determinado recurso por parte dos softwares e decide quando e como essas aplicações utilizarão esses 
recursos, podendo até negar a utilização dos mesmos. Ao conceder o uso dos recursos, o sistema operacional 
tem a finalidade de não gerar conflitos entre os programas que estão requisitando ou utilizando o recurso.
A memória, por exemplo, é um recurso exigido por qualquer aplicação. Um sistema operacional não pode permitir 
que uma aplicação tenha acesso à determinada área de memória utilizada por outra aplicação, ou seja, uma área 
de memória reservada por outra aplicação. Se um programa malicioso – por exemplo, um vírus – acessar uma 
área de memória reservada por outra aplicação, poderá ocorrer um travamento do sistema ou, no mínimo, falhas 
constantes de resultados, que podem ser prejudiciais caso essa área de memória modificada seja utilizada pelo 
próprio sistema operacional, afetando o comportamento de todo o sistema. A tela azul ou “tela da morte” que 
ocorria no Windows é um exemplo de acesso indevido às áreas de memórias compartilhadas por mais de uma 
aplicação. O sistema travava e apresentava uma tela azul com dizeres sobre erro no endereçamento de memória.
1.1.2 SO como provedor de serviços
Serviço é qualquer tarefa (recurso) que seja utilizada por uma aplicação do ponto de exigência dela mesma. Uma 
aplicação pode, em determinados momentos, exigir mais poder de processamento, mais alocação de memória, 
mais controle de entrada e saída (I/O); enfim, pode demandar do sistema operacional os serviços necessários para 
11
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
que ela opere com eficiência. Por exemplo, editores de vídeo demandam mais processamento, mais capacidade 
de memória e um melhor gerenciamento dos recursos pelo sistema operacional.
Aplicações são executadas em diversos tipos de sistema operacional, como Windows, Linux, macOS, etc. (FIGURA 2). 
Nessa perspectiva, ao escolher o tipo de sistema-base para a execução de determinada aplicação, o sistema 
operacional é visto como um provedor de serviços.
Figura 2 – Onde executar
Aplicação
Alocar mais memória
Windows
Linux
macOS
Executar em...
Fonte: Elaborada pelo autor.
1.1.3 SO como máquina virtual
Um usuário comum especifica um computador não somente pelo hardware, mas pelo conjunto hardware 
+ sistema operacional. Esse conceito é definido pela simplicidade de execução de tarefas que o sistema 
operacional proporciona às aplicações ou usuário. Nessa visão top-down (FIGURA 3), a aplicação ou usuário não 
consegue diferenciar uma estrutura de hardware complexa de uma estrutura de hardware simples. O usuário trata 
o computador como se o hardware não existisse. Essa não diferenciação é facilitada pela interface de código 
gerada pelo sistema operacional. Essa interface traduz instruções virtuais em instruções nativas num processo de 
compilação em tempo de execução (just-in-time). Essa visão abstrata é chamada de máquina virtual. Por exemplo, 
ao instalar um programa Pacote Office, o usuário não se atenta ao processador ou tipo de memória, pois o sistema 
operacional abstrai essa informação, fazendo o elo entre a aplicação do usuário e o hardware da máquina.
Figura 3 – Visão top-down
HARDWARE
SISTEMAOPERACIONAL
Fonte: Elaborada pelo autor.
12
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
1.2 Evolução histórica dos sistemas operacionais
Baixo custo, alto poder de processamento, desempenho otimizado e compactação são características relacionadas 
ao desenvolvimento histórico dos sistemas operacionais. Um paralelo também pode ser feito com a evolução dos 
componentes eletrônicos que formam o hardware do computador, que, ao longo do tempo, evoluíram para uma 
otimização, compactação e um desempenho mais eficiente. 
Então, pode-se dizer que a evolução histórica dos sistemas operacionais está diretamente relacionada à 
arquitetura dos computadores nos quais eles são executados. Uma forma simples de referenciar a evolução 
histórica dos sistemas operacionais é a divisão por fases ou gerações. 
1.2.1 Primeira fase (1945-1955)
Enquanto o mundo se encontrava aterrorizado com o bombardeio americano na cidade de Hiroshima no Japão 
em agosto de 1945, os cientistas Howard Aiken (Harvard), John von Neumann (Instituto de Estudos Avançados 
de Princeton), J. Presper Eckert e William Mauchley (Universidade da Pensilvânia) e Konrad Zuse (Alemanha) 
conseguiam sucesso na criação de máquinas para executar cálculos matemáticos baseando-se em dezenas de 
válvulas e painéis de conectores. 
Naquela época (meados da década de 40), projeto, construção, programação, operação e manutenção eram 
realizados por um único grupo de pessoas. Não havia qualquer tipo de programação, nem Assembly. Toda e 
qualquer ligação e operação era eletromecânica, e a programação era em linguagem pura de máquina. Não 
havia o conceito de sistema operacional.
As máquinas tinham sido construídas para executar cálculos simples com números (seno e cosseno). Essas 
máquinas, além de ocupar fisicamente áreas enormes, eram lentas e custosas. Os cientistas esperavam horas 
para um resultado após executar operações simples em computadores baseados em 20 mil válvulas, torcendo 
para que nenhuma válvula queimasse durante a operação. Surge, então, o ENIAC (Electronic Numerical Integrator 
and Computer), considerado o primeiro computador digital com propósito geral. 
O ENIAC (FIGURA 4) – computador criado para realização de cálculos balísticos – possuía 18 mil válvulas, 10 mil 
capacitores e 70 mil resistores; além disso, pesava 30 toneladas, consumia cerca de 140 kW e era capaz de realizar 
5 mil adições por segundo. 
Outros computadores, destinados a universidades e órgãos militares, foram construídos, como o EDVAC 
(Electronic Discrete Variable Automatic Computer) e o IAS (Princeton Institute for Advanced Studies).
13
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Figura 4 – ENIAC
Fonte: SHUTTERSTOCK, 2018.
1.2.2 Segunda fase (1956-1965)
O transistor, componente eletrônico criado na década de 50 com o intuito principal de amplificar os sinais 
elétricos, foi o grande passo tecnológico para a evolução dos computadores, e o surgimento das memórias 
magnéticas também contribuiu para a evolução dos computadores da época. Juntos proporcionaram o aumento 
do poder de processamento, a elevação da capacidade de armazenamento, a diminuição das máquinas e um 
acesso mais rápido às informações.
Assembly e Fortran são as linguagens originadas na época que permitiram que os programas deixassem 
de ser meramente fios e conectores diretamente executados no hardware e que propiciaram o processo de 
desenvolvimento dos primeiros programas. Já não eram mais viáveis tantos procedimentos manuais para um 
manuseio eficiente dos computadores e dos recursos disponíveis e, no intuito de organizar e automatizar as 
tarefas manuais, surgiram os primeiros sistemas operacionais.
Essas máquinas precisavam de salas especiais climatizadas e equipes especializadas para manutenção 
em operação, ocasionando, pela primeira vez, uma separação de tarefas entre profissionais (projetistas, 
programadores, operadores). Mesmo com tanta evolução, somente as grandes instituições, universidades 
e órgãos públicos tinham acesso a esses recursos. Esses computadores da segunda geração foram utilizados, 
principalmente, para a realização de enormes cálculos científicos de engenharia programados em Fortran e 
Assembly.
14
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
O processo tornou-se mais simples para o programador de tarefas. Antes, a programação da tarefa era feita uma 
a uma; na segunda geração, para aperfeiçoar as tarefas, criou-se o processamento em lote (batch system) (Figura). 
Neste processamento, cartões perfurados eram utilizados para fazer toda a programação produzida inicialmente 
em papel. As informações de todos os cartões eram lidas e armazenadas em fitas magnéticas; ao final, realizava-se 
a leitura dessas fitas, obtendo-se seu resultado por meio de impressoras. O FMS (Fortran Monitor System) e o 
IBSYS, sistema racional da IBM, eram os sistemas operacionais típicos dessa época.
Figura 5 – Processamento em lote
Fonte: SHUTTERSTOCK, 2018.
1.2.3 Terceira geração (1965-1980)
Nos primórdios anos da década de 60, os computadores eram projetados para finalidades distintas: os 
computadores baseados em palavras (IBM-7094) eram utilizados para fins científicos; os baseados em caracteres 
(IBM-1491), para fins comerciais por bancos e companhias de seguros. A necessidade dos clientes em ter um 
computador de custo mais baixo e que aproveitasse o sistema legado (programas antigos) cresceu e, nessa linha, 
a IBM criou o System/360, que contemplava ambas as necessidades. 
Essa evolução só foi possível devido ao surgimento dos circuitos integrados (CI), que proporcionaram diminuição 
do custo de aquisição, aumento de processamento e redução do tamanho físico das máquinas. Essa evolução 
dos processadores para computadores permitiu um passo enorme na arquitetura de processamento das 
informações. O sistema que antes era em lote e, a cada processamento, gerava uma pausa entre processos foi 
solucionado com a técnica de multiprogramação (MACHADO; MAIA, 2013).
Veja o portal da IBM, que aborda alguns tipos de sistema operacional de mercado. Lá, 
encontram-se algumas informações interessantes sobre o tema.
15
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Multiprogramação é a técnica de processar vários programas quase simultaneamente por um único processador. 
Tal técnica só era possível dividindo a memória em partições (FIGURA 6). Enquanto um programa aguardava 
para ser executado em memória, o outro poderia ser executado no processador. Esse processo otimizou os 
processamentos em lote, pois permitia a alteração na ordem de execução das tarefas, antes sequencial. Para 
esse processo de submissão deu-se o nome de spooling, posteriormente usado pelas impressoras comerciais. 
Com essa finalidade, a IBM criou o sistema operacional OS/360, projetado para uma linha de computadores 
utilizados em pequenas empresas. Diferentemente dos antecessores (em batch), esse SO demandou um sistema 
de armazenamento em disco e facilitou a transferência de programas entre sistemas operacionais da IBM, o 
que anteriormente não permitido. A Digital Equipment Corporation (DEC), na mesma época, lançou o PDP-8, 
computador de 12 bits comercial, criando assim o mercado dos minicomputadores.
Esses sistemas operacionais ainda eram limitados, mesmo com a otimização dos processamentos em lote, pois 
não possuíam interatividade com o usuário. Na solução desses problemas, terminais de vídeo e teclado foram 
adicionados. A multiprogramação gerou uma expectativa de tempo, ou seja, os processamentos mais rápidos e, 
com isso, tempos de resposta a usuários mais rápidos e interfaces mais amigáveis. Essa necessidade de tempo de 
resposta mais curto caminhou para uma técnica chamada compartilhamento de tempo, que se refere à criação 
de pequenos pedaços de processamento do processador para diversos programas a serem executados. 
O UNIX, criado pelo laboratório Bell,da AT&T, também foi lançado na mesma época, originalmente para 
os computadores PDP-7 baseados no sistema MULTICS (Multiplexed Information and Computer Service) e, 
posteriormente, reescrito em linguagem C, com portabilidade adicionada.
Figura 6 – Partição de memória
Processo 1
Memória
Processo 2
Processo 3
Sistema
Operacional
Partição
Fonte: Elaborada pelo autor.
1.2.4 Quarta geração (1981-1990)
O desenvolvimento dos circuitos integrados para integração em larga escala (LSI) e para integração em muito 
larga escala (VLSI) permitiu que projetos de diminuição e de custos mais baixos dos computadores fossem 
viabilizados, tornando o mercado impulsionado pelos mini e superminicomputadores.
Nessa geração, com o desenvolvimento dos computadores pessoais e o crescimento da indústria de software, 
os sistemas operacionais apresentaram interfaces mais amigáveis, e os computadores pessoais demandaram 
16
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
sistemas mais compactos e leves. Surge, então, o Microsoft Disk Operating System (MS-DOS), sistema operacional 
da fabricante Microsoft que dominou o mercado de SO para computadores pessoais, assim como houve a 
expansão do sistema operacional UNIX.
O MS-DOS foi significante para computadores IBM-PC (FIGURA 7), 16 bits, com processadores Intel 8088 e seus 
sucessores 80286, 80386 e 80486. Embora limitado, o MD-DOS foi o software de base para o Windows 3.1 na 
área de mini e superminicomputadores, com filosofia multiusuário e sistemas compatíveis com o UNIX-like e o 
Virtual Memory System, da DEC. Esses sistemas, embora monousuários, permitiam trabalhar com mais de uma 
tarefa ao mesmo tempo, originando o conceito de multitarefa.
A exigência de processamento de volume de dados elevados proporcionou a adição de mais processadores ao 
hardware, o que permitiu aumentar o desempenho de processamento, criando o conceito de multiprocessamento, 
ou seja, capacidade de processar duas tarefas ao mesmo tempo, introduzindo também os processadores vetoriais 
e técnicas de paralelismo em níveis diferentes, tornando os sistemas computacionais mais poderosos.
No meio da década de 80, com a difusão das redes de computadores, surgiram os sistemas operacionais de rede 
e os sistemas operacionais distribuídos. Os sistemas operacionais de rede são sistemas que controlam o acesso 
à rede e a informação contida na rede remotamente; por isso, devem possuir uma interface amigável, não sendo 
muito diferentes de sistemas operacionais monousuários. Por sua vez, os sistemas operacionais distribuídos 
são visualizados pelo usuário como um sistema monousuário e requerem processamento com algoritmos 
mais complexos devido à necessidade de utilização de vários processadores ao mesmo tempo como um único 
processador. 
Figura 7 – IBM-PC
Fonte: SHUTTERSTOCK, 2018.
1.2.5 Quinta geração (1991 aos dias atuais)
A partir do início da década de 1990, evoluções no hardware e nos programas, bem como a convergência 
entre redes e telecomunicação, permitiram um desenvolvimento crescente na capacidade de processamento, 
armazenamento e transmissão de dados, acrescido do boom da internet e de melhorias significantes nos 
processadores. Com isso, os sistemas operacionais baseados em interfaces gráficas foram consolidados.
17
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Novos conceitos surgiram e surgirão devido à necessidade diária de processamento de novos volumes de 
dados, novos dispositivos, novos sistemas wireless e na integração entre esses dispositivos (internet of things) 
e na computação em nuvem. Linguagens concorrentes e linguagens naturais surgiram, e novas linguagens 
surgirão também. Mesmo assim, os conceitos básicos dos sistemas operacionais ainda são fundamentais – 
gerenciamento de processos, gerenciamento de memória e gerenciamento de entrada/saída –, porém com 
melhorias, principalmente nos algoritmos de gerenciamento.
A capacidade de gerenciamento de processos e de gerenciamento de memória faz a 
diferença entre os sistemas operacionais.
1.3 Estrutura dos sistemas operacionais
A estrutura de um sistema operacional é complexa e, muitas vezes, de difícil compreensão. O entendimento de 
como os componentes do computador são organizados, gerenciados e interconectados torna a compreensão 
do sistema operacional relevante para estudos. Para que se tenha uma evolução nos estudos, também é preciso 
entender os conceitos iniciais e, posteriormente, a estrutura interna (TANENBAUM, 2016).
1.3.1 Conceitos de sistema operacional
A interface de um sistema operacional proporciona transparência entre a aplicação do usuário e o sistema 
operacional, pois é formada por um conjunto de instruções estendidas. Essas instruções são conhecidas como 
system calls (3.1.4) e definem implementações variadas, pois os processadores mais atuais executam instruções 
em níveis de privilégio diferentes: nível de usuário (modo usuário) e nível de kernel (modo protegido).
1.3.1.1 Processos
Basicamente, processos são tarefas executadas no núcleo do processador, ou seja, no programa em execução. 
Associados a um processo estão um endereçamento de memória e um número de identificação. Cada processo 
(processo-pai) pode criar um processo-filho, e cada processo-filho pode criar outro processo-filho, gerando 
assim uma estrutura de árvore de processos (FIGURA 8).
18
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Figura 8 – Estrutura de árvore de um processo
Processo A
Processo B
Processo E Processo D
Processo C
- Processo A (pai) cria processos-filho B e C.
- O processo-filho B cria os processos-filho E e D.
Fonte: Elaborada pelo autor.
1.3.1.2 Arquivos
Arquivo é qualquer informação que possa ser armazenada em um dispositivo eletrônico ou computador, como 
som, imagem, texto, figura, vídeo, etc. Os sistemas operacionais possuem a capacidade de organização desses 
arquivos em locais chamados diretórios. Diretório também é um arquivo, porém o seu conteúdo pode ser de 
arquivos ou de outro diretório. 
Assim como os processos, os arquivos constituem uma estrutura em árvore (FIGURA 9). A diferença entre essas 
hierarquias é que uma estrutura de processos se dá, no máximo, em três níveis e dura enquanto o processo 
estiver em execução; já uma estrutura de arquivos dura enquanto não for apagada e pode ter diversos níveis. 
Cada arquivo dentro da hierarquia contém um nome e um caminho (localização do arquivo dentro da estrutura 
a partir do local-raiz).
Figura 9 – Estrutura de árvore de arquivos
O caminho da disciplina C:
diretório raiz/faculdade/disciplina C
Diretório-raiz
Faculdade
Disciplina A Disciplina B Disciplina C
Fonte: Elaborada pelo autor.
19
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
1.3.1.3 Shell
Shell (FIGURA 10) é o interpretador de comando utilizado dentro do sistema operacional. O usuário utiliza essa 
interface para fazer conexão com o sistema operacional; sendo assim, toda vez que um sistema operacional é 
iniciado, o shell também é iniciado. O shell, “popularmente”, é a interface não gráfica de um sistema operacional, 
sendo composto de diversos comandos para a comunicação do usuário com o sistema operacional. Ele possui 
um símbolo de entrada, que, dependendo do sistema operacional, pode ser #, $, >. 
Figura 10 – Tela do shell do Windows
Fonte: SHUTTERSTOCK, 2018.
1.3.1.4 Chamadas de sistema (system calls)
O sistema operacional é formado por um conjunto de procedimentos que dão suporte aos usuários dos sistemas 
e às aplicações executadas através do oferecimento de diversos serviços. O kernel (núcleo do sistema operacional) 
é composto por essas diversas rotinas de tratamento de interrupções, gerenciamento de memória, operações de 
entrada/saída, escalonamento e controle de processos, etc. 
Define-se chamada de sistema como um mecanismo pelo qual um processo pode solicitar um dos serviços, como 
interrupção de um processo em execução.Por exemplo: uma aplicação faz uma solicitação a um system call, que, 
por sua vez, através de parâmetros passados na chamada da aplicação, faz uma chamada ao mecanismo do sistema 
operacional, processando-se a solicitação. Então, um valor parâmetro é retornado à aplicação (FIGURA 11).
20
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Figura 11 – System call
Aplicação System Call Kernel
H
A
R
D
W
A
R
E
Fonte: Elaborada pelo autor.
As rotinas da chamada de sistema (system call) podem ser divididas em três grupos: gerência de processos, gerência 
de memória, gerência de entrada/saída (QUADRO 1).
Quadro 1 – Principais rotinas da chamada de sistema (system call)
Gerência de processo
Criação e eliminação de processos.
Alteração das características de processos.
Sincronização de processos.
Comunicação entre processos.
Gerência de memória
Alocação e desalocação de memória.
Gerência de entrada/saída
Operações de I/O.
Manipulação de arquivos e diretórios.
Fonte: Elaborado pelo autor.
A chamada de sistema contém algumas instruções que somente podem ser acessadas pelo sistema operacional; 
por essa razão, há uma proteção de modo de acesso a essas rotinas. Esse acesso pode ser privilegiado ou não 
privilegiado: o acesso não privilegiado (modo usuário) não ameaça a segurança, nem a organização do sistema 
– por exemplo, gravar um arquivo em disco. Porém, no modo privilegiado (kernel), o kernel realiza as operações 
solicitadas pela chamada de sistema – por exemplo, alterar as permissões de acesso a determinado disco. Caso um 
processo tente alterar ou acessar uma tarefa em modo kernel (privilegiado), uma mensagem de exceção é gerada, 
e a tarefa, encerrada. 
O núcleo do sistema operacional opera em modo kernel para que se permita ao sistema controlar todos os recursos 
e solucionar todos os problemas de qualquer nível de privilégio (STUART, 2011).
1.3.2 Estrutura interna do sistema operacional
Existem diversas possibilidades para arquitetar a estrutura de um sistema operacional internamente. Você será 
apresentado a cinco modelos que foram aplicados na prática. 
21
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
1.3.2.1 Sistemas monolíticos
Essa estrutura é a mais comum de ser encontrada, pois qualquer procedimento pode interagir com outro 
procedimento em qualquer parte do programa. Os procedimentos são compilados e, depois, linkados como um só 
programa; caso um erro aconteça, o sistema é paralisado. O MS-DOS, da Microsoft, é um exemplo de estrutura de 
sistema operacional monolítico Unix-like (solaris, Linux).
1.3.2.2 Sistemas em camadas
No sistema de estrutura em camadas, o sistema operacional é dividido em camadas sobrepostas. Os módulos são 
compostos por um conjunto de rotinas que podem ser usadas por outros módulos. Os módulos somente podem 
fazer referência a módulos adjacentes. O sistema Technische Hogeschool Eindhoven (THE), construído por Dijkstra, 
Holanda, utilizava seis camadas (QUADRO 2). O sistema MULTICS, por exemplo, utilizava o mesmo conceito de 
camadas, porém em camadas circuncêntricas (FIGURA 12), sendo o privilégio maior para a camada mais interna.
Quadro 2 – Sistema operacional em seis camadas
5 Operador
4 Programa de usuário
3 Entrada/saída
2 Comunicação
1 Gerência de memória
0 Multiprogramação
Fonte: Elaborado pelo autor.
Figura 12 – Sistema operacional em camadas circuncêntricas
Kernel
Executivo
Supervisor
Usuário 
Fonte: Elaborada pelo autor.
22
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
1.3.2.3 Exonúcleos
Exonúcleo é um programa na camada inferior do sistema operacional, sendo executado em modo kernel, que cria 
máquinas virtuais alocando recursos para elas, sem que uma máquina virtual utilize recursos de outra máquina 
virtual. O IBM VM/370, por exemplo, utilizava esse tipo de estrutura.
1.3.2.4 Máquinas virtuais
A máquina virtual fornece todos os recursos que uma máquina real fornece ao usuário ou aplicação, porém 
virtualmente. No sistema de máquina virtual, um sistema operacional pode suportar outros sistemas operacionais 
sendo executados sob o SO principal : (QUADRO 3). O VMware (YILE, 2016) é um exemplo de sistema operacional para 
implementação de máquinas virtuais. Cada máquina possui seu próprio conjunto de serviços, independentemente 
umas das outras.
Quadro 3 – Sistema operacional de máquina virtual
Aplicação A Aplicação B Aplicação C
SO convidado (Windows) SO convidado (Linux) SO convidado (macOS)
SO host (máquina virtual – VMware)
Hardware
Fonte: Elaborada pelo autor.
1.3.2.5 Modelo cliente-servidor
A estrutura cliente-servidor possui um núcleo com o mínimo de rotinas, removendo o máximo de códigos possível 
em modo núcleo. Quando os serviços são solicitados, os códigos de camadas superiores transferem-se para as 
camadas inferiores. Quando um serviço é solicitado por um usuário (cliente), um bloco de informações é enviado 
à camada inferior (servidor), que executa a tarefa e retorna uma resposta. 
O núcleo do sistema operacional tem a única tarefa de tratar a comunicação entre clientes e servidores. O sistema 
operacional é dividido em diversos seguimentos, como servidor de arquivos, servidor de processos, servidor de 
memória, etc. Esse tipo de sistema operacional possui adaptabilidade a sistemas distribuídos; portanto, todas as 
vezes em que um cliente envia a mensagem, a única coisa que ele precisa saber é a resposta, não se preocupando 
se a mensagem foi tratada localmente ou remota (FIGURA 13).
Figura 13 – Sistema operacional modelo cliente-servidor em sistema distribuído
Máquina 1
Cliente
Servidor de
terminais
Servidor de
processos
Servidor de
arquivos
Núcleo Núcleo Núcleo Núcleo
Máquina 2 Máquina 3 Máquina 4
Rede
Mensagem de cliente para servidor
Fonte: Elaborada pelo autor.
23
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
1.4 Exemplos de sistema operacional
A classificação dos sistemas operacionais pode ser estabelecida por diversos critérios, como número de 
processadores, quantidade de tarefas que podem ser executadas com relação à programação, etc. 
1.4.1 Tipos de sistema operacional
Os conceitos e técnicas sobre sistemas operacionais tiveram destaque com a popularização dos computadores 
pessoais. Dentro das características, pode-se destacar: os sistemas operacionais monotarefa/monoprogramável 
e multitarefa/multiprogramável, bem como o sistema em múltiplos processadores (SILBERSCHATZ, 2015).
Monotarefa/monoprogramável: sistema desenvolvido nos primórdios dos computadores. Máquinas que eram 
utilizadas por apenas um usuário e todos os recursos eram exclusivos a uma única tarefa.
Multitarefa/multiprogramação: sistema desenvolvido para evolução do sistema monotarefa, é mais complexo e 
eficiente. Nesse sistema, as tarefas são compartilhadas entre diversos usuários, e os recursos são compartilhados 
entre as diversas tarefas executadas no processador.
Múltiplos processadores: sistema em duas ou mais unidades de processamento trabalhado em conjunto. 
Destacam-se pelo grau de comunicação entre essas unidades de processamento, compartilhamento de memória 
e dispositivos de entrada e saída. Esse sistema pode ser definido como fortemente ou fracamente acoplado.
• O sistema fortemente acoplado pode ser simétrico (quando dois processadores compartilham uma única 
memória, controlada por um único sistema operacional) e assimétrico (quando um processador é definido 
como mestre, e o segundo processador, escravo). Qualquer operação será determinada pelo processador-
mestre: caso este falhe, nada acontece; caso precise de mais recursos, estes serão solicitados ao escravo.
• O sistema fracamente acoplado tem a característica de dois ou mais sistemas de computação interligados: 
rede ou distribuído. Cada sistema possui seu próprio sistema computacional: memória, processador, 
armazenamento, dispositivos de entrada e saída.
Qual tipo de sistema operacional usado no supercomputadorWatson foi criado pela IBM 
para serviços cognitivos?
1.4.2 Exemplos
As características diferenciam os diversos sistemas operacionais existentes no mercado. O propósito do projeto 
de sistema operacional define suas características com mais ou menos rotinas (QUADRO 4). 
24
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Quadro 4 – Exemplos de sistema operacional e suas características
Sistema operacional Características
Windows Multitarefa
Multiusuário
Interface gráfica padronizada
Licença para uso
Baseado em bibliotecas (.dll)
Empresa: Microsoft
iOS Multitarefa
Multiusuário
Interface gráfica padronizada
Licença para uso
Empresa: Apple
Android Licença de uso: GPL/GNU
Interface 
Baseado em kernel Linux
Empresa: Google
Linux Multitarefa
Multiusuário
Licença de uso: GPL/GNU
Interface variada
Baseado em arquivo texto (.txt)
Fonte: Elaborado pelo autor.
Síntese da unidade
Nesta unidade, você aprendeu a origem do sistema operacional e a sua transformação de um sistema operacional 
monotarefa/monousuário para um sistema mais moderno, multitarefa/multiusuário. No início da unidade, foram 
conceituados os principais fundamentos a respeito de sistema operacional e os seus principais objetivos. 
Posteriormente, a unidade apresentou as gerações de evolução de um sistema operacional. Essas gerações 
conseguem distinguir as necessidades de cada época para a evolução do sistema operacional. Em cada geração, 
serviços foram adicionados ao sistema operacional como ferramenta para melhor atender as necessidades do 
mercado (software e hardware) de cada época.
25
Sistemas Operacionais | Unidade 1 - Fundamentos de Sistemas Operacionais
Neste capítulo você conheceu os elementos básicos que formam um sistema operacional, como processos, 
arquivos, shell e as chamadas de sistema. Aprendeu as estruturas internas que são bases para qualquer projeto 
de sistema operacional. 
Por fim, características fundamentais de estrutura foram apresentadas a você para que se pudesse diferenciar 
os diversos sistemas operacionais existentes no mercado e também compreender e filtrar o mais adequado para 
cada situação.
26
Considerações finais
Sem o passado não compreendemos o presente. Essa afirmação “popular” 
pode ser aplicada a esta unidade. Os conceitos fundamentais de sistema 
operacional são essenciais para o entendimento das próximas unidades 
de estudo. Embasado neste estudo, você poderá classificar e sintetizar 
sistemas operacionais existentes no mercado, bem como valorizar a 
importância do sistema operacional instalado em qualquer dispositivo.
	Unidade 1
	1. Fundamentos deSistemas Operacionais
	Unidade 2
	2. Gerência de Processos
	Unidade 3
	3. Sincronização de Processos e Deadlock
	Unidade 4
	4. Gerência de Memória
	Unidade 5
	5. Técnicas de Gerência de Memória
	Unidade 6
	6. Gerência de Entrada e Saída
	Unidade 7
	7. Sistemas de Arquivos e Segurança
	Unidade 8
	8. Estudo de Caso

Mais conteúdos dessa disciplina