ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Português/Percurso de aprendizado
Neste capítulo

Percurso de aprendizado e pré-requisitos

A sequência organiza o corpus em níveis, módulos e capítulos. Uma entrada ausente representa uma lacuna explícita; não é um capítulo publicado. A quantidade de palavras é apenas um sinal editorial, não comprovação de domínio ou de completude técnica.

Mapa do percurso

01 · Matéria, dispositivos e lógica

Carga e física de semicondutores

Capítulo Estado Pré-requisitos
Átomo, carga elétrica e física de semicondutores Piso textual atingido; revisão técnica necessária —
Estrutura cristalina, bandas de energia e dopagem Piso textual atingido; revisão técnica necessária Átomo, carga elétrica e física de semicondutores
Junções P-N e interfaces semicondutoras Piso textual atingido; revisão técnica necessária Estrutura cristalina, bandas de energia e dopagem
Transistores e lógica CMOS Piso textual atingido; revisão técnica necessária Átomo, carga elétrica e física de semicondutores; Estrutura cristalina, bandas de energia e dopagem; Junções P-N e interfaces semicondutoras

Funções booleanas e circuitos

Capítulo Estado Pré-requisitos
Álgebra booleana e representação lógica Piso textual atingido; revisão técnica necessária Transistores e lógica CMOS
Circuitos combinacionais Piso textual atingido; revisão técnica necessária Álgebra booleana e representação lógica
Somadores, ULAs e aritmética de largura finita Piso textual atingido; revisão técnica necessária Álgebra booleana e representação lógica; Circuitos combinacionais

Estado, tempo e células de memória

Capítulo Estado Pré-requisitos
Lógica, estado e circuitos sequenciais Piso textual atingido; revisão técnica necessária Transistores e lógica CMOS; Circuitos combinacionais
Latches, flip-flops e metaestabilidade Piso textual atingido; revisão técnica necessária Circuitos combinacionais; Transistores e lógica CMOS
Registradores, contadores e transições de estado Piso textual atingido; revisão técnica necessária Latches, flip-flops e metaestabilidade; Somadores, ULAs e aritmética de largura finita; Lógica, estado e circuitos sequenciais
Clock, atraso de propagação e o significado de tempo Piso textual atingido; revisão técnica necessária Lógica, estado e circuitos sequenciais; Latches, flip-flops e metaestabilidade; Registradores, contadores e transições de estado
SRAM, DRAM e a abstração de memória utilizada pelo ChrisOS Piso textual atingido; revisão técnica necessária Transistores e lógica CMOS; Lógica, estado e circuitos sequenciais; Clock, atraso de propagação e o significado de tempo

02 · Representação e algoritmos

Bits, tipos e layout

Capítulo Estado Pré-requisitos
Representação de dados, layout de memória e ponteiros Piso textual atingido; revisão técnica necessária Clock, atraso de propagação e o significado de tempo

Modelos de custo e estruturas

Capítulo Estado Pré-requisitos
Análise de algoritmos e modelos de custo de sistemas Piso textual atingido; revisão técnica necessária Representação de dados, layout de memória e ponteiros
Estruturas de dados para software de sistemas Piso textual atingido; revisão técnica necessária Representação de dados, layout de memória e ponteiros; Análise de algoritmos e modelos de custo de sistemas
Algoritmos utilizados pelo ChrisOS Piso textual atingido; revisão técnica necessária Estruturas de dados para software de sistemas

03 · Execução de instruções e plataforma

ISA e codificação de instruções

Capítulo Estado Pré-requisitos
Datapath da CPU e arquitetura do conjunto de instruções Requer expansão Lógica, estado e circuitos sequenciais
Machine code and instruction encoding (machine-code) Ausente —
x86-64 registers and flags (x86-registers-flags) Ausente —
x86 instruction encoding and addressing modes (x86-instruction-encoding) Ausente —

Endereçamento e proteção

Capítulo Estado Pré-requisitos
Memória, privilégio e estado arquitetural x86-64 Requer expansão Datapath da CPU e arquitetura do conjunto de instruções
Privilege rings, transitions and protection (privilege-rings) Ausente —

Hierarquia de memória e concorrência

Capítulo Estado Pré-requisitos
Caches and memory hierarchy (cache-hierarchy) Ausente —
Cache coherence and multiprocessor memory (coherence) Ausente —
Atomics, barriers and memory ordering (atomics-memory-model) Ausente —

Dispositivos e descoberta da plataforma

Capítulo Estado Pré-requisitos
Barramentos, port I/O, MMIO e DMA Requer expansão Datapath da CPU e arquitetura do conjunto de instruções
PCI and PCI Express (pci-pcie) Ausente —
ACPI and platform description (acpi-platform) Ausente —

04 · Do reset à entrada do kernel

Firmware e contratos de boot

Capítulo Estado Pré-requisitos
Processor reset and platform firmware (reset-firmware) Ausente —
UEFI architecture and boot services (uefi) Ausente —
Limine boot protocol (limine) Ausente —
Boot information and memory-map validation (boot-information) Ausente —

Layout do executável e entrada

Capítulo Estado Pré-requisitos
ELF, arquivos de objeto e linkedição do kernel Requer expansão Datapath da CPU e arquitetura do conjunto de instruções
Kernel linker script anatomy (linker-script) Ausente —
Higher-half kernel layout (higher-half-kernel) Ausente —
Da energização a kstart Requer expansão Memória, privilégio e estado arquitetural x86-64

05 · Kernel, memória e contextos de execução

Fronteiras de confiança e entrada de exceções

Capítulo Estado Pré-requisitos
Modelo de kernel e fronteiras de confiança Requer expansão Da energização a kstart; Memória, privilégio e estado arquitetural x86-64
GDT e TSS Piso textual atingido; revisão técnica necessária Memória, privilégio e estado arquitetural x86-64; privilege-rings — ausente
IDT, entrada de exceções e frames de interrupção Requer expansão GDT e TSS; Memória, privilégio e estado arquitetural x86-64
PIC, Local APIC e roteamento IOAPIC Requer expansão IDT, entrada de exceções e frames de interrupção; Barramentos, port I/O, MMIO e DMA
PIT, temporização e semântica do scheduler tick Requer expansão PIC, Local APIC e roteamento IOAPIC; IDT, entrada de exceções e frames de interrupção
Panic, diagnóstico serial e kernel log Requer expansão IDT, entrada de exceções e frames de interrupção

Frames e tradução de endereços

Capítulo Estado Pré-requisitos
Gerenciamento de memória física Requer expansão Átomo, carga elétrica e física de semicondutores; Memória, privilégio e estado arquitetural x86-64
Higher-half direct map (hhdm) Ausente —
PMM allocation algorithms and invariants (pmm-algorithms) Ausente —
Memória virtual e page tables x86-64 Requer expansão Gerenciamento de memória física; Memória, privilégio e estado arquitetural x86-64
PML4, PDPT, PD and PT (page-table-layout) Ausente —
Page faults and fault containment (page-faults) Ausente —
Process address spaces (address-spaces) Ausente —
Translation Lookaside Buffer (tlb) Ausente —

Concorrência e propriedade de recursos

Capítulo Estado Pré-requisitos
Interrupções e multiprocessamento simétrico Requer expansão Memória, privilégio e estado arquitetural x86-64; Modelo de kernel e fronteiras de confiança; IDT, entrada de exceções e frames de interrupção
Coerência de TLB e shootdown Requer expansão Memória virtual e page tables x86-64; Interrupções e multiprocessamento simétrico
Heap do kernel, ownership e ciclo de vida Requer expansão Gerenciamento de memória física
Spinlocks and lock ordering (spinlocks) Ausente —
Resource lifetime and teardown (resource-lifetime) Ausente —
Jobs de kernel e kthreads cooperativas Piso textual atingido; revisão técnica necessária Interrupções e multiprocessamento simétrico; atomics-memory-model — ausente
Executable memory, JIT and W^X (jit-memory) Ausente —

Execução de usuário e ciclo de vida de processos

Capítulo Estado Pré-requisitos
Entrada em user mode e retorno controlado a ring 0 Requer expansão GDT e TSS; Memória virtual e page tables x86-64
Processos nativos e system calls Requer expansão Memória virtual e page tables x86-64; Modelo de kernel e fronteiras de confiança; Entrada em user mode e retorno controlado a ring 0
Acesso seguro à memória de usuário Requer expansão Memória virtual e page tables x86-64; Entrada em user mode e retorno controlado a ring 0
Ciclo de vida e estado de processos Requer expansão Memória virtual e page tables x86-64; Gerenciamento de memória física; Entrada em user mode e retorno controlado a ring 0

06 · Linguagens, compiladores e runtimes

Construção de compiladores

Capítulo Estado Pré-requisitos
Construção de compiladores: do texto à semântica executável Requer expansão Datapath da CPU e arquitetura do conjunto de instruções; ELF, arquivos de objeto e linkedição do kernel
Lexical analysis (lexical-analysis) Ausente —
Parsing and grammars (parsing) Ausente —
Semantic analysis and type systems (semantic-analysis) Ausente —
Intermediate representations (intermediate-representation) Ausente —
Native code generation (native-codegen) Ausente —
Calling conventions and stack frames (calling-conventions) Ausente —

Execução ChrisC e CLVM

Capítulo Estado Pré-requisitos
ChrisC e o modelo de execução CLVM Requer expansão Construção de compiladores: do texto à semântica executável
CLVM bytecode format (clvm-bytecode) Ausente —
CLVM memory and isolation (clvm-memory) Ausente —
CLVM syscall ABI (clvm-syscalls) Ausente —
CLVM interpreter (clvm-interpreter) Ausente —
CLVM JIT (jit) Ausente —
Debugger and source mapping (debugger) Ausente —
Libraries, modules and garbage collection (gc-libraries) Ausente —

Ferramentas nativas

Capítulo Estado Pré-requisitos
KCC, ChrisAsm, ChrisO e ChrisLd Requer expansão Construção de compiladores: do texto à semântica executável; ELF, arquivos de objeto e linkedição do kernel
KCC architecture and C profile (kcc) Ausente —
ChrisAsm (chrisasm) Ausente —
ChrisO object format (chriso) Ausente —
ChrisLd (chrisld) Ausente —

07 · Estado persistente e sistemas de arquivos

Transporte de blocos e mídia

Capítulo Estado Pré-requisitos
Stack de armazenamento em blocos Requer expansão Barramentos, port I/O, MMIO e DMA
ATA PIO and DMA (ata) Ausente —
AHCI and SATA (ahci) Ausente —
NVMe queues and namespaces (nvme) Ausente —
VirtIO Block (virtio-block) Ausente —
USB mass storage and host controllers (usb-storage) Ausente —
Partition tables and GPT (partitions-gpt) Ausente —

Estruturas e recuperação do ChrisFS

Capítulo Estado Pré-requisitos
ChrisFS: estruturas on-disk, alocação e journal Requer expansão Stack de armazenamento em blocos
ChrisFS superblock and geometry (chrisfs-superblock) Ausente —
ChrisFS inodes and block indirection (chrisfs-inodes) Ausente —
ChrisFS directories and path resolution (chrisfs-directories) Ausente —
ChrisFS journaling and recovery (chrisfs-journal) Ausente —
ChrisFS cache and allocation (chrisfs-cache) Ausente —
ChrisFS consistency checking (chrisfs-fsck) Ausente —

08 · Dos bytes ao desktop

Memória de pixels e composição

Capítulo Estado Pré-requisitos
Pixels, memória de framebuffer e apresentação Piso textual atingido; revisão técnica necessária Representação de dados, layout de memória e ponteiros; Barramentos, port I/O, MMIO e DMA; Heap do kernel, ownership e ciclo de vida
Color formats and alpha (color-formats) Ausente —
2D primitives and composition (gfx2d) Ausente —
Desktop composition (desktop-compositor) Ausente —

Entrada, janelas e aplicações

Capítulo Estado Pré-requisitos
Desktop, janelas e aplicações Requer expansão Pixels, memória de framebuffer e apresentação; ChrisC e o modelo de execução CLVM
Window manager and task model (window-manager) Ausente —
Keyboard, mouse and focus (input-routing) Ausente —
ChrisEditor architecture (chriseditor) Ausente —
ChrisShell architecture (chrisshell) Ausente —
File manager architecture (file-manager) Ausente —
Mine Chris as a system workload (mine-chris) Ausente —
Doom port and native compatibility (doom-port) Ausente —

09 · Geometria, rasterização e GPUs

Geometria e amostragem

Capítulo Estado Pré-requisitos
Vector and matrix transformations (matrix-transformations) Ausente —
Clipping and projection (clipping) Ausente —
Triangle rasterization (triangle-rasterization) Ausente —
Depth buffering (depth-buffer) Ausente —
Textures and sampling (textures) Ausente —
3D por software: transforms, rasterização e depth Requer expansão Pixels, memória de framebuffer e apresentação
Parallel software rasterization (parallel-raster) Ausente —

Transporte do dispositivo e comandos

Capítulo Estado Pré-requisitos
VirtIO-GPU e VirGL Requer expansão Barramentos, port I/O, MMIO e DMA; 3D por software: transforms, rasterização e depth
VirtIO-GPU transport and resources (virtio-gpu-transport) Ausente —
Gfx3D backend-neutral API (gfx3d-api) Ausente —
VirGL command stream (virgl-command-stream) Ausente —

Sombreamento programável

Capítulo Estado Pré-requisitos
Shaders programáveis, subset GLSL e CSIR Requer expansão Construção de compiladores: do texto à semântica executável; 3D por software: transforms, rasterização e depth; VirtIO-GPU e VirGL
GLSL subset frontend (shader-frontend) Ausente —
Chris Shader IR (csir) Ausente —
TGSI backend (tgsi-backend) Ausente —
Software shader backend (software-shader) Ausente —
Mine Chris graphics path (mine-graphics) Ausente —

10 · Redes e estados de protocolo

Frames, datagramas e fluxos

Capítulo Estado Pré-requisitos
Ethernet framing (ethernet) Ausente —
IPv4 and addressing (ipv4) Ausente —
UDP (udp) Ausente —
TCP fundamentals and ChrisOS transfer path (tcp) Ausente —

Integração de rede no ChrisOS

Capítulo Estado Pré-requisitos
Stack de rede e VirtIO networking Requer expansão Barramentos, port I/O, MMIO e DMA; Interrupções e multiprocessamento simétrico
VirtIO-net (virtio-net) Ausente —
Socket ownership and API (sockets) Ausente —

11 · Emulação e virtualização

Semântica arquitetural

Capítulo Estado Pré-requisitos
Emulação de máquinas: estado arquitetural, passos de instrução e falhas Piso textual atingido; revisão técnica necessária Datapath da CPU e arquitetura do conjunto de instruções; Barramentos, port I/O, MMIO e DMA; Memória virtual e page tables x86-64; Clock, atraso de propagação e o significado de tempo
x86 instruction decoding (x86-decoding) Ausente —
Architectural flags and arithmetic semantics (emulator-flags) Ausente —
Exception delivery in an emulator (emulator-exceptions) Ausente —
Guest paging and address translation (emulator-paging) Ausente —

Plataforma ChrisVM

Capítulo Estado Pré-requisitos
ChrisVM e ChrisCPU Requer expansão Emulação de máquinas: estado arquitetural, passos de instrução e falhas; Memória, privilégio e estado arquitetural x86-64
ChrisArchitectureState (chris-architecture-state) Ausente —
ChrisMachine lifecycle (chrisvm-machine) Ausente —
ChrisVM physical memory map (chrisvm-memory-map) Ausente —
ChrisVM I/O bus (chrisvm-io-bus) Ausente —
ChrisVM MMIO bus (chrisvm-mmio-bus) Ausente —
ChrisVM device model (chrisvm-devices) Ausente —
ChrisVM boot protocol (chrisvm-boot) Ausente —
ChrisVM tracing and debugger (chrisvm-debugger) Ausente —
Determinism and future record/replay (determinism-replay) Ausente —

Virtualização por hardware

Capítulo Estado Pré-requisitos
Virtualização assistida por hardware e a fronteira ChrisHV Requer expansão ChrisVM e ChrisCPU
Intel VMX (vmx) Ausente —
AMD SVM (svm) Ausente —
EPT and NPT (ept-npt) Ausente —

12 · Bootstrap, validação e pesquisa

Self-hosting

Capítulo Estado Pré-requisitos
Self-hosting, bootstrap e reprodutibilidade Requer expansão KCC, ChrisAsm, ChrisO e ChrisLd; Desktop, janelas e aplicações
SH0-SH6 evidence model (selfhost-levels) Ausente —
Compiler staging and convergence (stage-compilers) Ausente —
Internally produced kernel (internal-kernel-build) Ausente —
Reproducible builds and provenance (reproducible-builds) Ausente —

Hardware físico

Capítulo Estado Pré-requisitos
Instalação e hardware físico Requer expansão Stack de armazenamento em blocos; Da energização a kstart
GPT and EFI System Partition (gpt-esp) Ausente —
Disk-only UEFI boot (uefi-disk-boot) Ausente —
Physical hardware profile (hardware-profile) Ausente —
Hardware bring-up diagnostics (bringup-diagnostics) Ausente —
Driver compatibility evidence (driver-compatibility) Ausente —

Experimentos e evidências

Capítulo Estado Pré-requisitos
Validação, classes de evidência e confiabilidade Requer expansão Modelo de kernel e fronteiras de confiança
Host-test architecture (host-tests) Ausente —
QEMU gate architecture (qemu-gates) Ausente —
Physical-hardware validation (hardware-gates) Ausente —
Negative testing and fault injection (fault-injection) Ausente —
Fuzzing parsers and formats (fuzzing) Ausente —
Performance measurement (performance-measurement) Ausente —

Especificações e referências primárias

Capítulo Estado Pré-requisitos
Especificações, formatos e política de revisão Requer expansão —
ChrisVM specification (chrisvm-spec) Ausente —
ChrisVM boot protocol (chrisvm-boot-spec) Ausente —
ChrisO format (chriso-spec) Ausente —
ChrisFS format (chrisfs-spec) Ausente —
CLVM image and syscall specification (clvm-spec) Ausente —
Shader subset and CSIR specification (shader-spec) Ausente —
Primary bibliography (bibliography) Ausente —

História da arquitetura

Capítulo Estado Pré-requisitos
História da arquitetura e evidência substituída Requer expansão —
Graphics architecture history (graphics-history) Ausente —
Native toolchain history (toolchain-history) Ausente —
ChrisVM history (chrisvm-history) Ausente —

Manutenção do corpus

Capítulo Estado Pré-requisitos
Manutenção documental de baixo contexto Requer expansão —
Source and revision policy (source-policy) Ausente —
Documentation schema and templates (documentation-schema) Ausente —
Registro do documento ID: learning-path Class: generated-index