Escolar Documentos
Profissional Documentos
Cultura Documentos
Prof. Dr. Jos Lus Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto
Faculdade de Tecnologia de Americana Centro Paula Souza
Tpicos
Conceito de Processos Escalonamento de Processos Operaes em Processos Processos Cooperantes Comunicao entre Processos Comunicao em Sistemas Cliente-Servidor Introduo aos Threads Modelos de Multithreading
Conceito de Processos
Processo pode ser, inicialmente, definido como um programa em execuo. Execuo de processo ocorre de maneira seqencial apenas uma instruo por vez executada* Um processo possui (informaes sobre seu estado atual):
Registradores (incluindo contador de instrues), Pilhas e Filas, Seo de dados, Seo de instrues.
Conceito de Processos
2+ processos podem estar associados a um mesmo programa Mas: possuem seqncias de instrues distintas comum ter um processo que crie vrios processos durante sua execuo VERIFICAR SADA DO pstree: [] nmero de processos [{}] nmero de threads
Conceito de Processos
initNetworkManager acpid atd avahi-daemonavahi-daemon avahi-dnsconfd chipcardd4chipcardd4 console-kit-dae63*[{console-kit-dae}] cron cupsd 3*[dbus-daemon] 2*[dbus-launch] dd dhcdbd dhclient3 freshclam gconfd-2 6*[getty] guidance-powerhaldhald-runnerhald-addon-acpi hald-addon-cpuf hald-addon-inpu 2*[hald-addon-stor] ica kaccess kded4 kdeinit4firefox-2run-mozilla.shfirefox-2-bin8*[{firefox-2-bin}] ica-launcheravahi-publish-s klauncher ksmserverkwin skype5*[{skype}] xtermbash {ksmserver} icaica 2*[{ica}]
2*[python]
...........
Estados do Processo
novo: o processo est sendo criado. executando: instrues esto sendo executadas. bloqueado: o processo est aguardando algum evento ou resposta de uma operao de I/O.
Figura 4.1
Estado do Processo. Contador de Programas. Registradores da CPU. Informaes sobre escalonamento. Informaes sobre gerenciamento de memria. Informaes sobre contabilidade. Informaes sobre estado de I/O.
prioridade contabilidade estado de operaes de E/S TAREFA: 1 - Explorar o /proc do Linux: Associar os dados do PCB com as informaes presentes no /proc Figura 4.2
Figura 4.3
Fila de Jobs - conjunto de todos os processos do sistema. Fila de Prontos - conjunto de todos os processos residentes na memria principal, prontos e esperando para serem executados. Fila de Dispositivos - conjunto de processos aguardando por um dispositivo de I/O. Processos migram entre as vrias filas.
Figura 4.4
Figura 4.5
Escalonadores
Seleciona quais processos devero ser colocados na fila de prontos. solicitado quando um novo processo deve ser admitido no sistema. Controla o grau de multiprogramao.
Escalonador de Curto Prazo (escalonador de CPU) Seleciona qual processo dever ser executado aps obter a CPU. constantemente solicitado. Escalonador de Mdio Prazo
Figura 4.6
Escalonadores
Gasta mais tempo realizando operaes computaes, com ciclos de CPU curtos.
de
I/O
que
Gasta mais tempo realizando computaes que operaes de I/ O, com ciclos de CPU mais longos.
Mudana de Contexto
Quando a CPU altera para um outro processo, o sistema deve armazenar o estado do processo antigo e carregar o estado armazenado do novo processo. O tempo gasto para a mudana de contexto no til aos processos (overhead). Este tempo gasto dependente das caractersticas do hardware.
Mudana de Contexto
Figura 4.3
Processos Cooperantes
Um Processo Independente no pode afeta ou ser afetado pela execuo de um outro processo. Processos Cooperantes pode execuo de outros processos. afetar e serem afetados pela
Mecanismos para os processos viabilizarem a comunicao e a sincronizao. Sistema de Mensagens - processo comunica-se com os demais sem utilizar-se de memria compartilhada. O IPC fornece duas operaes: send(message) mensagem de tamanho fixo ou varivel. receive(message) Um processo deve estabelecer um canal de comunicao e em seguida iniciar a troca de mensagens atravs do send/receive.
Sincronizao
A passagem Bloqueante.
de
mensagem
pode
ser
Bloqueante
No
A abordagem Bloqueante considerada sncrona. A abordagem No Bloqueante considerada assncrona. As primitivas bloqueantes. send/receive podem ser bloqueantes ou no
Bufferizao
As filas de mensagens implementam uma destas trs abordagens: Zero Capacity: sem capacidade de armazenamento o emissor deve esperar pelo receptor - Rendezvous Bounded Capacity: tamanho finito de n mensagens. emissor deve esperar se o canal estiver cheio Unbounded Capacity: tamanho infinito o emissor nunca espera
Benefcios
Nveis e Modelos
Nveis de Threads
Modelos de Multithreading
Muitos threads do nvel de usurio so mapeados em um nico thread de kernel. Usado em sistemas que no suportam threads de kernel.
Modelo Um para Um
Permite que muitos threads de nvel do usurio sejam mapeados para muitos threads de nvel do kernel. Permite que o sistema operacional crie um nmero suficiente de threads de kernel.
Processos e Threads
Prof. Dr. Jos Lus Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto
Faculdade de Tecnologia de Americana Centro Paula Souza