Você está na página 1de 5

Amanda Ferrari

Catarine Soares Cruz


Gustavo Zanzin Guerreiro Martins

Laboratório 3: Manipulação de
Threads em Linguagem de
Programação

Relatório técnico de atividade prática


solicitado pelo professor Rodrigo Campiolo
na disciplina de Sistemas Operacionais do
Bacharelado em Ciência da Computação da
Universidade Tecnológica Federal do
Paraná.

Universidade Tecnológica Federal do Paraná – UTFPR

Departamento Acadêmico de Computação – DACOM

Bacharelado em Ciência da Computação – BCC

Campo Mourão

Setembro / 2022
1. Introdução

Com o objetivo de aprofundar os conhecimentos em threads, este relatório contém


algumas análises, aplicações e programação sobre o assunto .

2. Fundamentação

Threads são fluxos de execuções independentes. Dessa forma, o processo pode conter
mais de uma thread que executa seu código de forma individual, mas compartilha os mesmos recursos
de um processo. Por conseguinte, torna-se ideal para se utilizar, pois proporciona mais agilidade que a
criação de vários processos para solucionar um determinado problema, por exemplo.

3. Materiais

O material utilizado para a realização deste trabalho foi:

● Distribuição Linux Mint 20.3;


● Visual Studio Code 1.70.

4.Procedimentos e Resultados

Para a resolução das questões foi utilizado o terminal do Linux Mint, as figuras 1, 2 e
3 ilustram essa afirmação. Já para a parte de programação foi utilizado o ambiente de
desenvolvimento para C, o Visual Studio Code.

5. Discussão

1. Identifique no seu sistema Linux quantas threads estão em execução? Qual o processo com
o maior número de threads?
Há uma em execução, como mostrado na Figura 1.
Figura 1 - thread em execução.

O processo 2406 firefox- bin, contém muitas threads, conforme a Figura 2.

Figura 2 - processo 2406.


2. Qual o número máximo de threads que o seu sistema suporta?
O sistema suporta 2 threads por núcleo, de acordo com a Figura 3.

Figura 3 - Threas(s) por núcleo.

3. Verifique o tempo de execução do programa da questão 2, parte 2, considerando: 1 thread,


2 threads, 4 threads, 8 threads e 16 threads. Descreva o hardware (processador, memória e
número de núcleos, tamanho da matriz usada nos testes e o tempo de execução para cada
teste).
Para o teste, utilizamos uma máquina com 2 núcleos, processador AMD A8-5500B APU
with Radeon(tm) HD Graphics e 4GB de memória. O teste foi aplicado a uma matriz 4x5
com uma thread e obteve o tempo apresentado na Figura 4.

Figura 4 - Tempo da execução.


6. Conclusões

Em suma, foi possível obter algumas informações das threads no sistema operacional
utilizado. Além disso, observou-se os processos que utilizam mais threads e foi possível explorar as
aplicações e programação das mesmas. Assim, compreendeu-se mais sobre o tema abordado,
cumprindo com os objetivos do relatório.

7. Referências

Reis, do Fábio. Comandos ps e pstree – Visualizando processos e threads no sistema Linux. Bóson
treinamentos em ciência e tecnologia. Disponível em:
<http://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/comandos-ps-e-pstree-visualizando-p
rocessos-e-threads-no-sistema-linux/>. Acesso em: 02 de set. de 2022.

MAZIERO, C. A. (2017). Sistemas operacionais: conceitos e mecanismos. online. Disponível em:


<http://wike.inf.utfpr.br/maziero/lib/exe/fetch.php?media=so:so-livro.pdf>. Acesso em: 20 de ago. de
2022.

Você também pode gostar