Roteiro
•1    Introdução
 • 1.1 O que é um Sistema Operacional ?
 • 1.2 Motivações


•2    Breve História
 • 2.1 Décadas de 1940s e 1950s
 • 2.2 Década de 1960
 • 2.3 Década de 1970
 • 2.4 Década de 1980
 • 2.5 Década de 1990
 • 2.6 2000 e além


• Questões




Objetivos da Parte I

• Entender o que é um Sistema Operacional


• Conhecer um pouco da história dos S.O.s




1.1 Introdução

• Crescimento da computação sem precedentes
 nas últimas décadas

• Estações de trabalho (workstations) executam
 bilhões de instruções por segundo (BIPS)

• Supercomputadores podem executar acima de
 1 trilhão de instruções por segundo

• Hoje, os computadores são utilizados em quase
 todos os aspectos da vida




                                                  1
Introdução

O que é um Sistema Operacional ?
• Definição inicial
 O Software que controla o Hardware

• Evolução dos sistemas baseados em computadores
 requer uma definição mais completa

• Programas - Softwares
    elo entre homem (elemento abstrato)
    e máquina (código binário)

  • Aplicativos: resolvem problemas para o usuário
  • Sistemas:     manipulam a operação do computador




Introdução

O que é um Sistema Operacional ?
  • É um programa que gerencia software E hardware para produzir o
    resultado desejado

 Sistemas Operacionais são basicamente

• Gerenciadores de Recursos
  • Processadores, Memória e Periféricos (E/S, comunicação, ...)
  • Cada programa tem um tempo com o recurso
  • Cada programa tem um espaço no recurso              Hardware

• Provedor de Abstrações ou Extensão de Máquina
  • Mecanismos de Gerenciamento de Processos
  • Interpretar e traduzir as instruções das Aplicações  Software
  • Oculta os detalhes complicados que têm quer ser executados




Introdução

Motivações para Estudar S.O.
• Projetar e / ou modificar aplicações para S.O. específicos


• Especificar S.O. mais adequados para determinado Sistema ou Corporação


• Melhorar a interface com o Usuário


• Melhorar a interface com o Programador


• Melhorar a construção de software com as técnicas usadas nos S.O.


• Melhorar a relação custo / benefício do desenvolvimento


• Aumentar a eficiência global do sistema




                                                                           2
História dos Sistemas Operacionais

No início eram as trevas ... 40´s e 50´s
    Computadores são uma ciência experimental e exótica

• 1940´s
   • Primeiros computadores não possuíam Sistemas Operacionais
   • Usuário com acesso direto à máquina
   • Instruções introduzidas manualmente
     (chaveamento de circuitos)
   Computadores são caros !
   Pessoas são baratas !




                           UNIVAC I                               ENIAC




História dos Sistemas Operacionais

No início eram as trevas ... 40´s e 50´s
• 1950´s (1a Geração)
   • Executa um trabalho por vez
   • Tecnologia para permitir transações suaves entre tarefas
   • Processamento em Lotes (Batch)
     • Programas e Dados submetidos consecutivamente no sistema




            FMS                – Fortran Monitor System
            IBSYS              – IBM Operating System



  • Era das válvulas e painéis de programação




História dos Sistemas Operacionais

No início eram as trevas ... 40´s e 50´s
• Antigo sistema em lote
  • traz os cartões para o 1401
  • lê os cartões para a fita
  • coloca a fita no 7094 que executa o processamento
  • coloca a fita no 1401 que imprime a saída




                                                           A.S. Tanenbaum




                                                                            3
História dos Sistemas Operacionais

Década de 60                           FMS – Fortran Monitor System
                                       MCP (1963) – Burroughs 5000
• 1960´s (2a Geração)
   • Transistores e ainda Processamento em Lote
   • Salas especiais – pessoal altamente qualificado
   • Programador – Operador – Computador

  • Aplicações Científicas OU Aplicações Comercias

  • Processamento de múltiplas
    tarefas (jobs) ao mesmo tempo
     • Multiprogramação


  • Uma tarefa usa o processador
    enquanto outra usa um
    periférico




História dos Sistemas Operacionais

Década de 60
• 1964 (3a Geração)
   • IBM anuncia a família de computadores System/360
   • Permite aplicações científicas E comerciais
                                                            Era dos CIs
• Multiprogramação (/360)
  • Grau de multiprogramação indica quantos
    jobs podem ser gerenciados ao mesmo tempo

        / 360 - IBM

• Técnica de spooling
 (simultaneous peripherical operation on line)
  • Tempo de Retorno foi reduzido para minutos ou segundos
    (tempo entre a submissão de serviços e o retorno dos resultados)




História dos Sistemas Operacionais

Década de 60
• Sistemas de Tempo Compartilhado (Timesharing)
  • Desenvolvido para suportar diversos usuários interagindo
    simultaneamente

• Sistemas em Tempo Real (Real-time systems)
  • Resposta dentroTime-Sharing limites de MIT
   CTSS (Compatible de estreitos System) – tempo
   TSS (Time Sharing System) – IBM            Multics (escrito em EPL)
                                                  MIT, GE e Bell labs
• Memória Virtual
  • Melhorar os métodos e o tempo de desenvolvimento
  • Aloca mais endereços de memória do que realmente existem

     CP / CMS (Control program / Conversational Monitor System)




                                                                          4
História dos Sistemas Operacionais

 Década de 70
• Sistemas multimodo de Tempo Compartilhado
   • Processamento em lote
   • Processamento em tempo compartilhado
   • Aplicações em tempo real
   • Computador Pessoal (PC - Personal Computing)
     • Em estágios iniciais
     • Adotados nos primeiros desenvolvimentos de microprocessores


                • TCP/IP
                   • Desenvolvido pelo Departamento de Defesa dos EUA (DOD)
                   • Padrão de Protocolo de Comunicação
                      • Amplamente utilizado para fins militares e universitários
                   • Redes Locais (LANs) se tornam práticas e econômicas
                      • Padrão Ethernet desenvolvido na PARC da Xerox
                   • Problemas de segurança
                      • Volume de informação crescente em linhas de comunicação


      Multics ( projetistas criam a linguagem C ) - UNIX, Linux e BSD




História dos Sistemas Operacionais

Década de 80
• 1980s (4a Geração)
   • Década dos PCs e Workstation
   • Computação Distribuída


• Interface Gráfica com o Usuário
   • Graphical User Interfaces (GUI)
     • Palo Alto Research Center (PARC) da Xerox
     • Macintosh - Apple (1984)
  • PCs se tornam fáceis de aprender e usar




 História dos Sistemas Operacionais

 Década de 80
 • 1980s (4a Geração)
    • Transferência de Informação via rede se torna viável (prática e
      econômica)
    • Disseminação do modelo Cliente / Servidor
       • Cliente são computadores que requisitam serviços;
       • Servidores são computadores que executam os serviços requisitados;


 • Engenharia de Software evoluindo
       • Reutilização de Código
       • Alto grau de abstração nas Linguagens de Programação
       • Multitarefa
         • múltiplas tarefas podem ser executadas independentemente
                                                 DOS – Microsoft
                                       ( Intel 8088, 80286, 80386 e 80486)
                                                      UNIX




                                                                                    5
História dos Sistemas Operacionais

Década de 90
• Performance do Hardware cresce exponencialmente
  • Redução do custo de processamento e armazenamento
  • Acelera-se o direcionamento para a computação distribuída


• Sistemas Operacionais que suportam tarefas em rede se
 tornam padrão
  • Aumento da produtividade e comunicação
                                                                    Windows 95
                                                                      UNIX
• Microsoft Corporation se torna dominante
  • Sistema Operacional Windows
     • Utiliza muitos dos conceitos usados nos primeiros Sistemas Operacionais
       Macintosh
     • Usuários navegam facilmente por várias aplicações concorrentes




História dos Sistemas Operacionais

Década de 90
• Tecnologia de “Objetos” se torna popular em computação
   • Muitos aplicativos escritos com Linguagens de Programação OO
   • Sistemas Operacionais Orientados a Objetos
   • Conceitos como herança e interface
     • Explorados para o desenvolvimento de SO modulares
     • Facilidade de manutenção e extensão


• Maioria dos softwares comerciais vendidos como código objeto
  • Código fonte não incluso
  • Escondem informação proprietária e técnicas de programação


• Software Livre (free) e Código Aberto (open-source)                       Linux
   • Software open-source distribuído com o código fonte
   • Permite examinar e modificar o software                        Apache Web Server
• Richard Stallman inicia o projeto GNU
   • Recria e estende ferramentas para o SO UNIX da AT&T
   • Discorda de pagar pela permissão de usar o software




História dos Sistemas Operacionais

Década de 90
• Inicativa Open Source (Open Source Initiative - OSI)
   • Fundada para acrescer benefícios à programação open-source
   • Facilita avanços no produto software
     • Permite a qualquer um testar, corrigir e melhorar o aplicativo
  • Aumenta a chance de uma falha ser encontrada e corrigida
     • Crucial para erros de segurança que precisam ser corrigidos rápidamente
  • Indivíduos e corporações podem modificar a fonte
     • Software personalizado para as necessidades de determinado ambiente


• Sistemas Operacionais se tornam incrivelmente Amigáveis
  • Capacidade GUI originada pela Apple amplamente usada ;
  • Capacidade “Plug-and-play” construída em Sistemas Operacionais
     • Permite a adição e remoção dinâmica de componentes de hardware
     • Sem necessidade de re-configuração manual do Sistema Operacional




                                                                                        6
História dos Sistemas Operacionais

 2000 e além ...
 • Middleware
   • Conecta duas aplicações separadas
       • Frequentemente entre máquinas incompatíveis sobre uma rede
    • Particularmente importantes para serviços na Web
       • Simplifica comunicação entre múltiplas arquiteturas




 • Serviços Web
   • Engloba conjunto de padrões relacionados
   • “Pedaços de Software” prontos para uso na Internet
   • Permite quaisquer duas aplicações se comunicarem e trocarem
     dados




 Parte I - Introdução aos Sistemas Operacionais

 Questões
• Sistemas Operacionais gerenciam apenas o hardware.
 Esta afirmação é verdadeira ou falsa ? Explique.

• Qual o principal propósito do Sistema Operacional ?

• O que limitava o tamanho e a capacidade dos programas na
 década de 50 ?

• Qual aspecto dos computadores pessoais, popularizado
 pelo
 Macintosh da Apple, tornou-os especialmente fáceis de
 utilizar
 e aprender ?




 Parte I - Introdução aos Sistemas Operacionais

 Questões
 • Quais são as principais diferenças entre os sistemas
  operacionais para mainframes e PC´s?

 • Enfatizamos a necessidade de que um sistema
  operacional faça uso eficaz do hardware de computação.
  Quando é apropriado que um sistema operacional
  abandone esse princípio e “desperdice” recursos? Por
  que esse sistema não é realmente desperdiçador?

 • Qual (is) o(s) benefício(s) do desenvolvimento Open-
  Source ?




                                                                      7
Referência Bibliográfica
• Sistemas Operacionais
  • Deitel, Deitel e Choffnes; Ed. Pearson
  • www.prenhall.com/deitel_br


• Sistemas Operacionais, Conceitos e Aplicações
  • A. Silberschatz, P. Galvin, G. Gagne; Ed. Campus
  • www.wiley.com/college/
     silberschatz6e/0471417432/slides/slides.html
     • (existe versão em português)


• Sistemas Operacionais Modernos
  • Andrew Tanenbaum; Ed. Pearson
  • www.prenhall.com/tanenbaum_br




                                                       8

Soi2011 partei

  • 1.
    Roteiro •1 Introdução • 1.1 O que é um Sistema Operacional ? • 1.2 Motivações •2 Breve História • 2.1 Décadas de 1940s e 1950s • 2.2 Década de 1960 • 2.3 Década de 1970 • 2.4 Década de 1980 • 2.5 Década de 1990 • 2.6 2000 e além • Questões Objetivos da Parte I • Entender o que é um Sistema Operacional • Conhecer um pouco da história dos S.O.s 1.1 Introdução • Crescimento da computação sem precedentes nas últimas décadas • Estações de trabalho (workstations) executam bilhões de instruções por segundo (BIPS) • Supercomputadores podem executar acima de 1 trilhão de instruções por segundo • Hoje, os computadores são utilizados em quase todos os aspectos da vida 1
  • 2.
    Introdução O que éum Sistema Operacional ? • Definição inicial O Software que controla o Hardware • Evolução dos sistemas baseados em computadores requer uma definição mais completa • Programas - Softwares elo entre homem (elemento abstrato) e máquina (código binário) • Aplicativos: resolvem problemas para o usuário • Sistemas: manipulam a operação do computador Introdução O que é um Sistema Operacional ? • É um programa que gerencia software E hardware para produzir o resultado desejado Sistemas Operacionais são basicamente • Gerenciadores de Recursos • Processadores, Memória e Periféricos (E/S, comunicação, ...) • Cada programa tem um tempo com o recurso • Cada programa tem um espaço no recurso Hardware • Provedor de Abstrações ou Extensão de Máquina • Mecanismos de Gerenciamento de Processos • Interpretar e traduzir as instruções das Aplicações Software • Oculta os detalhes complicados que têm quer ser executados Introdução Motivações para Estudar S.O. • Projetar e / ou modificar aplicações para S.O. específicos • Especificar S.O. mais adequados para determinado Sistema ou Corporação • Melhorar a interface com o Usuário • Melhorar a interface com o Programador • Melhorar a construção de software com as técnicas usadas nos S.O. • Melhorar a relação custo / benefício do desenvolvimento • Aumentar a eficiência global do sistema 2
  • 3.
    História dos SistemasOperacionais No início eram as trevas ... 40´s e 50´s Computadores são uma ciência experimental e exótica • 1940´s • Primeiros computadores não possuíam Sistemas Operacionais • Usuário com acesso direto à máquina • Instruções introduzidas manualmente (chaveamento de circuitos) Computadores são caros ! Pessoas são baratas ! UNIVAC I ENIAC História dos Sistemas Operacionais No início eram as trevas ... 40´s e 50´s • 1950´s (1a Geração) • Executa um trabalho por vez • Tecnologia para permitir transações suaves entre tarefas • Processamento em Lotes (Batch) • Programas e Dados submetidos consecutivamente no sistema FMS – Fortran Monitor System IBSYS – IBM Operating System • Era das válvulas e painéis de programação História dos Sistemas Operacionais No início eram as trevas ... 40´s e 50´s • Antigo sistema em lote • traz os cartões para o 1401 • lê os cartões para a fita • coloca a fita no 7094 que executa o processamento • coloca a fita no 1401 que imprime a saída A.S. Tanenbaum 3
  • 4.
    História dos SistemasOperacionais Década de 60 FMS – Fortran Monitor System MCP (1963) – Burroughs 5000 • 1960´s (2a Geração) • Transistores e ainda Processamento em Lote • Salas especiais – pessoal altamente qualificado • Programador – Operador – Computador • Aplicações Científicas OU Aplicações Comercias • Processamento de múltiplas tarefas (jobs) ao mesmo tempo • Multiprogramação • Uma tarefa usa o processador enquanto outra usa um periférico História dos Sistemas Operacionais Década de 60 • 1964 (3a Geração) • IBM anuncia a família de computadores System/360 • Permite aplicações científicas E comerciais Era dos CIs • Multiprogramação (/360) • Grau de multiprogramação indica quantos jobs podem ser gerenciados ao mesmo tempo / 360 - IBM • Técnica de spooling (simultaneous peripherical operation on line) • Tempo de Retorno foi reduzido para minutos ou segundos (tempo entre a submissão de serviços e o retorno dos resultados) História dos Sistemas Operacionais Década de 60 • Sistemas de Tempo Compartilhado (Timesharing) • Desenvolvido para suportar diversos usuários interagindo simultaneamente • Sistemas em Tempo Real (Real-time systems) • Resposta dentroTime-Sharing limites de MIT CTSS (Compatible de estreitos System) – tempo TSS (Time Sharing System) – IBM Multics (escrito em EPL) MIT, GE e Bell labs • Memória Virtual • Melhorar os métodos e o tempo de desenvolvimento • Aloca mais endereços de memória do que realmente existem CP / CMS (Control program / Conversational Monitor System) 4
  • 5.
    História dos SistemasOperacionais Década de 70 • Sistemas multimodo de Tempo Compartilhado • Processamento em lote • Processamento em tempo compartilhado • Aplicações em tempo real • Computador Pessoal (PC - Personal Computing) • Em estágios iniciais • Adotados nos primeiros desenvolvimentos de microprocessores • TCP/IP • Desenvolvido pelo Departamento de Defesa dos EUA (DOD) • Padrão de Protocolo de Comunicação • Amplamente utilizado para fins militares e universitários • Redes Locais (LANs) se tornam práticas e econômicas • Padrão Ethernet desenvolvido na PARC da Xerox • Problemas de segurança • Volume de informação crescente em linhas de comunicação Multics ( projetistas criam a linguagem C ) - UNIX, Linux e BSD História dos Sistemas Operacionais Década de 80 • 1980s (4a Geração) • Década dos PCs e Workstation • Computação Distribuída • Interface Gráfica com o Usuário • Graphical User Interfaces (GUI) • Palo Alto Research Center (PARC) da Xerox • Macintosh - Apple (1984) • PCs se tornam fáceis de aprender e usar História dos Sistemas Operacionais Década de 80 • 1980s (4a Geração) • Transferência de Informação via rede se torna viável (prática e econômica) • Disseminação do modelo Cliente / Servidor • Cliente são computadores que requisitam serviços; • Servidores são computadores que executam os serviços requisitados; • Engenharia de Software evoluindo • Reutilização de Código • Alto grau de abstração nas Linguagens de Programação • Multitarefa • múltiplas tarefas podem ser executadas independentemente DOS – Microsoft ( Intel 8088, 80286, 80386 e 80486) UNIX 5
  • 6.
    História dos SistemasOperacionais Década de 90 • Performance do Hardware cresce exponencialmente • Redução do custo de processamento e armazenamento • Acelera-se o direcionamento para a computação distribuída • Sistemas Operacionais que suportam tarefas em rede se tornam padrão • Aumento da produtividade e comunicação Windows 95 UNIX • Microsoft Corporation se torna dominante • Sistema Operacional Windows • Utiliza muitos dos conceitos usados nos primeiros Sistemas Operacionais Macintosh • Usuários navegam facilmente por várias aplicações concorrentes História dos Sistemas Operacionais Década de 90 • Tecnologia de “Objetos” se torna popular em computação • Muitos aplicativos escritos com Linguagens de Programação OO • Sistemas Operacionais Orientados a Objetos • Conceitos como herança e interface • Explorados para o desenvolvimento de SO modulares • Facilidade de manutenção e extensão • Maioria dos softwares comerciais vendidos como código objeto • Código fonte não incluso • Escondem informação proprietária e técnicas de programação • Software Livre (free) e Código Aberto (open-source) Linux • Software open-source distribuído com o código fonte • Permite examinar e modificar o software Apache Web Server • Richard Stallman inicia o projeto GNU • Recria e estende ferramentas para o SO UNIX da AT&T • Discorda de pagar pela permissão de usar o software História dos Sistemas Operacionais Década de 90 • Inicativa Open Source (Open Source Initiative - OSI) • Fundada para acrescer benefícios à programação open-source • Facilita avanços no produto software • Permite a qualquer um testar, corrigir e melhorar o aplicativo • Aumenta a chance de uma falha ser encontrada e corrigida • Crucial para erros de segurança que precisam ser corrigidos rápidamente • Indivíduos e corporações podem modificar a fonte • Software personalizado para as necessidades de determinado ambiente • Sistemas Operacionais se tornam incrivelmente Amigáveis • Capacidade GUI originada pela Apple amplamente usada ; • Capacidade “Plug-and-play” construída em Sistemas Operacionais • Permite a adição e remoção dinâmica de componentes de hardware • Sem necessidade de re-configuração manual do Sistema Operacional 6
  • 7.
    História dos SistemasOperacionais 2000 e além ... • Middleware • Conecta duas aplicações separadas • Frequentemente entre máquinas incompatíveis sobre uma rede • Particularmente importantes para serviços na Web • Simplifica comunicação entre múltiplas arquiteturas • Serviços Web • Engloba conjunto de padrões relacionados • “Pedaços de Software” prontos para uso na Internet • Permite quaisquer duas aplicações se comunicarem e trocarem dados Parte I - Introdução aos Sistemas Operacionais Questões • Sistemas Operacionais gerenciam apenas o hardware. Esta afirmação é verdadeira ou falsa ? Explique. • Qual o principal propósito do Sistema Operacional ? • O que limitava o tamanho e a capacidade dos programas na década de 50 ? • Qual aspecto dos computadores pessoais, popularizado pelo Macintosh da Apple, tornou-os especialmente fáceis de utilizar e aprender ? Parte I - Introdução aos Sistemas Operacionais Questões • Quais são as principais diferenças entre os sistemas operacionais para mainframes e PC´s? • Enfatizamos a necessidade de que um sistema operacional faça uso eficaz do hardware de computação. Quando é apropriado que um sistema operacional abandone esse princípio e “desperdice” recursos? Por que esse sistema não é realmente desperdiçador? • Qual (is) o(s) benefício(s) do desenvolvimento Open- Source ? 7
  • 8.
    Referência Bibliográfica • SistemasOperacionais • Deitel, Deitel e Choffnes; Ed. Pearson • www.prenhall.com/deitel_br • Sistemas Operacionais, Conceitos e Aplicações • A. Silberschatz, P. Galvin, G. Gagne; Ed. Campus • www.wiley.com/college/ silberschatz6e/0471417432/slides/slides.html • (existe versão em português) • Sistemas Operacionais Modernos • Andrew Tanenbaum; Ed. Pearson • www.prenhall.com/tanenbaum_br 8