• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sistemas Operacionais - Parte 1
 

Sistemas Operacionais - Parte 1

on

  • 3,420 views

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

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

Statistics

Views

Total Views
3,420
Views on SlideShare
3,321
Embed Views
99

Actions

Likes
3
Downloads
51
Comments
0

5 Embeds 99

http://2cents4free.blogspot.com 63
http://0x41424344.blogspot.com 16
http://0x41424344.blogspot.com.br 16
http://www.2cents4free.blogspot.com 2
http://www.linkedin.com 2

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

Sistemas Operacionais - Parte 1 Sistemas Operacionais - Parte 1 Presentation Transcript

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