Introdução Funções Básicas Máquina de Camadas ... · •Linguagem assembler, cobol, Algol,...
Transcript of Introdução Funções Básicas Máquina de Camadas ... · •Linguagem assembler, cobol, Algol,...
II - INTRODUÇÃO
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
II - INTRODUÇÃO
Computador?Máquina destinada a realizar cálculos complexos.
• Introdução
CPU
Barramento
E/S Memória
Processamento S A Í D AE N T R A DA
II - INTRODUÇÃO
II - INTRODUÇÃO
• Introdução
Unidade de Controle
Interconexão interna da
CPU
CPU
Unidade Lógica e
Aritmética
II - INTRODUÇÃO
II - INTRODUÇÃO
• Introdução
II - INTRODUÇÃO
II - INTRODUÇÃO
• IntroduçãoDefinição
O Sistema Operacional (SO) é um programa ouconjunto de programas que gerencia todos osrecursos de um sistema computacional.
Sem o SO, o usuário deveria conhecerprofundamente o hardware do computador,tornando sua interação menos eficiente comgrandes possibilidades de erros.
Desta forma o SO funciona como uma interfaceentre o usuário e o computador.
II - INTRODUÇÃO
II - INTRODUÇÃO
Computador
• Introdução
• Funções Básicas do SO
Aplicações
Sistema Operacional
Hardware
II - INTRODUÇÃO
II - INTRODUÇÃO
USO 1 USO 2 USO 4USO 3
compilador Editor de texto
Browser Planilha eletrônica
Sistema Operacional
Hardware
Gerenciamento de recursos
Espaço na memória principalTempo de processamentoImpressoraEspaço em discoAcesso a disco
• Objetivo
• Introdução
II - INTRODUÇÃO
II - INTRODUÇÃO
• Máquina de Camadas
Aplicações
Sistema Operacional
Hardware
Aplicações
Hardware
Nív
el 0
Nív
el 1
II - INTRODUÇÃO
II - INTRODUÇÃO
• Máquina de Camadas
Aplicações
Utilitários
Sistema OperacionalN
ível
3N
ível
4
Linguagem de Máquina
Microprogra-mação
Circuitos EletrônicosN
íve
l 0N
ível
1N
ível
2N
ível
5
II - INTRODUÇÃO
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
A evolucao dos sistemas operacionais esta, emgrande parte, relacionada ao desenvolvimentodos computadores.
Dividindo-se em décadas destaca-se em cadauma suas principais caracteristicas de hardware,software, interacao com o sistema e aspectos deconectividade.
1642 – Pascal – máquina de somar
1673 – Leibniz – Somar e Multiplicar (acumulador)
1820 – Colmar – Quatro operações
II - INTRODUÇÃO
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
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 atualpois possui: unidade central de processamento,memória, unidade de controle, dispositivos deentrada e saída.
1854 –Boole – Algebra de boole: Base do modelo decomputação digital.
II - INTRODUÇÃO
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
1890 – Hollerith – mecanismo utilizando cartõesperfurados.
1930 – Zuse - Primeiras tentativas de criação dacalculadora eletrônica – Z1, baseado em relés eutilizava lógica binária.
Atanasoff e Berry – Máquina de cálculo deequações lineares
1937 – Turing – Idéia da Máquina Universal(Máquina de Turing). Capaz de executar qualquersequência de Instruções (algoritmo)
II - INTRODUÇÃO
II - INTRODUÇÃO
• Evolução dos Sistemas Operacionais
Década de 1940
Primeiros computadores eletromecânicos(calculadoras). Formados por milhares deválvulas e com funcionamento lento eduvidoso).
1943 – Colossus – desenvolvido para quebrarcódigos.
II - INTRODUÇÃO
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
• Evolução dos Sistemas Operacionais
Não Existia Sistema OperacionalProgramador Controla o EquipamentoProgramas acessam diretamente os periféricos
ENIAC
II - INTRODUÇÃO
II - INTRODUÇÃO
O ENIAC (Electronic Numerical Integrator And Calculator)e considerado o primeiro computador digital e eletronico.
Desenvolvido por J. Presper Eckert e John W. Mauchly
Criado para realizar de calculos balisticos
Utilizado no projeto da bomba de hidrogenio, ficando emoperacao no periodo de 1946 a 1955.
Estrutura: 17 mil valvulas, 10 mil capacitores, 70 milresistores e pesava 30 toneladas.
Quando em operacao, consumia cerca de 140 quilowattse era capaz de realizar 5 mil adicoes por segundo.
• Evolução dos Sistemas Operacionais
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores
2ª Geração (1952 a 1964)•Linguagem assembler, cobol, Algol, Fortran.
Tradic - 1955
Memória de núcleo de ferrite
Válvula e transistores
Unidade de fita magnética
• 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 carregaautomaticamente
• Multiprogramação, Multiprocessamento.
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores
2ª Geração (1952 a 1964)
processamento batch
II - INTRODUÇÃO
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 operacionalAtlas• Introduziu a ideia de memória hierarquizada,
base do conceito de memória virtual, presentehoje na maioria dos sistemas operacionaisatuais.
• Implementava o esquema de paginação pordemanda para transferir informações damemória secundária para a principal.
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores
3ª Geração (1964 a 1971)
PDP-11VAX
Comparativo: válvula transistores e chips
• 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
II - INTRODUÇÃO
Gerações dos computadores
4ª Geração (1971 a 1981)• Diversidade de Linguagens de programação;• Rede de transmissão de dados.
Microcomputador TRS-80 Microcomputador PC 8088
Microcomputador APPLE
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
II - INTRODUÇÃO
Gerações dos computadores
5ª Geração (1981)• Inteligência Artificial;• Linguagem Natural• Altíssima velocidade de processamento.
CPU - Circuito integrado da Larga escala
Comparativo atual
Microcomputadorintegrado comprocessamentoparalelo
Notebook com amesmacapacidade dosdesktop
• Paralelismo
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 1990
Grandes avancos em termos de hardware, software e telecomunicacoes
Evolução em função da capacidade de processamentoe armazenamento de dados: sistemas especialistas,sistemas multimidia, banco de dados distribuidos,inteligencia artificial e redes neurais.
Na microeletronica desenvolveu-se: processadores ememorias mais velozes e baratos, alem de dispositivosde E/S menores, mais rápidos e com maior capacidadede armazenamento. Os componentes baseados emtecnologia VLSI evoluiram rapidamente para o ULSI(Ultra Large Scale Integration).
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 1990
Com o surgimento e a evolucao da Internet, oprotocolo TCP/IP passou a ser um padrao de mercado,obrigando os fabricantes de sistemas operacionais aoferecer suporte a este protocolo.
Devido ao crescimento acelerado da Internet,problemas de gerencia, segurança e desempenhotornaram-se fatores importantes relacionados aosistema operacional e a rede.
A arquitetura cliente/servidor, aplicada basicamente aredes locais, passou a ser utilizada em redesdistribuidas como a Internet.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 1990
A decada de 1990 foi definitiva para a consolidacaodos sistemas operacionais baseados em interfacesgraficas.
Em 1991, o finlandes Linus Torvalds começou odesenvolvimento do Linux, que evoluiu a partir dacolaboracao de varios programadores que ajudaramno desenvolvimento do kernel, utilitarios e variosaplicativos.
Atualmente, o Linux e utilizado tanto para finsacademicos como comerciais.
Amadurecimento e a popularizacao do softwareaberto.
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2000
Essa decada foi caracterizada por uma grandeevolucao nos processadores e equipamentos decomunicacao.
A tendencia de integracao de componentes em altaescala e miniaturizacao fez com que notebooks,netbooks tivessem grande disseminacao no mercado.
As redes de comunicacao cresceram em abrangência evelocidade, possibilitando a integracao decomputadores e sistemas de governos, empresas epessoas.
A Internet se consolidou em todo o mundo como umarede de integracao entre pessoas
II - INTRODUÇÃO
II - INTRODUÇÃO
Década de 2000
Os sistemas operacionais tornaram-se mais intuitivose presentes em dispositivos moveis como telefonescelulares, handhelds e palmtops.
Novas interfaces surgiram, fazendo com que acomunicacao usuario-computador se tornasse maisinteligente, simples e eficiente.
Os sistemas passaram a ser proativos, incorporandomecanismos automaticos para recuperacao de erros eatualizacao de correções e novas versoes.
II - INTRODUÇÃO
II - INTRODUÇÃO
Nessa decada, os sistemas operacionais tiraramproveito das arquiteturas de processadores de 64bits: aumento do espaco de enderecamento, melhorado desempenho de aplicacoes que manipulamgrandes volumes de dados.
Microsoft evoluiu seu sistema operacional unificandosuas versoes para servidores, desktops esmartphones, investindo em melhorias sucessivas.
A Apple investiu em melhorias sucessivas para o MacOS.
O Linux ganhou robustez suficiente, tornando-se umsistema de uso tanto para desktops como paraservidores.
Década de 2000
II - INTRODUÇÃO
II - INTRODUÇÃO
Nos servidores corporativos, os sistemas Unixtambem avancaram com desenvolvimento dos seusfornecedores, HP para o HP-UX, IBM no AIX e Oracleno Solaris.
Década de 2000
II - INTRODUÇÃO
II - INTRODUÇÃO
Iniciou com a consolidacao dos modeloscomputacionais em nuvem e da popularizacao desmartphones e tablets.
A comercializacao de software como servico (SaaS –Software as a Service) é uma alternativa ao deaquisição de licencas de software
Outros modelos de servicos na nuvem sao ainfraestrutura como servico (IaaS – Infrastructure as aService) e a plataforma como servico (PaaS –Plataform as a Service).
A evolucao da tecnologia dos dispositivos moveis,esta popularizando do uso destes dispositivos emescala global.
Década de 2010
II - INTRODUÇÃO
II - INTRODUÇÃO
Os smartphones ja passaram por tres geracoes (1G,2G e 3G) chegaram à 4G
1G permitia somente a comunicacao por voz emaparelhos analogicos
2G possibilitou a transmissão digital dados (SMS eacessa a internet).
3G evoluiu a velocidade de transmissao de dados,melhora na qualidade na transmissao de voz,suporte a conteudos multimidia
4G tem como base equipamentos que operamcom velocidade minima de 1 Mbps, podendochegar a 200 Mbps, possibilitando conexoes maisrápidas e qualidades de video e audio superiores.
Década de 2010
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas operacionais para smartphones: SymbianOS, Windows Mobile, Android, Blackberry OS e iOS.
O Symbian OS (Nokia) possui codigo aberto paraque qualquer empresa que puder desenvolversuas proprias aplicacoes. É um sistema multitarefae lida com aplicacoes em tempo real, além de serestável, possuir recurso de protecao de memoria eintegra-se bem com o computador.
Windows Mobile foi desenvolvido para transferircaracteristicas da versao desktop para os celulares.Contem integracao com o Microsoft ExchangeServer, possibilitando a sincronia de e-mails earquivos pessoais entre desktops/notebooks esmartphones.
Década de 2010
II - INTRODUÇÃO
II - INTRODUÇÃO
O Android e um sistema operacional desenvolvidoa partir de um consorcio chamado Open HandsetAlliance formado por 47 empresas e liderado peloGoogle. Suporta diversos padroes deconectividade como Bluetooth, EDGE, 3G e Wi-Fi.
O BlackBerry OS e um sistema operacionalproprietario desenvolvido pela Research In Motion(RIM) para sua linha de smartphones BlackBerry. Aplataforma foi pioneira no uso de smartphonespara usuarios corporativos, suportandosincronizacao com Microsoft Exchange, LotusDomino ou Novell GroupWise, e-mail, calendario,tarefas, notas e contatos, quando utilizado emconjunto com o BlackBerry Enterprise Server.
Década de 2010
II - INTRODUÇÃO
II - INTRODUÇÃO
O iOS e desenvolvido pela Apple a partir do MacOS X. Foi difundido no uso do iPhone. Dividido emtres dominios:
Machine level software: Para atender asnecessidades de trabalho de todos os usuarios;
System level software: Para atender as funcoescriticas do sistema;
User level software: utilizado para atender asnecessidades de um usuario especifico.
A partir da versao 4, o iOS passou a ser multitarefa.Uma das caracteristicas que ajudaram napopularidade deste sistema operacional e a suainterface intuitiva e amigavel, alem do navegadorSafari.
Década de 2010
II - INTRODUÇÃO
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Os tipos de sistemas operacionais e sua evolucaoestao relacionados diretamente com a evolucao dohardware e das aplicacoes por ele suportadas.
Sistemas Operacionais
Sistemas Monoprogramáveis/
Monotarefa
Sistemas Multiprogramáveis/
Multitarefa
Sistemas com múltiplos processadores
II - INTRODUÇÃO
II - INTRODUÇÃO
Tipos de Sistemas Operacionais
Sistemas Monoprogramáveis/
Monotarefa
Executa um único programa tendoos seus recursos dedicado.1960 Inicio e 1970 PC
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas Multiprogramáveis/
Multitarefa
Tipos de Sistemas Operacionais
Compartilha os recursos dosistema entre os usuários e astarefas em execução
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas Multiprogramáveis/
Multitarefa
Tipos de Sistemas Operacionais
Classificação conforme a gerênciade aplicações:
Sistemas Multiprogramáveis/
Multitarefa
Sistemas batchSistemas de tempo
compartilhadoSistemas 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
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas batchTipos de Sistemas Operacionais
Década de 1960: Tambem chamados de jobs queeram submetidos para execucao atraves decartoes perfurados e armazenados em disco oufita, onde aguardavam para ser processados.
Posteriormente, em funcao da disponibilidade deespaco na memoria principal, os jobs eramexecutados, produzindo uma saida em disco oufita.
• Batch nao exige a interacao do usuario com aaplicacao
• Todas as entradas e saidas de dados da aplicacaosao implementadas por algum tipo de memoriasecundaria, geralmente arquivos em disco.
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas batchTipos de Sistemas Operacionais
• Alguns exemplos de aplicacoes: calculosnumericos, compilacoes, ordenacoes, backups,onde nao e necessária à interacao com o usuario.
•Quando bem projetados, são bastante eficientes,devido a melhor utilizacao do processador,porém podem oferecer tempos de respostalongos.
•Hoje, os sistemas operacionais implementam ousimulam o processamento batch, nao existindosistemas exclusivamente dedicados a este tipo deprocessamento.
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas de tempo compartilhadoTipos de Sistemas Operacionais
Os sistemas de tempo compartilhado (time-sharing)permitem que diversos programas sejam executados apartir da divisao do tempo do processador empequenos intervalos, denominados fatia de tempo(time-slice).
Caso a fatia de tempo nao seja suficiente para a conclusaodo programa, ele e interrompido pelo sistemaoperacional e substituido por um outro, enquanto ficaaguardando por uma nova fatia de tempo.
O sistema cria para cada usuario um ambiente de trabalhoproprio, dando a impressao de que todo o sistema estadedicado exclusivamente a ele.
II - INTRODUÇÃO
II - INTRODUÇÃO
Tipos de Sistemas Operacionais Sistemas de tempo real
Os sistemas de tempo real (real-time) saoimplementados de forma semelhante aossistemas de tempo compartilhado.
Enquanto em sistemas de tempo compartilhado otempo de processamento pode variar semcomprometer as aplicacoes em execucao, nossistemas de tempo real os tempos deprocessamento devem estar dentro de limitesrigidos, que devem ser obedecidos, casocontrario poderao ocorrer problemasirreparaveis.
II - INTRODUÇÃO
II - INTRODUÇÃO
Nos sistemas de tempo real nao existe a ideia defatia de tempo, implementada nos sistemas detempo compartilhado.
Um programa utiliza o processador o tempo que fornecessario ou ate que apareca outro maisprioritario.
A importancia ou prioridade de execucao de umprograma e definida pela propria aplicacao e nãopelo sistema operacional.
Tipos de Sistemas Operacionais Sistemas de tempo real
II - INTRODUÇÃO
II - INTRODUÇÃO
Esses sistemas, normalmente, estao presentes emaplicacoes de controle de processos, como:
• Monitoramento de refinarias de petroleo,
• Controle de trafego aereo,
• Usinas termoelétricas e nucleares,
• Qualquer aplicacao em que o tempo deprocessamento e fator fundamental.
Tipos de Sistemas Operacionais Sistemas de tempo real
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas com múltiplos processadores
Tipos de Sistemas Operacionais
por possuir duas ou mais UCPs interligadas etrabalhando em conjunto.
Permite que varios programas sejam executadosao mesmo tempo ou que um mesmo programaseja subdividido em partes para seremexecutadas simultaneamente em mais de umprocessador.
Nestas condições, tornou-se possívelcomputacionais voltados, principalmente, paraprocessamento cientifico.
Os sistemas com multiplosprocessadores caracterizam-se
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
Exemplos:
• desenvolvimento aeroespacial;
• prospeccao de petroleo;
• simulacoes;
• processamento de imagens e CAD;
• qualquer aplicacao que faca uso intensivo da UCP
A evolucao desses sistemas deve-se, em grandeparte, ao elevado custo de desenvolvimento deprocessadores de alto desempenho.
II - INTRODUÇÃO
II - INTRODUÇÃO
Os conceitos aplicados ao projeto de sistemas commultiplos processadores incorporam os mesmosprincípios básicos e beneficios apresentados namultiprogramacao, alem de outras caracteristicase vantagens especificas como escalabilidade,disponibilidade e balanceamento de carga.
Escalabilidade é a capacidade de ampliar o podercomputacional do sistema apenas adicionandonovos processadores.
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
Em ambientes com um unico processador, caso haja problemas dedesempenho, seria necessario substituir todo o sistema por uma outraconfiguracao com maior poder de processamento. Com a possibilidade demultiplos processadores, basta acrescentar novos processadores aconfiguracao.
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
Disponibilidade é a capacidade de manter osistema em operacao mesmo em casos de falhas.
Balanceamento de carga e a possibilidade dedistribuir o processamento entre os diversosprocessadores da configuração a partir da cargade trabalho de cada processador, melhorando,assim, o desempenho do sistema como umtodo.
Neste caso, se um dos processadores falhar, os demais podem assumir suasfuncoes de maneira transparente aos usuarios e suas aplicacoes, embora commenor capacidade de computacao.
II - INTRODUÇÃO
II - INTRODUÇÃO
Um fator-chave no desenvolvimento de sistemasoperacionais com multiplos processadores e:
• Forma de comunicacao entre as UCPs
• Grau de compartilhamento da memória e dosdispositivos de entrada e saida.
Em funcao desses fatores, pode-se classificar ossistemas com multiplos processadores emfortemente acoplados ou fracamente acoplados
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
Sistemas com múltiplos processadores
Fortemente Acoplados Fracamente Acoplados
II - INTRODUÇÃO
II - INTRODUÇÃO
Sistemas Fortemente Acoplados (multiprocessadores):Constituído de vários processadores quecompartilham uma única memória física edispositivos de entrada/saida sendo gerenciadospor apenas um sistema operacional.
Sistemas Fracamente Acoplados (multicomputadores) :Possuem dois ou mais sistemas computacionaisconectados atraves de linhas de comunicacao.Cada sistema funciona de forma independente,possuindo seu proprio sistema operacional egerenciando seus proprios recursos, como UCP,memoria e dispositivos de entrada/saida.
Sistemas com múltiplos processadoresTipos de Sistemas Operacionais
II - INTRODUÇÃO
II - INTRODUÇÃO