A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Fundamentos de Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Fundamentos de Sistemas Operacionais"— Transcrição da apresentação:

1 Fundamentos de Sistemas Operacionais
23/10/2017 Fundamentos de Sistemas Operacionais Aula 5 Gerenciamento de Processos Prof. Belarmino Tecnicas de Informatica - Aula 2

2 23/10/2017 Execução de Processos Já vimos que o processador executa os processos entregando uma fatia de tempo (time slice) para cada um deles. Isto é feito de forma tão rápida que eles parecem executar ‘ao mesmo’ tempo ( Pseudo Paralelismo ). Mesmo quando a máquina possui efetivamente mais de um processador ainda assim este esquema ocorre pois sempre haverá muito mais processos que processadores. Neste caso cada processador terá sua fila de processos. Assim é facil perceber que somente alguns processos estarão efetivamente “rodando” (running) num dado momento. Os outros ficarão em algum outro “estado” diferente - como veremos. Tecnicas de Informatica - Aula 2

3 23/10/2017 Estados dos Processos Um processo esta em Wait ( Sleeping ou Blocked ) quando aguarda um recurso ficar disponivel para prosseguir executando. Um processo esta em Run ( Executing ) quando esta efetivamente rodando na CPU. Um processo esta Ready ( Enabled to run ) quando esta pronto para executar na fila da CPU ( ou seja esperando seu “time slice” ) A passagem de um estado para outro se chama “transição” e pode ocorrer por vários fatores ( interrupção de I/O, tempo, etc ) Tecnicas de Informatica - Aula 2

4 23/10/2017 Scheduler Um dos processos privilegiados do S.O. chamado Scheduler é quem controla a Process Queue (Fila de Execução) isto é o grupo de processos que devem ser executados. Ele é responsavel por exemplo por iniciar (start) e parar (stop) um processo quando seu ‘tempo de execução’ exceder. Ou suspende-lo porque foi solicitada uma leitura/escrita de um dispositivo de E/S e ele esta aguardando o retorno (wait I/O) – não teria sentido fazer o processador esperar pela resposta ! Ele é responsavel pela criação, gerenciamento e término de todos os processos. Tecnicas de Informatica - Aula 2

5 23/10/2017 Tabela de Processos Cada processo criado é associado a um elemento de uma tabela chamada de “Process Table” que contém exatamente uma entrada para cada processo. Cada uma destas entradas contém todas as informações do processo como por exemplo seu estado atual, os arquivos que ele está usando, memória, usuário, etc ... O scheduler atualiza constantemente essa tabela enquanto o processo estiver sendo executado. Tecnicas de Informatica - Aula 2

6 Cada elemento da Process Table contém:
23/10/2017 Process Element Cada elemento da Process Table contém: Process State: Running, Ready, Blocked Program Counter: Em que ponto do programa o processo se encontra ou em que ponto deverá será retomado ? Accounting: Qual foi um usuário iniciou este processo ? É um usuário privilegiado ? Open Files: Que arquivos estão sendo usados por este processo. Eles são compartilhados ou exclusivos ? Prioridade: O processo deve executar antes dos outros ? Memória: Quanta memória esta alocada para ele ? Outras informações de controle de recursos utilizados ... Tecnicas de Informatica - Aula 2

7 Prioridade de Processos
23/10/2017 Prioridade de Processos Normalmente os processos ganham a mesma prioridade e executam na sequência em que foram criados. Este esquema de execução de fila é chamado de FIFO (First In/First Out). Algoritimos do S.O. (ex: Round Robin ) e comandos externos podem alterar essa prioridade “passando” determinados processos a frente da fila ou dando a eles mais tempo de processador. Processos do S.O. naturalmente já são criados com prioridade mais alta devido a suas caracteristicas “privilegiadas”. Eventualmente dois processos de mesma prioridade podem competir pelo mesmo recurso gerando a “race condition” (competição). Ou então um pode reter um recurso desejado por outro e vice-versa. e nesse caso temos o “dead lock” (abraço da morte) Tanto o race condition quanto o dead lock são resolviveis pelo S.O. Tecnicas de Informatica - Aula 2

8 23/10/2017 System Calls Um processo pode requerer um recurso ao qual ele não possui a permissão – ou capacidade - para manipular diretamente – como por exemplo memória ou disco – que são gerenciados pelo S.O. Nesse caso ele é obrigado a “solicitar” o serviço ao Sistema através de uma chamada ao “Supervisor” conhecida como “System Call” ou “Supervisor Call” O S.O verifica o pedido e eventualmente detem o processo para que ele fique “no aguardo” (wait) da resposta ( ex: leitura de arquivo no disco). Exemplos: criar, ler ou remover arquivos, obter a hora da máquina, imprimir, enviar/receber mensagens,etc. Tecnicas de Informatica - Aula 2

9 23/10/2017 Interrupções Interrupções podem ser vistas como sinais ou “alertas” enviados por um programa ou pelo hardware ao sistema operacional para que uma providencia seja tomada. Quando a interrupção é enviada o SO pára temporariamente o que esta fazendo para trata-la. Por exemplo quando a leitura de um arquivo é solicitada o disco leva um tempo para ‘retornar’ os dados. Quando isso ocorre ele envia um ( “Interrupt”) ao S.O para indicar que a informação foi lida e que ela pode ser devolvida ao processo que a solicitou. Alguns tipos de “interrupção” podem ser temporáriamente ignoradas pelo S.O. (maskable) para serem tratadas mais tarde. Entre as várias interrupções existentes poderiamos citar o “Timer” (Relógio), “Exception” (Erro de programa) e o “Power Off” (Desligar). Tecnicas de Informatica - Aula 2

10 Sub Processos e Linhas de Execução Paralelas
23/10/2017 Sub Processos e Linhas de Execução Paralelas Não é incomum que “linhas” ou partes dos codigos dos processos possam ser executados em paralelo sem que haja prejuizo para o resultado final – ao contrário são obtidos beneficios de desempenho e uso inteligente de recursos – desde que o programa mantenha controle sobre o esquema. Neste caso dizemos que estamos usando várias “linhas de execução” – ou threads - simultâneamente. Também é possível ao processo ativar processos filhos - (cada um deles um processo em si mesmo), alcançando também um alto grau de paralelismo. Estes subprocessos também são conhecidos como “sub tasks” ou “processos filhos” enquanto o processo de origem é chamado de “processo pai” – ou de “mother task”. Tecnicas de Informatica - Aula 2

11 Sistemas Operacionais
23/10/2017 Sistemas Operacionais FIM Tecnicas de Informatica - Aula 2


Carregar ppt "Fundamentos de Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google