Buscar

Sistemas Operacionais aula 03

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

CCT0011 – Sistemas Operacionais
Aula 03 – Processos
Professor Ricardo Bernardo
Sistemas Operacionais
Conteúdo da Aula
Breve Revisão Última Aula
Conceito de Processos
Estados de um Processo
Tipos de Processo
Sistemas Operacionais
Revisão de Conceitos
• Sistema operacional é software
• Um sistema operacional deve fornecer interface com o usuário e administrar recursos de hardware e 
software
• Sistemas multitarefa permitem a concorrência entre tarefas: tarefas disputam recursos.
• Os mecanismos de interrupção são fundamentais para a existência de sistemas multitarefa
Sistemas Operacionais
Conceito de Processos
Processo é a instância de um programa em execução. É a unidade de carga e alocação de uma 
tarefa. Um programa é carregado para a memória onde aloca uma determinada área para código e 
dados.
 Cada processo é único em um sistema.
 O processo é criado quando o programa é carregado para a memória para ser executado.
 Um programa é carregado para a memória onde aloca uma determinada área para código e 
dados.
Sistemas Operacionais
Conceito de Processos
Em geral os processos podem ser classificados em três classes: 
• Interativos: são processos que necessitam de algum tipo de interação com o usuário.
Ex.: editor de texto, planilhas eletrônicas, jogos, etc. 
• Batch: são processos que realizam o processamento de dados de entrada produzindo um conjunto de 
dados de saída sem que haja a intervenção do usuário.
Ex.: backups, compiladores, programas de cálculo numérico, etc. 
• Daemons: são processos carregados pelo sistema operacional durante sua inicialização e permanece 
em execução até que o sistema seja finalizado. Processos Daemons ficam em espera em segundo 
plano até que seja requerido algum serviço.
Ex.: gerenciamento de log do sistema, serviços de e-mail, etc. 
Sistemas Operacionais
Process Control Block
Bloco de Controle do Processo (PCB).
O sistema operacional ao iniciar um processo, cria um bloco 
chamado Bloco de Controle de Processos (PCBs), também 
conhecido como descritor de processo. 
O bloco de controle de processo contém diversas informações 
que auxiliam o seu gerenciamento pelo sistema operacional. 
Sistemas Operacionais
Process Control Block
Dentre as informações presentes no PCB estão: 
• Número de Identificador de processo (PID): número pelo qual o 
processo é identificado pelo sistema operacional. 
• Estado do processo: estado atual do processo (pronto, etc.). 
• Contador de programa: indica qual instrução do processo deverá ser 
executada. 
• Prioridade de escalonamento: indica qual a prioridade do processo na 
escala de prioridade de execução. 
• Credenciais: indica quais as permissões o processo possui.
Sistemas Operacionais
Process Table
A tabela de processos
fornece uma lista dos
processos ativos no sistema.
Sistemas Operacionais
Contexto do Processo
O estado representa a situação atual do processo, ou seja, os valores de suas variáveis, as instruções 
que esta executando, os recursos em uso.
Conforme a execução do processo avança, o seu estado se altera. O estado de um processo em um 
determinado instante é conhecido como contexto.
O processo é formado por três partes:
 Contexto de Hardware
 Contexto de Software
 Espaço de Endereçamento
Sistemas Operacionais
Contexto do Processo
Contexto de Hardware
Características de execução. 
 Armazena o conteúdo dos registradores de usos gerais e os específicos, tais como o Program
Conter (PC), o Stack Pointer(SP) e o Registrador de Status (PSW), responsáveis pelo controle 
de execução do programa.
A necessidade de armazenar os registradores no contexto de hardware
quando um processo perde o uso do processador é que quando este
processo voltar a ser executado possa continuar exatamente de onde
foi interrompido. 
Sistemas Operacionais
Contexto do Processo
Contexto de Software
Quando um processo é criado, o S.O. especifica os limites e características de recursos que o 
processo pode alocar. Estas informações são armazenadas no contexto de software e são relativas à: 
quantidade máxima de arquivos que o processo pode abrir simultaneamente, prioridade de execução, 
tamanho do buffer utilizado em operações de entrada e saída, etc.
As especificações de limites de recursos são armazenadas, num arquivo do S.O. denominado arquivo de 
usuários.
 As informações do processo são divididas em três grupos no contexto de software.
 Identificação – PID e UID.
 Quotas – Limites de cada recurso do sistema que um processo pode alocar.
 Privilégios – O que o processo pode o não fazer em relação ao sistema
e outros processos.
Sistemas Operacionais
Contexto do Processo
Espaço de Endereçamento
• Os processos são responsáveis pela execução das instruções de um programa. 
• Área de memória onde o programa será armazenado, além do espaço para os dados utilizados por ele.
• Cada processo possui seu próprio espaço de endereçamento, que deve ser protegido do acesso dos 
demais processos. 
Sistemas Operacionais
Estados de um Processo
Processo é um programa em execução.
• A execução do processo ocorre de forma sequencial.
• A cada instante, apenas uma instrução de um processo específico é executada.
• Embora dois processos possam estar associados a um mesmo programa, são considerados duas 
sequencias de execução distintas.
Obs.: Um programa por si só não é um processo.
• Um processo em execução sofre mudanças de estado. 
• O estado de um processo é definido em parte por seu contador de instruções e pelos valores dos 
registradores do processador.
• Há várias formas de representar os estados de um processo, variando o detalhamento dos estados 
possíveis.
Sistemas Operacionais
Estados de um Processo
• Todas as informações sobre um processo são mantidas na tabela de processos
• A tabela de processos tem campos que dizem respeito:
• à gerência do processo
• à gerência da memória
• à gerência de arquivos
• A tabela de processos possui uma entrada por processo e os campos nela contidos variam de sistema 
operacional para sistema operacional
Sistemas Operacionais
Estados de um Processo
Com base em um diagrama de cinco estados é possível o entendimentos dos estados 
intermediários.
Podem ser classificados, de acordo com o estado.
 Novo
 Pronto
 Em execução
 Em espera ou bloqueado
 Terminado
Sistemas Operacionais
Estados de um Processo
Novo  Estado de admissão onde são geradas as estruturas de dados e alocado o espaço para o 
processo;
Pronto Após admissão o processo está pronto para ser executado e aguardando a sua vez.
Em execução  Apenas um processo por vez pode estar neste estado. Após ser selecionado, o 
processo recupera seu contexto que é guardado após ter sua execução interrompida.
Sistemas Operacionais
Estados de um Processo
Em espera ou bloqueado  Processo está aguardando por um evento externo ou ser atendida 
alguma chamada ao S.O.. Esse bloqueio é síncrono, ou seja, ocorre sempre que determinado trecho 
do programa for executado.
Terminado / Fim  Ao terminar a execução do processo as estruturas criadas são removidas e a 
área alocada é liberada.
Obs.: A substituição do processo em execução é
denominada “troca de contexto”. Nas operações
de interrupção do processo e retorno a execução
seu contexto ser respectivamente, armazenado
e recuperado.
Sistemas Operacionais
Estados de um Processo
modelo de 5 estados
Sistemas Operacionais
Mudança de Estado
Novo  Pronto : Ocorre apenas na admissão pelo S.O..
Pronto  Em execução: Ocorre quando o processo é selecionado para execução segundo um 
critério do escalonador.
Em execução  Pronto: Ocorre quando o processo é interrompidoe novo processo será 
selecionado.
Em execução  Espera: Ocorre quando o processo deve aguardar um recurso ou evento solicitado.
Espera  Pronto: Ocorre quando a solicitação de recurso pelo processo é atendida.
Em execução  Terminado: Ocorre quando o processo finaliza sua execução ou quando acontece algum 
erro e o processo precisa ser abortado. 
Sistemas Operacionais
Ciclo de vida de um Processo
Principais eventos que causam a criação de um processo
• Inicialização do sistema
• Na inicialização vários processos são criados. Ex.: processo requisições de páginas Web.
• Execução de uma chamada de sistema de criação de processo por um processo em execução
• Processos pais criam processos filhos, que podem criar seus próprios processos filhos e assim por 
diante. Ex.: no UNIX a chamada fork.
• Uma requisição do usuário para criar um novo processo
• Em sistemas interativos, digitando um comando ou clicando em um ícone.
• Início de uma tarefa em lote
• Em computadores de grande porte, quando o mesmo possui recursos suficientes para executar a 
tarefa.
Sistemas Operacionais
Ciclo de vida de um Processo
Quando um processo é criado?
• Quando executamos um programa.
• Quando um usuário acessa o sistema.
• Quando um processo gera um processo-filho.
Etapas de criação
• Atribui um identificador único.
• Aloca uma entrada na tabela de processos.
• Aloca espaço para o processo.
• Inicializa o PCB.
• Coloca o processo na fila apropriada.
• Cria estruturas auxiliares.
Sistemas Operacionais
Execução de um Processo
Execução concorrente de processos leva às seguintes situações:
Trocas de Contexto substituição do processo em execução.
Trocas de Modo de Execução troca menor e mais rápida que a troca de contexto.
Sistemas Operacionais
Execução de um Processo
Troca de Contexto
Interrupção : Reação a um evento assíncrono.
 Trap Associado a erro na execução de uma instrução .
 System Call Requisição explícita.
Ações (etapas): 
• Salva o estado do processador;
• Muda o estado do processo;
• Muda o processo para a fila apropriada;
• Seleciona o novo processo;
• Atualiza o PCB do novo processo;
• Modifica os mapeamentos de memória;
• Restaura o estado do processador.
Sistemas Operacionais
Execução de um Processo
Troca de Modo de Execução
O estado do processo corrente não é alterado.
Ocorre geralmente quando o processador, ao final de um ciclo de instrução, detecta a existência de 
interrupção pendente.
Nesses casos, o processador realiza o seguintes passos:
 Salva o contexto do processo em execução. 
 Carrega o PC com o endereço inicial da rotina de interrupção. 
 Troca o modo de execução de usuário para kernel (privilegiado) para que instruções privilegiadas 
do tratador de interrupções possam ser executas. 
Sistemas Operacionais
Termino de um Processo
Condições que terminam um processo
• Saída Normal (voluntária)
• Quando terminaram seu trabalho
• Saída por erro (voluntária)
• Processo descobre um erro fatal. Ex.: compilar um arquivo que não existe.
• Erro fatal (involuntária)
• Erro causado pelo processo, normalmente erro de programação. Ex.: divisão por zero, 
referência para memória inexistente.
• Cancelamento por um outro processo (involuntária)
• Um processo executa uma chamada de sistema dizendo ao SO para cancelar algum outro 
processo. Ex.: no UNIX a chamada kill.
Sistemas Operacionais
Escalonamento de Processos
Em computadores multiprogramados, muitas vezes múltiplos processos (ou threads) competem 
pelo uso da CPU ao mesmo tempo.
Isso ocorre sempre que dois ou mais processos estão simultaneamente no estado pronto.
Nestes casos, quando o CPU se encontrar disponível, deverá ser feita uma escolha sobre qual 
processo executar.
A parte do sistema operacional que faz esta escolha é o escalonador e o algoritmo que ele usa é o 
algoritmo de escalonamento.
O objetivo do escalonador é atribuir processos para serem executados pelos processadores de modo 
a atingir parâmetros de performance, tais como:
 Tempo de resposta
 Vazão
 Eficiência do processados
Sistemas Operacionais
Escalonamento de Processos
Escalonador
• Determina ordem em que processos alocam o processador.
• S.O. usa algum critério para escolher um processo apto para rodar.
• S.O. pode também tirar o processador de um processo que estiver rodando.
Quando um processo solicita operações bloqueantes (E/S, por exemplo), sua execução fica suspensa 
até que o evento solicitado ocorra.
Se outro processo estiver pronto para execução, o mesmo poderá passar a utilizar a CPU, 
maximizando a utilização da mesma, melhorando o desempenho percebido do sistema.
Sistemas Operacionais
Escalonamento de Processos
Não preemptivo – Processo só perde o processador se terminar ou entrar em estado de espera.
Preemptivo – O processo executa em fatias de tempo determinadas pelo S.O.. O escalonador pode
desalocar um processo da CPU em qualquer instante de tempo
Critérios para um bom escalonamento
• Processor utilization: Porcentagem de tempo em que o processador está ocupado (eficiência).
• Tempo de resposta: Tempo entre a ocorrência de um evento e a reativação do processo que o 
aguarda.
• Tempo de execução: Tempo para finalizar a execução de um determinado processo no sistema.
• Throughput: Número de processos concluídos por unidade de tempo.
• Turnaround Time: Intervalo de tempo entre a submissão de um processo e o seu término de 
execução.
Sistemas Operacionais
Escalonamento de Processos
O escalonamento afeta a performance do sistema, pois determina quais processos deverão esperar e 
quais deverão progredir. Isso envolve o gerenciamento de filas.
Escalonador de curto prazo, também conhecido como dispatcher, é executado muito frequentemente 
sendo responsável pela tomada de decisão de qual será o próximo processo a ser executado.
Este escalonamento é executado quando da ocorrência de um evento que conduza o bloqueio do 
processo corrente, cria-se uma oportunidade de preenpção em favor de outro processo.
Exemplos desses eventos são:
- Clock da CPU;
- Interrupções de I/O;
- Chamadas do sistema operacional;
O escalonador de curto prazo procura alocar o tempo do processador de tal maneira a otimizar um ou 
mais aspectos do comportamento do sistema. 
Sistemas Operacionais
Processos do Sistema
Grande parte do núcleo do sistema é executada no contexto de processos, inclusive no contexto de 
processos de usuários, como:
 Auditoria e segurança;
 Serviços de rede;
 Gerencia de impressão;
 Gerencia de jobs batch;
 Comunicação de eventos;
 Interface de comando (shell).
Sistemas Operacionais
Processos no Windows
Sistemas Operacionais
Processos no Windows
Sistemas Operacionais
Processos no Linux
Sistemas Operacionais
Processos no Linux
Sistemas Operacionais
Tipos de Processos
Os processos são classificados de acordo com o tipo de processamento que realizam.
Existem dois tipos de processos:
 CPU-bound: são processos que utilizam de modo muito intenso o processador durante o seu ciclo 
de vida. A maior parte do tempo os estados destes processos são Pronto ou Em Execução .
 I/O-bound: este tipo de processo está mais ligado aos dispositivos de entrada/saída do que 
propriamente ao processador. O estado deste processo fica Em Espera durante grande parte do 
seu ciclo de vida devido aos longos tempos aguardando respostas das solicitações feitas aos 
dispositivos de entrada e saída. 
Sistemas Operacionais
Classificação de Processos
Durante o ciclo de vida de um processo são realizadas entradas e saídas de dado e elas são feitas 
através de canais de comunicação disponibilizados pelo processo. O processo temno mínimo dois canais 
de comunicação associados a ele que permitem acesso de um processo a outros processos, comunicação 
com o usuário, arquivos, etc. 
Processo em foreground: são processos que mantém com o usuário uma ligação direta enquanto 
esta sendo processado. Esta ligação do processo com o usuário é feita através dos canais de 
comunicação associados ao teclado, mouse, monitor, etc. 
Processos em background: são processos que não tem ligação direta com o usuário enquanto esta 
sendo processado. Este tipo de processo é muito utilizado em processamentos do tipo batch. 
Sistemas Operacionais
Simulador SOSIM
• http://www,training.com.br/sosim
Sistemas Operacionais
Duvidas
Sistemas Operacionais
Conceito de Processos
Contexto 
de 
software
Programa
Contexto 
de 
hardware
Espaço de 
endereçamento
Sistemas Operacionais
Conceito de Processos
Contexto 
de 
software
Programa
Contexto 
de 
hardware
Espaço de 
endereçamento
Sistemas Operacionais
Conceito de Processos
Contexto 
de 
software
Programa
Contexto 
de 
hardware
Espaço de 
endereçamento

Continue navegando