Cap2 ParteA (1)
-
Upload
andrei-lua -
Category
Documents
-
view
229 -
download
1
description
Transcript of Cap2 ParteA (1)
-
Unidade 2 (Processos, Threads, Escalonamento e Gerncia do Processador)
Aleksandra do S. da Silva
1
-
Agenda
Parte 1 -
Motivaes Iniciais
O Modelo de Processo
Gerncia de processos
Criao de Processos
Trmino de Processos
Hierarquia de Processos
Estados do Processo
Mudanas de Estado do Processo
Alternncia entre Processos (Troca de Contexto)
Implementao de Processos
Tipos de Processos Quanto ao comportamento
2
-
Objetivos de Aprendizagem
Ao final deste estudo, voc deve ser capaz de:
Compreender o conceito relacionado ao Modelo de Processo adotado
na cincia da computao
Conhecer as atividades de gerncia de processo de um sistema
operacional
Entender especificamente os aspectos principais relacionados
criao, trmino, hierarquia, estado, mudana de estados, alternncia
entre processos, como os SOs implementam o conceito de processo e
os tipos de processo quanto ao comportamento.
3
-
Motivaes Iniciais
Computador digital: mquina que pode resolver problemas para as
pessoas executando instrues que lhe so dadas (Tanebaum, 2006)
Sequncia de instrues: Compe um Programa.
Fonte da Figura: Tanebaum, 2003
4
-
Motivaes Iniciais
Como os computadores
modernos atuam em relao
vrias tarefas (programa) que
solicitamos que sejam
executadas por ele ?
Open Office
Navegador
5
Sem a abstrao de processos, a cincia da
Computao Moderna no existiria. (Tanebaum, 2010)
-
Nesse modelo, todos os software que podem ser executados em
um computador (inclusive o prprio SO) so organizados em
processos.
Um processo apenas um programa em execuo , acompanhado dos
valores do contador de programa, dos registradores e das variveis. (Tanebaum, 2003)
Exemplos de Processo:
um compilador sendo utilizado por um usurio;
um editor de textos sendo executado por um usurio individual em um
microcomputador.
Programa x Processo: Entidade passiva e Entidade ativa
Analogia: Um programa para um processo o que uma partitura
para a orquestra sinfnica (Deitel, 2005)
O Modelo de Processo
6
-
Outra definio para Processo:
Um processo (Machado & Maia, 2002) representa um ambiente onde o
programa ser executado e possui todas as informaes
necessrias para que um programa execute como:
os valores armazenados em seus registradores no momento da execuo
de uma instruo;
valores armazenados em seus registradores especiais ou especficos;
recursos que eles podem usar como: quotas de disco;
privilgios que este programa possui;
identificao do criador;
informaes sobre o espao de memria alocados em seus cdigos e
dados, dentre outros.
etc
O Modelo de Processo
7
-
Gerncia de Processos
Atividades do Sist. Operacional em relao gerncia de
processos (Silberschatz, Galvin & Gagne, 2000) :
1) Criar e excluir processos de usurio e de sistema
2) Suspender e retomar processos, ou seja realizar o
escalonamento destes processos
3) Fornecer mecanismos para a comunicao e
sincronizao de processos
4 ) Fornecer mecanismos para tratamento de deadlocks
(impasses)
8
-
Criao de Processos
Principais eventos que levam criao de processos:
Incio do sistema. Ex: todas as vezes que o sistema
carregado, existem processos sendo executados em 1o
plano (FOREGROUND) e outros em 2o plano
(BACKGROUND) (chamados daemons)
Execuo de chamada ao sistema de criao de processos
por um processo em execuo. Ex: todas as vezes que
necessrio mais de um processo pra realizar uma tarefa
Em sistemas interativos, o usurio pode solicitar a
inicializao de um programa digitando ou clicando em um
cone, o que leva a criao de um novo processo .
Incio de um job em lote. Ex: em mainframes(Tanebaum, 2010)
9
-
Trmino de Processos
Condies que levam ao trmino de processos:
Sada normal (voluntria). Ex: gcc nome do arquivo
Sada por erro (voluntria). Ex: gcc nome de arquivo que no
existe
Erro fatal (involuntrio). Ex: programa que faz uma diviso
por zero.
Cancelamento por um outro processo (involuntrio). Ex: kill -
9 nome do arquivo
Obs: em alguns sistemas, quando um processo termina
(voluntariamente ou no) todos os processos criados por ele
so imediatamente cancelados.
(Tanebaum, 2010)
10
-
Hierarquia de Processos
Pai cria um processo filho, processo filho pode criar outro
processo filho: formam uma hierarquia
No UNIX, todos os seus filhos e descendentes formam um
grupo de processos; o Windows no apresenta o conceito de
hierarquia, pois todos os processos so iguais. Algo parecido
ocorre apenas quando o proc. criado; ao pai dado um
identificador (handle), que ele pode usar para controlar o filho,
entretanto ele pode passar esse identif. para outros processos.
Fonte da Fig.: Silberschatz, Galvin e
Gagne 2000
11
-
Estados do Processo
Existem basicamente trs estados que um processo pode
se encontrar:
Execuo (running): Um processo est no estado de Execuo,
quando est realmente usando o processador.
Pronto (Ready): Um processo est no estado Pronto, quando
est temporariamente parado, apenas aguardando uma
oportunidade para executar.
Bloqueado (Wait): Um processo est no estado, de Bloqueado
ou Espera quando est incapaz de executar, pois est
aguardando algum evento externo ou algum recurso para poder
prosseguir seu processamento.
12
-
Mudanas de Estados do Processo
Execuo
Bloqueado Pronto
1 2
3
4
Eventos/acontecimentos que ocasionam
as mudanas de estado dos processos:
1: Execuo Bloqueado: SO descobre
que o processo no pode prosseguir, pois
o processo est aguardando uma
operao de E/S.
2: Execuo Pronto: Transio causada
pelo SO , que escolhe outro processo
para executar (atravs do escalonador do
SO).
3: Pronto Execuo: Transio
tambm causada pelo S.O, que entrega o
processador para um processo (atravs
do escalonador do SO)
4: Bloqueado Pronto: operao
solicitada atendida ou o recurso
esperado concedido
Fonte da fig.: (Tanebaum, 2010)
13
-
Para que o SO fornea
a iluso de paralelismo
necessrio que ele seja
capaz de realizar troca
de contexto de um processo
para o outro, ou seja salvar o
estado atual do processo que
tava executando e carregar o
estado do novo processo a ser
executado.
(Machado & Maia).
Alternncia entre processos (Troca de Contexto)
14
-
Implementao de Processos
O Sist. operacional materializa o
processo atravs de uma tabela,
chamada tabela processos com uma
entrada para cada processo (Tanebaum,
2010), que mantm todas as
informaes referentes a um
determinado processo.
PCB
Fonte da Fig.: Silberschatz, Galvin e
Gagne 2000
15
-
CPU-Bound (orientado CPU): Um processo considerado CPU-Bound,
quando passa maior parte do tempo no estado de execuo, ou seja,
utilizando o processador e realiza poucas operaes de E/S. Exemplo:
Aplicaes matemticas ou cientficas.
Fonte da Fig.: Silberschatz, Galvin e Gagne 2000
I/O Bound (orientado E/S): Um processo considerado I/O-Bound,
quando passa maior parte do tempo no estado de espera, pois realiza um
elevado nmero de operaes de E/S. Exemplo: Aplicaes comerciais
Tipos de Processos Quanto ao comportamento
16
-
Objetivos de Aprendizagem
Ao final deste estudo, voc deve ser capaz de:
Compreender o conceito relacionado ao Modelo de Processo adotado
na cincia da computao
Conhecer as atividades de gerncia de processo de um sistema
operacional
Entender especificamente os aspectos principais relacionados
criao, trmino, hierarquia, estado, mudana de estados, alternncia
entre processos, como os SOs implementam o conceito de processo e
os tipos de processo quanto ao comportamento.
17
-
Referncias Bibliogrficas
DEITEL, H.; DEITEL, P.;D. CHOFFNES. Sistemas Operacionais. 3 ed. 2005.
MACHADO, F.B. MAIA, L. P. Arquitetura de Sistemas Operacionais. Editora: LTC, 3a. ed. 2002
SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas Operacionais Conceitos e Aplicaes. Campus, 2000.
TANENBAUM, ANDREW S. Sistemas Operacionais Modernos. Prentice-Hall, 2a. ed. 2003.
TANENBAUM, ANDREW S. Sistemas Operacionais Modernos. Prentice-Hall, 2a. ed. 2010
18