Noes de Processos
Marcelo Johann
Histrico
Lotes monitor multi-programao timesharing Sis. Op.
Aula 03 : Slide 4
Servios oferecidos
O Sis. Op. deve fornecer uma interface aos programas do usurio
Quais recursos de HW? Qual seu uso? Tem algum problema? (Segurana, falha?) preciso de manuteno? Chegou um email? Etc
Objetivos contraditrios:
Convenincia Eficincia Facilidade de evoluo A melhor escolha sempre DEPENDE de alguma coisa
Aula 03 : Slide 5
Aula 03 : Slide 6
Programas de Sistema
Sistema Operacional
Chamadas de sistema: so funes que os programas dos usurios podem usar para acessar os servios do ncleo
Exemplo: ls, mkdir, cd, format, CTRL-C O ncleo assume a execuo.
Histrico multi-programao
Idia seguinte: poupar o desperdcio de CPU devido s Entradas/Sadas
Ociosidade da CPU
Histrico multi-programao
Mais de um job?
Ter um s na CPU, em execuo Onde guardar o job que no estar executando?
Em fita? Muito lento! Em disco (acesso randmico!)
Job B
Como fazer com que o monitor saiba que um job acessa a dispositivos de E/S?
Mecanismo de interrupo.
Sistemas embutidos Celulares, Palm, carros, satlites Sistemas de tempo real Hard real-time vs. soft real-time
Aula 03 : Slide 13 INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 03 : Slide 14
Exemplos: Windows
Windows NT 3.1, 1993
Multi-tarefas, mono-usurio 32 bits casca grfica (janela) em cima de MS-DOS e/ou OS/2
Exemplos: Linux
1991 com o trabalho de Linus Torvalds sobre o kernel para i386 (kernel 0.01, maio 1991) Maro de 94: kernel 1.0 com suporte de rede
Maro de 95: kernel 1.2 suporte a novo HW (Sparc, Alpha).
Windows NT 4.0, 1995: mudanas sobretudo na API grfica, suporte a SMPs Windows 2000, 1999: servios distribudos
Cliente/servidor Organizao em micro-ncleo e orientada a objetos Multi-usurios NTFS
Junho de 96: verso 2.0 suporte a SMP, Sparc, melhora na memria virtual e no sistema de arquivos, threads no kernel, mdulos 2002 verso 2.4.x melhora nos algoritmos de escalonamento das threads. Agora verso 2.6.y
INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2009/2 Aula 03 : Slide 16
Aula 03 : Slide 15
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.
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 03 : Slide 18
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)
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.
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 03 : Slide 19
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.
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 03 : Slide 23
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.
Sinais
sigaction(), sigreturn(), sigprocmask(), kill()...
Gerenciamento de arquivos
open(), close(), mknod(), read(), write(), pipe(),... mkdir(), mount(),...
Aula 03 : Slide 27
Aula 03 : Slide 28
Prxima Aula