Visão Geral
Este curso Rust for Operating Systems Development, aborda o desenvolvimento de sistemas operacionais e componentes de kernel utilizando a linguagem Rust. O foco está em segurança de memória, concorrência segura, controle de hardware e abstrações de baixo nível, explorando como Rust pode substituir ou complementar C em kernels modernos, drivers, bootloaders e sistemas bare-metal.
Conteúdo Programatico
Module 1: Operating Systems and Rust
- OS Fundamentals and Kernel Architecture
- Why Rust for OS Development
- Existing Rust-Based Operating Systems
Module 2: Bare-Metal Programming with Rust
- No-Std Environment
- Boot Process and Entry Points
- Memory Map and Linker Scripts
Module 3: CPU Architecture and Hardware Interaction
- x86_64 and ARM Basics
- Registers and Privilege Levels
- Interrupts and Exceptions
Module 4: Memory Management in Kernels
- Physical and Virtual Memory
- Paging and Address Translation
- Allocators in Kernel Space
Module 5: Concurrency and Synchronization
- Kernel Concurrency Challenges
- Spinlocks and Lock-Free Structures
- Interrupt-Safe Code
Module 6: Device Drivers Development
- Driver Models and Abstractions
- Writing Safe Drivers in Rust
- Hardware Interfaces and Buses
Module 7: Scheduling and Process Management
- Threads and Processes
- Context Switching
- Scheduling Algorithms
Module 8: Filesystems and Storage
- Virtual File System Concepts
- Block Devices and Drivers
- Simple Filesystem Implementation
Module 9: System Calls and User Space Interface
- Syscall Mechanisms
- ABI and Interface Design
- Security and Isolation
Module 10: Capstone OS Project
- Building a Minimal Rust Kernel
- Booting, Debugging, and Testing
- Extending the OS with New Features