Buscar

Estrutura e Estados de Processos


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais – I
Cap. 5 – Processo
*
Arquitetura de Sistemas Operacionais
Capítulo 5
Processo
Sistemas Operacionais – I
Cap. 5 – Processo
*
Sumário
Introdução
Estrutura do processo
Estados do processo
Mudanças de estado do processo
Criação e eliminação de processos
Processos independentes, subprocessos e threads
Processos foreground e background
Processos do sistema operacional
Processos CPU-bound e I/O-bound
Sinais
Sistemas Operacionais – I
Cap. 5 – Processo
*
Introdução
Processos são a base de um sistema multiprogramável.
Processador apenas executa instruções.
Job, tarefa ou processos são sinônimos.
Os processos são executados concorrentemente, compartilhando:
Processador(es), 
memória principal e 
dispositivos de E/S
Através dele um programa pode alocar recursos, compartilhar dados, trocar informações e sincronizar sua execução.
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estrutura do Processo
Um processo é mais que um programa em execução.
Um sistema multiusuário cada usuário é associado a um processo
Todas as informações importantes e necessárias à execução de um programa fazem parte do processo
Processo é também o ambiente onde um programa é executado
O ambiente é além das informações sobre a execução possui os recursos para cada programa (espaço de endereçamento, tempo de processador e área em disco)
Sem recursos o prog. poderá ser interrompido
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estrutura do Processo
Estrutura do processo
	Um processo é formado por três partes:
	 - Contexto de SW
	 - Contexto de HW
	 - Espaço de endereçamento
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Hardware
Armazena o conteúdo dos registradores gerais e específico (Program Counter, Stack Pointer e o Registrador de Status)
Quando o processo perde UCP as informações são salvas no contexto de HW do processo.
A mudança de contexto ocorre para que um novo processo possa ser executado e vice-versa.
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Hardware
Mudança de contexto
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Software
São especificadas características e limites dos recursos que podem ser alocados pelo processo:
Nº máximo de arquivos abertos simultaneamente,
Prioridade de execução e
Tamanho do buffer para E/S
Muitas são determinadas no momento da criação outras podem ser alteradas durante a execução.
Em sua maior parte as informações vem do arquivo de contas.
É composto por três grupos de informações: identificação, Quotas e privilégios
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Software
Identificação
Cada processo recebe uma única ID (PID)
Somado ao PID pode haver um nome
Possui também a ID do usuário que criou (UID)
Através da UID é possível implementar um modelo de segurança onde apenas os objetos (processos, arquivos , áreas de memória, etc) que possuem a mesma UID podem ser acessados
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Software
Quotas
São os limites de cada recurso do sistema que um processo pode alocar.
Um processo pode ser lento, interrompido ou não ser executado se a quota é insuficiente.
Exemplos:
Nº max arq abertos simultaneamente;
Tamanho max de MP e Secundária que pode ser alocada por um processo;
Nº max de operações de E/S pendentes;
Tamanho max do buffer para E/S;
Nº max de processos, subprocessos e theads que podem ser criados.
Sistemas Operacionais – I
Cap. 5 – Processo
*
Contexto de Software
Privilégios
Definem ações que um processo pode fazer em realção:
A ele mesmo (permite alterar suas características),
Aos demais processos (permite alterar as características próprias e de outros processos) e 
Ao SO (são mais amplos e poderosos, pois estão relacionados com a operação e gerencia do ambiente como desativação, segurança, criação de processos privilegiados, parametros de configuração do sistema, etc – conta root, system).
Sistemas Operacionais – I
Cap. 5 – Processo
*
Espaço de Enderaçamento
É a área de memória pertencente ao processo onde as instruções e os dados do programa são armazenados para execução
Cada processo possui seu próprio espaço de endereçamento
Deve ser protegido do acesso de outros processos
Sistemas Operacionais – I
Cap. 5 – Processo
*
Espaço de Enderaçamento
Estrutura de um processo
Sistemas Operacionais – I
Cap. 5 – Processo
*
Bloco de Controle do Processo
O processo é implementado no SO através do PCB.
O PCB mantém informações sobre o contexto de HW, SW e espaço de endereçamento de cada processo
Os PCB’s residem na MP em uma área exclusiva do SO.
Esta área é limitada por um parâmetro
Nº max de processos simultaneos.
Toda gerência é feita através de system calls (criação, alteração de características, visualização, eliminação, sincronização, suspensão de processos, etc.)
Sistemas Operacionais – I
Cap. 5 – Processo
*
Bloco de Controle do Processo
PCB
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estados do Processo
Sistema multiprogramável (processos concorrentes)
Um processo não pode alocar a CPU exclusivamente.
Os processos compartilham a CPU
Os processos passam por diferentes estados ao logo de seu processamento
Estados são gerados pelo SO ou pelo próprio processo.
Um processo ATIVO pode se encontrar em três estados distintos:Execução, Pronto e Espera.
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estados do Processo
Execução (running)
Quando está sendo processado pela CPU
Em sistemas monoprocessados os processos se alternam no processador segundo uma política do SO.
Em um sistemas com mais processadores pode ocorrer o processamento paralelo (um mesmo processo ser executado simultaneamente).
Pronto (ready)
Um processo aguarda para ser executado
O SO determina a ordem e os critérios para que os prontos possam utilizar o processador (escalonamento)
Os processos são colocados em listas encadeadas
Espera (wait)
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estados do Processo
Espera (wait)
Aguarda por algum evento externo ou recurso para continuar
Também chamado de bloqueado
São separados em listas encadeadas associadas aos tipos de evento
Quando ocorre um evento todos os processos que estão em espera passam a prontos
Eventos como : termino de uma operação de E/S ou espera de uma data/hora
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estados do Processo
Sistemas Operacionais – I
Cap. 5 – Processo
*
Estados do Processo
Lista de PCBs
Sistemas Operacionais – I
Cap. 5 – Processo
*
Mudanças de Estado
Mudanças de estado do processo podem ser por eventos voluntários (o próprio processo) ou involuntários ( o SO)
Basicamente são quatro as mudanças:
Pronto  Execução
Execução  Espera
Espera  Pronto
Execução  Pronto
Sistemas Operacionais – I
Cap. 5 – Processo
*
Mudanças de Estado
Pronto  Execução
Após a criação do processo entra em uma lista de pronto
A ordem de sua execução depende da política de escalonamento
Execução  Espera
Quando da espera por eventos voluntários (pex.: E/S)
Evento involuntário (o SO suspende)
Espera  Pronto
Quando do atendimento da operação ou
Quando o recurso esperado é concedido
Execução  Pronto
Fim da sua fatia de tempo
Aguarda para continuar seu processamento
Sistemas Operacionais – I
Cap. 5 – Processo
*
Mudanças de Estado
Mudanças de estado do processo
Sistemas Operacionais – I
Cap. 5 – Processo
*
Mudanças de Estado
Quando um processo não está na MP
Espaço insuficiente de MP
Parte do contexto é 
	levado para disco
Processos:
Em espera
Prontos
Podem estar não
Residentes em MP
Swapping 
Sistemas Operacionais – I
Cap. 5 – Processo
*
Criação e Eliminação
Mudanças de estado do processo (3)
Sistemas Operacionais – I
Cap. 5 – Processo
*
Mudançasde Estado
Criação e Eliminação de processos
Estado de criação: SO cria um novo PCB
Os SO podem limitar o numero de processos ativos (recursos ou desempenho
Procesos em estado de criação quando:
Login (interativo) a partir de um terminal
Por um outro processo
Pelo SO (oferta de serviços)
Estado de termino: ainda existe seu PCB
Procesos em estado de criação quando:
Termino normal de execução
Eliminação por um outro processo
Eliminação forçada por ausência de recursos no sistema
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Independentes, 
Subprocessos e Threads
Maneiras de implementar concorrência
Divisão do código para trabalhar de forma cooperativa
Processos independentes:
Mais simples
Nao existe vínculo do processo criado com seu criador
Exige um PCB com contexto de HW, SW e espaço de endereçamento próprios.
Subprocessos:
Criados dentro de uma hierarquia
O processo criador é chamado de processo PAI e o subprocesso FILHO
Um FILHO pode ter mais subprocessos (filhos)
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Independentes, 
Subprocessos e Threads
Estrutura de processos e subprocessos
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Independentes, 
Subprocessos e Threads
Subprocessos:
Existe uma dependência
Se o PAI deixa de existir os FILHOS são automaticamente eliminados
Cada FILHO tem seu próprio PCB
Um FILHO pode compartilhar quotas com o PAI
Estas formas consomem tempo de CPU, e recursos do sistema quando são criados ou terminados
A comunicação e a sincronização entre processos é pouco eficiente, pois cada processo possui seu próprio espaço de endereçamento
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Independentes, 
Subprocessos e Threads
O Thread visa reduzir o tempo de criação, término e troca de contextos dos processos além dos recursos como um todo.
Um ambiente Multithread:
Implementa a concorrência com um unico Processo
Compartilham o processador igual a um processo
Cada Thread possui seu contexto de HW porem compartilha o contexto de SW e espaço de endereçamento
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Independentes, Subprocessos e Threads 
Processo multithread
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Foreground e Background
Associado a estrutura de um processo há pelo menos dois canais de comunicação por onde são realizadas todas E/S
Canais de Entrada (input) e saida (output)
Associados a terminais, arquivos, impressoras e até outros processos
Processo foreground: comunicação direta do usuario com o processo (processamento interativo):
Canais de E e S associados a um terminal com teclado, mouse e monitor
Processo background: sem comunicação com o usuário, os canais de E/S não estão associados a dispositivos de E/S interativos (proc. Batch)
Um canal de saida (de um processo) associado ao de entrada (de outro) é chamado PIPE 
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos Foreground e Background
Processos foreground e background
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processo Foreground e Background
Pipe
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos do Sistema
A arquitetura de um SO também usa processos
Na implementação de serviços do sstema estamos retirando código do seu Núcleo, tornado-o menor e mais estável
Podemos ativar ou não os serviços (processos)
Serviços que o SO pode implementar:
Auditoria e segurança (login, iptables)
Serviços de rede (inetd)
Contabilização do uso de recursos (logs)
Contabilização de erros
Gerência de impressão (lpd)
Gerência de jobs batch
Temporização (crontab)
Comunicação de eventos (alerts)
Interface de comandos (shell)	
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos CPU e IO Bound
Processos podem ser classificados de acordo com a utilização do processador e dos dispositivos de E/S
CPU-Bound (ligado a CPU):
Maior parte do tempo no estado de execução
Poucas E/S
Aplicações com muitos cálculos (científica)
I/O-Bound (ligado a E/S):
Maior parte do tempo no estado de espera
Muitas operações E/S
Aplicações comerciais, comunicação interativa
Sistemas Operacionais – I
Cap. 5 – Processo
*
Processos CPU e IO Bound
Processos CPU x IO Bound
Sistemas Operacionais – I
Cap. 5 – Processo
*
Sinais
Mecanismo para notificar o sistema sobre eventos
Fundamental para gerência de processos além comunicação e sincronização entre processos
Uma rotina de tratamento é executada
Sinais podem ser utilizados com temporizadores
A partir de eventos sincronos ou assincronos é gerado um sinal
É notificado ao processo atraves de bits de sinalização no seu PCB
Um processo responde ao sinal quando estiver em estado de execução
Sistemas Operacionais – I
Cap. 5 – Processo
*
Sinais
Uso de sinais
Sistemas Operacionais – I
Cap. 5 – Processo
*
Sinais
O tratamento de um sinal é semelhante ao mecanismo de interrupções:
O contexto do processo é salvo
A execução é desvida para um codigo de tratamento de sinal (signal handler - manipulador) no núcleo do sistema
Após ser tratado o processo pode voltar onde foi interrompido
O proprio processo pode também tratar o sinal internamente
Um processo pode bloquear temporariamente ou ignorar por completo alguns sinais.
Sistemas Operacionais – I
Cap. 5 – Processo
*
Sinais
Sinais, interrupções e exceções

Continue navegando