• Introdução • Funções Básicas • Máquina de Camadas • Evolução

Propaganda
II - INTRODUÇÃO
•
•
•
•
•
Introdução
Funções Básicas
Máquina de Camadas
Evolução dos Sistemas Operacionais
Tipos de Sistemas Operacionais
II - INTRODUÇÃO
• Introdução
II - INTRODUÇÃO
Computador?
Máquina destinada a realizar cálculos complexos.
Processamento
E N T R A DA
E/S
Memória
Barramento
CPU
II - INTRODUÇÃO
SAÍDA
•
II - INTRODUÇÃO
Introdução
CPU
Unidade
Interconexão Lógica e
interna da Aritmética
CPU
Unidade de
Controle
II - INTRODUÇÃO
•
Introdução
II - INTRODUÇÃO
II - INTRODUÇÃO
•
Introdução
Definição
II - INTRODUÇÃO
O Sistema Operacional (SO) é um programa ou
conjunto de programas que gerencia todos os
recursos de um sistema computacional.
Sem o SO, o usuário deveria conhecer
profundamente o hardware do computador,
tornando sua interação menos eficiente com
grandes possibilidades de erros.
Desta forma o SO funciona como uma interface
entre o usuário e o computador.
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Introdução
•
Funções Básicas do SO
Aplicações
Sistema
Computador
Operacional
Hardware
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Introdução
USO 1
compilador
USO 2
Editor de
texto
USO 3
Browser
USO 4
Planilha
eletrônica
Sistema Operacional
Hardware
Espaço na memória principal
Tempo
de
processamento
Gerenciamento
Impressora
de recursos
Espaço em disco
Acesso a disco
• Objetivo
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Máquina de Camadas
Aplicações
Hardware
II - INTRODUÇÃO
Nível 0 Nível 1
Aplicações
Sistema
Operacional
Hardware
II - INTRODUÇÃO
Máquina de Camadas
Nível 0 Nível 1 Nível 2 Nível 3 Nível 4 Nível 5
•
II - INTRODUÇÃO
Aplicações
Utilitários
Sistema
Operacional
Linguagem de
Máquina
Microprogramação
Circuitos
Eletrônicos
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
A evolução dos sistemas operacionais está, em
grande parte, relacionada ao desenvolvimento
dos computadores.
Dividindo-se em décadas destaca-se em cada
uma suas principais características de hardware,
software, interação com o sistema e aspectos de
conectividade.
1642 – Pascal – máquina de somar
1673 – Leibniz – Somar e Multiplicar (acumulador)
1820 – Colmar – Quatro operações
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
1642 – Pascal – máquina de somar
1673 – Leibniz – Somar e Multiplicar (acumulador)
1820 – Colmar – Quatro operações
1822 – Babbage – Equações Polinomiais
1833 -
- Máquina Analítica
É a que mais se aproxima do computador atual
pois possui: unidade central de processamento,
memória, unidade de controle, dispositivos de
entrada e saída.
1854 –Boole – Algebra de boole: Base do modelo de
computação digital.
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
1890 – Hollerith – mecanismo utilizando cartões
perfurados.
1930 – Zuse - Primeiras tentativas de criação da
calculadora eletrônica – Z1, baseado em relés e
utilizava lógica binária.
Atanasoff e Berry – Máquina de cálculo de
equações lineares
1937 – Turing – Idéia da Máquina Universal
(Máquina de Turing). Capaz de executar qualquer
sequência de Instruções (algoritmo)
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
Década de 1940
Primeiros
computadores
eletromecânicos
(calculadoras). Formados por milhares de
válvulas e com funcionamento lento e
duvidoso).
1943 – Colossus – desenvolvido para quebrar
códigos.
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
Gerações dos computadores
1ª Geração (1940 a 1952)
válvula
Linguagem de máquina
Cartão perfurado
Memória de atraso de mercúrio
ENIAC
II - INTRODUÇÃO
Não Existia Sistema Operacional
Programador Controla o Equipamento
Programas acessam diretamente os periféricos
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
 O ENIAC (Electronic Numerical Integrator And Calculator)
é considerado o primeiro computador digital e eletrônico.
 Desenvolvido por J. Presper Eckert e John W. Mauchly
 Criado para realizar de cálculos balísticos
 Utilizado no projeto da bomba de hidrogênio, ficando em
operação no período de 1946 a 1955.
 Estrutura: 17 mil válvulas, 10 mil capacitores, 70 mil
resistores e pesava 30 toneladas.
 Quando em operação, consumia cerca de 140 quilowatts
e era capaz de realizar 5 mil adições por segundo.
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores
2ª Geração (1952 a 1964)
•Linguagem assembler, cobol, Algol, Fortran.
Memória de
núcleo de
ferrite
Válvula e transistores
Tradic - 1955
• Introduziram-se os operadores e o Job
• Primeiros monitores residentes: programas
ficam um tempo na memória
• Quando um programa finaliza, o monitor é
avisado e outro programa carrega
automaticamente
• Multiprogramação, Multiprocessamento.
II - INTRODUÇÃO
Unidade de fita magnética
II - INTRODUÇÃO
Gerações dos computadores
2ª Geração (1952 a 1964)
II - INTRODUÇÃO
processamento batch
II - INTRODUÇÃO
Gerações dos computadores
2ª Geração (1952 a 1964)
No final de 1950, a Universidade de Manchester,
na Inglaterra, desenvolveu o sistema operacional
Atlas
• Introduziu a ideia de memória hierarquizada,
base do conceito de memória virtual, presente
hoje na maioria dos sistemas operacionais
atuais.
• Implementava o esquema de paginação por
demanda para transferir informações da
memória secundária para a principal.
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores
3ª Geração (1964 a 1971)
Comparativo
: válvula
transistores
e chips
PDP-11
VAX
• Devido ao atraso dos periféricos em relação ao sistema
eletrônicos mantiveram-se diversos programas na
memória principal simultaneamente.
II - INTRODUÇÃO
Gerações dos computadores
II - INTRODUÇÃO
4ª Geração (1971 a 1981)
• Diversidade de Linguagens de programação;
• Rede de transmissão de dados.
Microcomputador APPLE
Microcomputador TRS-80
Microcomputador PC 8088
Disco flexível de
5.1/4”
Disco flexível de
3.1/2”
• Experiência inicial e disseminação do timesharing
• Sistema operacionais Distribuídos
• Sistemas operacionais de tempo Real
II - INTRODUÇÃO
Gerações dos computadores
II - INTRODUÇÃO
5ª Geração (1981)
• Inteligência Artificial;
• Linguagem Natural
• Altíssima velocidade de
processamento.
Notebook com a
mesma
capacidade dos
desktop
CPU - Circuito integrado da Larga escala
Microcomputador
integrado
com
processamento
paralelo
• Paralelismo
II - INTRODUÇÃO
Comparativo atual
Década de 1990
II - INTRODUÇÃO
 Grandes avanços em termos de hardware, software e
telecomunicações
 Evolução em função da capacidade de processamento
e armazenamento de dados: sistemas especialistas,
sistemas multimídia, banco de dados distribuídos,
inteligência artificial e redes neurais.
 Na microeletrônica desenvolveu-se: processadores e
memórias mais velozes e baratos, além de dispositivos
de E/S menores, mais rápidos e com maior capacidade
de armazenamento. Os componentes baseados em
tecnologia VLSI evoluíram rapidamente para o ULSI
(Ultra Large Scale Integration).
II - INTRODUÇÃO
Década de 1990
II - INTRODUÇÃO
 Com o surgimento e a evolução da Internet, o
protocolo TCP/IP passou a ser um padrão de mercado,
obrigando os fabricantes de sistemas operacionais a
oferecer suporte a este protocolo.
 Devido ao crescimento acelerado da Internet,
problemas de gerência, segurança e desempenho
tornaram-se fatores importantes relacionados ao
sistema operacional e à rede.
 A arquitetura cliente/servidor, aplicada basicamente a
redes locais, passou a ser utilizada em redes
distribuídas como a Internet.
II - INTRODUÇÃO
Década de 1990
II - INTRODUÇÃO
 A década de 1990 foi definitiva para a consolidação
dos sistemas operacionais baseados em interfaces
gráficas.
 Em 1991, o finlandês Linus Torvalds começou o
desenvolvimento do Linux, que evoluiu a partir da
colaboração de vários programadores que ajudaram
no desenvolvimento do kernel, utilitários e vários
aplicativos.
 Atualmente, o Linux é utilizado tanto para fins
acadêmicos como comerciais.
 Amadurecimento e a popularização do software
aberto.
II - INTRODUÇÃO
Década de 2000
II - INTRODUÇÃO
 Essa década foi caracterizada por uma grande
evolução nos processadores e equipamentos de
comunicação.
 A tendência de integração de componentes em alta
escala e miniaturização fez com que notebooks,
netbooks tivessem grande disseminação no mercado.
 As redes de comunicação cresceram em abrangência e
velocidade,
possibilitando
a
integração
de
computadores e sistemas de governos, empresas e
pessoas.
 A Internet se consolidou em todo o mundo como uma
rede de integração entre pessoas
II - INTRODUÇÃO
Década de 2000
II - INTRODUÇÃO
 Os sistemas operacionais tornaram-se mais intuitivos
e presentes em dispositivos móveis como telefones
celulares, handhelds e palmtops.
 Novas interfaces surgiram, fazendo com que a
comunicação usuário-computador se tornasse mais
inteligente, simples e eficiente.
 Os sistemas passaram a ser proativos, incorporando
mecanismos automáticos para recuperação de erros e
atualização de correções e novas versões.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2000
 Nessa década, os sistemas operacionais tiraram
proveito das arquiteturas de processadores de 64
bits: aumento do espaço de endereçamento, melhora
do desempenho de aplicações que manipulam
grandes volumes de dados.
 Microsoft evoluiu seu sistema operacional unificando
suas versões para servidores, desktops e
smartphones, investindo em melhorias sucessivas.
 A Apple investiu em melhorias sucessivas para o Mac
OS.
 O Linux ganhou robustez suficiente, tornando-se um
sistema de uso tanto para desktops como para
servidores.
II - INTRODUÇÃO
Década de 2000
II - INTRODUÇÃO
 Nos servidores corporativos, os sistemas Unix
também avançaram com desenvolvimento dos seus
fornecedores, HP para o HP-UX, IBM no AIX e Oracle
no Solaris.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2010
 Iniciou com a consolidação dos modelos
computacionais em nuvem e da popularização de
smartphones e tablets.
 A comercialização de software como serviço (SaaS –
Software as a Service) é uma alternativa ao de
aquisição de licenças de software
 Outros modelos de serviços na nuvem são a
infraestrutura como serviço (IaaS – Infrastructure as a
Service) e a plataforma como serviço (PaaS –
Plataform as a Service).
 A evolução da tecnologia dos dispositivos móveis,
está popularizando do uso destes dispositivos em
escala global.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2010
 Os smartphones já passaram por três gerações (1G,
2G e 3G) chegaram à 4G
 1G permitia somente a comunicação por voz em
aparelhos analógicos
 2G possibilitou a transmissão digital dados (SMS e
acessa a internet).
 3G evoluiu a velocidade de transmissão de dados,
melhora na qualidade na transmissão de voz,
suporte a conteúdos multimídia
 4G tem como base equipamentos que operam
com velocidade mínima de 1 Mbps, podendo
chegar a 200 Mbps, possibilitando conexões mais
rápidas e qualidades de vídeo e áudio superiores.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2010
 Sistemas operacionais para smartphones: Symbian
OS, Windows Mobile, Android, Blackberry OS e iOS.
 O Symbian OS (Nokia) possui código aberto para
que qualquer empresa que puder desenvolver
suas próprias aplicações. É um sistema multitarefa
e lida com aplicações em tempo real, além de ser
estável, possuir recurso de proteção de memória e
integra-se bem com o computador.
 Windows Mobile foi desenvolvido para transferir
características da versão desktop para os celulares.
Contém integração com o Microsoft Exchange
Server, possibilitando a sincronia de e-mails e
arquivos pessoais entre desktops/notebooks e
smartphones.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2010
 O Android é um sistema operacional desenvolvido
a partir de um consórcio chamado Open Handset
Alliance formado por 47 empresas e liderado pelo
Google.
Suporta
diversos
padrões
de
conectividade como Bluetooth, EDGE, 3G e Wi-Fi.
 O BlackBerry OS é um sistema operacional
proprietário desenvolvido pela Research In Motion
(RIM) para sua linha de smartphones BlackBerry. A
plataforma foi pioneira no uso de smartphones
para
usuários
corporativos,
suportando
sincronização com Microsoft Exchange, Lotus
Domino ou Novell GroupWise, e-mail, calendário,
tarefas, notas e contatos, quando utilizado em
conjunto com o BlackBerry Enterprise Server.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2010
 O iOS é desenvolvido pela Apple a partir do Mac
OS X. Foi difundido no uso do iPhone. Dividido em
três domínios:
 Machine level software: Para atender às
necessidades de trabalho de todos os usuários;
 System level software: Para atender às funções
críticas do sistema;
 User level software: utilizado para atender às
necessidades de um usuário específico.
A partir da versão 4, o iOS passou a ser multitarefa.
Uma das características que ajudaram na
popularidade deste sistema operacional é a sua
interface intuitiva e amigável, além do navegador
Safari.
II - INTRODUÇÃO
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Os tipos de sistemas operacionais e sua evolução
estão relacionados diretamente com a evolução do
hardware e das aplicações por ele suportadas.
Sistemas Operacionais
Sistemas
Monoprogramáveis/
Monotarefa
II - INTRODUÇÃO
Sistemas
Multiprogramáveis/
Multitarefa
Sistemas com múltiplos
processadores
Tipos de Sistemas Operacionais
Sistemas
Monoprogramáveis/
Monotarefa
II - INTRODUÇÃO
II - INTRODUÇÃO
Executa um único programa tendo
os seus recursos dedicado.
1960 Inicio e 1970 PC
Tipos de Sistemas Operacionais
Sistemas
Multiprogramáveis/
Multitarefa
II - INTRODUÇÃO
II - INTRODUÇÃO
Compartilha os recursos do
sistema entre os usuários e as
tarefas em execução
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas
Multiprogramáveis/
Multitarefa
Classificação conforme a gerência
de aplicações:
Sistemas
Multiprogramáveis/
Multitarefa
II - INTRODUÇÃO
Sistemas batch
Sistemas de tempo
compartilhado
Sistemas de
tempo real
Executa sem
intervenção
do usuário
A tarefa é dividida
em fatias de tempo
entre os processos
Utilização
prioritária do
processador
Tipos de Sistemas Operacionais
Sistemas batch
II - INTRODUÇÃO
Década de 1960: Também chamados de jobs que
eram submetidos para execução através de
cartões perfurados e armazenados em disco ou
fita, onde aguardavam para ser processados.
Posteriormente, em função da disponibilidade de
espaço na memória principal, os jobs eram
executados, produzindo uma saída em disco ou
fita.
• Batch não exige a interação do usuário com a
aplicação
• Todas as entradas e saídas de dados da aplicação
são implementadas por algum tipo de memória
secundária, geralmente arquivos em disco.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas batch
II - INTRODUÇÃO
• Alguns exemplos de aplicações: cálculos
numéricos, compilações, ordenações, backups,
onde não é necessária à interação com o usuário.
•Quando bem projetados, são bastante eficientes,
devido à melhor utilização do processador,
porém podem oferecer tempos de resposta
longos.
•Hoje, os sistemas operacionais implementam ou
simulam o processamento batch, não existindo
sistemas exclusivamente dedicados a este tipo de
processamento.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas de tempo compartilhado
II - INTRODUÇÃO
Os sistemas de tempo compartilhado (time-sharing)
permitem que diversos programas sejam executados a
partir da divisão do tempo do processador em
pequenos intervalos, denominados fatia de tempo
(time-slice).
Caso a fatia de tempo não seja suficiente para a conclusão
do programa, ele é interrompido pelo sistema
operacional e substituído por um outro, enquanto fica
aguardando por uma nova fatia de tempo.
O sistema cria para cada usuário um ambiente de trabalho
próprio, dando a impressão de que todo o sistema está
dedicado exclusivamente a ele.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas de tempo real
II - INTRODUÇÃO
Os sistemas de tempo real (real-time) são
implementados de forma semelhante aos
sistemas de tempo compartilhado.
Enquanto em sistemas de tempo compartilhado o
tempo de processamento pode variar sem
comprometer as aplicações em execução, nos
sistemas de tempo real os tempos de
processamento devem estar dentro de limites
rígidos, que devem ser obedecidos, caso
contrário
poderão
ocorrer
problemas
irreparáveis.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas de tempo real
II - INTRODUÇÃO
Nos sistemas de tempo real não existe a ideia de
fatia de tempo, implementada nos sistemas de
tempo compartilhado.
Um programa utiliza o processador o tempo que for
necessário ou até que apareça outro mais
prioritário.
A importância ou prioridade de execução de um
programa é definida pela própria aplicação e não
pelo sistema operacional.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas de tempo real
II - INTRODUÇÃO
Esses sistemas, normalmente, estão presentes em
aplicações de controle de processos, como:
• Monitoramento de refinarias de petróleo,
• Controle de tráfego aéreo,
• Usinas termoelétricas e nucleares,
• Qualquer aplicação em que o tempo de
processamento é fator fundamental.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
II - INTRODUÇÃO
Os sistemas com múltiplos
processadores caracterizam-se
por possuir duas ou mais UCPs interligadas e
trabalhando em conjunto.
Permite que vários programas sejam executados
ao mesmo tempo ou que um mesmo programa
seja subdividido em partes para serem
executadas simultaneamente em mais de um
processador.
Nestas
condições,
tornou-se
possível
computacionais voltados, principalmente, para
processamento científico.
Sistemas com múltiplos
processadores
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
II - INTRODUÇÃO
Exemplos:
• desenvolvimento aeroespacial;
• prospecção de petróleo;
• simulações;
• processamento de imagens e CAD;
• qualquer aplicação que faça uso intensivo da UCP
A evolução desses sistemas deve-se, em grande
parte, ao elevado custo de desenvolvimento de
processadores de alto desempenho.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
II - INTRODUÇÃO
Os conceitos aplicados ao projeto de sistemas com
múltiplos processadores incorporam os mesmos
princípios básicos e benefícios apresentados na
multiprogramação, além de outras características
e vantagens específicas como escalabilidade,
disponibilidade e balanceamento de carga.
Escalabilidade é a capacidade de ampliar o poder
computacional do sistema apenas adicionando
novos processadores.
Em ambientes com um único processador, caso haja problemas de
desempenho, seria necessário substituir todo o sistema por uma outra
configuração com maior poder de processamento. Com a possibilidade de
múltiplos processadores, basta acrescentar novos processadores à
configuração.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
II - INTRODUÇÃO
Disponibilidade é a capacidade de manter o
sistema em operação mesmo em casos de falhas.
Neste caso, se um dos processadores falhar, os demais podem assumir suas
funções de maneira transparente aos usuários e suas aplicações, embora com
menor capacidade de computação.
Balanceamento de carga é a possibilidade de
distribuir o processamento entre os diversos
processadores da configuração a partir da carga
de trabalho de cada processador, melhorando,
assim, o desempenho do sistema como um
todo.
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
II - INTRODUÇÃO
Um fator-chave no desenvolvimento de sistemas
operacionais com múltiplos processadores é:
• Forma de comunicação entre as UCPs
• Grau de compartilhamento da memória e dos
dispositivos de entrada e saída.
Em função desses fatores, pode-se classificar os
sistemas com múltiplos processadores em
fortemente acoplados ou fracamente acoplados
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
Sistemas com múltiplos
processadores
Fortemente Acoplados
II - INTRODUÇÃO
Fracamente Acoplados
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas com múltiplos processadores
II - INTRODUÇÃO
Sistemas Fortemente Acoplados (multiprocessadores):
Constituído de vários processadores que
compartilham uma única memória física e
dispositivos de entrada/saída sendo gerenciados
por apenas um sistema operacional.
Sistemas Fracamente Acoplados (multicomputadores) :
Possuem dois ou mais sistemas computacionais
conectados através de linhas de comunicação.
Cada sistema funciona de forma independente,
possuindo seu próprio sistema operacional e
gerenciando seus próprios recursos, como UCP,
memória e dispositivos de entrada/saída.
II - INTRODUÇÃO
II - INTRODUÇÃO
II - INTRODUÇÃO
Download