Visão Geral
Este curso aprofunda o uso da linguagem Rust para o desenvolvimento de sistemas de alto desempenho, explorando controle fino de memória, paralelismo seguro, otimizações de baixo nível e integração com sistemas operacionais. O foco está em construir aplicações eficientes, previsíveis e seguras, voltadas para cenários como sistemas operacionais, engines, redes, processamento intensivo de dados e infraestrutura crítica.
Conteúdo Programatico
Module 1: High-Performance Systems Overview
- Characteristics of High-Performance Systems
- Performance vs Safety Trade-offs
- Why Rust for Systems Programming
Module 2: Memory Management and Layout
- Stack, Heap, and Memory Alignment
- Ownership and Zero-Cost Abstractions
- Custom Allocators
Module 3: Low-Level Rust and Unsafe Code
- When and Why to Use Unsafe
- Raw Pointers and FFI Basics
- Safety Contracts and Abstractions
Module 4: Concurrency and Parallelism
- Threads and Synchronization Primitives
- Lock-Free and Wait-Free Concepts
- Data Parallelism Patterns
Module 5: Performance Optimization Techniques
- Cache-Friendly Data Structures
- Minimizing Allocations
- Compiler Optimizations and Inlining
Module 6: Async, IO, and High-Throughput Systems
- Async Runtime Internals
- Non-Blocking IO
- High-Performance Networking
Module 7: Profiling and Benchmarking
- Measuring Performance Correctly
- Benchmarking with Criterion
- Profiling with Flamegraphs
Module 8: Interfacing with Operating Systems
- System Calls and OS Abstractions
- Memory-Mapped Files
- Signals and Process Control
Module 9: Reliability, Safety, and Observability
- Error Handling in Critical Systems
- Logging and Metrics
- Debugging Production Issues
Module 10: Capstone Project
- Designing a High-Performance System Component
- Performance Tuning and Stress Testing
- Documentation and Maintainability