UNIX
-
Os sockets são abstrações das camadas de rede para aplicações que precisam se comunicar com outras aplicações através de redes. Esse artigo tem o objetivo de explicar o funcionamento do sockets em baixo nível e porque eles são tão importantes. -
Esse artigo visa apresentar os conceitos e as abstrações que envolvem a implementação de um protocolo simples em cima da pilha TCP/IP através da API de baixo nível de Sockets utilizando a linguagem CProgramando um protocolo utilizando sockets
-
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
-
Um sinal de interrupção de software é uma maneira de comunicar informações entre processos sobre estado, sistema ou hardware com outro processo. Nesse artigo iremos entender como o Linux implementa os sinais de modo a garantir uma boa gestão de processos. Exemplos de implementação utilizando os sinais do Linux serão apresentados.Linux Signals - As interrupções de software na gestão de processos em sistemas operacionais
-
O GNU Plot é uma ferramenta de linha de comandos para plotar gráficos. Nesse artigo será mostrado como, a partir de um arquivo de dados, é possível de maneira bem simples representar os dados através de um gráfico do tipo histograma agrupado ou 'clusterizado'.Como criar histogramas agrupados com o GNU Plot
-
O GNU Plot é uma ferramenta de linha de comandos para plotar gráficos. Nesse artigo será mostrado como, a partir de um arquivo de dados, é possível de maneira bem simples representar os dados através de um gráfico do tipo histograma.Como criar histogramas com GNU Plot
-
Artigo escrito em 1974 por Dennis Ritchie e Ken Thompson apresentando o projeto do sistema operacional UNIX. O trabalho foi publicado pela ACM communication.The UNIX time-sharing system
-
Resumo do artigo escrito por Dennis M. Ritchie contextualizando a evolução do sistema operacional Unix dentro da Bell Labs durante 5 anos. O artigo foi publicado em 1979 em Sydney durante o simpósio de projeto de linguagens e metodologias de programação.The Evolution of the Unix Time-sharing System
-
Artigo apresentado em 1995 na conferência SIGOPS descrevendo uma nova arquitetura de sistemas operacionais chamada ExoKernel. A pesquisa foi desenvolvida pelo laboratório de Ciência da Computação do MIT.Exokernel: an operating system architecture for application-level resource management
-
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 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