Documentation de QuantOS
Version 0.1.0 « Liptako » — phase 0 (alpha). Ce guide décrit ce qui fonctionne réellement aujourd'hui.
Démarrage rapide
- Téléchargez l'ISO sur la page de téléchargement et vérifiez sa somme SHA-256.
- Essayez-la d'abord dans une machine virtuelle :
qemu-system-x86_64 -cdrom quantos-0.1.0-x86_64.iso -m 512 -vga std - Sur un vrai PC : écrivez l'ISO sur une clé USB (Rufus en mode DD, balenaEtcher ou
dd) puis démarrez dessus. - Dans le menu GRUB, validez « QuantOS 0.1.0 ». Le noyau démarre, affiche ses services puis le prompt
quantos>. - Tapez
aide, puisq run bellpour votre première expérience quantique.
Commandes du shell
Édition de ligne complète : flèches gauche/droite, début/fin, suppression, Tab pour compléter une commande, ↑/↓ pour l'historique (16 entrées). Le clavier est en AZERTY par défaut (clavier qwerty pour changer ; AltGr fonctionne pour @ # { [ | \ ^ ~).
| Commande | Rôle |
|---|---|
aide | Liste des commandes |
info | Résumé du système (processeur, mémoire, écran, clavier, chargeur, durée) |
apropos, version, logo | Présentation, numéro de version, bannière |
date, uptime | Heure de l'horloge matérielle (RTC), durée depuis le démarrage |
mem | Mémoire totale et carte mémoire du chargeur |
cpu | Marque, fabricant, fonctions (SSE2, AES, AVX, AVX2, VMX), fréquence TSC, détection de machine virtuelle |
pci | Liste des périphériques PCI avec fabricant et classe |
q … | Service quantique (voir ci-dessous) |
ia <phrase> | Assistant système |
compat, feuille | État de la compatibilité et feuille de route |
clavier azerty|qwerty | Disposition du clavier |
echo, effacer | Afficher un texte, vider l'écran |
redemarrer, eteindre | Redémarrage et extinction (ACPI émulé QEMU/VirtualBox) |
supertech … | Mode technicien (voir plus bas) |
Le même shell répond sur le port série COM1 (115200 bauds) : pratique pour les tests automatiques et le débogage.
Service quantique
Registre de 1 à 10 qubits, amplitudes complexes en virgule fixe (aucune FPU requise). Convention : le qubit 0 est le bit de droite dans |q(n-1)…q1 q0⟩.
q init 3 # registre de 3 qubits à |000⟩
q h 0 # Hadamard sur le qubit 0 (superposition)
q cnot 0 1 # contrôle-NOT (intrication)
q show # amplitudes et probabilités
q measure # mesure tout le registre (effondrement)
q measure 1 # mesure un seul qubit
q reset # retour à |00…0⟩
Portes disponibles
h x y z s t (1 qubit) · cnot cz swap (2 qubits) · ccx (Toffoli, 3 qubits).
Démonstrations
q run bell # paire de Bell : intrication, 16 tirages
q run ghz # état GHZ à 3 qubits
q run grover 4 11 # recherche de Grover (4 qubits, cible |1011⟩ = 11)
q run qrng # nombre aléatoire de 32 bits tiré de qubits
q run teleport # téléportation d'un état quantique
q bench # vitesse du simulateur
Mode Super Tech
Lève les protections pour les techniciens. supertech on demande de taper la phrase de confirmation j'assume. Le prompt devient rouge (SUPER-TECH#) jusqu'à supertech off.
| Commande | Effet |
|---|---|
peek <adr> [n] | Affiche n octets (max 512) de mémoire physique, adresses en hexadécimal (4 Go cartographiés) |
poke <adr> <val> [1|2|4|8] | Écrit une valeur de 1, 2, 4 ou 8 octets |
inb <port> / outb <port> <val> | Lecture / écriture d'un port d'entrée-sortie |
regs | CR0, CR2, CR3, CR4, RFLAGS, EFER |
journal | Actions effectuées pendant la session |
poke et outb peuvent geler la machine ou corrompre des données matérielles. Toute exception processeur est affichée (adresse, registres) puis le système s'arrête proprement.Assistant système
ia <phrase> : version 0 à règles. Il comprend notamment la salutation, l'heure, la mémoire, le processeur, le matériel PCI, les questions sur les qubits, la compatibilité, la sécurité, Super Tech, le clavier, l'extinction et le redémarrage.
ia bonjour
ia quelle heure est-il
ia c'est quoi un qubit
ia mes applications windows marcheront ?
Un modèle de langage local viendra en phase 4 ; l'interface restera la même.
Matériel supporté
- Processeurs : x86_64 (Intel, AMD, machines virtuelles).
- Démarrage : BIOS (Legacy) et UEFI via GRUB 2 (Multiboot).
- Écran : framebuffer 1024×768 fourni par le chargeur (BIOS VBE ou UEFI GOP) ; repli texte VGA.
- Clavier : PS/2 ou USB en émulation PS/2 du firmware ; port série COM1.
- Testé : QEMU (BIOS, et UEFI avec OVMF). Les tests sur matériel réel sont à venir : n'hésitez pas à partager vos résultats.
Architecture
Séquence de démarrage
- GRUB charge le noyau (ELF32 Multiboot) et demande un framebuffer 1024×768×32.
boot.s(assembleur) : mode protégé 32 bits → tables de pages (identité sur 4 Go en pages de 2 Mo) → mode long 64 bits → appel dekmain.kmain(Rust) : série, lecture des informations Multiboot, console, table des exceptions, calibrage de l'horloge, clavier, puis shell.
Modules du noyau
| Fichier | Rôle |
|---|---|
boot.s | Amorçage 32 → 64 bits, pagination, pile |
main.rs | Point d'entrée kmain, gestion de panique |
multiboot.rs | Lecture des informations du chargeur : mémoire, framebuffer |
console.rs | Console framebuffer (police PSF 8×16 Latin-15, accents français) ou texte VGA |
kbd.rs | Clavier PS/2 AZERTY/QWERTY, AltGr, entrée série |
idt.rs | Table des interruptions : exceptions affichées proprement |
sys.rs | Ports E/S, TSC calibré par le PIT, horloge RTC, extinction |
pci.rs | Énumération du bus PCI |
qsim.rs | Service quantique : simulateur de 10 qubits |
ai.rs | Assistant système v0 |
supertech.rs | Mode Super Tech et journal |
shell.rs | Éditeur de ligne, historique, commandes |
Compiler QuantOS
Prérequis : Rust nightly avec la cible x86_64-unknown-none, grub-mkrescue (paquets grub-pc-bin, grub-efi-amd64-bin), xorriso, mtools, objcopy et QEMU pour tester.
rustup toolchain install nightly -c rust-src
rustup target add x86_64-unknown-none --toolchain nightly
./build.sh # noyau + ISO + sommes SHA-256 + publication sur le site
Test automatique sous QEMU, commandes envoyées par le port série :
qemu-system-x86_64 -cdrom dist/quantos-0.1.0-x86_64.iso -m 512 \
-display none -serial stdio
Limites connues (alpha 0.1)
- Mode live uniquement : pas d'installation sur disque, pas de système de fichiers.
- Pas de réseau, pas de USB natif, pas d'audio, pas de GPU accéléré.
- Un seul cœur, pas de multitâche, pas de mémoire dynamique (phase 1).
- Aucune application tierce : les couches Linux, Android et Windows sont des chantiers futurs.
- Super Tech n'a pas encore de bac à sable à lever : il donne l'accès brut, sans authentification matérielle (phase 2).
- Le simulateur quantique est limité à 10 qubits et à de la virgule fixe (précision ~10⁻⁹ par porte).
Versions
0.1.0 « Liptako » — phase 0
- Premier noyau 64 bits en Rust, ISO hybride BIOS + UEFI.
- Console graphique accentuée, shell français, clavier AZERTY, port série.
- Simulateur de 10 qubits, démos Bell / GHZ / Grover / téléportation / QRNG.
- Assistant v0, mode Super Tech de base, table des exceptions, info matériel (CPU, mémoire, PCI).
Le nom « Liptako » rend hommage à la région de Dori, au Burkina Faso.