CONCORRÊNCIA
- 
        
 As threads são fluxos de execução de um programa. Elas podem ou não compartilhar memória. Nesse artigo iremos ver os fundamentos sobre threads, suas características e limitações. Tudo isso através de um programa de exemplo escrito em C++. - 
        
 Esse artigo tem como objetivo apresentar o problema proposto por Dijkstra sobre sincronização na comunicação entre processos/threads dentro de um Sistema Operacional. Iremos compreender o problema através da analogia a um Jantar de filósofos. Iremos também escrever uma solução do problema em linguagem C++ e discutir o assunto sincronização.O Jantar dos filósofos - Problema de sincronização em Sistemas Operacionais
 - 
        
 Artigo publicado em 1997 apresentando o Eraser, uma ferramenta para auxiliar a detecção e depuração de condições de corrida em sistemas paralelos que utilizam threads. O trabalho foi desenvolvido pela universidade de Washington e publicado pela ACM Transactions.Eraser: a dynamic data race detector for multithreaded programs
 - 
        
 Artigo desenvolvido pelo MIT discutindo o problema de desempenho de mecanismos de locking não escaláveis. O trabalho compara diversas soluções e prova o impacto no sistema operacional à medida que o número de núcleos aumenta.Non-scalable locks are dangerous
 - 
        
 Artigo desenvolvido pelo MIT discutindo o problema de desempenho de mecanismos de locking não escaláveis. O trabalho compara diversas soluções e prova o impacto no sistema operacional à medida que o número de núcleos aumenta.Non-scalable locks are dangerous
 - 
        
 Artigo publicado em 2019 pela USENIX no simpósio NSDI'19. O trabalho foi desenvolvido pelo MIT e apresenta o Shenango, um sistema que melhora o escalonamento de CPU entre processos e threads sem impactar na latência.Shenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads