Sistemas Operacionais

1,886 views

Published on

Sistemas Operacionais - História e Evolução

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,886
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistemas Operacionais

  1. 1. Sistema Operacional IClique para editar o estilo do subtítulo mestre
  2. 2. Cronograma de aulaTeoria• Introdução aos sistemas operacionais• Conceitos e características• Histórico dos sistemas operacionaisLinux• História• Evolução cronológica• Estrutura do Linux• Distribuições existentes do Linux• Vantagens e desvantagens do Linux;• Hardware necessário;• Linux no mercado;
  3. 3. Sistema OperacionalSegundo alguns autores (Silberschatz et al, 2005; Stallings, 2004;Tanenbaum, 1999), existem dois modos distintos de conceituar umsistema operacional:Visão top-down, pela perspectiva do usuário ou programador: é umaabstração do hardware, fazendo o papel de intermediário entre o software(programas) e os componentes físicos do computador, o (hardware);Visão bottom-up: é um gerenciador de recursos, i.e., que controla quaisaplicações (processos) podem ser executadas, quando devem serexecutadas e quais recursos (memória, disco, periféricos) podem serutilizados.
  4. 4. Sistema Operacional...Resumindo...Conjunto de programas que gerenciam os recursos do computador.
  5. 5. Sistema OperacionalO que faz?• Fornece interface entre o usuário e o sistema (interpretador de comandos);• Camada (interação) entre o hardware e o software;• Gerencia recursos de hardware;• Gerenciamento de processos;• Gerenciamento de memória;• Gerência de arquivos;• Entrada e saída de dados.
  6. 6. Gerência de Processos Criação e deleção de processos; Suspensão e retomada de processos; Prover mecanismos para sincronização de processos; Prover mecanismos para comunicação de processos; Prover mecanismo para tratar deadlock (processos que estão a espera de recursos que jamais serão liberados).
  7. 7. Gerenciamento de memória Controlar quais regiões de memória são utilizadas e por qual processo; Decidir qual processo deve ser carregado para memória quando espaço for disponível; Alocar e desalocar espaço de memória.
  8. 8. Gerência de ArquivosOferece a abstração de arquivos e diretórios;Criação e remoção de arquivos e diretórios;Mapeamento para memória secundária.
  9. 9. KernelÉ o núcleo do sistema operacional. É o Kernel que gerencia os recursos do sistema e permite que os programas façam uso deles.Gerencia e controla o acesso ao sistema de arquivos, a memória, a tabela de processos e o acesso aos dispositivos e periféricos, entre outras atribuições. É a cabeça do sistema operacional.O Kernel do Linux é aberto ao contrário do Windows.
  10. 10. Um pouco de história....A primeira geração (aproximadamente 1945-1955) de computadores foram basicamente construídos com válvulas e painéis e os sistemas operacionais "não existiam". Os programadores, que também eram os operadores, controlavam o computador por meio de chaves, fios e luzes de aviso.
  11. 11. ENIAC, o pai de todos os computadores...O ENIAC (Electronic Numerical Integrator and Computer) foi o primeiro computador digital eletrônico de grande escala. Criado em fevereiro de 1946 pelos cientistas norte-americanos John Eckert e John Mauchly, da Electronic Control Company.O ENIAC começou a ser desenvolvido em 1943 durante a II Guerra Mundial para computar trajetórias táticas que exigissem conhecimento em matemática.
  12. 12. ENIAC, o pai de todos os computadores... Características  Pesava mais de 30 toneladas;  Operava na base dez e não em base binária;  Ocupava 270 m2;  Sua capacidade de processamento era de 5.000 operações por segundo;  Criado na segunda guerra, tinha como principal finalidade cálculos balísticos;  Esta máquina não tinha sistema operacional, nem monitor tampouco teclado.
  13. 13. Quando começou o Sistema Operacional?O conceito de sistema operacional apareceu durante a segunda geração da computação moderna (1955 – 1965), através da programação em Batch. Assim, vários comandos já poderiam ser executados em sequência através de cartões perfurados, eliminando parte do trabalho do operador de terminal. Normalmente, um programa era composto por um conjunto de cartões inseridos pelo usuário do sistema, na ordem correta.
  14. 14. O 1º Sistema Operacional modernoUnixCriado em 1969 por um grupo de desenvolvedores da AT&T visando acabarcom o problema da incompatibilidade de SOs de máquinas distintas.É possível afirmar que mais de 90% dos SOs atuais foram influenciados dealguma maneira pelo Unix;1º Versão em assembly, sendo reescrito em C no ano de 1973, que é usadoaté os dias de hoje;Este sistema introduziu conceitos muito importantes para a computação:Portabilidade;Multi-usuário;Multi-tarefas e compartilhamento de tarefas;Na década de 70, o Unix foi distribuído gratuitamente (incluindo seu códigofonte) para universidades e órgãos governamentais norte-americanos, o queconferiu muita popularidade a este sistema.Sua interface era totalmente em modo texto sem interface gráfica
  15. 15. SO para computadores pessoaisO Unix, em suas primeiras versões, foi desenvolvido para o uso emcomputadores de grande porte, normalmente em universidades. Contudo,alguns jovens programadores possuíam uma ideia absurda para época: criarsistemas operacionais para o uso de pessoas comuns.Um dos primeiros a pensar desta forma foi Steve Jobs, fundador da Apple.Desde a criação de sua empresa, seu principal foco foi a criação decomputadores para o dia-a-dia, incluindo sistemas operacionais fáceis deserem operados.1976 - O lançamento do Apple I. Pela primeira vez, um PC continha um tecladofácil de ser utilizado, com uma mini-televisão adaptada como monitor.1979 – O lançamento do Lisa pela Apple - Steve Jobs, aproveita todas asideias gráficas do computador criado pela Xerox Parc.1975 - Bill Gates funda a Microsoft, empresa que possuía como objetivoprimário o desenvolvimento de software em linguagem BASIC para ocomputador Altair da IBM.1979 - A IBM se interessou pelo projeto da Microsoft e ambas as organizaçõesafirmaram um contrato.
  16. 16. SO para computadores pessoais1982- Microsoft lançou MS-DOS em 1982 cuja interface era baseada emmodo texto, bastante parecida com a utilizada pelo Unix;1984 - O Apple Machintosh foi lançado,introduzindo o conceito de desktop,utilizando ícones e pastas para representar programas e arquivos do modocomo conhecemos hoje.....Gates Gates convenceu Jobs a ser incluído no desenvolvimento do Macintosh.O objetivo de Gates era maior que isso: copiar a interface gráfica doMachintosh, e foi exatamente isso que aconteceu.No lançamento do novo PC da Apple, Steve Jobs descobriu que a Microsoftestava lançando máquinas no Japão, cujas interfaces eram muito parecida coma do seu computador.1985 - Gates lançou o Sistema Operacional Windows 1.02001 - Apple surpreendeu o mundo da informática, abandonando o seu própriocódigo e reescrevendo todo o seu sistema operacional usando o Unix comobase. A partir daí, ele passou a se chamar MAC OSX, sistema que continuaforte até os dias de hoje.
  17. 17. Tipos de Sistemas Operacionais Batch; Time sharing (Tempo compartilhado); Tempo real; Distribuídos; Paralelos;
  18. 18. Sistemas Batch (em lote)Implementados na década de 1960. Também chamados de jobs,eram submetidos para execução através de cartões perfurados earmazenados em disco ou fita, onde aguardavam para serprocessados.Posteriormente, em função da disponibilidade de espaço namemória principal, os jobs eram executados, produzindo umasaída em disco ou fita.Não exige a interação do usuário com a aplicação.Exemplos: Programas envolvendo cálculos numéricos,compilações, ordenações, backups e todos aqueles onde não énecessária a interação com o usuário.É um conjunto de comandos rodados sequencialmente.
  19. 19. Processamento Batch
  20. 20. Sistemas de Tempo Compartilhado (Time sharing)Permitem que diversos programas sejam executados a partir da divisãodo tempo do processador em pequenos intervalos de tempo, fatias detempo denominadas time-slice.Caso a fatia de tempo não seja suficiente para a conclusão doprograma, ele é interrompido pelo sistema operacional e substituído porum 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 exclusivamentea ele.Permitem a interação dos usuários com o sistema, através de terminaisque incluem vídeo, teclado e mouse.Esses sistemas possuem uma linguagem de controle que permite aousuário comunicar-se diretamente com o sistema operacional, atravésde comandos. Desta forma, é possível verificar arquivos armazenadosem disco ou cancelar a execução de um programa.
  21. 21. Sistemas de Tempo Real (Real-Time)São implementados de forma semelhante aos sistemas de tempocompartilhado. O que caracteriza a diferença entre os dois tipos desistemas é o tempo exigido no processamento das aplicações. Enquantoem sistemas de tempo compartilhado o tempo de processamento pode variarsem comprometer as aplicações em execução, nos sistemas de tempo real ostempos de processamento devem estar dentro de limites rígidos, que devemser obedecidos, caso contrário, poderão ocorrer problemas irreparáveis.Nos sistemas de tempo real não existe a idéia de fatia de tempo, implementadanos sistemas de tempo compartilhado. Um programa utiliza o processador otempo que for necessário ou até que apareça outro mais prioritário. Aimportância ou prioridade de execução de um programa é definida pela própriaaplicação e não pelo sistema operacional.Esses sistemas, normalmente, estão presentes em aplicações de controle deprocessos, como no monitoramento de refinarias de petróleo, controle detráfego aéreo, de usinas termoelétricas e nucleares, ou em qualquer aplicaçãoonde o tempo de processamento é fator fundamental.
  22. 22. Sistemas DistribuídosCaracterizam-se por possuir duas ou mais UCPs interligadas etrabalhando em conjunto. A vantagem deste tipo de sistema épermitir que vários programas sejam executados ao mesmotempo ou que um mesmo programa seja subdividido em partes,para serem executadas simultaneamente em mais de umprocessador.Com múltiplos processadores, foi possível a criação de sistemascomputacionais, aplicado, por exemplo, no desenvolvimentoaeroespacial, prospecção de petróleo, simulações, eprocessamento de imagens. A princípio, qualquer aplicação quefaça uso intensivo da UCP será beneficiada pelo acréscimo deprocessadores ao sistema.Vantagens específicas como escalabilidade, disponibilidade ebalanceamento de carga.
  23. 23. Sistema ParalelosVários processos são executados em várias máquinas,conectadas entre si de alguma forma. Estes processos se comunicam mutuamente através de mensagens;Permitir que sistemas munidos de mais de um processador possam acelerar a resolução de um problema de natureza paralelizável;- Poder executar vários processos (programa em execução) simultaneamente;- Otimizar o tempo ocioso (idle time) das CPU’s;
  24. 24. Linux

×