04/04/2011




                      Bootstrap
Programa inicial ou de partida, que inicializa todos os
aspectos do sistema, desde registradores de CPU a
controladoras de dispositivos, passando pelo conteúdo da
memória.

Etapas do carregamento :
    • Localizar e carregar na memória o kernel do SO
    • Inicia a execução do primeiro processo “init”
    • Monitorar ocorrência de evento (interrupção de
    Hardware ou Software) , caso ocorra o hardware envia
    um sinal para CPU, geralmente por meio do barramento
    do sistema.




                      Bootstrap
Sistemas modernos são baseados em interrupções, se nao
houver processos para executar, nenhum dispositivo I/O ao
qual fornecer serviço e nenhum usuário a ser atendido, um
SO ficará parado, esperando que algo aconteça.
Os eventos são quase sempre sinalizados pela ocorrência de
uma interrupção ou um trap.
Trap, ou exceção, é uma interrupção gerada por software
causada por um erro (por exemplo, a divisão por zero, ou
acesso inválido à memória)
Para cada tipo de interrupção , segmentos de código no SO
determinam que ação deve ser realizada.




          Gerência de processos
O que é um processo ?
     • Pode ser considerado um programa em execução
          Programa de usuário de tempo compartilhado,
         como um compilador
          Enviar saída para impressora
          Processador de textos executado por um usuário
         individual em um PC
Obs: Por enquanto podemos considerar que um processo é
um job ou programa de tempo compartilhado, mais tarde
veremos que o conceito é mais geral, onde será possivel
fornecer chamadas ao sistema que permitem aos processos
criar subprocessos para a execução concorrente.




                                                                     1
04/04/2011




          Gerência de processos
Um processo precisa de determinados recursos, para realizar
suas tarefas, tais como :
    • Tempo de CPU
    • Memória
    • Arquivos e dispositivos de I/O

Que são dados ao processo quando ele é criado ou alocados a
ele durante sua execução.

Vale a pena lembrar que um programa por si só não é um
processo; um programa é uma entidade passiva, como o
conteúdo de um arquivo armazenado em disco, enquanto um
processo é uma entidade ativa, com um contador do
programa especificando a próxima instrução a ser executada.




          Gerência de processos
• A execução de um processo deve ser sequencial, onde a
CPU executa uma instrução do processo após a outra até o
processo terminar
• No máximo uma instrução do processo é executada em
nome do processo, ou seja, embora 2 processos possam ser
associados com o mesmo programa, ele são considerados
duas sequencias de execução separadas.
• É comum ter programas que utilize muitos processos para
sua execução.
• Vários processos podem executar concorrentemente,
multiplexando a CPU entre entre eles.




          Gerência de processos
O sistema operacional é responsável pelas seguintes
atividades em relação à gerência de processos :
      Criar e excluir processos de usuários e sistemas
      Suspender e retomar processos
      Fornecer mecanismos para sincronização de
     processos
      Fornecer mecanismos para comunicação de
     processos
      Fornecer mecanismos para tratamento de deadlocks
     (impasses)




                                                                      2
04/04/2011




          Gerência de processos
• Um processo é formado por três partes:

     Contexto de hardware
     Contexto de software
     Espaço de endereçamento




          Gerência de processos
Contexto de Hardware
    Armazena o conteúdo dos registradores gerais da
   CPU e de uso específico, como o program counter (PC),
   o stack pointer (SP) e o registrador de status (PSW).

     Quando um processo está em execução , o os
    registradores da CPU são utilizados

     Quando o processo perde a utilização da CPU, o
    sistema salva o contexto de hardware no processo.

    A troca de um processo por outro na CPU é chamada
    de mudança de contexto.




          Gerência de processos
Contexto de Software

    São especificadas as características e limites dos
    recursos que podem ser alocados pelo processo, como
    prioridade para execução, privilégios, tamanho do buffer
    para operações de E/S etc.;

     O contexto de software é formado por três grupos de
    informações:

        • Identificação
        • Quotas
        • Privilégios




                                                                       3
04/04/2011




          Gerência de processos
Contexto de Software

     Identificação
        • PID (Program Id)
        • UID (Owner) (identificação do usuário que os criou)

     Quotas
       • São os limites de cada recurso do sistema que um
       processo pode alocar:
            Número máximo de arquivos abertos
           simultaneamente;
            Tamanho máximo de memória principal e
           secundária
            Número máximo de operações de E/S pendentes




          Gerência de processos
Contexto de Software

 Privilégios
    • Definem as ações que um processo pode fazer em
    relação a ele mesmo, aos demais processos e ao SO

         Privilégios que afetam o próprio processo permitem
        que suas características possam ser modificadas.
             Prioridade de execução
             Limites alocados na memória principal e
            secundária

         O usuário que possuem todos os privilégios são
        chamados de Administrador (Windows) e root (Linux)




          Gerência de processos
  Espaço de endereçamento

   É a área do processo onde as instruções e dados do
  programa são armazenados para sua execução

   Cada processo possui o seu espaço; nenhum outro processo
  poderá ocupá-lo.




                                                                        4
04/04/2011




        Gerência de processos
Estado do processo

 Nos sistemas operacionais multitarefa, um processo não
poderá ocupar exclusivamente uma CPU.

 Para que o compartilhamento da CPU seja efetivado, um
processo passa por vários estados ao longo de seu
completo processamento

 A mudança de estados é gerada por eventos do sistema
operacional ou do próprio processo.




        Gerência de processos
 Um processo ativo pode se encontrar em 3 estados :

     Pronto

     Execução

     Espera




        Gerência de processos
Estado de pronto (ready)

     Está no estado de pronto quando aguarda para ser
    executado

     Os processos no estado de pronto ficam em uma lista
    encadeada

     O escalonamento dos processos determina a ordem e
    os critérios pelos quais os processos neste estado deverá
    fazer uso do processador.




                                                                        5
04/04/2011




         Gerência de processos
 Estado de execução (running)

      Está no estado de execução quando está sendo
     processado pela CPU

      Os processos se alternam na utilização da CPU
     seguindo uma política de escalonamento estabelecida pelo
     Sistema Operacional




         Gerência de processos
 Estado de espera (waiting)

      Aguarda por algum evento externo ou por algum recurso
 para prosseguir o processamento.

      Também são organizados em lista encadeada

      Todos os processos em estado de espera são colocados
     novamente em fila de pronto

          Espera de uma data e hora para executar uma ação
         ou espera de entrada pelo usuário.




         Gerência de processos
Mudança de Estado do processo

   Um processo muda de estado durante seu processamento
   em função de :

       • Eventos voluntários originados pelo próprio processo
       • Eventos involuntários originados pelo SO

   São 4 as mudanças de estado :
       • de pronto para execução
       • de execução para espera
       • de espera para pronto
       • de execução para pronto




                                                                        6
04/04/2011




         Gerência de processos
De pronto para execução

       1. SO cria o processo

       2. Sistema coloca processo em estado de pronto e fica
       aguardando uma oportunidade para ser executado.

       3. Processo é executado




         Gerência de processos

 De execução para pronto

        1. Processo se encontra em execução;

        2. Tempo para execução do processo termina;

        3. Processo retorna à fila de pronto




         Gerência de processos

 De execução para espera

        1. Processo está sendo executado;

        2. SO suspende a execução do processo colocando-o
        em fila de espera por um determinado tempo;




                                                                       7
04/04/2011




        Gerência de processos

De espera para pronto

       1. Processo está em espera (waiting);

       2. Um determinado recurso ou operação é solicitada
          pelo processo, que é atendido.

       3. Processo entra para a fila de pronto




        Gerência de processos
Swapping

   • Processos em estado de pronto ou espera podem ser
   alocados em memória secundária caso não haja espaço
   suficiente na memória principal;

   • Esta técnica chamamos de Swapping

   • Swapp out quando o processo ou programa é levado para
   a memória secundária.
   • Swapp in quando o mesmo retorna para a memória
   principal




                                                                     8

Fso parte iii

  • 1.
    04/04/2011 Bootstrap Programa inicial ou de partida, que inicializa todos os aspectos do sistema, desde registradores de CPU a controladoras de dispositivos, passando pelo conteúdo da memória. Etapas do carregamento : • Localizar e carregar na memória o kernel do SO • Inicia a execução do primeiro processo “init” • Monitorar ocorrência de evento (interrupção de Hardware ou Software) , caso ocorra o hardware envia um sinal para CPU, geralmente por meio do barramento do sistema. Bootstrap Sistemas modernos são baseados em interrupções, se nao houver processos para executar, nenhum dispositivo I/O ao qual fornecer serviço e nenhum usuário a ser atendido, um SO ficará parado, esperando que algo aconteça. Os eventos são quase sempre sinalizados pela ocorrência de uma interrupção ou um trap. Trap, ou exceção, é uma interrupção gerada por software causada por um erro (por exemplo, a divisão por zero, ou acesso inválido à memória) Para cada tipo de interrupção , segmentos de código no SO determinam que ação deve ser realizada. Gerência de processos O que é um processo ? • Pode ser considerado um programa em execução  Programa de usuário de tempo compartilhado, como um compilador  Enviar saída para impressora  Processador de textos executado por um usuário individual em um PC Obs: Por enquanto podemos considerar que um processo é um job ou programa de tempo compartilhado, mais tarde veremos que o conceito é mais geral, onde será possivel fornecer chamadas ao sistema que permitem aos processos criar subprocessos para a execução concorrente. 1
  • 2.
    04/04/2011 Gerência de processos Um processo precisa de determinados recursos, para realizar suas tarefas, tais como : • Tempo de CPU • Memória • Arquivos e dispositivos de I/O Que são dados ao processo quando ele é criado ou alocados a ele durante sua execução. Vale a pena lembrar que um programa por si só não é um processo; um programa é uma entidade passiva, como o conteúdo de um arquivo armazenado em disco, enquanto um processo é uma entidade ativa, com um contador do programa especificando a próxima instrução a ser executada. Gerência de processos • A execução de um processo deve ser sequencial, onde a CPU executa uma instrução do processo após a outra até o processo terminar • No máximo uma instrução do processo é executada em nome do processo, ou seja, embora 2 processos possam ser associados com o mesmo programa, ele são considerados duas sequencias de execução separadas. • É comum ter programas que utilize muitos processos para sua execução. • Vários processos podem executar concorrentemente, multiplexando a CPU entre entre eles. Gerência de processos O sistema operacional é responsável pelas seguintes atividades em relação à gerência de processos :  Criar e excluir processos de usuários e sistemas  Suspender e retomar processos  Fornecer mecanismos para sincronização de processos  Fornecer mecanismos para comunicação de processos  Fornecer mecanismos para tratamento de deadlocks (impasses) 2
  • 3.
    04/04/2011 Gerência de processos • Um processo é formado por três partes:  Contexto de hardware  Contexto de software  Espaço de endereçamento Gerência de processos Contexto de Hardware  Armazena o conteúdo dos registradores gerais da CPU e de uso específico, como o program counter (PC), o stack pointer (SP) e o registrador de status (PSW).  Quando um processo está em execução , o os registradores da CPU são utilizados  Quando o processo perde a utilização da CPU, o sistema salva o contexto de hardware no processo. A troca de um processo por outro na CPU é chamada de mudança de contexto. Gerência de processos Contexto de Software São especificadas as características e limites dos recursos que podem ser alocados pelo processo, como prioridade para execução, privilégios, tamanho do buffer para operações de E/S etc.;  O contexto de software é formado por três grupos de informações: • Identificação • Quotas • Privilégios 3
  • 4.
    04/04/2011 Gerência de processos Contexto de Software  Identificação • PID (Program Id) • UID (Owner) (identificação do usuário que os criou)  Quotas • São os limites de cada recurso do sistema que um processo pode alocar:  Número máximo de arquivos abertos simultaneamente;  Tamanho máximo de memória principal e secundária  Número máximo de operações de E/S pendentes Gerência de processos Contexto de Software  Privilégios • Definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao SO  Privilégios que afetam o próprio processo permitem que suas características possam ser modificadas.  Prioridade de execução  Limites alocados na memória principal e secundária  O usuário que possuem todos os privilégios são chamados de Administrador (Windows) e root (Linux) Gerência de processos Espaço de endereçamento  É a área do processo onde as instruções e dados do programa são armazenados para sua execução  Cada processo possui o seu espaço; nenhum outro processo poderá ocupá-lo. 4
  • 5.
    04/04/2011 Gerência de processos Estado do processo  Nos sistemas operacionais multitarefa, um processo não poderá ocupar exclusivamente uma CPU.  Para que o compartilhamento da CPU seja efetivado, um processo passa por vários estados ao longo de seu completo processamento  A mudança de estados é gerada por eventos do sistema operacional ou do próprio processo. Gerência de processos  Um processo ativo pode se encontrar em 3 estados :  Pronto  Execução  Espera Gerência de processos Estado de pronto (ready)  Está no estado de pronto quando aguarda para ser executado  Os processos no estado de pronto ficam em uma lista encadeada  O escalonamento dos processos determina a ordem e os critérios pelos quais os processos neste estado deverá fazer uso do processador. 5
  • 6.
    04/04/2011 Gerência de processos Estado de execução (running)  Está no estado de execução quando está sendo processado pela CPU  Os processos se alternam na utilização da CPU seguindo uma política de escalonamento estabelecida pelo Sistema Operacional Gerência de processos Estado de espera (waiting)  Aguarda por algum evento externo ou por algum recurso para prosseguir o processamento.  Também são organizados em lista encadeada  Todos os processos em estado de espera são colocados novamente em fila de pronto  Espera de uma data e hora para executar uma ação ou espera de entrada pelo usuário. Gerência de processos Mudança de Estado do processo Um processo muda de estado durante seu processamento em função de : • Eventos voluntários originados pelo próprio processo • Eventos involuntários originados pelo SO São 4 as mudanças de estado : • de pronto para execução • de execução para espera • de espera para pronto • de execução para pronto 6
  • 7.
    04/04/2011 Gerência de processos De pronto para execução 1. SO cria o processo 2. Sistema coloca processo em estado de pronto e fica aguardando uma oportunidade para ser executado. 3. Processo é executado Gerência de processos De execução para pronto 1. Processo se encontra em execução; 2. Tempo para execução do processo termina; 3. Processo retorna à fila de pronto Gerência de processos De execução para espera 1. Processo está sendo executado; 2. SO suspende a execução do processo colocando-o em fila de espera por um determinado tempo; 7
  • 8.
    04/04/2011 Gerência de processos De espera para pronto 1. Processo está em espera (waiting); 2. Um determinado recurso ou operação é solicitada pelo processo, que é atendido. 3. Processo entra para a fila de pronto Gerência de processos Swapping • Processos em estado de pronto ou espera podem ser alocados em memória secundária caso não haja espaço suficiente na memória principal; • Esta técnica chamamos de Swapping • Swapp out quando o processo ou programa é levado para a memória secundária. • Swapp in quando o mesmo retorna para a memória principal 8