Escolar Documentos
Profissional Documentos
Cultura Documentos
2.1 Processos 2.2 Threads 2.3 Comunicao interprocesso 2.4 Problemas clssicos de IPC 2.5 Escalonamento
Multiprogramao de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um programa est ativo a cada momento
de criao de processos 3. Solicitao do usurio para criar um novo processo 4. Incio de um job em lote
4
Condies que levam ao trmino de processos 1. Sada normal (voluntria) 2. Sada por erro (voluntria) 3. Erro fatal (involuntrio) 4. Cancelamento por um outro processo (involuntrio)
Pai cria um processo filho, processo filho pode criar seu prprio processo Formam uma hierarquia
UNIX chama isso de grupo de processos
pronto
Esqueleto do que o nvel mais baixo do SO faz quando ocorre uma interrupo
10
Implementar uma estrutura de dados adequada que represente um processo em memria como no Slide 9.
o Utilizar uma struct C o Criar os arquivos proc_man.h e proc_man.c
Criar uma segunda estrutura que represente uma coleo de processos em memria.
o Pode ser alocada esttica ou dinamicamente o Deve existir uma constante que defina o nmero mximo de
processos que seu SO pode gerenciar. o Na inicializao do Kernel voc deve chamar um procedimento que inicializa o ambiente do gerenciador de processos e chamar o escalonador dentro de um loop infinito (o loop principal do SO).
11
Trs processos cada um com um thread (b) Um processo com trs threads
(a)
12
13
Items compartilhados por todos os threads em um processo Itens privativos de cada thread
17
18
Evita transies usurio/ncleo desnecessrias Ncleo atribui processadores virtuais para cada processo
deixa o sistema supervisor alocar threads para
processadores
Problema: Baseia-se fundamentalmente nos upcalls - o ncleo (camada inferior) chamando procedimentos no espao do usurio (camada superior)
22
23
Condies de Disputa
1. Nunca dois processos simultaneamente em uma regio crtica 2. Nenhuma afirmao sobre velocidades ou nmeros de CPUs 3. Nenhum processo executando fora de sua regio crtica pode bloquear outros processos 4. Nenhum processo deve esperar eternamente para entrar em sua regio crtica
25
(b) Processo 1.
28
Exemplo de um monitor
33
Delineamento do problema do produtor-consumidor com monitores somente um procedimento est ativo por vez no monitor o buffer tem N lugares
34
37
Filsofos comem/pensam Cada um precisa de 2 garfos para comer Pega um garfo por vez Como prevenir deadlock
38
39
43
45
47
49
50
Dados
m eventos peridicos
evento i ocorre dentro do perodo Pi e requer Ci segundos
Ci 1 i1 P i
51
52
53
processo com quantum de 50-mseg threads executam 5 mseg por surto de CPU