![Page 2: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/2.jpg)
Processo
Um dos conceitos mais importantes em sistemas operacionais.
Um processo é um programa em execução.
![Page 3: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/3.jpg)
Processo
![Page 4: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/4.jpg)
Processo
Características: Cada processo possui um identificador único, conhecido
como pid (process id). As informações sobre um processo estão armazenadas na
tabela de processos, acessada pelo pid.
Durante a execução, o processo compartilha o processador com outros processos em execução (escalonamento de processador).
Um processo interage com outros processos através de mecanismos de comunicação.
![Page 5: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/5.jpg)
Modelos de Processos
Classificação dos modelos de processos quanto ao custo de troca de contexto e manutenção. Heavyweight (processos tradicionais) Lightweight (threads)
![Page 6: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/6.jpg)
Modelos de Processos• Heavyweight
• Processo é composto pelo ambiente e execução.
• Cada processo possui um único fluxo de controle.
• Independente dos demais.
![Page 7: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/7.jpg)
Modelos de Processos
Em um dado instante, pode haver vários processos ativos. O processador é chaveado entre os diversos
processos. Por esta razão, fica praticamente impossível prever
o tempo de execução de um processo, pois este dependerá da carga do sistema. Ruim para RTOS.
Essa característica, de permitir vários processos ativos, é conhecida como multiprogramação.
![Page 8: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/8.jpg)
Modelos de Processos
![Page 9: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/9.jpg)
Modelos de Processos
![Page 10: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/10.jpg)
Modelos de Processos
Como acontece a multiprogramação? O Sistema Operacional é responsável por
“escalonar” cada tarefa para execução. Cada tarefa possui uma fatia de tempo, de acordo
com sua importância (prioridade) para o sistema. Cada troca de processo é acompanhado pela troca
de contexto. troca de contexto.swf
![Page 11: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/11.jpg)
Criação de Processos
Principais eventos que levam à criação de processos
1. Início do sistema2. Execução de chamada ao sistema de
criação de processos3. Solicitação do usuário para criar um
novo processo4. Início de um job em lote
12
![Page 12: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/12.jpg)
Término de Processos
Condições que levam ao término de processos
1. Saída normal (voluntária)
2. Saída por erro (voluntária)
3. Erro fatal (involuntário)
4. Cancelamento por um outro processo (involuntário)
13
![Page 13: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/13.jpg)
Processos na prática
1. Iniciar em modo linux 2. Iniciar o terminal 3. executar top.
![Page 14: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/14.jpg)
Hierarquias de Processos
Todo S.O. possuemecanismosquepermitem a criação de processos (fork() no linux)
Geralmente um processo é criadoporoutro.
15
![Page 15: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/15.jpg)
Paicria um processofilho, processofilhopodecriarseupróprioprocesso
Formamumahierarquia Linux chamaisso de “grupo de processos” Filho é clone do processopai.
Windows nãopossui o conceito de hierarquia de processos Todososprocessossãocriadosiguais e
apóscriaçãosãopersonalizados (create_process()).
Hierarquias de Processos
![Page 16: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/16.jpg)
Estados de Processos (1)
17
![Page 17: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/17.jpg)
Tabelas de Processos
Mantém todas as informações de um processo.
Campos úteis para gerência do processo, memória e arquivos.
Varia de Sistema Operacional para Sistema Operacional.
![Page 18: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/18.jpg)
Implementação de Processos (1)
Campos da entrada de uma tabela de processos19
![Page 19: Processos Prof. André Luis Meneses Silva alms@ufs.br](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc110497959413d8c5c1b/html5/thumbnails/19.jpg)
Atividades
Elaborar um Live CD/DVD Linux, o mesmo será utilizado para as disciplinas S.O. e Linguagens Formais e Tradutores.
Ferramentas G++. Eclipse IDE ou Netbeans IDE para C++ e Java. CUP. JFLEX. JDK 6. make autoconfig Xfce (para quem quiser).
Para 01/09