Slide 1 - WordPress.com

Propaganda
Administração de Sistemas
Operacionais 1 -Windows
Processos
Curso Técnico em Redes de Computadores
Prof. Emerson Felipe
O QUE É UM PROCESSO?
Definições
 Processo
É um programa em execução
 Programa
Código fonte que possui instruções a serem seguidas, e
que ao serem executadas é chamada de processo.
Processo
Um processo é composto de:
 Espaço de endereçamento
texto (código binário) ;
dados (variáveis);
pilha;
 Entrada na tabela de processos
Criação e término de processos
Principais eventos que levam a criação de processos:
 Início do sistema;
 Execução de uma chamada de sistema de criação de
processo por um processo em execução;
 Uma requisição do usuário para criar um novo processo;
Principais eventos que levam ao término de processos:
 Saída normal (voluntária);
 Saída por erro (voluntária);
 Erro fatal (involuntária);
 Cancelamento por um outro processo (involuntário).
Hierarquia de processos
Em uma hierarquia de processos o primeiro processo
é chamado de processo pai esse pode criar outros
processos chamados de processos filhos que também
podem criar outros processos que também são
chamados de processos filhos.
Hierarquia de processos
Esse tipo de hierarquia de processos é utilizado pelo
sistema operacional UNIX.
Este tipo de organização dificulta a propagação de
vírus em nossos sistemas operacionais, pois quando
um processo pai é “morto” seja pelo sistema ou pelo
próprio usuário, todos que estiverem abaixo dele na
hierarquia serão mortos também.
Hierarquia de processos
Agora no Windows um conceito de hierarquia não
seria muito adequado, primeiramente cada processo
do Windows possui um identificador próprio
chamado de handle, algo como uma hierarquia
ocorre somente quando um processo gera outro, a
partir desse ponto o processo filho ganha uma
ligação com o identificador do processo pai.
Hierarquia de processos
Ao contrário do que ocorre no Unix, quando um
processo pai é “morto”, seus filhos não morrem junto
com o processo pai, o que não é muito efetivo contra
os vírus, pois não adianta matar o só o processo
gerador dos vírus, tem que elimina-los por completo
matando todos os seus filhos.
Estado dos processos
Possíveis estados de processos:
• Em execução;
• Bloqueado;
• Pronto.
Transições válidas:
• Pronto -> Em execução;
• Em execução -> Pronto;
• Em execução -> Bloqueado;
• Bloqueado -> Pronto.
THREADS
Threads
 As
threads são processos leves que
trabalham dentro de um processo comum,
com o objetivo de colaborar na execução
deste mesmo processo.
 Um processo pode possuir uma ou mais
threads e essa quantidade pode variar de
programa para programa, ou conforme as
solicitações realizadas pelo usuário para o
programa.
Threads
A
thread ocupa o mesmo espaço de
endereçamento e entrada na tabela de
processos correspondente ao processo a quem
pertence.
 Como já vimos, a thread é uma divisão do
processo principal de um programa. Todavia,
nem todos os processos são divididos em
múltiplas threads, assim como nem todos os
processadores são capazes de trabalhar
“tranquilamente” com uma enormidade de
threads.
Threads
 A figura (a) apresenta três processos cada um com um
thread.
 A figura (b) mostra um processo com três threads.
ESCALONAMENTO
Escalonamento
 Faz parte do sistema operacional e decide que processo
executará e quando executará.
 Realiza o agendamento dos processos, ele utiliza um
algoritmo de agendamento;
 Cada processo é único e imprevisível e isso dificulta o
trabalho do agendador/escalonador;
 Há várias formas de escalonar um processo, aqui
daremos ênfase ao escalonamento por prioridade.
Escalonamento
 Escalonamento por prioridade:
 A cada processo é atribuída uma prioridade, e o
processo com maior prioridade recebe permissão para
executar;
 O Sistema Operacional deve definir a quem atribuir
prioridade, ele ou o próprio usuário;
Escalonamento
 A figura apresenta o escalonamento por prioridade.
MÁQUINAS VIRTUAIS
Máquinas Virtuais
A máquina virtual é um computador fictício que simula
uma máquina real, onde a sua
memória e seu processador são virtualizados.
Exemplo: Virtual PC, VMware, VirtualBox, entre outros.
DÚVIDAS
Download