0% acharam este documento útil (0 voto)
4 visualizações90 páginas

Evolução Dos SO's

O documento aborda o conceito de Sistemas Operacionais (SOs), sua importância, definição e evolução histórica. Destaca a interação entre usuários e SOs, incluindo chamadas de sistema e formas de processamento. A evolução dos SOs é discutida desde os primeiros computadores mecânicos até as gerações de computadores eletrônicos e suas características.

Enviado por

FleX
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações90 páginas

Evolução Dos SO's

O documento aborda o conceito de Sistemas Operacionais (SOs), sua importância, definição e evolução histórica. Destaca a interação entre usuários e SOs, incluindo chamadas de sistema e formas de processamento. A evolução dos SOs é discutida desde os primeiros computadores mecânicos até as gerações de computadores eletrônicos e suas características.

Enviado por

FleX
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 90

Sistemas

Operacionais

Prof. Sama Rouhani


Aula de Hoje
1. Introdução ao conceito de Sistemas
Operacionais (SOs)
2. Histórico e evolução

2
Aula de Hoje (conteúdo detalhado)
1. Introdução
1. Sistema Computacional
2. A importância dos SOs
3. Definição do SO
4. A interação com o SO
5. A evolução dos SOs

3
Introdução
1. Sistema Computacional
◼ Consiste de:
• Um ou mais processadores
• Memória principal
• Discos, impressoras, teclado, monitor, interfaces de
redes e outros dispositivos de entrada e saída

4
Aula de Hoje (conteúdo detalhado)
1. Introdução
1. Sistema Computacional
2. A importância do SOs
3. Definição do SO
4. A interação com o SO
5. A evolução do SOs

5
Introdução
1.2 A Importância do Sistema Operacional

◼ Sistema sem S.O.


• Gasto maior de tempo de programação
• Maior dificuldade de integração de componentes
• Usuário preocupado com detalhes de cada
hardware

Aplicação
USUÁRIO Rotinas de E/S

Hardware 6
Introdução
2. A Importância do Sistema Operacional

◼ Sistema com S.O.


• Maior racionalidade (separation of concerns)
• Maior dedicação aos problemas de alto nível
• Maior portabilidade (Por que?)

Aplicação
USUÁRIO
Sistema
Operacional

Hardware
7
Máquinas Multinível

Ban. de dados, jogos, APLICAÇÕES


Editoração…
Compiladores, Editores,
Montadores... SOFTWARE
BÁSICO
Sistema Operacional

Linguagem de Máquina
Microinstruções HARDWARE
Dispositivos Físicos

8
Aula de Hoje (conteúdo detalhado)
1. Introdução
1. Sistema Computacional
2. A importância do SOs
3. Definição do SO
4. A interação com o SO
5. A evolução do SOs

9
Introdução
1.3 Definição de Sistema Operacional
Um sistema operacional é um programa, ou conjunto de
programas, interrelacionados cuja finalidade é agir como:

a) intermediário entre o usuário e o hardware; e

b) gereciador de recursos de hardware e software(sensors,


impressora, arquivos de entrada e saída, etc).

10
Introdução
◼ O Sistema Operacional é uma interface HW/SW
aplicativo
◼ Duas formas de vê-lo:
 É um “fiscal” que controla os usuários
 É um “juiz” que aloca os recursos entre os usuários
◼ Objetivos contraditórios:
 Conveniência
 Eficiência
 Facilidade de evolução
 A melhor escolha sempre DEPENDE de alguma
coisa…
11
Introdução
 Possui várias vantagens, entre elas:
◼ apresentar uma máquina mais flexível;
◼ permitir o uso eficiente e controlado dos

componentes de hardware;
◼ permitir o uso compartilhado e protegido dos

diversos componentes de hardware e software, por


diversos usuários.

12
Introdução
◼ O Sis. Op. deve fornecer uma interface aos programas
do usuário
 Quais recursos de HW?
 Qual seu uso?
 Tem algum problema? (Segurança, falha…?)
 É preciso de manutenção?
 Chegou um email?
 Entre outros…
 Chamadas de sistema [e.g. malloc()] – programas de Sistema
 Chamada de alguma funcionalidade implementada no núcleo
do SO

13
Aula de Hoje (conteúdo detalhado)
1. Introdução
1. Sistema Computacional
2. A importância do SOs
3. Definição do SO
4. A interação com o SO
5. A evolução do SOs

14
Introdução
1.4 Interação com o Sistema Operacional
O USUÁRIO
Interage com o S.O. de maneira direta, através de commandos pertencentes a uma
linguagem de comunicação especial, chamada “linguagem de comando”.

Ex:

- JCL (Job Control Language) - a linguagem interpretada usada em mainframes da IBM.

- DCL (Data Control Language) - instruções para controlar as permissões de acesso e uso aos
objetos do banco de dados

Interpretador de
COMANDOS
USUÁRIO comandos

Sistema Operacional 15
Introdução
Interface
Texto

Interface
Gráfica (GUI)

16
Mac OS

17
Introdução
1.4 Interação com o Sistema Operacional
OS PROGRAMAS DE USUÁRIO
Invocam os serviços do S.O. por meio das “chamadas ao
sistema operacional”.
Programa
do
Usuário Memória
Principal
Chamada ao
Retorno
S.O.

Sistema Operacional

18
Introdução
1.4 Interação com o Sistema Operacional
CHAMADAS DE SISTEMA(System Calls)
As chamadas de sistemas são funções (interfaces) usadas pelos
aplicativos para solicitar a execução de algum serviço ao Kernel do
SO.

https://www.codigofonte.com.br/dic
as/41-comandos-muito-uteis-para-
usar-na-caixa-de-dialogo-executar-
do-windows

19
Introdução
1.4 Interação com o Sistema Operacional
FORMAS DE PROCESSAMENTO

Serial (Monoprogramação)
- recursos alocados a um único programa

Concorrente(Mutiprogramação)
- Recursos dinamicamente reassociados entre vários programas em
diferentes estágios de avanço

20
Aula de Hoje (conteúdo detalhado)
1. Introdução
1. Sistema Computacional
2. A importância do SOs
3. Definição do SO
4. A interação com o SO
5. A evolução do SOs

21
Introdução
5. A Evolução dos Sistemas Operacionais
◼ Um SO pode processar sua carga de
trabalho de duas formas
 Serial (recursos alocados a um único programa)
 Concorrente (recursos distribuídos para vários
programas em diferentes estágios)
◼ Alcance e extensão de serviços
 Depende do ambiente em que devem suportar
(diversos tipos de sensores)
Histórico
Geração Zero – Computadores Mecânicos (1642 - 1945)

◼ Blaise Pascal (1623 - 1662)


 Construiu em 1642 a primeira máquina de
calcular, baseada em engrenagens e
alavancas, e que permitia fazer adições e
subtrações
◼ Leibniz (1646 - 1716)
 Construiu outra máquina no mesmo estilo,
porém permitia também a realização de
multiplicações e divisões
23
Histórico
Geração Zero – Computadores Mecânicos (1642 - 1945)

◼ Blaise Pascal ◼ Leibniz

24
Histórico
Geração Zero – Computadores Mecânicos (1642 - 1945)

◼ Charles Babbage (1792 – 1871)


 Máquina Diferencial: implementava o método
de diferenças finitas para navegação naval. A
saída era gravada em pratos de aço
 Máquina Analítica: proposta de uma máquina
de propósito geral. Era composta por quatro
componentes: memória, unidade de
computação, unidade de entrada e unidade
de saída
25
Histórico
Geração Zero – Computadores Mecânicos (1642 - 1945)

◼ Charles Babbage
Levou 3 anos para construir (1819 a 1822) e fazia operações de matriz e depois foi
aprimorado para fazer polinômios. Na época custava 17 mil dólares.

26
Histórico
Geração Zero – Computadores Mecânicos (1642 - 1945)

◼ Meados do século XIX: Charles Babbage


(1792-1871), por volta de 1833, projetou o
primeiro computador digital. No entanto, a
pouca tecnologia da época não permitiu
que o projeto tivesse sucesso.
 Máquina analítica:
◼ Não tinha um SO;
◼ Mas tinha um software que possibilitava seu uso;

27
Máquina analítica

28
Máquina analítica

29
Máquina analítica
Esse projeto era mais parecido com um computador de
propósito geral que podia fazer lógica aritmética, ter fórmulas
condicionais e loops, bem como uma forma de memória
mecânica. Toda a programação desse computador mecânico foi
projetada para ser feita com o uso de cartões perfurados.

Os projetos de Babbage e os protótipos pseudo-funcionais


foram considerados os primeiros computadores mecânicos a
serem inventados. Se ele tivesse mais financiamento na época
(1833) – o mundo da computação poderia ser muito mais
avançado hoje.
30
Histórico

1a. Geração de Computadores (1945 - 1955)


⚫ Computadores de Válvula elétrica

⚫ Ausência de um S.O.: a programação era feita


diretamente em linguagem de máquina

Colossus Mark I

31
Histórico
Válvula elétrica = Válvula hidráulica

Usados nos radios, TV, até na ENIAC e UNIVAC

Porque foram substituidas pelos transistors?


- frágil (vidro)
- consomem muita energia
- grande (dedo minimo)

32
Histórico
◼ Segunda Guerra Mundial: grande motivador
◼ COLOSSUS
 Primeiro computador digital eletrônico construído pelo Governo
Britânico em 1943.
 Objetivo: decodificar as mensagens trocadas pelos alemães
durante a Segunda Guerra Mundial, que eram criptografadas por
uma máquina chamada ENIGMA.
 Participação de Alan Turing.
◼ ENIAC (Electronic Numerical Integrator and Computer)
 Computador eletrônico construído por John Mauchley e J.
Presper Eckert (EUA) em 1946 para fins militares.
 18.000 tubos a vácuo; 1.500 relés; 30 toneladas; 140 kilowatts;
20 registradores de números decimais de 10 dígitos
 Programação feita através de 6.000 switches e de milhares de
jumpers (cabos de conexão)
 Participação de John Von Neumann. 33
Histórico

ENIAC

34
35
Histórico
◼ John von Neumann
 Construiu em 1952 o computador IAS (Institute for Advanced Study –
Princeton, USA)
 Programa Armazenado: programas e dados representados de forma
digital em memória
 Processamento baseado em aritmética binária, ao invés de decimal
◼ Máquina de Von Neumann
 Componentes: Memória, Unidade Lógica e Aritmética (ULA), Unidade
de Controle e os dispositivos de entrada/saída.
 Memória: 4096 palavras de 40 bits (2 instruções de 20 bits ou um
inteiro)
 Instrução: 8 bits para indicar o tipo, 12 bits para endereçar a memória
 Acumulador: registrador especial de 40 bits. Tem por função
armazenar um operando e/ou um resultado fornecido pela ULA.

36
Histórico
◼ John Von Neumann

37
Histórico

2a. Geração de Computadores (1955 - 1965)


⚫ Invenção do Transistor (William Shockley, John Bardeen,

e Walter Brattain)


Uso da linguagem Assembly e FORTRAN (salto evolutivo)

SOs do tipo lote (batch)
38
Histórico
O transistor foi desenvolvido em 1948 nos laboratórios da Bell Telephone, nos EUA,
pelos físicos Walter Brattain, John Bardeen e William Shockley, que receberam o
Prêmio Nobel de Física em 1956.

39
Histórico

◼ Segunda Geração (1955-1965) –


Transistores e Sistemas em Batch
 O desenvolvimento dos transistores tornou o
computador mais confiável possibilitando
sua comercialização - Mainframes;
 No entanto, devidos aos altos custos,
poucos tinham acesso a essa tecnologia –
somente grandes empresas, órgãos
governamentais ou universidades;
40
Histórico
◼ Surge a idéia de linguagem de programação de
alto nível – Fortran (desenvolvida pela IBM –
1954-1957);
◼ Cartões perfurados ainda são utilizados
 Operação: cada programa (job) ou conjunto de
programas escrito e perfurado por um programador
era entregue ao operador da máquina para que o
mesmo fosse processado – alto custo
Sistemas em Batch (lote)
◼ Consistiaem coletar um conjunto de jobs (um ou
mais programas) e fazer a gravação desse
conjunto para uma fita magnética
41
Histórico

Estrutura de um job FMS (Fortran Monitor


System) típico – 2a. geração 42
Histórico
Sistema em Batch

FMS (Fortran Monitor System)


Processamento: IBSYS – SO IBM para o 7094
43
Histórico
1957: uso de sistema auxiliar (técnica do spooling)
(simultaneous peripheral operation online) utiliza uma área do disco, como um buffer,
liberando para que outros programas sejam executados enquanto dados são
lidos/gravados em disco.

Sistema Sistema
Rolamento
Auxiliar Principal
Manual

44
Histórico

◼ Spooling (Simultaneous Peripheral


Operation On Line):
 Possibilitar que a leitura de cartões de jobs
fosse feita diretamente do disco;
 Assim que um job terminava, o sistema
operacional já alocava o novo job à uma
partição livre da memória direto do disco.
 Impressão.

45
Histórico

1959:

⚫ Introdução de canais autônomos de Entrada/Saída

⚫ Criação das Interrupções (muito importante - banho)

⚫ Entrada/Saída em paralelo com o cálculo

46
Histórico

1960:
⚫ Uso de Spooler automático

Spooler
Intercâmbio
Automático
Programa
do
Usuário

⚫ Invenção dos discos e tambores magnéticos



S.O.s Típicos: FMS (Fortran Monitor System) e

IBSYS (da IBM)
47
Exemplos de tecnologia de armazenamento da
2a. geração

Tambor Magnético Memória de Ferrite


48
Histórico (Terceira Geração)

◼ Terceira Geração (1965-1980) – Circuitos


integrados, Multiprogramação e Time-sharing
Produtos Incompatíveis (conjunto de instruções)

Máquinas imensas e poderosas Máquinas comerciais


científicas orientadas a caracter

Alta carga de desenvolvimento e


manutenção

IBM introduz o Sistema/360


49
Histórico
◼ Multiprogramação:
 Dividira memória em diversas partes
(partições) e alocar a cada uma dessas partes
um job.
 Manter na memória simultaneamente uma
quantidade de jobs suficientes para ocupar
100% do tempo do processador, diminuindo a
ociosidade.
 Importante: o hardware é que protegia cada
um dos jobs contra acesso indevidos de
outros jobs.
50
Histórico

◼ Mesmo com o surgimento de novas


tecnologias, o tempo de processamento
ainda era algo crítico. Para corrigir um erro
de programação, por exemplo, o
programador poderia levar horas

TimeSharing51
Histórico
◼ TimeSharing: cada usuário tinha um terminal
real-time à disposição;
 Primeiro sistema TimeSharing: CTSS (Compatible
Time Sharing System). Primeiro grande SO escrito em
alto nível(uma linguagem da IBM e não assembly)
 Ex.: se 20 usuários estão ativos e 17 estão ausentes, o
processador é alocado a cada um dos 3 jobs sendo
executados;
◼ Surge o MULTICS (predecessor do UNIX);
 POSIX (Portable OS IX) → Wrapper
◼ Família de minicomputadores PDP da DEC;
 Compatíveis;
 Unix original rodava no PDP-7 (Ken Thompson –
cientista da Bell Labs)
52
Histórico


Invenção dos Circuitos Integrados (chips) com baixa
escala de integração (SSI - Small Scale Integration)

Sistema OS/360 (IBM): 1ª a usar circuitos SSI

53
44
Histórico

Sistema
GE 625

(SO
Multics)

54
Histórico

TSS, Multics e CP/CMS incorporavam memória virtual.


A memória virtual permite às aplicações acesso a mais
memória do que estaria fisicamente disponivel no
sistema, o que, por sua vez, habilita os programadores
a desenvolver aplicações maiores, mas poderosas.
Além disso, sistemas de memória virtual liberam o
programador de grande parte da carga do
gerenciamento da memória.

55
Histórico
Os sistemas da década de 1970 eram primordialmente multimodais de
multiprogramação que suportavam processamento em lote, tempo
compartilhado e aplicações de tempo real. A ideia de multiprocessadores
começou a evoluir.

O protocol TCP/IP foi amplamente utilizado na área militar e nas


universidades.

A comunicação em redes locais (LANs) ficou prática e econômica com o


padrão Ethernet desenvolvido no Palo Alto Research Center (PARC) da
Xerox.

Os problemas de segurança começaram a surgir e aumentaram com o


crescimento dos volumes de informação transmitidos por linhas de
comunicações vulneráveis

56
Aula de Hoje
1. Tipos de Sistemas Operacionais (SOs)
2. Estruturas de SOs

57
Aula de Hoje (conteúdo detalhado)
5. Evolução dos SOs
Quarta e Quinta Geração de Computadores
6. Tipos de SOs
7. Diferentes Visões de SOs
8. Estruturas de SOs

58
Histórico
Um Breve Histórico
4ª Geração de Computadores (1980 - 1990)
⚫ Invenção dos Circuitos Integrados com alta escala
de integração (LSI - Largel Scale Integration)

Sistemas Operacionais para Microcomputadores
⚫ CP/M (8 bits)


DOS (16 bits)
⚫ UNIX (32 bits)...


Sistemas Operacionais de Rede

Sistemas Operacionais Distribuídos

59
Histórico

◼ Evolução do DOS → MS-DOS (MicroSoft


DOS)
 Tantoo CP/M quanto o MS-DOS eram
baseados em comandos;
◼ Macintosh Apple- Sistemas baseados em
janelas (GUI – Graphical User Interface)
◼ Microsoft – Plataforma Windows

60
Histórico
Quinta Geração (1990-hoje)
◼ Era da computação distribuída: um processo é
dividido em subprocessos que executam em
sistemas multiprocessados e em redes de
computadores ou até mesmo em sistemas
virtualmente paralelos

61
Histórico
Quinta Geração

◼ O protocolo de comunicação TCP/IP tornou-se


largamente utilizado (Depto de Defesa dos EUA)
e as LANs (Local Area Networks) tornaram-se
mais práticas e econômicas com o surgimento
do padrão Ethernet desenvolvido pela Xerox;
◼ Desenvolvimento e popularização do modelo
cliente/servidor;
◼ Difusão das redes de computadores
 Internet
62
Histórico
Quinta Geração
◼ Sistemas Operacionais Distribuídos:
 Apresenta-se como um sistema operacional
centralizado, mas que, na realidade, tem suas funções
executadas por um conjunto de máquinas
independentes; cria uma “ilusão” ao usuário
(servidores pagos: AWS, Locaweb, Hostgator …)
◼ Descentralização do controle;
◼ Linux;
◼ Família Windows (Vista, 7, 8, 10);
◼ Sistemas Operacionais em Rede – não são
diferentes dos SOs para os monoprocessadores.
63
Atualidades
◼ Sistemas Operacionais Orientados a Objetos
 Reúso
 Interface orientada a objetos
◼ JavaOS
 Portabilidade;
◼ Sistemas Operacionais de Tempo Real
 Importante:
◼ Gerenciamento de Tempo (críticos e não críticos);
◼ Gerenciamento de processos críticos (aviões, caldeiras);
 RTLinux (Real Time Linux);
◼ http://www.fsmlabs.com/
◼ Sistemas Operacionais Embarcados: telefones,
aparelhos eletrodomésticos; PDAs;
64
Aula de Hoje (conteúdo detalhado)
5. Evolução dos SOs
Quarta e Quinta Geração de Computadores
6. Tipos de SOs
7. Diferentes Visões de SOs
8. Estruturas de SOs

65
Introdução
1.6 Tipos de Sistemas Operacionais
Classificação quanto ao compartilhamento de
hardware
⚫ Sistemas Operacionais Monoprogramados

⚫ Só permite um programa ativo em um dado período de


tempo, o qual permanece na memória até seu término
⚫ Ex: DOS

Sistemas Operacionais Multiprogramados
⚫ Mantém mais de um programa simultaneamente na
memória principal, para permitir o compartilhamento
efetivo do tempo de UCP e demais recursos

EX: Unix, VMS, Windows, etc.

66
Introdução

•SOs Monoprogramáveis ou Monotarefa


⚫ Se caracterizam por permitir que o processador, a memória

e os periféricos permaneçam exclusivamente dedicados à


execução de um único programa. Recursos são mal
utilizados, entretanto é fácil de ser implementado.

67
Introdução
◼ SOs Multiprogramáveis ou Multitarefa
 Nestes SOs, vários programas dividem os recursos
do sistema. As vantagens do uso destes sistemas são
o aumento da produtividade dos seus usuários e a
redução de custos, a partir do compartilhamento dos
diversos recursos do sistema.
 Podem ser Multiusuário (mainframes, mini e
microcomputadores) ou Monousuário (PCs e
estações de trabalho). É possível que ele execute
diversas tarefas concorrentemente ou mesmo
simultaneamente (Multiprocessamento) o que
caracterizou o surgimento dos SOs Multitarefa.
68
Introdução
◼ Os SOs Multiprogramáveis/Multitarefa
podem ser classificados pela forma com que
suas aplicações são gerenciadas, podendo
ser divididos conforme mostra abaixo.

69
Introdução
Classificação quanto a interação permitida
- fator determinante Tempo de resposta
S.O. para processamento em Batch (lote)
⚫ Os jobs dos usuários são submetidos em ordem sequencial
para a execução

Não existe interação entre o usuário e o job durante sua
execução

JOB 4 JOB 3 JOB 2 JOB 1 UCP

70
Introdução
S.O. para processamento em Batch (lote)

71
Introdução
⚫ S.O. Interativo(time-sharing)
⚫ O sistema permite que os usuários interajam com suas
computações na forma de diálogo
⚫ Podem ser projetados como sistemas mono-usuários ou
multi-usuários (usando conceitos de multiprogramação e
time-sharing)

Monitor Terminais
Keyboard

Monitor
IBMAS/400

Keyboard

72
Introdução

S.O. de Tempo Real
⚫ Usados para servir aplicações que atendem processos externos,
e que possuem tempos de resposta limitados
⚫ Geralmente sinais de interrupções comandam a atenção do
sistema

Geralmente são projetados para uma aplicação específica

SENSOR
SINAIS DE ENTRADA
AMBIENTE
REAL
SINAIS DE SAÍDA

M
icroVAX ATUADOR
73
Introdução

Classificação segundo o Porte (Tanenbaum)
⚫ S.O.s de Computadores de grande porte

S.O.s de Servidores

S.O.s de Multiprocessadores

S.O.s de Computadores Pessoais

S.O.s de Tempo Real

S.O.s embarcados

S.O.s de cartões inteligentes

74
Aula de Hoje (conteúdo detalhado)
5. Evolução dos SOs
Quarta e Quinta Geração de Computadores
6. Tipos de SOs
7. Diferentes Visões de SOs
8. Estruturas de SOs

75
Introdução
7. Diferentes Visões de um S.O.
Visão do Usuário da Linguagem de Comando
⚫ As linguagens de comando são específicas de cada sistema

Classe Funcional Operações Típicas


Ativação de Programa e Carregar (Load)
Controle Executar (Run)
Abortar (abort)
Destruir processo (kill)
Gerência de Arquivos Copiar (Copy, cp,...)
Renomear (Ren)
Listar diretório (Dir, ls,...)
... ...

76
Introdução
7. Diferentes Visões de um S.O.
Visão do Usuário das Chamadas do Sistema
⚫ Permitem um controle mais eficiente sobre as operações do
sistema e um acesso mais direto sobre as operações de
hardware (especialmente a E/S).

Tipos Principais de Chamadas


Iniciação de dispositivos
Execução e controle de programas
Serviços de alocação e reserva de
recursos do sistema (ex: memória)
Comunicação com dispositivos de E/S
etc.

77
Aula de Hoje
1. Estruturas de Sos
2. Componentes Básicos de um Sistema
3. Processos (Conceitos Básicos)

78
Aula de Hoje (conteúdo detalhado)
1 Estruturas de SOs
2. Componentes Básicos (CPU, memória, ..)
3. BIOS
4. Arquiteturas dos Sistemas Operacionais
5. Processos (Conceitos Básicos)

79
Introdução
1.8 Arquiteturas de Sistemas Operacionais
Como os sistemas operacionais são normalmente
grandes e com complexas coleções de rotinas de
software, os projetistas devem dar grande ênfase a
sua organização interna e estrutura(arquitetura):

– Monolítica
– Micro-núcleo
– Camadas
– Rede distribuída (Máquina Virtual)

80
Estrutura de um SO
1.8.1 - Estrutura Monolítica

É a forma mais primitiva de S.O. Consiste


de um conjunto de programas que
executam sobre o hardware, como se
fosse um único programa.
Os programas de usuário são sub-
rotinas que chamam o S.O., quando ele
não está executando nenhuma função do
Sistema.
Ex.: F r e e B S D , Windows, Li n u x ,
Solaris
81
Estrutura de um SO
1.8.2 - Estrutura do Microkernel

⚫ A ideia é desenvolver o mínimo de operações necessárias


dentro do núcleo. Os outros serviços são providos através
de outros processos opcionais.

⚫ A ideia não é simplesmente fazer um kernel pequeno, mas


sim torná-lo modular. Ex: módulo gerenciador de
arquivos, gerenciador de memória, impressão, rede,
processos, etc.

Ex.: MINIX e Symbian

82
Estrutura do MicroKernel

Modo usuár i o
Modo

Mi cr oker nel

H a r d w a r e

83
Estrutura de um SO
Ex.: PikeOS, QNX, MINIX, Symbian, K42, Integrity

- PikeOS: é um SO de tempo real (RTOS) que serve de


suporte para aplicações e outros SOs(GuestOS – virtual
machine). Usado em aplicações críticas nos setores de
aviação, automotivo, automação industrial e médica.

- QNX: é um RTOS, multiusuário e multitarefa., muito


utilizado em sistemas embarcados(controle de voo,
controle de esteiras de fábricas, sinais de trânsito, usinas
nucleares, equipamentos médicos, computadores de bordo
de carros). Ou seja, sistemas altamente críticos.

84
Estrutura de um SO
1.8.3 - Sistemas de Camadas -

Criar um SO modular com as características hierárquicas.

- Modularização: dividir um programa complexo em módulos de


menor complexidade, cada uma com uma funcionalidade. Os
módulos interagem através de interfaces bem definidas.

- Hierárquico: a cada nível, os detalhes de operação dos níveis


inferiores podem ser ignorados. Cada nível fornece dados
confiáveis aos níveis superiors. Ex.: Multics, OpenVMS
85
Estrutura de um SO
Estrutura Hierárquica de Níveis de Abstração

86
Estrutura de um SO
Estrutura Hierárquica de Níveis de Abstração

87
Estrutura de um SO
1.8.4 Rede distribuída - Máquina virtual

O Modelo de Máquina Virtual ou Virtual Machine


(VM), cria um nível intermediário entre o hardware
e o S.O., denominado Gerência de Máquinas
Virtuais.
Este nível cria diversas máquinas virtuais
independentes, onde cada uma oferece uma cópia
virtual do hardware, incluindo modos de acesso,
interrupções, dispositivos de E/S, etc.
Como cada VM é independente das demais, é
possível que tenha seu próprio S.O.
88
Estrutura de um SO
Apl i cação

Um outro exemplo de
utilização desta
estrutura ocorre na Máqui na Vi r t ual Java

linguagem Java.
Para executar um
programa Java é Si st ema Oper aci onal

necessário uma
máquina virtual Java
(Java Virtual Machine Har dwar e
– JVM)
89
Perguntas?

90

Você também pode gostar