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