Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AVISO:
Todos os slides do curso foram elaborados com base em contedo da Internet, devidamente referenciados ao seu lado direito. Esta coletnea de informaes tem objetivo puramente educacional e no ser comercializado, descaracterizando-se o plgio ou qualquer tipo de utilizao indevida. Todos os crditos e direitos dos textos, imagens e vdeos utilizados pertencem aos seus respectivos proprietrios, no estando incorporados ao presente trabalho.
2
MDULO 4
PROCESSO Parte 2
Subprocessos
Em um sistema operacional, todos os processos so filhos de outro processo.
O processo que cria um outro processo chamado de processo pai, enquanto o processo criado chamado de processo filho ou subprocesso:
http://www.ppgia.pucpr.br/~laplima/ensino/soee/materia/02_processos.html
O subprocesso, por sua vez, pode criar outros subprocessos. Como consequncia desta estrutura, caso um processo deixe de existir, os subprocessos subordinados so eliminados.
http://pt.scribd.com/doc/56258529/65/Subprocesso-e-Thread
Subprocessos
Nos sistemas operacionais mais antigos, cada processo possua um nico fluxo de controle, ou seja, as instrues eram executadas sequencialmente, uma de cada vez. J nos sistemas mais modernos, um processo pode, por sua vez, dar incio a um ou mais subprocessos, que so executados em paralelo ou de forma concorrente com o processo pai e, para todos os efeitos, apresentam as mesmas caractersticas e particularidades de um processo qualquer, no tocante a contexto e fluxo de controle.
http://equipe.nce.ufrj.br/thome/grad/so_old/apostila/Processos.pdf
Subprocessos
Subprocessos
Quer dizer ento que... Um programa pode solicitar ao sistema operacional para colocar em execuo um outro programa???
Subprocessos
Consideraes sobre subprocessos:
Um subprocesso tratado pelo S.O. como um processo; Todo subprocesso tem PCB prprio e compartilha o processador como os processos; Os subprocessos passam pelos mesmos estados que um processo; A diferena entre eles a relao hierrquica: o subprocesso filho do pai, assim, em eliminado o pai, o subprocesso tambm eliminado!
8
Threads
Como voc viu os subprocessos so tratados como processos, inclusive tendo seu prprio PCB e passando pelos mesmos estados. Com o intuito de reduzir o tempo gasto na criao ou eliminao de processos e economizar recursos, surgiu o conceito de thread.
Threads compartilham o processador da mesma maneira que um processo. Por exemplo, enquanto um thread espera por uma operao de E/S, outro thread pode ser executado.
10
http://pt.scribd.com/doc/56258529/65/Subprocesso-e-Thread
Threads
A grande diferena entre subprocessos e threads em relao ao espao de endereamento: enquanto subprocessos possuem, cada um, espaos de endereamento independentes e protegidos, threads compartilham o mesmo espao de endereamento do processo, sem nenhuma proteo, permitindo assim que um thread possa alterar dados de outro thread.
11
http://pt.scribd.com/doc/56258529/65/Subprocesso-e-Thread
Threads
Threads representam uma nova concepo na forma de um processo paralelizar a execuo de partes do seu cdigo. Os threads, conceitualmente, se assemelham a subprocessos porm no possuem identidade prpria e, portanto, no so independentes. Cada thread possui seu prprio contador de programa, sua pilha e seus registradores porm compartilham todos o mesmo espao de endereamento, isto , como se fossem uma nica entidade.
12
http://equipe.nce.ufrj.br/thome/grad/so_old/apostila/Processos.pdf
Threads
13
http://equipe.nce.ufrj.br/thome/grad/so_old/apostila/Processos.pdf
Threads
Threads
Traduzindo... Threads so pedaos de um mesmo programa que so executados de modo concorrente, ou seja, como se fossem outros programas. O programador pode criar quantos threads quiser a partir de um programa (processo). A estrutura que controla os threads chamada de TCB (Thread Control Block).
14
Processos Independentes
So processos criados por outro processo, porm no existindo nenhuma relao hierrquica entre eles.
Se o processo pai for morto, o filho continuar sendo executado; Na prtica, quando um programa chama para execuco outro programa totalmente diferente.
Exemplo???
a
15
Menos processos e mais threads. Programas associados a threads. Os threads sofrem mudana de estado (pronto, espera e execuo), e tem seu prprio bloco de controle(o TCB). Processo -> Unidade de alocao. Thread -> Unidade de escalonamento. O S. O. v e escalona os threads de cada processo
Processos do Sistema
O conceito de processo, alm de estar associado a aplicaes de usurios, pode tambm ser implementado na prpria arquitetura do sistema operacional, conforme visto nos sistemas com arquitetura microkernel. Quando processos so utilizados para a implementao de servios do sistema,estamos retirando cdigo de seu ncleo, tornando-o menor e mais estvel.
Machado e Maia Arquitetura de Sistemas Operacionais
19
Em um computador com o sistema Linux instalado, a ltima etapa da inicializao do sistema a criao do processo init pelo kernel. A partir da, todos os outros processos so criados. O init o pai de todos os processos e o ltimo passo executado no processo de inicializao do sistema Linux. O init procura pelo arquivo /etc/inittab que descreve os processos a serem inicializados para o funcionamento do sistema. Para aprender mais sobre o procedimento de inicializao do sistema Linux, acesse e leia o texto disponvel em:
http://www.cin.ufpe.br/~phmb/sysadm/boot.html
20
http://pt.kioskea.net/contents/langages/langages.php3
Sinais
Os sinais so meios usados para que os processos possam se comunicar e para que o sistema possa interferir em seu funcionamento. Essencialmente, um sinal uma notificao assncrona enviada para um processos com o objetivo de notificar a ocorrncia de um evento. Quando um sinal enviado a um processo, o sistema operacional interrompe o seu fluxo normal de execuo.
21
http://pt.wikipedia.org/wiki/Sinal_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)
Sinais
Determinadas combinaes de teclas, ao serem pressionadas no terminal de controle de um processo em execuo, fazem com que o sistema envie determinados sinais a este processo:
CTRL-C (DEL em verses antigas do Unix) envia um sinal INT (SIGINT); normalmente causa o trmino do processo. CTRL-Z envia um sinal TSTP (SIGTSTP); normalmente causa a suspenso da execuo do processo. CTRL-\ envia um sinal QUIT (SIGQUIT); normalmente causa o trmino da execuo do processo e a gerao de um core dump.
22
http://pt.wikipedia.org/wiki/Sinal_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)
Sinais
A chamada de sistema kill envia um sinal ao processo, se o usurio tiver permisso para tal. De maneira parecida, o comando kill do Unix permite que um "usurio" envie sinais a um processo. As excees causadas por diviso por zero ou violao de segmento de memria geram sinais (SIGFPE e SIGSEGV, respectivamente, gerando um core dump).
23
http://pt.wikipedia.org/wiki/Sinal_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)
http://www.vivaolinux.com.br/artigo/Processosno-Linux?pagina=2
http://doc.fug.com.br/handbook/basicsdaemons.html
24
PESQUISE!
25
RESUMINDO...
Neste mdulo voc aprendeu que processo nada mais do que um programa em execuo. Entendeu que os processos no ficam o tempo todo utilizando o processador, mas passam por diversos estados durante sua existncia. Tambm entendeu que existem classificaes de processos, e como estes so criados e controlados pelo sistema operacional.