thread
Tecnologias da Informação e Comunicação
Processos e Threads
Prof. Anderson Luiz Fernandes Perez
Email: anderson.perez@ufsc.br
Sumário
•
•
•
•
Definição de Processo
Exemplos de Criação de Processos
Definição de Thread
Exemplos de Criação de Threads
Universidade Federal do Santa Catarina @2013 - Prof. Anderson L. F. Perez
2
Definição de Processo
• Para o sistema operacional um processo é uma abstração de um programa em execução.
• Para o usuário um processo é um fluxo de atividades que, desde a sua criação, se encontra ativo, executando um conjunto de ações que são determinadas por um programa.
• Um programa é um arquivo executável sem qualquer atividade, apenas descreve o que fazer. Universidade Federal do Santa Catarina @2013 - Prof. Anderson L. F. Perez
3
Definição de Processo
Exemplo de um Programa em C:
1.
2.
3.
4.
5.
6.
#include
int main()
{
printf("Eu sou um programa\n"); return 0;
}
Mesmo Programa em Assembly
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
.file
.section
"hello_world.c"
.rodata
.LC0:
.string
.text
.globl main
.type
main: pushl movl andl subl movl call movl leave ret .size
.ident
.section
Universidade Federal do Santa Catarina @2013 - Prof. Anderson L. F. Perez
"Eu sou um programa"
main, @function
%ebp
%esp, %ebp
$-16, %esp
$16, %esp
$.LC0, (%esp) puts $0, %eax
main, .-main
"GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3"
.note.GNU-stack,"",@progbits
4
Definição de Processo
• Um processo é um entidade ativa, controlada por um programa, que necessita de um processador para poder executar-se.
• Um processo possui:
– Um espaço de endereçamento;
– Um repertório de operações básicas (instruções); e
– Um estado interno.
Universidade Federal do Santa Catarina @2013 - Prof. Anderson L. F. Perez
5
Definição de Processo
• Espaço de Endereçamento
– O espaço