1 / 28

Sistema Operacional Processos

Sistema Operacional Processos. WebDesign Redes de Computadores Aula 10. Introdução. Em um sistema multiprogramável, o SO controla a execução dos diversos programas e o uso concorrente do processador e dos demais recursos.

santos
Download Presentation

Sistema Operacional Processos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistema OperacionalProcessos WebDesign Redes de Computadores Aula 10

  2. Introdução • Em um sistema multiprogramável, o SO controla a execução dos diversos programas e o uso concorrente do processador e dos demais recursos. • De uma forma geral, um programa em execução é sempre associado a um processo. • Para que a concorrência entre os programas ocorra corretamente é necessário: • Guardar as informações do programa que foi interrompido, para que quando o mesmo volte a ser executado não lhe falte nenhuma informação. • Estas informações são a base para qualquer sistema multiprogramável

  3. Prog_2 Prog_3 Prog_1 Instr. 1.1 Instr 1.2 Instr. 1.3 Instr 1.4 Instr. 1.5 Instr 1.6 . . . Instr. 2.1 Instr 2.2 Instr. 2.3 Instr 2.4 Instr. 2.5 Instr 2.6 . . . Instr. 3.1 Instr 3.2 Instr. 3.3 Instr 3.4 Instr. 3.5 Instr 3.6 . . . Informações de registradores Informações de registradores Informações de registradores Introdução • Assim podemos definir Processo como: • O conjunto de informações necessárias para que o sistema operacional implemente a concorrência de programas. Processo X Processo Y Processo Z

  4. Processo X Processo Y Processo Z Prog_2 Prog_3 Prog_1 Instr. 2.1 Instr 2.2 Instr. 2.3 Instr 2.4 Instr. 2.5 Instr 2.6 . . . Instr. 3.1 Instr 3.2 Instr. 3.3 Instr 3.4 Instr. 3.5 Instr 3.6 . . . Instr. 1.1 Instr 1.2 Instr. 1.3 Instr 1.4 Instr. 1.5 Instr 1.6 . . . Instr. S.O Instr.1.1 Instr.1.5 Instr.S.O. Instr.1.2 Instr.1.3 Instr.1.4 Instr.3.1 Instr.3.2 Instr.2.1 Instr.2.2 Instr.S.O . . . Instr.3.3 Instr.3.4 Informações de registradores Informações de registradores Informações de registradores t7 t12 t13 t4 t5 t8 t0 Δt1 Δt3 Δt2

  5. Introdução • O sistema operacional comanda a troca dos processos no processador -> mudança de contexto • É dessa forma que o SO implementa e gerencia um ambiente multiprogramável. • As informações de um processo podem ser: • O seu espaço de endereçamento na memória principal; • A sua área em disco; • O tempo de processador, etc.

  6. Processos • Um processo é formado por três partes: • Contexto de software; • Contexto de hardware; • Espaço de endereçamento; • O conjunto destas partes constituem as informações necessárias à execução dos programas.

  7. Contexto de Hadware • O contexto de hardware de um processo armazena o conteúdo dos registradores da CPU. • Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. • Quando o processo perde a utilização da CPU, o SO salva as informações no contexto de hardware do processo.

  8. PROCESSO A PROCESSO B Sistema Operacional executando Salva registradores do processo A Carrega registradores do processo B executando Salva registradores do processo B Carrega registradores do processo A executando

  9. Contexto de Software • No contexto de software de um processo são especificados os recursos que podem ser alocados pelo processo. • Exemplos: • Número máximo de arquivos abertos simultaneamente. • Prioridade de execução... • Estas características podem ser determinadas no momento de criação do processo ou pode ser alterada durante sua existência.

  10. Contexto de Software • O contexto de software é composto por três grupos de informações sobre o processo: • Identificação • Quotas • Privilégios

  11. Contexto de Software • Identificação • Cada processo criado recebe uma identificação única (PID – process identification); • A partir do PID o sistema operacional e outros processos podem fazer referencia a qualquer processo existente. • O processo também possui a identificação do usuário que o criou (owner). E cada usuário possui uma identificação única no sistema (UID – user identification).

  12. Contexto de Software • Quotas • As quotas são os limites de cada recurso do sistema que um processo pode alocar. • Se uma quota for insuficiente, o processo poderá ser executado lentamente. • Exemplos: • Número máximos de arquivos abertos simultaneamente. • Tamanho máximo da memória principal ou do HD que o processo pode alocar. • Número máximo de processos que podem ser criados...

  13. Contexto de Software • Privilégios • Os privilégios definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional. • Privilégios que afetam o próprio processo permitem que suas características possam ser alteradas, como prioridade de execução, limites alocados na memória, etc. • Privilégios que afetam os demais processos permite alterar as características dos outros processos

  14. Espaço de endereçamento • O espaço de endereçamento é a área da memória pertencente ao processo onde instruções e dados são armazenados para execução. • Cada processo tem seu próprio espaço de endereçamento. • O espaço de um processo deve ser protegido dos demais processos.

  15. Ponteiros Estado do Processo Nome do Processo Prioridade do processo Registradores Limite de Memória Lista de arquivos abertos Bloco de Controle de Processo • O processo é implementado pelo SO através de uma estrutura de dados chamada PCB ( bloco de controle de processos). • No PCB o sistema operacional mantém todas as informações sobre contexto de hardware, contexto de software e espaço de endereçamento.

  16. Bloco de Controle de Processo • Os PCBs residem na memória principal, numa área reservada ao S.O. • A gerência dos processos é realizada por meio das chamadas de rotinas do S.O. que cria, altera, eliminina, suspende processos, etc.

  17. Execução Terminado Espera Pronto Criação Estados do Processo • Em um sistema multiprogramável, um processo não deve monopolizar a CPU. • Os processos passam por diversos estados ao longo de seu processamento.

  18. Estados do processo • Criação • Um processo está no estado de criação quando o S.O. já criou um novo PCB, porém ainda não pode colocá-lo na lista de processos do estado pronto. • Alguns S.O.s limitam o número de processos ativos em função dos recursos disponíveis ou de desempenho.

  19. Estados do processo • Terminado • Um processo no estado terminado não poderá ter mais nenhum programa executado no seu contexto. Porém o S.O. ainda mantém as informações de controle presentes na memória. • O S.O. pode recuperar informações sobre a contabilização de uso de recursos do processo. • O término de um processo pode ocorrer por: • Término normal da execução; • Eliminação por um outro processo; • Eliminação forçada por ausência de recursos disponíveis no sistema

  20. Lista de Processos em estado de pronto PCB#5 PCB#1 Estados do processo • Pronto • Um processo está no estado pronto quando apenas aguarda pra ser executado. • O sistema operacional é responsável por determinar a ordem e os critérios pelos quais os processos em estado pronto devem fazer uso do processador. • Os processos em estado pronto são organizados em listas encadeadas, e ordenados de acordo com a sua importância.

  21. Estados do processo • Execução • Um processo está no estado de execução quando está sendo processado pela CPU. • Somente um processo pode estar sendo executado em um dado instante de tempo. • Os processos se alternam na utilização da CPU seguindo uma política estabelecida pelo sistema operacional.

  22. Lista de Processos em estado de espera PCB#2 PCB#9 Estados do processo • Espera • Um processo em estado espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento. • Ex. o processo espera o término de uma operação de entrada e saída. Ou o processo espera uma determinada data e hora para continuar sua execução. • Os vários processos em estado espera são organizados em listas encadeadas.

  23. Mudanças de estado • Criação - > Pronto • O processo criado pode passa a fazer parte dos processos que estão prontos para ser executados. Execução Termindao Espera Pronto Pronto Criação Criação

  24. Mudanças de estado • Pronto - > Execução • O sistema operacional escolhe (através de critérios e algoritmos próprios) o processo que será executado na CPU. Execução Execução Terminado Espera Pronto Pronto Pronto Criação Criação

  25. Mudanças de estado • Execução - > Pronto • Um processo em execução passa para o estado de pronto quando já executou uma fatia de tempo determinada pelo sistema operacional. Execução Execução Terminado Espera Pronto Pronto Pronto Criação Criação

  26. Mudanças de estado • Execução - > Espera • Um processo em execução passa para o estado de espera quando aguarda uma operação de E/S, ou quando o sistema operacional suspende a execução do processo. Execução Execução Terminado Espera Espera Pronto Pronto Criação Criação

  27. Mudanças de estado • Espera - > Pronto • Um processo no estado de espera passa para pronto quando a operação solicitada é atendida ou o recurso esperado é concedido. Execução Execução Terminado Espera Espera Pronto Pronto Criação Criação

  28. Mudanças de estado • Execução - >Terminado • O processo em execução passa para o estado de terminado quando o processo terminou de ser executado. Execução Execução Terminado Terminado Espera Pronto Criação Criação

More Related