Académique Documents
Professionnel Documents
Culture Documents
Aula 04 : Slide 2
Plano da aula
Definio do processo (relembrando) Interrupes (relembrando) Chamadas de Sistema Criao e Comunicao entre processos
fork pipes sinalizao
O conceito de processo
Um programa :
Uma seqncia finita de instrues; Uma entidade passiva (que no se altera com o passar do tempo). Armazenado em disco.
Um processo :
Uma abstrao que representa um programa em execuo; Uma entidade dinmica: seu estado se altera conforme for executando. Armazenado na memria.
Tabela de Processos
Para manter as informaes relativas aos processos, o ncleo deve manter:
Uma estrutura de dados relativa a um dado processo
struct proc Process Control Block (PCB)
Unidade de escalonamento
Estado; Algoritmos de escalonamento para otimizar o uso do HW. Alocar a CPU a um processo implica em uma troca de contexto
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 5
As chamadas de sistema que manipulam os processos iro interagir com essas estruturas de dados.
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 6
Grupo de processos
Compartilhamento de recursos Baseados em hierarquia de processos:
Um processo pai cria processos filhos; Os filhos podem executar o mesmo cdigo, ou troc-lo; Obtem-se uma rvore de processos.
Suporte de Hardware: modos de execuo O HW prov no mnimo dois modos de execuo diferentes:
Modo privilegiado (protegido, sistema) todo o conjunto de operaes disponvel. o modo de execuo do Sis. Op. Modo usurio: uso limitado. Os processos usurios operam neste modo.
Chaveamento de modos:
o fato de passar de um modo para o outro. Usurio -> protegido: por interrupo. Protegido -> usurio: por instruo clssica (yield, return, ).
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 9
O usurio deve passar pelo Sis. Op. atravs de uma chamada de sistema, que gera uma interrupo (trap).
Processos e Disco
Os processos devem interagir com o disco para armazenar e recuperar dados no volteis. O disco fsico abstrado pelo Sistemas de Arquivos, de acordo com uma hierarquia:
Diretrios Arquivos.
Conforme for a prioridade e o tipo de escalonador, a troca de contexto pode ser imediata ou atrasada. O que acontece se houver uma interrupo durante o tratamento de uma interrupo?
Comparam-se as prioridades Possibilidade de desabilitar as interrupes em casos crticos.
Chamadas de sistema
A chamada de sistema oferece o servio ao processo usurio, em modo seguro. Ela gera uma interrupo
Identificao, prioridade, handler
Sinais
sigaction(), sigreturn(), sigprocmask(), kill()...
Gerenciamento de arquivos
open(), close(), mknod(), read(), write(), pipe(),... mkdir(), mount(),...
Conforme for a prioridade e o tipo de escalonador, a troca de contexto pode ser imediata ou atrasada. O que acontece se houver uma interrupo durante o tratamento de uma interrupo?
Comparam-se as prioridades Pode desabilitar as interrupes em casos crticos.
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 13
Aula 04 : Slide 14
Um serve para a escrita, o outro para ler Usando 2 processos, um pode escrever no pipe, e o outro ler do pipe
Fd[1] Fd[0]
Sinalizao de processos
Uma das formas de interagir entre processos atravs de sinais.
A recepo assncrona Ao receber um sinal, o processo para sua atividade, Ele executa um tratamento de sinal adaptado (signal handler), Ao se encerrar o tratamento, o processo pode voltar ao estado onde estava antes.
Parte da imagem est sob a responsabilidade do usurio; parte dela s gerenciada en modo protegido (pelo Sis. Op.)
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 18
Stack Pointer
Texto
Fala-se de processos CPU-bound vs. I/O-bound Caso perfeito: mesclar os dois tipos de CPU atravs de escalonamento. Na real: difcil definir qual processo CPU/IO bound!
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 20
Processos vivem
Executam na CPU, liberam a CPU (E/S) Executam:
Programas dos usurios Programas do sistema ( daemons)
Processos morrem
Ou porque terminaram sua execuo Ou porque um outro processo os matou:
Erro, acesso no-autorizado, falha
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 21
Aula 04 : Slide 22
Diagrama de estados
Interrupo Criado
Interrupo Sada
Encerrado
Pronto
Concluso E/S evento
(Silberschatz, 4.1.2)
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 23 INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 04 : Slide 24
Prxima aula
Implementao de Processos
Aula 04 : Slide 27