Introdução aos Sistemas Operativos
Conceito de Sistema Operativo  Sistema Operativo  Pode ser definido como um conjunto de programas que permitem uma interacção simplificada entre o utilizador e a máquina Dispositivos físicos Sistema Operativo Aplicações Utilizador Hardware
Conceito de Sistema Operativo  O Sistema Operativo pode ser visto como Máquina virtual Dar ao utilizador a ilusão de dispor de uma máquina muito mais fácil de utilizar e programar do que o  hardware . Gestor de recursos Efectuar a gestão dos diversos componentes da arquitectura de um computador, impondo ordem na atribuição de recursos aos programas. Tirar máximo partido dos recursos disponíveis Tempo de CPU, memória, etc
Conceitos e revisões Processador e Processos Um  processo  é basicamente um programa em execução Num sistema multi-programado, vários processos podem estar a correr simultaneamente Contudo, quando existe um só processador, apenas um processo pode utilizá-lo em cada instante temporal Os processos concorrem pelo processador e cooperam entre si para realizar tarefas mais complexas
Conceitos e revisões Processador e Processos Processador (CPU)  Elemento activo do sistema que executa processos Modo utilizador ( User Mode ) Disponível um subconjunto das instruções do CPU. É neste modo que correm as aplicações Modo núcleo ( Kernel Mode ) Modo privilegiado do processador, para o qual todas as instruções estão disponíveis.  Só o Sistema Operativo é que tem acesso a este modo
Conceitos e revisões  Memória e Gestão de memória Divisão estruturada da memória de modo a ser possível o carregamento de diversos programas na memória principal Colocação e Protecção Existência de mecanismos que permitam o crescimento da memória de dados de um programa Reserva de memória Gestão do espaço de endereçamento de modo a que se possa ter uma capacidade de memória superior à da memória principal (a RAM) –  Memória Virtual
Conceitos e revisões Hierarquia da memória Registos Cache Memória principal Discos Tapes Maior rapidez Maior capacidade
Conceitos e revisões Sistemas  mono-programados  e  multi-programados
Conceitos e revisões Sistemas de ficheiros  (FAT 32, NTFS, EXT3, etc.) Gestão da informação não-volátil armazenada em memória secundária (discos, tapes) Providenciar um nível de abstracção para que o utilizador não se preocupe com os detalhes da utilização de discos, disquetes, etc. Chamadas ao sistema: Criação, remoção, cópia, escrita e leitura de ficheiros
Conceitos e revisões Estrutura hierárquica (em árvore) - directórios Nomeficheiro.extensão Extensão indica o tipo do ficheiro
Conceitos e revisões Periféricos e I/O Gestão das operações de escrita e leitura nos diversos periféricos Teclado, impressora, terminais de texto e gráficos, discos, etc. Tratamento de interrupções e de erros Device drivers Programas para gestão de periféricos específicos
Classificação de SOs Multi-utilizador O tempo de processamento do CPU de um computador pode ser partilhado por mais do que um utilizador de forma interactiva. Unix, Linux Mono-utilizador O CPU só pode estar dedicado de forma interactiva a um conjunto de processos do mesmo utilizador MS-DOS, todos os Windows
Classificação de SOs Multi-programação Capacidade de correr vários programas simultaneamente (em concorrência) Unix, Linux, todos os Windows Mono-programação / Processamento por lotes Cada programa monopoliza o processador até terminar Spectrum DOS (à parte dos programas residentes)
Classificação de SOs Dedicado Sistema Operativo projectado para aplicações específicas Exemplos: Controlo de uma linha de montagem - SOs em tempo real Gestão de transacções numa companhia aérea - SOs para  Mainframes Interface para um telemóvel – SO  embedded Uso geral Projectados para uma fácil utilização Permitem a execução de uma grande variedade de programas Reconhecem uma grande diversidade de periféricos
Classificação de SOs Centralizado O Sistema Operativo cria uma máquina virtual sobre um único computador Distribuído O Sistema Operativo que corre sobre um conjunto de computadores, dando a ilusão de que este conjunto é uma entidade única Sistemas distribuídos puros Sistemas em rede Sistemas multi-processador
Modelo de um SO Camadas ( Layers ) O SO encontra-se estruturado segundo um conjunto de camadas funcionais Cada camada utiliza serviços de camadas que lhe são interiores Em suma, cada camada é uma máquina virtual com uma interface bem definida À camada mais baixa (gestão de processos) corresponde o núcleo do sistema operativo
Modelo de um SO Camadas ( Layers )
Modelo de um SO Modular O SO encontra-se organizado segundo módulos à volta de um núcleo ( kernel ) O núcleo é geralmente pequeno ( Micro-kernel ), comunicando com o hardware e estabelecendo a comunicação entre os diversos módulos Pode introduzir-se o conceito de processo cliente e de processo servidor que correm em modo utilizador Facilmente adaptável a sistemas distribuídos Estrutura mais estável (teoricamente...)
Modelo de um SO Modular
Modelo de um SO Modular (Cliente-Servidor)
Bibliografia Silberschatz A., Galvin P. B. & Gagne G. (2002).  Operating System Concepts.  Addison-Wesley. Stallings W. (2006).  Operating Systems–Internals and Design Principles . Prentice Hall Consulta do site  so.dcti.iscte.pt/SO-2008-09-2/Material/1-Introducao.ppt

Sistemas Operativos

  • 1.
  • 2.
    Conceito de SistemaOperativo Sistema Operativo Pode ser definido como um conjunto de programas que permitem uma interacção simplificada entre o utilizador e a máquina Dispositivos físicos Sistema Operativo Aplicações Utilizador Hardware
  • 3.
    Conceito de SistemaOperativo O Sistema Operativo pode ser visto como Máquina virtual Dar ao utilizador a ilusão de dispor de uma máquina muito mais fácil de utilizar e programar do que o hardware . Gestor de recursos Efectuar a gestão dos diversos componentes da arquitectura de um computador, impondo ordem na atribuição de recursos aos programas. Tirar máximo partido dos recursos disponíveis Tempo de CPU, memória, etc
  • 4.
    Conceitos e revisõesProcessador e Processos Um processo é basicamente um programa em execução Num sistema multi-programado, vários processos podem estar a correr simultaneamente Contudo, quando existe um só processador, apenas um processo pode utilizá-lo em cada instante temporal Os processos concorrem pelo processador e cooperam entre si para realizar tarefas mais complexas
  • 5.
    Conceitos e revisõesProcessador e Processos Processador (CPU) Elemento activo do sistema que executa processos Modo utilizador ( User Mode ) Disponível um subconjunto das instruções do CPU. É neste modo que correm as aplicações Modo núcleo ( Kernel Mode ) Modo privilegiado do processador, para o qual todas as instruções estão disponíveis. Só o Sistema Operativo é que tem acesso a este modo
  • 6.
    Conceitos e revisões Memória e Gestão de memória Divisão estruturada da memória de modo a ser possível o carregamento de diversos programas na memória principal Colocação e Protecção Existência de mecanismos que permitam o crescimento da memória de dados de um programa Reserva de memória Gestão do espaço de endereçamento de modo a que se possa ter uma capacidade de memória superior à da memória principal (a RAM) – Memória Virtual
  • 7.
    Conceitos e revisõesHierarquia da memória Registos Cache Memória principal Discos Tapes Maior rapidez Maior capacidade
  • 8.
    Conceitos e revisõesSistemas mono-programados e multi-programados
  • 9.
    Conceitos e revisõesSistemas de ficheiros (FAT 32, NTFS, EXT3, etc.) Gestão da informação não-volátil armazenada em memória secundária (discos, tapes) Providenciar um nível de abstracção para que o utilizador não se preocupe com os detalhes da utilização de discos, disquetes, etc. Chamadas ao sistema: Criação, remoção, cópia, escrita e leitura de ficheiros
  • 10.
    Conceitos e revisõesEstrutura hierárquica (em árvore) - directórios Nomeficheiro.extensão Extensão indica o tipo do ficheiro
  • 11.
    Conceitos e revisõesPeriféricos e I/O Gestão das operações de escrita e leitura nos diversos periféricos Teclado, impressora, terminais de texto e gráficos, discos, etc. Tratamento de interrupções e de erros Device drivers Programas para gestão de periféricos específicos
  • 12.
    Classificação de SOsMulti-utilizador O tempo de processamento do CPU de um computador pode ser partilhado por mais do que um utilizador de forma interactiva. Unix, Linux Mono-utilizador O CPU só pode estar dedicado de forma interactiva a um conjunto de processos do mesmo utilizador MS-DOS, todos os Windows
  • 13.
    Classificação de SOsMulti-programação Capacidade de correr vários programas simultaneamente (em concorrência) Unix, Linux, todos os Windows Mono-programação / Processamento por lotes Cada programa monopoliza o processador até terminar Spectrum DOS (à parte dos programas residentes)
  • 14.
    Classificação de SOsDedicado Sistema Operativo projectado para aplicações específicas Exemplos: Controlo de uma linha de montagem - SOs em tempo real Gestão de transacções numa companhia aérea - SOs para Mainframes Interface para um telemóvel – SO embedded Uso geral Projectados para uma fácil utilização Permitem a execução de uma grande variedade de programas Reconhecem uma grande diversidade de periféricos
  • 15.
    Classificação de SOsCentralizado O Sistema Operativo cria uma máquina virtual sobre um único computador Distribuído O Sistema Operativo que corre sobre um conjunto de computadores, dando a ilusão de que este conjunto é uma entidade única Sistemas distribuídos puros Sistemas em rede Sistemas multi-processador
  • 16.
    Modelo de umSO Camadas ( Layers ) O SO encontra-se estruturado segundo um conjunto de camadas funcionais Cada camada utiliza serviços de camadas que lhe são interiores Em suma, cada camada é uma máquina virtual com uma interface bem definida À camada mais baixa (gestão de processos) corresponde o núcleo do sistema operativo
  • 17.
    Modelo de umSO Camadas ( Layers )
  • 18.
    Modelo de umSO Modular O SO encontra-se organizado segundo módulos à volta de um núcleo ( kernel ) O núcleo é geralmente pequeno ( Micro-kernel ), comunicando com o hardware e estabelecendo a comunicação entre os diversos módulos Pode introduzir-se o conceito de processo cliente e de processo servidor que correm em modo utilizador Facilmente adaptável a sistemas distribuídos Estrutura mais estável (teoricamente...)
  • 19.
    Modelo de umSO Modular
  • 20.
    Modelo de umSO Modular (Cliente-Servidor)
  • 21.
    Bibliografia Silberschatz A.,Galvin P. B. & Gagne G. (2002). Operating System Concepts. Addison-Wesley. Stallings W. (2006). Operating Systems–Internals and Design Principles . Prentice Hall Consulta do site so.dcti.iscte.pt/SO-2008-09-2/Material/1-Introducao.ppt

Notas do Editor

  • #11 DOS, WINDOWS – c:TrabalhosSO rabf.doc UNIX - /Trabalhos/SO/trabf.doc