Buscar

Aula04Gerenciamento_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 37 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 37 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 37 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

Escola de Arquitetura de 
Engenharia e TI
Ciência da Computação
Sistemas Operacionais
Sistemas 
Operacionais
GERENCIAMENTO DE PROCESSOS
INTRODUÇÃO
Roteiro
❑ Introdução
❑ Processo – Conceito
❑ Estado do Processo
❑ Criação/Novo
❑ Pronto
❑ ExecuçãO
❑ Espera
❑ Concluído
❑ PCB (Bloco de Controle de Processo)
Introdução
❑ Os primeiros sistemas
computadorizados permitiam
que apenas um programa fosse
executado de cada vez.
Introdução
❑ Esse programa tinha controle total do
sistema e tinha acesso a todos os recursos
do sistema.
❑ Em contraste, sistemas computadorizados
dos dias atuais permitem que vários
programas sejam carregados na memória e
executados concorrentemente.
Introdução
❑ Essa evolução exigiu controle mais
rígido e maior compartimentalização
dos diversos programas.
❑ Essas necessidades resultaram na
noção de um Processo, (programa em
execução.)
Introdução
❑ Um processo é a unidade de
trabalho em um sistema moderno
de tempo compartilhado.
❑ Unidade de Trabalho – programa.
Introdução
❑ Um sistema, portanto, consiste em uma
coleção de processos:
▪ Processos do sistema operacional
executando código do sistema.
▪ Processos do usuário - executando
código do usuário.
Introdução
❑ Potencialmente, todos esses processos
podem ser executados de forma
concorrente.
❑ Com a CPU alternando entre os
processos, o sistema operacional pode
tornar o computador mais produtivo.
Processo -
Conceito
❑ Uma questão que surge na discussão sobre
sistemas operacionais envolve como
caracterizar todas as atividades da CPU.
❑ Um processo é uma abstração de um
programa em execução.
O Processo
❑ Um sistema batch executa
jobs, enquanto um sistema
de tempo compartilhado
(tempo para cada processo)
possui programas do
usuário ou tarefas.
❑ Os termos tarefa (job) e
processo são usados para
indicar a mesma ideia no
contexto de atividades.
Estado do 
Processo
❑ Quando um processo é executado, ele mu
dade estado.
❑ O estado de um processo é definido, em p
arte, pela atividade corrente do processo.
Estado do 
Processo
❑ Um processo pode estar em um d
os seguintes estados:
• Criação/Novo.
• Pronto.
• Em execução
• Em espera.
• Concluído.
Estado do Processo
❑ Um processo pode estar em um dos seguintes est
ados:
• Novo - O processo está sendo criado, passa
a fazer parte dos processos prontos a
serem executados.
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes e
stados:
• Pronto - O SO escolhe (através de
critérios e algoritmos próprios) o
processo que será executado na CPU.
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes es
tados:
▪ Execução - Trata da execução em si do
processo (pode passar para o estado de
espera quando aguarda operação de E/S
ou em caso de suspensão do processo).
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes es
tados:
▪ Espera - Um processo em espera passa
para pronto quando a operação solicitada
ou recurso esperado é concedido.
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes es
tados:
▪ Espera→Pronto→Execução
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes es
tados:
▪ Execução - O processo em execução
passa para o estado de terminado
quando o processo finaliza sua execução.
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Estado do Processo
❑ Um processo pode estar em um dos seguintes es
tados:
▪ Concluído - finaliza a execução do 
processo.
CRIAÇÃO
/NOVO
PRONTO
ESPERA EXECUÇÃO
CONCLUÍDO
Bloco de 
Controle
do 
Processo
❑ Cada processo é representado no sistema
operacional por um bloco de controle de
processo.
❑ PCB - Process Control Block - também conhecido
como bloco de controle de tarefa.
Bloco de 
Controle 
do 
Processo
❑ Um PCB contem muitas informações associadas a
um processo específico, a saber:
• Estado do processo.
• Contador de programa (Program Counter).
• Registradores da CPU.
• lnformação de escalonamento de CPU.
Bloco de 
Controle 
do 
Processo
❑ Bloco de Controle de Processo
Estado do Processo
Número do Processo
Contador do Programa
Registradores
Limites de Memória
Lista de arquivos 
abertos
...
Threads
❑ O modelo de processo discutido até agora sugere
que um processo é um programa que executa ap
enas um thread.
❑ Quando um processo está executando um progra
ma de processamento de texto, um
único thread de instruções está sendo executado.
Threads
❑ Esse thread de controle único permite que o pro
cesso execute apenas uma tarefa de cada vez.
❑ Assim não é possível digitar caracteres e
executar o corretor ortográfico dentro do
mêsmo processo.
Threads
❑ Boa parte dos SO’s modernos partem do
conceito de processo para permitir que um
processo tenha múltiplos threads de execução e, assim,
desempenhe mais de uma tarefa de cada vez.
❑ Esse recurso é particularmente benéfico em sistemas multicores,
em que múltiplos threads podem ser executados em paralelo.
Threads
❑ Em um sistema que suporte threads, o PCB é
expandido de modo a incluir informações para
cada thread.
❑ Também são necessárias outras alterações no
sistema como um todo para que ele suporte th
reads.
Scheduling (escalonar) de 
Processos
❑ O objetivo da multiprogramação é ter
processos em execução o tempo todo, para
maximizar a utilização de CPU.
❑ O objetivo do tempo compartilhado é alternar
a CPU entre processos de forma tão frequente
que os usuários possam interagir com cada
programa durante sua execução.
Scheduling de Processos
❑ Para um sistema uniprocessador, nunca haverá
mais de um processo em execução.
❑ Se houver mais processos, os demais terão de
esperar até que a CPU esteja liberada e possa
ser reescalonada.
Filas de 
Scheduling
❑ À medida que os processos entram no sistema, são
colocados em uma fila de jobs.
❑ Essa fila consiste em todos os processos do sistema.
❑ Os processos que estão residindo na memória principal
e estão prontos e esperando para executar.
❑ São mantidos em uma lista chamada fila de processos
prontos.
Filas de 
Scheduling
❑ Essa fila geralmente é armazenada como uma Lista 
Encadeada.
❑ Um cabeçalho de fila de processos prontos contém
ponteiros ao primeiro e Último PCBs na lista.
Filas de 
Scheduling
❑ Estendemos cada PCB para incluir um campo de
ponteiro apontando para o próximo PCB na fila de
processos prontos.
Schedulers
A fila de prontos e várias filas de dispositivo de I/O
Filas de Scheduling
Diagrama mostrando a alternância da CPU de um processo para outro
Schedulers 
(escalonador)
❑ Para fins de scheduling, o
sistema operacional deve selecionar p
rocessos das filas, de alguma forma.
❑ O processo de seleção é
executado pelo scheduler apropriado
(algoritmos específicos).
DÚVIDAS?
SISTEMA OPERACIONAL
Intervalo.
15min.
SISTEMA OPERACIONAL

Continue navegando