Sistemas Operacionais I Parte I Introdução Roteiro Prof. Gregorio Perez gregorio@uninove.br 2007 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 2 Objetivos da Parte I Entender o que é um Sistema Operacional Conhecer um pouco da história dos S.O.s Entender a Classificação dos Sistemas Operacionais 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 3
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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 4 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: Sistemas: resolvem problemas para o usuário manipulam a operação do computador 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 5 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 Oculta os detalhes complicados que têm quer ser executados Software 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 6
Introdução Motivações para Estudar S.O. Projetar e / ou modificar aplicações para SO específicos Especificar SO 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 SO Melhorar a relação custo / benefício do desenvolvimento Aumentar a eficiência global do sistema 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 7 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 8 No início eram as trevas... 40 s e 50 s 1950 s (1 a 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 IBSYS Fortran Monitor System IBM Operating System Era das válvulas e painéis de programação 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 9
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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 10 Década de 60 1960 s (2 a 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 FMS Fortran Monitor System MCP (1963) Burroughs 5000 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 11 Década de 60 1964 (3 a Geração) IBM anuncia a família de computadores System/360 Permite aplicações científicas E comerciais Multiprogramação (/360) Grau de multiprogramação indica quantos jobs podem ser gerenciados ao mesmo tempo / 360 - IBM Era dos CIs 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) 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 12
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 dentro de estreitos limites de tempo CTSS (Compatible Time-Sharing System) MIT 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) VM (Virtual Machine) - IBM 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 13 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 14 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 15
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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 16 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 17 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 (OOOS) 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) Software open-source distribuído com o código fonte Permite examinar e modificar o software 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 Linux Apache Web Server 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 18
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ápido 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 19 2000 e além... Middleware Conecta duas aplicações separadas Freqüentemente 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 20 Silberschatz, et al. 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 21
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 conceito foi incorporado pelos sistemas TSS, MULTICS CP/CMS? Qual aspecto dos computadores pessoais, popularizado pelo Macintosh da Apple, tornou-os especialmente fáceis de utilizar e aprender? 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 22 Parte I - Introdução aos Sistemas Operacionais Questões Quais são as principais diferenças entre os sistemas operacionais para mainframes e PCs? 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? 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 23 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 2007 Sistemas Operacionais I - parte I - Introdução - prof. Gregorio Perez 24 e