https://github.com/ronflima/processos
Material de Apoio para a palestra sobre processos e threads.
https://github.com/ronflima/processos
Last synced: 9 months ago
JSON representation
Material de Apoio para a palestra sobre processos e threads.
- Host: GitHub
- URL: https://github.com/ronflima/processos
- Owner: ronflima
- License: mit
- Archived: true
- Created: 2017-06-25T20:19:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-04T13:58:10.000Z (about 7 years ago)
- Last Synced: 2025-02-18T04:52:16.816Z (10 months ago)
- Language: Shell
- Size: 133 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Processos, Threads e Fibers
Este repositório é o material de apoio à palestra sobre processos, threads e
fibras. São apresentados textos com mais detalhamentos sobre o que foi
apresentado pela palestra.
## Por que processos e threads?
Apesar da computação comercial focar-se, basicamente, em resolver problemas de
negócio, é preciso compreender como os sistemas operacionais funcionam no
intuito de tirar o máximo proveito de suas características. O conhecimento sobre
processos e threads permitem ao programador desenhar melhor sua solução,
tornando-a mais tolerante à intempéries.
Todos os sistemas operacionais comerciais implementam algum tipo de
multi-processamento e multi-threading. O que muda é basicamente as APIs de
programação disponíveis aos programadores. No entanto, de nada adianta o
conhecimento das APIs sem que se conheça os conceitos sobre os quais as mesmas
foram construídas.
# Organização deste material
Este material foi organizado da mesma forma como a palestra, ou seja, em duas
partes à saber:
- [Processos](processes), o que são, como funcionam e o que é a concorrência.
- [Threads](threads), como funcionam e como são implementadas em kernel space e user space.
Os exemplos são apresentados através de duas linguagens diferentes: Linguagem C
e Swift. Escolheu-se a linguagem C para demonstrar o uso de system calls pela
facilidade com a qual a linguagem integra-se aos sistemas unix.
Os exemplos em C são compilados com o GCC em plataformas linux ou clang no
macOS. O código já tem tudo o que é preciso para compilar. Normalmente basta
executar o script de configuração `config` e depois executar `make` para
realizar a compilação.
Mais instruções estarão nos respectivos diretórios dos exemplos.
A linguagem Swift foi utilizada no intuito de demonstrar como a Apple implementa
algumas facilidades através da sua biblioteca Foundation. Instruções de
compilação estarão disponíveis nos diretórios dos exemplos.
Os exemplos em swift podem ser compilados em Linux usando o Swift para
linux. [Veja aqui](https://swift.org/download/#using-downloads) como instalar o
compilador Swift no seu linux para poder executar os exemplos.
# Licença
Este material de apoio é distribuído sob a [licença MIT](LICENSE).