Objetivos

Compreender o desenho e arquiteturas de sistemas operativos modernos

  • Adquirir conhecimento sobre mecanismos avançados de escalonamento de processos em ambientes com múltiplos processadores e cores e com aplicações modernas com funcionalidades como polling e kernel-bypass.
  • Compreender o funcionamento de componentes avançados de gestão de memória em sistemas operativos modernos (p.ex., Page Cache), e das políticas de gestão associadas aos mesmos.
  • Aprofundar conhecimento sobre componentes e otimizações de E/S para o armazenamento de dados em sistemas operativos modernos (p.ex., sistemas de ficheiros, block devices).
  • Implementar a monitorização e diagnóstico de sistemas operativos modernos, de forma a complementar a sua compreensão, bem como das aplicações suportadas pelo mesmo.
  • Avaliar o desempenho de sistemas operativos modernos e das aplicações a utilizar os mesmos.

Programa

  • Visão geral focada no desenho e arquitetura de sistemas operativos modernos UNIX.
  • Conceitos e ferramentas (p.ex., extended Berkeley Packet Filter (eBPF)) de observabilidade e monitorização do comportamento de sistemas operativos.
  • Tópicos avançados de escalonamento de processos, incluindo ambientes multi core/CPU e aplicações modernas que utilizam técnicas de polling e kernel-bypass.
  • Tópicos avançados de gestão de memória de sistemas operativos (p.ex., Page Cache). Noções de buffering e caching, políticas de despejo.
  • Tópicos avançados de soluções de E/S para armazenamento de dados em sistemas operativos. Noções sobre organização interna de sistemas de ficheiros modernos e das otimizações implementadas pelos mesmos (p.ex., caching, deduplicação, compressão).
  • Conceitos teóricos e práticos sobre o diagnóstico e avaliação de sistemas operativos modernos e das aplicações suportadas pelos mesmos.

Bibliografia

  • Operating Systems: Three Easy Pieces. Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, Arpaci-Dusseau Books, 2018
  • BPF Performance Tools. Brendan Gregg. Addison-Wesley Professional, 2019
  • Understanding the Linux Kernel, 3rd Edition. Daniel Bovet, Marco Cesati. O’Reilly 2005

Atualizado: