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

  1. Téléchargez l'ISO sur la page de téléchargement et vérifiez sa somme SHA-256.
  2. Essayez-la d'abord dans une machine virtuelle :
    qemu-system-x86_64 -cdrom quantos-0.1.0-x86_64.iso -m 512 -vga std
  3. Sur un vrai PC : écrivez l'ISO sur une clé USB (Rufus en mode DD, balenaEtcher ou dd) puis démarrez dessus.
  4. Dans le menu GRUB, validez « QuantOS 0.1.0 ». Le noyau démarre, affiche ses services puis le prompt quantos>.
  5. Tapez aide, puis q run bell pour votre première expérience quantique.
Le mode « mode sûr (texte VGA) » du menu GRUB force la console texte 80×25 si l'écran graphique pose problème.

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 @ # { [ | \ ^ ~).

CommandeRôle
aideListe des commandes
infoRésumé du système (processeur, mémoire, écran, clavier, chargeur, durée)
apropos, version, logoPrésentation, numéro de version, bannière
date, uptimeHeure de l'horloge matérielle (RTC), durée depuis le démarrage
memMémoire totale et carte mémoire du chargeur
cpuMarque, fabricant, fonctions (SSE2, AES, AVX, AVX2, VMX), fréquence TSC, détection de machine virtuelle
pciListe 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|qwertyDisposition du clavier
echo, effacerAfficher un texte, vider l'écran
redemarrer, eteindreRedé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
Grover à 4 qubits : 3 itérations suffisent pour ≈ 96 % de réussite, contre ~8 essais en moyenne par recherche classique.

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.

CommandeEffet
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
regsCR0, CR2, CR3, CR4, RFLAGS, EFER
journalActions effectuées pendant la session
Danger. 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é

Architecture

Séquence de démarrage

  1. GRUB charge le noyau (ELF32 Multiboot) et demande un framebuffer 1024×768×32.
  2. 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 de kmain.
  3. kmain (Rust) : série, lecture des informations Multiboot, console, table des exceptions, calibrage de l'horloge, clavier, puis shell.

Modules du noyau

FichierRôle
boot.sAmorçage 32 → 64 bits, pagination, pile
main.rsPoint d'entrée kmain, gestion de panique
multiboot.rsLecture des informations du chargeur : mémoire, framebuffer
console.rsConsole framebuffer (police PSF 8×16 Latin-15, accents français) ou texte VGA
kbd.rsClavier PS/2 AZERTY/QWERTY, AltGr, entrée série
idt.rsTable des interruptions : exceptions affichées proprement
sys.rsPorts E/S, TSC calibré par le PIT, horloge RTC, extinction
pci.rsÉnumération du bus PCI
qsim.rsService quantique : simulateur de 10 qubits
ai.rsAssistant système v0
supertech.rsMode 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)

Versions

0.1.0 « Liptako » — phase 0

Le nom « Liptako » rend hommage à la région de Dori, au Burkina Faso.