Prof º  Adilson Marques   Uninove 2009 Sistemas Operacionais
Sistemas Operacionais Defini ç ão inicial   O Software que gerencia o Hardware Programas  –  Softwares -Base para os programas aplicativos e atua como intermedi á rio entre o usu á rio e o hardware -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
Sistemas Operacionais É  um programa que gerencia software  E  hardware para produzir o resultado desejado Sistemas Operacionais são basicamente - Fun ç ão 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 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
Sistemas Operacionais Computa ç ão e os Sistemas Operacionais Demanda  –  crescimento da computa ç ão Multi-Tarefas, processamento e execu ç ão de milhões de instru ç ões por segundo Supercomputadores, trilhões de instru ç ões por segundo Aplica ç ão da Computa ç ão Educa ç ão  –  Sa ú de  –  Tecnologias  –  Transporte e etc.
Sistemas Operacionais Objetivos dos Estudos de SO ’ s - Motiva ç ã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
Sistemas Operacionais Objetivos do Sistema Operacional -Conveniência para o usu á rio, nos Computadores Pessoais ou Corporativos  -Eficiência em Computa ç ão, principalmente para sistemas grandes, compartilhados e com multiusu á rios. -Adequar  à  novas realidades e necessidades
Sistemas Operacionais Gera ç ões 1940´s  Primeiros computadores não possu í am Sistemas Operacionais Usu á rio com acesso direto  à  m á quina Instru ç ões introduzidas manualmente (chaveamento de circuitos) 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
Sistemas Operacionais 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
Sistemas Operacionais 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
Sistemas Operacionais 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 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)
Sistemas Operacionais Anos 70´s Sistemas mult í modo 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 microprocessadores
Sistemas Operacionais 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 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)
Sistemas Operacionais Anos 90 ’ s 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 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
Sistemas Operacionais 2000... 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
Sistemas Operacionais 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 Mem ó ria Virtual -Melhorar os m é todos e o tempo de desenvolvimento -Aloca mais endere ç os de mem ó ria do que realmente existem
Sistemas Operacionais 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 -  local area network  ) 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
Sistemas Operacionais Tecnologia de  “ Objetos ”  se torna popular em computa ç ão Muitos aplicativos escritos com Linguagens de Programa ç ão Orientadas  à  Objetos (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 -  G NU is  N ot  U nix  (GNU não  é  Unix)   Recria e estende ferramentas para o SO UNIX da AT&T Discorda de pagar pela permissão de usar o software
Sistemas Operacionais Iniciativa 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
Sistemas Operacionais Sistemas Operacionais Hoje Sistemas operacionais em computadores de grande porte são projetados para otimizar o uso do Hardware Nos computadores pessoais/port á teis, os SOs oferecem maiores facilidades de comunica ç ão e utiliza ç ão na execu ç ão de tarefas e aplicativos. SO´s são projetados para serem Convenientes ou Eficientes, ou ambos.
Sistemas Operacionais Um sistema operacional oferece um  “ ambiente ”  no qual podemos executar as nossas tarefas. Sistemas Operacionais  –  Duas formas de serem vistos: -Usu á rio -Sistema
Sistemas Operacionais Visão Usu á rio  –  SO - Varia de acordo com a interface usada - Facilidade de uso (expectativa) - Importante  é  o desempenho (e não a utiliza ç ão dos recursos) - Utiliza ç ão eficiente dos recursos  –  CPU, Mem ó ria e dispositivos de E/S - Limita ç ões de potência e interface intimidam o uso remoto. - Computadores com pouca ou nenhuma visão do usu á rio. Ex. Carros, dispositivos dom é sticos.  SO ’ s projetados para executar tarefas sem interven ç ão do Usu á rio (ou pequena)
Sistemas Operacionais Visão do Sistema  –  SO -Envolvimento maior com o hardware -Alocador de Recursos Necess á rio em solu ç ões de problemas como por exemplo: Tempo de CPU Espa ç o de mem ó ria Espa ç o para armazenamento de arquivos Dispositivos E/S e etc. -SO gerencia os recursos de forma eficiente e justa. O SO  é  um programa de controle atuante, que administra a execu ç ão de programas do usu á rio de forma eficiente com o prop ó sito de operacionalizar o sistema e controlar os E/S
Sistemas Operacionais SO ’ s oferecem formas razo á veis de solucionar problemas de cria ç ão de um sistema de computa ç ão utiliz á vel Computa ç ão - Defini ç ão O Sistema operacional  é  o  ú nico programa que executa o tempo todo no Computador (kernel), com todos os outros sendo programas de sistema e programas de aplicativos

I Material de Apoio Sistemas Operacionais

  • 1.
    Prof º Adilson Marques Uninove 2009 Sistemas Operacionais
  • 2.
    Sistemas Operacionais Definiç ão inicial O Software que gerencia o Hardware Programas – Softwares -Base para os programas aplicativos e atua como intermedi á rio entre o usu á rio e o hardware -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
  • 3.
    Sistemas Operacionais É um programa que gerencia software E hardware para produzir o resultado desejado Sistemas Operacionais são basicamente - Fun ç ão 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 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
  • 4.
    Sistemas Operacionais Computaç ão e os Sistemas Operacionais Demanda – crescimento da computa ç ão Multi-Tarefas, processamento e execu ç ão de milhões de instru ç ões por segundo Supercomputadores, trilhões de instru ç ões por segundo Aplica ç ão da Computa ç ão Educa ç ão – Sa ú de – Tecnologias – Transporte e etc.
  • 5.
    Sistemas Operacionais Objetivosdos Estudos de SO ’ s - Motiva ç ã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
  • 6.
    Sistemas Operacionais Objetivosdo Sistema Operacional -Conveniência para o usu á rio, nos Computadores Pessoais ou Corporativos -Eficiência em Computa ç ão, principalmente para sistemas grandes, compartilhados e com multiusu á rios. -Adequar à novas realidades e necessidades
  • 7.
    Sistemas Operacionais Geraç ões 1940´s Primeiros computadores não possu í am Sistemas Operacionais Usu á rio com acesso direto à m á quina Instru ç ões introduzidas manualmente (chaveamento de circuitos) 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
  • 8.
    Sistemas Operacionais Antigosistema 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
  • 9.
    Sistemas Operacionais 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
  • 10.
    Sistemas Operacionais 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 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)
  • 11.
    Sistemas Operacionais Anos70´s Sistemas mult í modo 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 microprocessadores
  • 12.
    Sistemas Operacionais 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 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)
  • 13.
    Sistemas Operacionais Anos90 ’ s 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 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
  • 14.
    Sistemas Operacionais 2000...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
  • 15.
    Sistemas Operacionais Sistemasde 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 Mem ó ria Virtual -Melhorar os m é todos e o tempo de desenvolvimento -Aloca mais endere ç os de mem ó ria do que realmente existem
  • 16.
    Sistemas Operacionais TCP/IPDesenvolvido 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 - local area network ) 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
  • 17.
    Sistemas Operacionais Tecnologiade “ Objetos ” se torna popular em computa ç ão Muitos aplicativos escritos com Linguagens de Programa ç ão Orientadas à Objetos (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 - G NU is N ot U nix (GNU não é Unix) Recria e estende ferramentas para o SO UNIX da AT&T Discorda de pagar pela permissão de usar o software
  • 18.
    Sistemas Operacionais IniciativaOpen 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
  • 19.
    Sistemas Operacionais SistemasOperacionais Hoje Sistemas operacionais em computadores de grande porte são projetados para otimizar o uso do Hardware Nos computadores pessoais/port á teis, os SOs oferecem maiores facilidades de comunica ç ão e utiliza ç ão na execu ç ão de tarefas e aplicativos. SO´s são projetados para serem Convenientes ou Eficientes, ou ambos.
  • 20.
    Sistemas Operacionais Umsistema operacional oferece um “ ambiente ” no qual podemos executar as nossas tarefas. Sistemas Operacionais – Duas formas de serem vistos: -Usu á rio -Sistema
  • 21.
    Sistemas Operacionais VisãoUsu á rio – SO - Varia de acordo com a interface usada - Facilidade de uso (expectativa) - Importante é o desempenho (e não a utiliza ç ão dos recursos) - Utiliza ç ão eficiente dos recursos – CPU, Mem ó ria e dispositivos de E/S - Limita ç ões de potência e interface intimidam o uso remoto. - Computadores com pouca ou nenhuma visão do usu á rio. Ex. Carros, dispositivos dom é sticos. SO ’ s projetados para executar tarefas sem interven ç ão do Usu á rio (ou pequena)
  • 22.
    Sistemas Operacionais Visãodo Sistema – SO -Envolvimento maior com o hardware -Alocador de Recursos Necess á rio em solu ç ões de problemas como por exemplo: Tempo de CPU Espa ç o de mem ó ria Espa ç o para armazenamento de arquivos Dispositivos E/S e etc. -SO gerencia os recursos de forma eficiente e justa. O SO é um programa de controle atuante, que administra a execu ç ão de programas do usu á rio de forma eficiente com o prop ó sito de operacionalizar o sistema e controlar os E/S
  • 23.
    Sistemas Operacionais SO’ s oferecem formas razo á veis de solucionar problemas de cria ç ão de um sistema de computa ç ão utiliz á vel Computa ç ão - Defini ç ão O Sistema operacional é o ú nico programa que executa o tempo todo no Computador (kernel), com todos os outros sendo programas de sistema e programas de aplicativos