Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Sistemas Operacionais [email_address] Antes tarde do que mais tarde… Estou muito bem obrigado…e vocês?
Quem sou eu? <ul><li>Rodrigo César Benaglia Piovesana </li></ul><ul><li>Engenheiro de Computação </li></ul><ul><li>Especia...
Contato <ul><li>Dados para contato: </li></ul><ul><ul><li>Email/IM:  [email_address] </li></ul></ul><ul><ul><li>IM:  [emai...
E Corinthiano ROXO! [email_address]
[email_address] Rumo ao Bi-Mundial
Bibliografia básica <ul><li>Tanenbaum, Andrew. Sistemas Operacionais: Projeto e Implantação. Ed Bookman 2000. </li></ul><u...
Bibliografia recomendada   Oliveira, Carissimi, Toscani.Sistemas Operacionais. Editora Sagra-Luzzato, 2003. [email_address]
Avaliação <ul><li>Prova no primeiro Bimestre (0 à 10) </li></ul><ul><li>Trabalho no segundo Bimestre com apresentação em s...
Ementa <ul><li>Introdução </li></ul><ul><li>Histórico </li></ul><ul><li>Tipos de Sistemas Operacionais </li></ul><ul><li>R...
Ementa <ul><li>Gerenciamento de Memória </li></ul><ul><li>Organização da memória </li></ul><ul><li>Criação de Programas </...
Ferramentas <ul><li>Virtualização: </li></ul><ul><ul><li>Vmware  </li></ul></ul><ul><ul><li>Virtualbox </li></ul></ul><ul>...
Exemplo VMware [email_address]
Introdução <ul><li>“ O mais fundamental de todos os programas do sistema é o sistema operacional que controla todos os rec...
Introdução <ul><li>Primeiro computador digital foi projetado pelo matemático inglês Charles Babbage (1792-1871). </li></ul...
Introdução <ul><li>1945-1955 </li></ul><ul><ul><li>Nesta década quem projetava o  hardware  também construía, programava, ...
Introdução <ul><li>1955-1965 </li></ul><ul><ul><li>Computadores mais confiáveis (transistores ao invés de  válvulas) </li>...
Introdução <ul><li>Alguém teve a brilhante idéia de reduzir o tempo gasto no processo! </li></ul><ul><li>Processamento em ...
Super simples [email_address]
Introdução [email_address]
Introdução <ul><li>1965-1980 </li></ul><ul><ul><li>Década de 60 – Fabricantes com linhas incompatíveis. </li></ul></ul><ul...
Introdução [email_address]
Introdução [email_address]
Introdução [email_address]
Introdução <ul><li>1980 – HOJE! </li></ul><ul><ul><li>Computadores Pessoais mais poderosos (hummm) </li></ul></ul><ul><ul>...
Introdução [email_address] Fonte:  http://www.w3counter.com/globalstats.php
Introdução <ul><li>Alguém aqui conhece o MINIX? </li></ul><ul><li>Andrew Tanenbaum resolveu fazer o seu próprio SO. </li><...
Introdução <ul><li>Escrito em Linguagem C </li></ul><ul><li>Inicialmente era para IBM PC, posteriormente portado para comp...
Introdução <ul><li>Conceitos de um Sistema Operacional </li></ul><ul><ul><li>Processos </li></ul></ul><ul><ul><li>Arquivos...
Introdução <ul><li>Sistemas Monolíticos </li></ul><ul><ul><li>Modo Kernel </li></ul></ul><ul><ul><li>Modo usuário </li></u...
Introdução <ul><li>Multics </li></ul><ul><ul><li>Conceito de Anéis (rings) concêntricos </li></ul></ul><ul><ul><li>interno...
Introdução <ul><li>De maneira geral podemos dizer que os objetivos de um SO são: </li></ul><ul><ul><li>Oferecer os recurso...
Introdução [email_address]
Introdução [email_address]
quizz <ul><li>Qual o melhor SO? </li></ul><ul><li>Qual é o mais rápido? </li></ul><ul><li>Qual é  o mais seguro? </li></ul...
Processos <ul><li>Todos computadores modernos podem executar várias coisas ao mesmo tempo. Enquanto executa um programa do...
Processos <ul><li>Diferenciação entre o programa e a sua execução </li></ul><ul><li>Programa </li></ul><ul><ul><li>Entidad...
Processos [email_address]
Upcoming SlideShare
Loading in …5
×

Sistemas Operacionais - Parte 1

3,765 views

Published on

Aula sobre S O , livro Sistemas operacionais modernos - Andrew Tanenbaum.

Published in: Technology, Education
  • Be the first to comment

Sistemas Operacionais - Parte 1

  1. 1. Sistemas Operacionais [email_address] Antes tarde do que mais tarde… Estou muito bem obrigado…e vocês?
  2. 2. Quem sou eu? <ul><li>Rodrigo César Benaglia Piovesana </li></ul><ul><li>Engenheiro de Computação </li></ul><ul><li>Especialista em Telecomunicações </li></ul><ul><li>Especialidades: redes de computadores, segurança da informação e churrasco </li></ul><ul><li>Desenvolvimento em C/C++ </li></ul><ul><li>Certificações de fabricantes de soluções em Redes de computadores e Segurança. </li></ul><ul><li>Instrutor Oficial para diversos fabricantes, Check Point, Blue coat, Aruba Networks, Cisco Ironport e Avaya. </li></ul>[email_address]
  3. 3. Contato <ul><li>Dados para contato: </li></ul><ul><ul><li>Email/IM: [email_address] </li></ul></ul><ul><ul><li>IM: [email_address] </li></ul></ul><ul><ul><li>http://www.linkedin.com/in/rodrigopiovesana </li></ul></ul><ul><ul><li>http://0x41424344.blogspot.com </li></ul></ul><ul><ul><li>http://www.slideshare.net/rodrigo.piovesana </li></ul></ul>[email_address]
  4. 4. E Corinthiano ROXO! [email_address]
  5. 5. [email_address] Rumo ao Bi-Mundial
  6. 6. Bibliografia básica <ul><li>Tanenbaum, Andrew. Sistemas Operacionais: Projeto e Implantação. Ed Bookman 2000. </li></ul><ul><li>Silberschatz, A. & Gagne, Greg. Fundamentos de Sistemas operacionais. Ed. Saraiva 2004. </li></ul><ul><li>Stuart L., Brian. Principios de Sistemas operacionais – Projetos e Aplicações. Ed. Cengage Learning: 2010. </li></ul>[email_address]
  7. 7. Bibliografia recomendada Oliveira, Carissimi, Toscani.Sistemas Operacionais. Editora Sagra-Luzzato, 2003. [email_address]
  8. 8. Avaliação <ul><li>Prova no primeiro Bimestre (0 à 10) </li></ul><ul><li>Trabalho no segundo Bimestre com apresentação em sala de aula. (0 à 10) </li></ul><ul><li>Para passar: Média > 7.0 </li></ul><ul><li>Para exame: Média entre 5.0 à 6.9 </li></ul><ul><li>Para repetir: Média < 4.9 </li></ul>[email_address]
  9. 9. Ementa <ul><li>Introdução </li></ul><ul><li>Histórico </li></ul><ul><li>Tipos de Sistemas Operacionais </li></ul><ul><li>Recurso e ambiente Operacionais </li></ul><ul><li>Introdução a processos </li></ul><ul><li>Tipos de processos, estados e concorrência </li></ul><ul><li>Deadlocks e comunicações de processos </li></ul><ul><li>Threads e multiprocesso </li></ul><ul><li>Escalonamento </li></ul><ul><li>Algoritmos de escalonamento </li></ul><ul><li>Escalonamento FIFO, HPF e SPF </li></ul><ul><li>Escalonamento RR, MQ e MFQ </li></ul>[email_address]
  10. 10. Ementa <ul><li>Gerenciamento de Memória </li></ul><ul><li>Organização da memória </li></ul><ul><li>Criação de Programas </li></ul><ul><li>Modelos de gerenciamento de memória </li></ul><ul><li>Memória Virtual </li></ul><ul><li>Gerenciamento de Entrada/Saída </li></ul><ul><li>Introdução a sistemas de arquivos </li></ul><ul><li>Sistemas de arquivos </li></ul>[email_address]
  11. 11. Ferramentas <ul><li>Virtualização: </li></ul><ul><ul><li>Vmware </li></ul></ul><ul><ul><li>Virtualbox </li></ul></ul><ul><ul><li>Parallels </li></ul></ul><ul><ul><li>VirtualPC </li></ul></ul><ul><ul><li>Xen </li></ul></ul><ul><ul><li>ISO de Sistemas Operacionais para testes (linux, Unix, Microsoft, etc) </li></ul></ul>[email_address]
  12. 12. Exemplo VMware [email_address]
  13. 13. Introdução <ul><li>“ O mais fundamental de todos os programas do sistema é o sistema operacional que controla todos os recursos computacionais e provê uma base a qual programas podem ser escritos” Tanenbaum </li></ul><ul><li>Computers are like air conditioners: they stop working properly when you open windows. </li></ul>[email_address]
  14. 14. Introdução <ul><li>Primeiro computador digital foi projetado pelo matemático inglês Charles Babbage (1792-1871). </li></ul><ul><ul><li>Gastou uma fortuna e nunca conseguiu fazê-lo funcionar adequadamente. </li></ul></ul><ul><ul><li>Qual era o problema? Falta de tecnologia! </li></ul></ul><ul><ul><li>Ele sabia que precisaria de um Software ! Contratou uma mulher chamada Ada Lovelance. A linguagem de programação Ada foi criado em sua homenagem. </li></ul></ul>[email_address]
  15. 15. Introdução <ul><li>1945-1955 </li></ul><ul><ul><li>Nesta década quem projetava o hardware também construía, programava, operava e mantinha. </li></ul></ul><ul><ul><li>Ligando fio com fio mesmo! </li></ul></ul><ul><ul><li>Uso de Válvulas! </li></ul></ul><ul><ul><li>Ninguém cogitava o uso de um Sistemas Operacionais ou Linguagem de Programação (NEM ASSEMBLY). </li></ul></ul><ul><ul><li>Nada prático e usual. </li></ul></ul>[email_address]
  16. 16. Introdução <ul><li>1955-1965 </li></ul><ul><ul><li>Computadores mais confiáveis (transistores ao invés de válvulas) </li></ul></ul><ul><ul><li>Separação de funções: projetistas, operadores, programadores e manutenção. </li></ul></ul><ul><ul><li>Execução de através de job , que poderia ser um programa ou um conjunto de programas. </li></ul></ul><ul><ul><li>Linguagem Fortran ou Assembly </li></ul></ul><ul><ul><ul><li>Cobol (conceitual 1959, funcional 1960) </li></ul></ul></ul><ul><ul><li>Programas em cartões perfurados </li></ul></ul><ul><ul><li>Isso tomava um tempo danado! </li></ul></ul>[email_address]
  17. 17. Introdução <ul><li>Alguém teve a brilhante idéia de reduzir o tempo gasto no processo! </li></ul><ul><li>Processamento em lote (ou batch system ) </li></ul><ul><ul><li>Isso seria um antepassado do Sistemas Operacionais! </li></ul></ul>[email_address]
  18. 18. Super simples [email_address]
  19. 19. Introdução [email_address]
  20. 20. Introdução <ul><li>1965-1980 </li></ul><ul><ul><li>Década de 60 – Fabricantes com linhas incompatíveis. </li></ul></ul><ul><ul><ul><li>Ou são para sistemas de engenharia ou são para sistemas comerciais </li></ul></ul></ul><ul><ul><ul><li>IBM lança o System/360 – primeira linha importante a usar CI (circuitos integrados) de pequena escala. </li></ul></ul></ul><ul><ul><ul><ul><li>Era compatível para sistemas de cálculos e comerciais. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Linguagem JCL ( Job Control Language ) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Multiprogramação (acredite!) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Spooling (Caraca Mano!) – Simultaneos Peripheral Operation On Line </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Compartilhamento de tempo (LOCO!) </li></ul></ul></ul></ul>[email_address]
  21. 21. Introdução [email_address]
  22. 22. Introdução [email_address]
  23. 23. Introdução [email_address]
  24. 24. Introdução <ul><li>1980 – HOJE! </li></ul><ul><ul><li>Computadores Pessoais mais poderosos (hummm) </li></ul></ul><ul><ul><li>Interfaces mais amigáveis (hummm 2 ) </li></ul></ul><ul><ul><li>Inicio da década foi dominado por dois sistemas operacionais MS-DOS e UNIX. </li></ul></ul><ul><ul><li>O sucessor do MS-DOS, o Windows, originalmente rodava por cima do MS-DOS. Já em 1995 a Microsoft lança o Windows 95 (a vá!). Outro lançado nesta mesma época pela Microsoft foi o Windows NT. </li></ul></ul><ul><ul><li>Mas e o Unix e o Linux??????!??!?!?!?!? CALMA! </li></ul></ul>[email_address]
  25. 25. Introdução [email_address] Fonte: http://www.w3counter.com/globalstats.php
  26. 26. Introdução <ul><li>Alguém aqui conhece o MINIX? </li></ul><ul><li>Andrew Tanenbaum resolveu fazer o seu próprio SO. </li></ul><ul><li>Unix na versão 6.0 sob licença da AT&T </li></ul><ul><ul><li>Livre acesso para estudo </li></ul></ul><ul><ul><li>Versão totalmente comentada, onde qualquer um poderia entender o que faz um SO </li></ul></ul><ul><ul><li>Produto ALTAMENTE comercial </li></ul></ul><ul><ul><li>Na versão 7.0 a AT&T proibiu o seu acesso para estudo! </li></ul></ul><ul><li>Pensando no estudo e pesquisa o MINIX foi feito para ser compatível com a versão 7.0 </li></ul>[email_address]
  27. 27. Introdução <ul><li>Escrito em Linguagem C </li></ul><ul><li>Inicialmente era para IBM PC, posteriormente portado para computadores ATARI, Amiga, Macintosh e SPARC </li></ul><ul><li>Possui comandos básicos como cat, grep, ls, make, etc... </li></ul><ul><li>Linus Torvalds resolveu usar o MINIX como base para desenvolver um SO para produção e não para estudo. Nascia o Linux. </li></ul>[email_address]
  28. 28. Introdução <ul><li>Conceitos de um Sistema Operacional </li></ul><ul><ul><li>Processos </li></ul></ul><ul><ul><li>Arquivos </li></ul></ul><ul><ul><li>Entrada/Saída </li></ul></ul><ul><ul><li>Chamada do Sistema </li></ul></ul><ul><ul><ul><li>Gerenciamento de Processos </li></ul></ul></ul><ul><ul><ul><li>Sinalização </li></ul></ul></ul><ul><ul><ul><li>Gerenciamento de Arquivos e Diretórios </li></ul></ul></ul><ul><ul><ul><li>Proteção </li></ul></ul></ul><ul><ul><ul><li>Gerenciamento de Tempo </li></ul></ul></ul>[email_address]
  29. 29. Introdução <ul><li>Sistemas Monolíticos </li></ul><ul><ul><li>Modo Kernel </li></ul></ul><ul><ul><li>Modo usuário </li></ul></ul><ul><li>Sistemas em Camadas </li></ul><ul><ul><li>Quanto mais baixo o nível, mais próximo do processador. Camada 0 (zero) proporciona a multiprogramação </li></ul></ul><ul><ul><li>Outras camadas não precisam se preocupar com quem está sendo executado ou não. </li></ul></ul><ul><li>Maquinas Virtuais </li></ul><ul><li>Cliente-Servidor </li></ul>[email_address]
  30. 30. Introdução <ul><li>Multics </li></ul><ul><ul><li>Conceito de Anéis (rings) concêntricos </li></ul></ul><ul><ul><li>interno mais privilegiado do que o externo </li></ul></ul><ul><ul><li>Traps (externo -> interno) </li></ul></ul><ul><ul><li>Validação antes da execução </li></ul></ul><ul><ul><ul><li>Unix - 8 Rings </li></ul></ul></ul><ul><ul><ul><li>NT – 2 Rings </li></ul></ul></ul><ul><ul><ul><li>Os/2 – 3 Rings </li></ul></ul></ul><ul><ul><ul><li>X86 – 4 Rings </li></ul></ul></ul>[email_address]
  31. 31. Introdução <ul><li>De maneira geral podemos dizer que os objetivos de um SO são: </li></ul><ul><ul><li>Oferecer os recursos do sistema de forma simples e transparente; </li></ul></ul><ul><ul><li>Gerenciar a utilização dos recursos existentes buscando seu uso eficientemente em termos do sistema; </li></ul></ul><ul><ul><li>Garantir a integridade e a segurança dos dados armazenados e processados no sistema e também de seus recursos físicos. </li></ul></ul><ul><ul><li>Interface Humano-Computador (CLI ou GUI) </li></ul></ul>[email_address]
  32. 32. Introdução [email_address]
  33. 33. Introdução [email_address]
  34. 34. quizz <ul><li>Qual o melhor SO? </li></ul><ul><li>Qual é o mais rápido? </li></ul><ul><li>Qual é o mais seguro? </li></ul><ul><li>Qual é o mais estável? </li></ul><ul><li>$$ ou livre? </li></ul>[email_address]
  35. 35. Processos <ul><li>Todos computadores modernos podem executar várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador também pode estar lendo a partir de um disco e dando saída a um texto para uma tela ou impressora. </li></ul><ul><li>A CPU executa N funções ao “mesmo tempo”, mas como executar N funções ao “mesmo tempo” se só temos uma CPU??? </li></ul><ul><li>Processos seqüenciais e multiprogramação </li></ul>[email_address]
  36. 36. Processos <ul><li>Diferenciação entre o programa e a sua execução </li></ul><ul><li>Programa </li></ul><ul><ul><li>Entidade estática e permanente </li></ul></ul><ul><ul><li>Seqüência de instruções </li></ul></ul><ul><ul><li>Passivo sob o ponto de vista do sistema operacional </li></ul></ul><ul><li>Processo </li></ul><ul><ul><li>Entidade dinâmica e efêmera </li></ul></ul><ul><ul><li>Altera seu estado a medida que avança sua execução </li></ul></ul><ul><ul><li>Composto por programa, dados e contexto. </li></ul></ul>[email_address]
  37. 37. Processos [email_address]

×