O documento descreve a história e conceitos básicos de sistemas operacionais, desde as décadas de 1940 e 1950, quando computadores eram controlados manualmente, até os dias atuais, com sistemas operacionais amigáveis e serviços na nuvem. Ele também discute as motivações para estudar sistemas operacionais e sua evolução ao longo do tempo, incluindo o desenvolvimento de interfaces gráficas e sistemas open source.
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 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
4. 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
5. 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
6. 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
7. 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
8. 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