Prof. Kleber R. Rovai Msn: [email protected] E

Transcrição

Prof. Kleber R. Rovai Msn: [email protected] E
08/03/2012
Prof. Kleber R. Rovai
Msn: [email protected]
E-mail: [email protected]
Skype: klrovai
Prof. Kleber R. Rovai
[email protected]
2
1
08/03/2012
• Programa: sequência de instruções com
diferentes fluxos de execução
 comandos
condicionais e interativos (entidade passiva);
• Processo: um programa em execução
(entidade ativa). É uma abstração para um
programa em execução;
•
Termo: processo = job;
Prof. Kleber R. Rovai
[email protected]
3
• Vários processos podem existir ao mesmo
tempo no sistema;
• Processador se reveza entre os processos.
•
Um processo inclui:
• contador de instruções;
• pilha;
• área de dados;
Prof. Kleber R. Rovai
[email protected]
4
2
08/03/2012
• Quando o processador muda de um
processo para outro, algumas informações
devem ser salvas (identificação do processo,
estado da máquina, ponteiro da área de
dados, de código entre outras);
• Ao conceito de processo estão associadas
algumas informações que caracterizam o seu
contexto de execução.
Prof. Kleber R. Rovai
[email protected]
•
5
Para a solução de uma tarefa, processos podem:
• Criar processos filhos;
• Comunicar (comunicação interprocessos);
•
Interpretador de Comandos (shell) é o processo
que recebe e trata comandos do usuário;
•
Processos são identificados por um PID e
geralmente associados a um UID.
Prof. Kleber R. Rovai
[email protected]
6
3
08/03/2012
•
•
•
•
Sistemas antigos: só o sistema operacional podia
criar novos processos;
Sistemas atuais, os usuários podem criar e
destruir processos dinamicamente;
SO deve fornecer chamadas para a manipulação
e gerência de processos;
Quando um novo processo é criado, o seu PCB
(Bloco de Controle de Processo) é preparado com
as informações básicas e colocado na fila de
prontos.
Prof. Kleber R. Rovai
[email protected]
•
7
Quatro eventos principais:
• Início do Sistema;
• Execução de uma chamada ao sistema de
criação de processo por um processo em
execução;
• Uma requisição do usuário para criar um
novo processo;
• Início de um job em lote.
Prof. Kleber R. Rovai
[email protected]
8
4
08/03/2012
• Atribui um PID único;
• Aloca as estruturas de dados associadas a
um processo;
• Aloca o espaço necessário em memória;
• PCB deve ser iniciado;
• Gera consistência das listas do SO que devem
ser mantidas;
Prof. Kleber R. Rovai
[email protected]
Identificação
do Processo
PCB
9
Criação de Processo
Informação
do Estado
Informação
de Controle
Pilha do
Usuário
Espaço de
Endereçamento
privativo do
usuário
(programas,
dados)
Espaço de
Endereçamento
Compartilhado
Prof. Kleber R. Rovai
[email protected]
Estrutura com
Lista de processos
Processo de usuário na memória
10
5
08/03/2012
•
•
•
Processos pais criam processos filhos, que
podem criar novos processos  árvore de
processos;
Compartilhamento de recursos:
• Pais e filhos compartilham os mesmos
recursos;
• Filhos compartilham um subconjunto dos
recursos do pai;
• Pais e filhos não compartilham algum recurso.
Execução
• Pai e filhos executam concorrentemente;
• Pai aguarda até que os filhos terminem.
Prof. Kleber R. Rovai
[email protected]
11
• Espaço de endereçamento
• Filho é uma cópia do pai;
• Filho tem um novo programa carregado.
• Exemplos do UNIX:
• Chamada ao sistema:
• Fork cria novos processos;
• Execve usada após um fork para
sobrepor o espaço de endereçamento
do processo com um novo programa.
Prof. Kleber R. Rovai
[email protected]
12
6
08/03/2012
root
pagedaemon
swaper
user 1
init
user 2
user 3
Prof. Kleber R. Rovai
[email protected]
13
• Processos executam a última linha  chama
o SO para controlar a terminação (exit);
• Saída de dados do filho para o pai (wait);
• Recursos do processo são desalocados pelo
SO;
Prof. Kleber R. Rovai
[email protected]
14
7
08/03/2012
• Pais podem terminar a execução de processos
filhos (abort);
• filhos excederam os recursos alocados;
• tarefa de encumbência do filho não é mais
necessária;
• Pai está terminando:
• SO não permite que o filho continue se o
seu pai terminou;
• Terminação em cascata;
Prof. Kleber R. Rovai
[email protected]
15
• Unix – em um processo, todos os seus
filhos e descendentes formam um grupo de
processo. Não podendo deserdar seus
filhos. Pertencendo a uma única árvore;
• Windows – não apresenta nenhum conceito
de hierarquia de processos. Todos são
iguais.
Prof. Kleber R. Rovai
[email protected]
16
8
08/03/2012
•
Processos podem estar:
• Ativos - em execução na CPU;
• Prontos – executável, mas
temporariamente parado para dar lugar a
outro processo;
• Bloqueados – incapaz de executar
enquanto não ocorrer um evento externo.
Prof. Kleber R. Rovai
[email protected]
1
2
3
4
17
- O processo bloqueia aguardando uma entrada;
- O escalonador seleciona outro processo;
– O escalonador seleciona esse processo;
– A entrada torna-se disponível.
Prof. Kleber R. Rovai
[email protected]
18
9
08/03/2012
•
•
Camada mais inferior de um SO estruturado por
processos trata as interrupções, escalonamento;
Acima daquela camada estão os processos
sequenciais.
Prof. Kleber R. Rovai
[email protected]
•
19
O SO mantem uma tabela (vetor de estruturas)
chamada de tabela de processos, com uma
entrada para cada processo.
•
Bloco de controle de processo (PCB);
•
Representação de um processo no SO:
Prof. Kleber R. Rovai
[email protected]
20
10
08/03/2012
estado do
processo
ponteiro
número do processo
apontador de instruções
registradores
limites na memória
lista de arquivos abertos
.
.
.
Prof. Kleber R. Rovai
[email protected]
•
21
Informações associadas à cada processo:
• Estado do processo;
• Apontador de instruções;
• Registradores da CPU;
• Informações relativas ao escalonamento da
CPU;
• Informações relativas ao gerenciamento de
memória;
• Dados para contabilidade (estatísticas);
• Informações relativas ao status de I/O.
Prof. Kleber R. Rovai
[email protected]
22
11
08/03/2012
Campos da entrada de uma tabela de processos
Prof. Kleber R. Rovai
[email protected]
23
Esqueleto do que o nível mais baixo do SO
faz quando ocorre uma interrupção
Prof. Kleber R. Rovai
[email protected]
24
12
08/03/2012
•
DEADLOCK
•
É uma situação onde dois processos competem
por recursos do sistema e ficam
indefinidamente bloqueados
Prof. Kleber R. Rovai
[email protected]
•
•
•
25
Processos independentes não podem afetar a
execução de outros processos.
Processos cooperativos podem afetar ou ser
afetados pela execução de um outro processo
envolvido;
Vantagens da cooperação entre processos:
• Compartilhamento de informações;
• Aumento da velocidade de computação;
Prof. Kleber R. Rovai
[email protected]
26
13
08/03/2012
1) No slide 18, são mostrados três estados de
processos. Na teoria, com três estados poderia
haver seis transições, duas para cada estado.
Contudo, somente quatro transições são
mostradas. Há alguma circunstância
na qual uma delas ou ambas as transições não
ilustradas Possam ocorrer?
Prof. Kleber R. Rovai
[email protected]
27
2) Suponha que você seja o projetista de uma
arquitetura de computador avançada que fez a
alternância entre processo por hardware em
vez de usar interrupções. De que informação a
CPU precisaria? Descreva como o processo de
alternância por hardware poderia funcionar.
3) Em todos os computadores atuais, pelo
menos uma parte dos tratadores de
interrupção é escrita em linguagem
de montagem. Por quê?
Prof. Kleber R. Rovai
[email protected]
28
14
08/03/2012
•
Sistemas Operacionais Modernos
•
•
Sistemas Operacionais
•
•
Andrew S. Tanenbaum
Abrahan Silberschatz, Peter Galvin, Greg Gagne
Embedded Software Development with
eCos
•
Anthony J. Massa
Prof. Kleber R. Rovai
[email protected]
29
15

Documentos relacionados

Prof. Kleber R. Rovai Msn: [email protected] E

Prof. Kleber R. Rovai Msn: klrovai@hotmail.com E O Windows 7 (em inglês: Windows Seven) é o atual sistema operacional da Microsoft, sucessor do Windows Vista. Sua história começa com o lançamento do Windows Vista, onde a Microsoft já fazia planos...

Leia mais