UFRPE/EAD
Licenciatura em Computação-6P
              2011.1
  Tutor: Rodrigo Lins Rodrigues
   Introdução;

   Modelos de processo;

   Algoritmo de escalonamento;

   Sistemas de arquivos;

   Thread

   Tipos de sistemas;

                                  2
   Sistema operacional
     Software que gerencia todos os recursos da máquina
     Responsável por criar uma interface entre os seus usuários
      e o hardware.

  Para que essas funções sejam desempenhadas,
são necessários um conjunto de componentes
padrão, que estão presentes em todos os
sistemas operacionais.
   Processo
     Programa em execução;


   Contém o programa executável, os dados do
    programa e a sua pilha de execução.

   Cada processo possui:
     Espaço de endereçamento (localização) em memória
     (principal)
   O conceito de processo foi criado devido à
    multiprogramação
     Em SOs monoprogramados a memória é dividida entre SO
      e único programa em execução




     Com multiprogramação a memória é dividida entre SO e
     diversos processos
   Algoritmo (componente do SO) que controla como
    os processos ocuparão a CPU em sistemas de tempo
    compartilhado.

     Decide qual o próximo processo a ocupar a CPU;
     Decide a quantidade de tempo em que processo
      ocupaCPU;
   (Novo)
     Programa escolhido para ser executado
   (Pronto)
     Preparado para executar, aguardando a liberação da CPU
    (Em execução)
     Em execução, utilizando a CPU
   (Suspenso)
     Em suspensão, aguardando operação de I/O (Entrada/Saída)
   (concluído)
     Processo finalizado. Será destruído pelo SO e recursos liberados.
   “Em execução” para “ Em espera”:
     Ocorre quando um processo descobre que não pode continuar pois está
      esperando por um evento.

   “Em execução” para “ Pronto”:
     Ocorre quando o escalonador decide que o processo em execução atuou
      por tempo suficiente e permite que outro processo em execução tenha
      algum tempo da CPU.

   “Pronto” para “Em execução”:
     Ocorre quando todos os outros processos tiveram sua fatia justa e é hora
      daquele que estava pronto voltar para a CPU para executar novamente.

   Em espera” para “Pronto”:
     Ocorre quando acontece o evento externo pelo qual o processo está
      esperando acontecer. Se nenhum outro processo está executando nesse
      instante, a transição será ativada imediatamente e o processo começará a
      executar..
   Criam processos
     Início do sistema;
     Chamada de Sistema de criação de processo por um
      processo em execução;
     Requisição do usuário para criação de um novo processo;

   Finalizam processos
       Saída voluntária;
       Erro fatal;
       Cancelamento por outro processo,
       etc.
   Pode ser feita através de troca de mensagens ou
    compartilhamento de recursos;

   Pipe
     tipo de pseudo-arquivo que pode ser utilizado para
      conectar dois processos
   Tradicionalmente um processo possui uma única
    linha de execução;

   Sistemas modernos possuem suporte a múltiplas
    linhas de execução em um único processo;

   As threads também podem assumir os mesmos
    estados de um processo;

   Cada thread possui contador de
    programa, registradores e o seu próprio estado.
   SO utiliza uma unidade de armazenamento lógico
    de dados denominado arquivo;

   Sistema de arquivos:
     Estrutura criada com o objetivo de permitir operações de
      criação, acesso e modificação a dados organizados na
      forma de arquivos.
   Sistemas Monolíticos;

   Sistemas em Camadas;

   Máquinas Virtuais;

   Modelo Cliente-Servidor;

   Modelo MicroKernel.
   Estrutura mais comum e antiga possuindo vários
    módulos com diferentes funções trabalhando em
    conjunto;

   S.O é escrito como uma coleção de
    procedimentos, que podem chamar qualquer um
    dos outros procedimentos sempre que for
    necessário;

   A principal vantagem dessa arquitetura é a
    eficiência, uma vez que existe comunicação direta
    entre os componentes do S.O.
   Organizado como uma hierarquia de níveis e cada
    um construído sobre o nível imediatamente abaixo.
   As principais vantagens dessa estrutura de S.O são:

   Modularidade
     SO realiza suas operações de forma modular


   Abstração
     Uma camada não precisa conhecer como os serviços da
      camada inferior foram construídos, bastando apenas
      conhecer a sua interface.
   São compostos por um monitor de máquina virtual que
    executa no hardware básico e faz a
    multiprogramação, oferecendo várias máquinas
    virtuais;

   Dentre as principais vantagens:
     A proteção aos recursos do sistema, não
      havendo, portanto, problemas de segurança, pois cada máquina
      virtual é completamente isolada das outras.

   Exemplos:
     Máquina virtual JAVA e VirtualBox
   Tendência em mover código para camadas mais
    altas, removendo o máximo de funções do
    S.O, objetivando a minimização do seu núcleo
    (kernel);

   Um processo é considerado cliente, se ele requisita
    alguma coisa a outro processo.
     Um processo é servidor quando ele disponibiliza algum
      serviço a outros processos.
     Modelo é completamente adaptável ao uso em sistemas
      distribuídos.
   O máximo de código do kernel é movido para o
    espaço do “usuário” e a comunicação acontece
    entre os módulos do usuário através da troca de
    mensagens;

   Serviços do S.O, tais como, gerência de
    arquivos, gerência de memória e escalonamento
    são disponibilizados como processos do S.O, a nível
    de usuário

Componentes do Sistema operacional

  • 1.
    UFRPE/EAD Licenciatura em Computação-6P 2011.1 Tutor: Rodrigo Lins Rodrigues
  • 2.
    Introdução;  Modelos de processo;  Algoritmo de escalonamento;  Sistemas de arquivos;  Thread  Tipos de sistemas; 2
  • 3.
    Sistema operacional  Software que gerencia todos os recursos da máquina  Responsável por criar uma interface entre os seus usuários e o hardware.  Para que essas funções sejam desempenhadas, são necessários um conjunto de componentes padrão, que estão presentes em todos os sistemas operacionais.
  • 4.
    Processo  Programa em execução;  Contém o programa executável, os dados do programa e a sua pilha de execução.  Cada processo possui:  Espaço de endereçamento (localização) em memória (principal)
  • 5.
    O conceito de processo foi criado devido à multiprogramação  Em SOs monoprogramados a memória é dividida entre SO e único programa em execução  Com multiprogramação a memória é dividida entre SO e  diversos processos
  • 6.
    Algoritmo (componente do SO) que controla como os processos ocuparão a CPU em sistemas de tempo compartilhado.  Decide qual o próximo processo a ocupar a CPU;  Decide a quantidade de tempo em que processo ocupaCPU;
  • 7.
    (Novo)  Programa escolhido para ser executado  (Pronto)  Preparado para executar, aguardando a liberação da CPU  (Em execução)  Em execução, utilizando a CPU  (Suspenso)  Em suspensão, aguardando operação de I/O (Entrada/Saída)  (concluído)  Processo finalizado. Será destruído pelo SO e recursos liberados.
  • 8.
    “Em execução” para “ Em espera”:  Ocorre quando um processo descobre que não pode continuar pois está esperando por um evento.  “Em execução” para “ Pronto”:  Ocorre quando o escalonador decide que o processo em execução atuou por tempo suficiente e permite que outro processo em execução tenha algum tempo da CPU.  “Pronto” para “Em execução”:  Ocorre quando todos os outros processos tiveram sua fatia justa e é hora daquele que estava pronto voltar para a CPU para executar novamente.  Em espera” para “Pronto”:  Ocorre quando acontece o evento externo pelo qual o processo está esperando acontecer. Se nenhum outro processo está executando nesse instante, a transição será ativada imediatamente e o processo começará a executar..
  • 9.
    Criam processos  Início do sistema;  Chamada de Sistema de criação de processo por um processo em execução;  Requisição do usuário para criação de um novo processo;  Finalizam processos  Saída voluntária;  Erro fatal;  Cancelamento por outro processo,  etc.
  • 10.
    Pode ser feita através de troca de mensagens ou compartilhamento de recursos;  Pipe  tipo de pseudo-arquivo que pode ser utilizado para conectar dois processos
  • 11.
    Tradicionalmente um processo possui uma única linha de execução;  Sistemas modernos possuem suporte a múltiplas linhas de execução em um único processo;  As threads também podem assumir os mesmos estados de um processo;  Cada thread possui contador de programa, registradores e o seu próprio estado.
  • 13.
    SO utiliza uma unidade de armazenamento lógico de dados denominado arquivo;  Sistema de arquivos:  Estrutura criada com o objetivo de permitir operações de criação, acesso e modificação a dados organizados na forma de arquivos.
  • 14.
    Sistemas Monolíticos;  Sistemas em Camadas;  Máquinas Virtuais;  Modelo Cliente-Servidor;  Modelo MicroKernel.
  • 15.
    Estrutura mais comum e antiga possuindo vários módulos com diferentes funções trabalhando em conjunto;  S.O é escrito como uma coleção de procedimentos, que podem chamar qualquer um dos outros procedimentos sempre que for necessário;  A principal vantagem dessa arquitetura é a eficiência, uma vez que existe comunicação direta entre os componentes do S.O.
  • 16.
    Organizado como uma hierarquia de níveis e cada um construído sobre o nível imediatamente abaixo.
  • 17.
    As principais vantagens dessa estrutura de S.O são:  Modularidade  SO realiza suas operações de forma modular  Abstração  Uma camada não precisa conhecer como os serviços da camada inferior foram construídos, bastando apenas conhecer a sua interface.
  • 18.
    São compostos por um monitor de máquina virtual que executa no hardware básico e faz a multiprogramação, oferecendo várias máquinas virtuais;  Dentre as principais vantagens:  A proteção aos recursos do sistema, não havendo, portanto, problemas de segurança, pois cada máquina virtual é completamente isolada das outras.  Exemplos:  Máquina virtual JAVA e VirtualBox
  • 19.
    Tendência em mover código para camadas mais altas, removendo o máximo de funções do S.O, objetivando a minimização do seu núcleo (kernel);  Um processo é considerado cliente, se ele requisita alguma coisa a outro processo.  Um processo é servidor quando ele disponibiliza algum serviço a outros processos.  Modelo é completamente adaptável ao uso em sistemas distribuídos.
  • 20.
    O máximo de código do kernel é movido para o espaço do “usuário” e a comunicação acontece entre os módulos do usuário através da troca de mensagens;  Serviços do S.O, tais como, gerência de arquivos, gerência de memória e escalonamento são disponibilizados como processos do S.O, a nível de usuário