·
Engenharia de Software ·
Arquitetura de Computadores
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
74
Algebra Booleana e Circuitos Lógicos Digitais - Teoria e Aplicações
Arquitetura de Computadores
UNIFACS
3
Atividades Práticas de Simulação com Escalonamento Circular no SOsim
Arquitetura de Computadores
UNIFACS
19
Estrutura dos Sistemas Operacionais - Parte 03
Arquitetura de Computadores
UNIFACS
1
Links da Aula LMC - Versão WEB e Tutorial
Arquitetura de Computadores
UNIFACS
27
Sistemas de Numeração: Fundamentos e Representação da Informação
Arquitetura de Computadores
UNIFACS
2
Análise de Escalonamento e Desempenho em Sistemas de Memória Cache
Arquitetura de Computadores
UNIFACS
1
Exercícios de Sistemas de Numeração e Conversões de Bases
Arquitetura de Computadores
UNIFACS
32
Memória Virtual e Paginação em Sistemas Operacionais
Arquitetura de Computadores
UNIFACS
104
Aula 2 Organizacao de Computadores - Evolucao e Geracoes dos Computadores
Arquitetura de Computadores
UNIFACS
1
Programa LMC para Somar A e B e Imprimir Resultado
Arquitetura de Computadores
UNIFACS
Texto de pré-visualização
SISTEMAS SISTEMAS OPERACIONAIS OPERACIONAIS SISTEMAS SISTEMAS OPERACIONAIS OPERACIONAIS Parte 04 Processos Professor Eduardo Xavier Parte 04 Processos Professor Eduardo Xavier Introdução Introdução O SO Deve controlar o uso concorrente do processador e demais recursos Cada programa executado no computador é sempre associado a um processo O conceito de processo é a base dos sistemas multiprogramáveis Introdução Introdução Um processo é Um programa em execução Não apenas as instruções do mesmo mas todos os dados temporariamente utilizados pelo mesmo assim como todas as informações que permitem sua execução Uma entidade ativa que compete por recursos oferecidos pelo sistema acesso a memória periféricos e principalmente CPU e interage com outros processos Introdução Introdução Pseudoparalelismo Os sistemas multitarefa gerenciam a execução de seus processos de forma a produzir a ilusão de que está ocorrendo processamento paralelo Na verdade o que ocorre é o uso alternado da CPU entre processos dando a impressão de que os mesmos estão sendo executados simultaneamente Paralelismo Real Alguns sistemas possuem vários processadores e estes trabalham realmente de forma simultânea Em ambos os casos é necessário que o sistema possua algum meio de coordenar as execuções dos processos Estrutura do Processo Estrutura do Processo O processador é projetado para executar instruções a partir de um ciclo Buscar a próxima instrução Decodificar a instrução e executála Na visão da camada de hardware o processador executa instruções sem levar em conta qual programa está sendo executado É o sistema operacional que deve identificar isso e providenciar uma execução coerente Estrutura do Processo Estrutura do Processo Todo software executado em um computador é organizado em um certo número de processos Conceitualmente cada processo é executado em sua própria CPU virtual O controle da CPU é alternado de processo para processo para simular isso Estrutura do Processo Estrutura do Processo Um processo é formado por três partes O contexto de hardware O contexto de software O espaço de endereçamento Estrutura do Processo Estrutura do Processo Contexto de Hardware Armazena o conteúdo dos registradores gerais e específicos ex contador de programa da CPU Quando o programa está em execução o contexto de hardware está armazenado nos registradores do processador Quando o processo perde o domínio da CPU o conteúdo dos registradores são guardados no contexto de hardware do processo Estrutura do Processo Estrutura do Processo Contexto de Software Especifica os limites e características dos recursos que podem ser alocados pelo processo Identificação PID nome do processo ID de usuário UID ou processo criador owner Quotas ou Cotas Limites de arquivos memória operações de ES buffers e criação de outros processos thread e subprocessos Privilégios Ações que o processo pode realizar em relação a ele mesmo e aos demais Estrutura do Processo Estrutura do Processo Espaço de Endereçamento Espaço de memória onde dados e instruções necessários para a execução do programa são armazenados Cada processo tem seu próprio espaço de endereçamento e o mesmo deve ser protegido contra acessos indevidos pelos demais processos Estrutura do Processo Estrutura do Processo Resumo Estrutura do Processo Estrutura do Processo Bloco de controle de Processo PCB Process Control Block Para controlar a execução de múltiplos processos o sistema operacional faz uso de uma tabela carregada na memória principal a tabela de processos Para cada processo existente em qualquer estado executando pronto ou bloqueado existe uma entrada linha na tabela de processos Cada uma destas entradaslinhas recebe o nome de PCB Process Control Block Bloco de Controle de Processo O PCB possui diversas informações sobre o estado do processo ao qual se refere para permitir que o sistema operacional controle sua execução e retome um processo do ponto em que parou na última vez que usou a CPU Estrutura do Processo Estrutura do Processo Algumas informações que o PCB guarda Contador de programa indica qual a última instrução executada Valor de cada registrador e ponteiro usado pelo processo Informações para o gerenciamento de memória Situação das operações de entradasaída que executadas pelo processo Informações para contabilização do uso de recursos Quando o processo chega ao fim seu PCB é eliminado da tabela Estados de Processos Estados de Processos Um processo pode estar em três estados Em execução running ou executing Neste estado o processo está usando a CPU Pronto ready Neste estado o processo está em plena condição de ser executado porém está aguardando que haja disponibilidade de CPU Bloqueado em espera suspenso ou blocked Neste estado o processo é incapaz de executar pois está aguardando que ocorra um evento externo qualquer Estados de Processos Estados de Processos Ao longo de sua execução cada processo pode transitar pelos 3 estados já descritos dependendo do que o mesmo foi programado para fazer e do que mais está acontecendo no sistema enquanto ele está ativo Estas mudanças de estado de cada processo podem ocorres de duas formas Voluntária O próprio processo decide que é preciso mudar de estado Involuntária O sistema operacional interfere e altera o estado do processo para atender uma determinada situação Estados de Processos Estados de Processos Mudanças no estado de processos A PRONTO EM EXECUÇÃO Ocorre quando há CPU disponível e de forma involuntária para o processo Existe uma fila de processos prontos para serem executados e cada SO possui um conjunto de regras para administrar o escalonamento B EM EXECUÇÃO PRONTO Ocorre quando a fatia de tempo para execução destinada ao processo se acaba e de forma involuntária para o processo O processo retorna para a fila de PRONTOS A B Estados de Processos Estados de Processos Mudanças no estado de processos C EM EXECUÇÃO EM ESPERA Eventos ocorridos no próprio processo ou alguma ocorrência externa podem causar esta mudança de estado Dependendo da causa pode ocorrer de forma voluntária ou involuntária Eis alguns exemplos Ao receber uma solicitação de entrada saída o SO coloca o processo como BLOQUEADO Em determinado ponto da lógica de funcionamento do processo o mesmo decide que deve ficar BLOQUEADO até que determinado evento ocorra D EM ESPERA PRONTO Ocorre sempre de forma involuntária quando acontece um evento qualquer no ambiente que faz o SO decidir alterar o estado de certo processo Neste caso o processo retorna para a fila de PRONTOS C D Criação e Destruição de Processos Criação e Destruição de Processos Quando novos processos podem ser criados Na inicialização do sistema operacional Quando uma system call é acionada por um processo que já está em execução Quando o usuário solicita No início de um processamento em lote Criação e Destruição de Processos Criação e Destruição de Processos Quando os processos podem ser destruídos Quando terminam seu processamento normalmente Término voluntário o próprio processo decide encerrar Quando terminam seu processamento por motivo de erro Término voluntário o próprio processo reconhece que algo saiu errado e embora continue funcionando normalmente decide encerrar Quando ocorre um erro fatal Término involuntário a decisão de encerrar não foi do próprio processo o erro ocorrido foi tão grave que o processo foi derrubado Quando outro processo solicita seu cancelamento Término involuntário outro processo decide que é melhor derrubálo isso pode ser causado por intervenção do usuário Criação e Destruição de Processos Criação e Destruição de Processos Quando os processos podem ser destruídos Quando terminam seu processamento normalmente Término voluntário o próprio processo decide encerrar Quando terminam seu processamento por motivo de erro Término voluntário o próprio processo reconhece que algo saiu errado e embora continue funcionando normalmente decide encerrar Quando ocorre um erro fatal Término involuntário a decisão de encerrar não foi do próprio processo o erro ocorrido foi tão grave que o processo foi derrubado Quando outro processo solicita seu cancelamento Término involuntário outro processo decide que é melhor derrubálo isso pode ser causado por intervenção do usuário Tipos de Processos Tipos de Processos Processos CPUBound Passam a maior parte de seu tempo de execução nos estados executando ou pronto pois realizam poucas operações de IO Processos IOBound Passam a maior parte de seu tempo de execução em estado bloqueado pois realizam muitas operações de IO Tipos de Processos Tipos de Processos Processos Foreground Permitem a comunicação direta com seus usuários durante a execução Processos Background Não permitem a comunicação direta com seus usuários durante a execução Referências Bibliográficas Referências Bibliográficas Arquitetura de Sistemas Operacionais Francis Machado Luiz Maia 4a Edição Capítulo 5 Processo Sistemas Operacionais Modernos Andrew S Tanenbaum Capítulo 2
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
74
Algebra Booleana e Circuitos Lógicos Digitais - Teoria e Aplicações
Arquitetura de Computadores
UNIFACS
3
Atividades Práticas de Simulação com Escalonamento Circular no SOsim
Arquitetura de Computadores
UNIFACS
19
Estrutura dos Sistemas Operacionais - Parte 03
Arquitetura de Computadores
UNIFACS
1
Links da Aula LMC - Versão WEB e Tutorial
Arquitetura de Computadores
UNIFACS
27
Sistemas de Numeração: Fundamentos e Representação da Informação
Arquitetura de Computadores
UNIFACS
2
Análise de Escalonamento e Desempenho em Sistemas de Memória Cache
Arquitetura de Computadores
UNIFACS
1
Exercícios de Sistemas de Numeração e Conversões de Bases
Arquitetura de Computadores
UNIFACS
32
Memória Virtual e Paginação em Sistemas Operacionais
Arquitetura de Computadores
UNIFACS
104
Aula 2 Organizacao de Computadores - Evolucao e Geracoes dos Computadores
Arquitetura de Computadores
UNIFACS
1
Programa LMC para Somar A e B e Imprimir Resultado
Arquitetura de Computadores
UNIFACS
Texto de pré-visualização
SISTEMAS SISTEMAS OPERACIONAIS OPERACIONAIS SISTEMAS SISTEMAS OPERACIONAIS OPERACIONAIS Parte 04 Processos Professor Eduardo Xavier Parte 04 Processos Professor Eduardo Xavier Introdução Introdução O SO Deve controlar o uso concorrente do processador e demais recursos Cada programa executado no computador é sempre associado a um processo O conceito de processo é a base dos sistemas multiprogramáveis Introdução Introdução Um processo é Um programa em execução Não apenas as instruções do mesmo mas todos os dados temporariamente utilizados pelo mesmo assim como todas as informações que permitem sua execução Uma entidade ativa que compete por recursos oferecidos pelo sistema acesso a memória periféricos e principalmente CPU e interage com outros processos Introdução Introdução Pseudoparalelismo Os sistemas multitarefa gerenciam a execução de seus processos de forma a produzir a ilusão de que está ocorrendo processamento paralelo Na verdade o que ocorre é o uso alternado da CPU entre processos dando a impressão de que os mesmos estão sendo executados simultaneamente Paralelismo Real Alguns sistemas possuem vários processadores e estes trabalham realmente de forma simultânea Em ambos os casos é necessário que o sistema possua algum meio de coordenar as execuções dos processos Estrutura do Processo Estrutura do Processo O processador é projetado para executar instruções a partir de um ciclo Buscar a próxima instrução Decodificar a instrução e executála Na visão da camada de hardware o processador executa instruções sem levar em conta qual programa está sendo executado É o sistema operacional que deve identificar isso e providenciar uma execução coerente Estrutura do Processo Estrutura do Processo Todo software executado em um computador é organizado em um certo número de processos Conceitualmente cada processo é executado em sua própria CPU virtual O controle da CPU é alternado de processo para processo para simular isso Estrutura do Processo Estrutura do Processo Um processo é formado por três partes O contexto de hardware O contexto de software O espaço de endereçamento Estrutura do Processo Estrutura do Processo Contexto de Hardware Armazena o conteúdo dos registradores gerais e específicos ex contador de programa da CPU Quando o programa está em execução o contexto de hardware está armazenado nos registradores do processador Quando o processo perde o domínio da CPU o conteúdo dos registradores são guardados no contexto de hardware do processo Estrutura do Processo Estrutura do Processo Contexto de Software Especifica os limites e características dos recursos que podem ser alocados pelo processo Identificação PID nome do processo ID de usuário UID ou processo criador owner Quotas ou Cotas Limites de arquivos memória operações de ES buffers e criação de outros processos thread e subprocessos Privilégios Ações que o processo pode realizar em relação a ele mesmo e aos demais Estrutura do Processo Estrutura do Processo Espaço de Endereçamento Espaço de memória onde dados e instruções necessários para a execução do programa são armazenados Cada processo tem seu próprio espaço de endereçamento e o mesmo deve ser protegido contra acessos indevidos pelos demais processos Estrutura do Processo Estrutura do Processo Resumo Estrutura do Processo Estrutura do Processo Bloco de controle de Processo PCB Process Control Block Para controlar a execução de múltiplos processos o sistema operacional faz uso de uma tabela carregada na memória principal a tabela de processos Para cada processo existente em qualquer estado executando pronto ou bloqueado existe uma entrada linha na tabela de processos Cada uma destas entradaslinhas recebe o nome de PCB Process Control Block Bloco de Controle de Processo O PCB possui diversas informações sobre o estado do processo ao qual se refere para permitir que o sistema operacional controle sua execução e retome um processo do ponto em que parou na última vez que usou a CPU Estrutura do Processo Estrutura do Processo Algumas informações que o PCB guarda Contador de programa indica qual a última instrução executada Valor de cada registrador e ponteiro usado pelo processo Informações para o gerenciamento de memória Situação das operações de entradasaída que executadas pelo processo Informações para contabilização do uso de recursos Quando o processo chega ao fim seu PCB é eliminado da tabela Estados de Processos Estados de Processos Um processo pode estar em três estados Em execução running ou executing Neste estado o processo está usando a CPU Pronto ready Neste estado o processo está em plena condição de ser executado porém está aguardando que haja disponibilidade de CPU Bloqueado em espera suspenso ou blocked Neste estado o processo é incapaz de executar pois está aguardando que ocorra um evento externo qualquer Estados de Processos Estados de Processos Ao longo de sua execução cada processo pode transitar pelos 3 estados já descritos dependendo do que o mesmo foi programado para fazer e do que mais está acontecendo no sistema enquanto ele está ativo Estas mudanças de estado de cada processo podem ocorres de duas formas Voluntária O próprio processo decide que é preciso mudar de estado Involuntária O sistema operacional interfere e altera o estado do processo para atender uma determinada situação Estados de Processos Estados de Processos Mudanças no estado de processos A PRONTO EM EXECUÇÃO Ocorre quando há CPU disponível e de forma involuntária para o processo Existe uma fila de processos prontos para serem executados e cada SO possui um conjunto de regras para administrar o escalonamento B EM EXECUÇÃO PRONTO Ocorre quando a fatia de tempo para execução destinada ao processo se acaba e de forma involuntária para o processo O processo retorna para a fila de PRONTOS A B Estados de Processos Estados de Processos Mudanças no estado de processos C EM EXECUÇÃO EM ESPERA Eventos ocorridos no próprio processo ou alguma ocorrência externa podem causar esta mudança de estado Dependendo da causa pode ocorrer de forma voluntária ou involuntária Eis alguns exemplos Ao receber uma solicitação de entrada saída o SO coloca o processo como BLOQUEADO Em determinado ponto da lógica de funcionamento do processo o mesmo decide que deve ficar BLOQUEADO até que determinado evento ocorra D EM ESPERA PRONTO Ocorre sempre de forma involuntária quando acontece um evento qualquer no ambiente que faz o SO decidir alterar o estado de certo processo Neste caso o processo retorna para a fila de PRONTOS C D Criação e Destruição de Processos Criação e Destruição de Processos Quando novos processos podem ser criados Na inicialização do sistema operacional Quando uma system call é acionada por um processo que já está em execução Quando o usuário solicita No início de um processamento em lote Criação e Destruição de Processos Criação e Destruição de Processos Quando os processos podem ser destruídos Quando terminam seu processamento normalmente Término voluntário o próprio processo decide encerrar Quando terminam seu processamento por motivo de erro Término voluntário o próprio processo reconhece que algo saiu errado e embora continue funcionando normalmente decide encerrar Quando ocorre um erro fatal Término involuntário a decisão de encerrar não foi do próprio processo o erro ocorrido foi tão grave que o processo foi derrubado Quando outro processo solicita seu cancelamento Término involuntário outro processo decide que é melhor derrubálo isso pode ser causado por intervenção do usuário Criação e Destruição de Processos Criação e Destruição de Processos Quando os processos podem ser destruídos Quando terminam seu processamento normalmente Término voluntário o próprio processo decide encerrar Quando terminam seu processamento por motivo de erro Término voluntário o próprio processo reconhece que algo saiu errado e embora continue funcionando normalmente decide encerrar Quando ocorre um erro fatal Término involuntário a decisão de encerrar não foi do próprio processo o erro ocorrido foi tão grave que o processo foi derrubado Quando outro processo solicita seu cancelamento Término involuntário outro processo decide que é melhor derrubálo isso pode ser causado por intervenção do usuário Tipos de Processos Tipos de Processos Processos CPUBound Passam a maior parte de seu tempo de execução nos estados executando ou pronto pois realizam poucas operações de IO Processos IOBound Passam a maior parte de seu tempo de execução em estado bloqueado pois realizam muitas operações de IO Tipos de Processos Tipos de Processos Processos Foreground Permitem a comunicação direta com seus usuários durante a execução Processos Background Não permitem a comunicação direta com seus usuários durante a execução Referências Bibliográficas Referências Bibliográficas Arquitetura de Sistemas Operacionais Francis Machado Luiz Maia 4a Edição Capítulo 5 Processo Sistemas Operacionais Modernos Andrew S Tanenbaum Capítulo 2