Processos e threads
Conceito de Processos
Um sistema operacional executa uma variedade de programas:
Sistemas Batch – jobs,
Sistemas de Tempo Compartilhado - programas de usuários e tarefas. Processo pode ser, inicialmente, definido como um programa em execução. Execução de processo ocorre de maneira seqüencial
apenas uma instrução por vez é executada*
Um processo possui (informações sobre seu estado atual):
Registradores (incluindo contador de instruções), Pilhas e Filas,
Seção de dados, Seção de instruções.
2+ processos podem estar associados a um mesmo programa
Mas: possuem seqüências de instruções distintas
É comum ter um processo que crie vários processos durante sua execução VERIFICAR SAÍDA DO pstree:
[] número de processos
[{}] número de threads init─┬─NetworkManager ├─acpid ├─atd ├─avahi-daemon───avahi-daemon ├─avahi-dnsconfd ├─chipcardd4───chipcardd4 ├─console-kit-dae───63*[{console-kit-dae}] ├─cron ├─cupsd ├─3*[dbus-daemon] ├─2*[dbus-launch] ├─dd ├─dhcdbd ├─dhclient3 ├─freshclam ├─gconfd-2 ├─6*[getty] ├─guidance-power- ├─hald───hald-runner─┬─hald-addon-acpi │ ├─hald-addon-cpuf │ ├─hald-addon-inpu │ └─2*[hald-addon-stor] ├─ica ├─kaccess ├─kded4 ├─kdeinit4─┬─firefox-2───run-mozilla.sh───firefox-2-bin───8*[{firefox-2-bin}] │ ├─ica-launcher─┬─avahi-publish-s │ │ └─ica─┬─ica │ │ └─2*[{ica}] │ ├─klauncher │ ├─ksmserver─┬─kwin │ │ ├─skype───5*[{skype}] │ │ ├─xterm───bash │ │ └─{ksmserver} │ └─2*[python]
Estados do Processo
Um processo pode assumir vários estados durante o seu ciclo de vida: novo: o processo está sendo criado.
executando: instruções estão sendo executadas.
bloqueado: o processo está aguardando algum evento ou resposta de uma operação de I/O.
pronto: o processo está aguardando para ser processado pela
CPU.
encerrado: o processo finalizou suas execuções.
Um