Skip to content

Latest commit

 

History

History
118 lines (86 loc) · 3.76 KB

File metadata and controls

118 lines (86 loc) · 3.76 KB

CoolPotOS

Un système d'exploitation jouet simple.

GitHub Repo stars GitHub issues GitHub License GitHub release (latest by date) Hardware Ask DeepWiki


Langues : English | 简体中文 | Français | 日本語

Introduction

Ceci est un système d'exploitation simple pour les architectures ia32 et amd64.

Modules

Compilation et exécution

Vous devez installer les outils suivants sur votre ordinateur :

  • xmake
  • xorriso
  • QEMU
  • NASM (uniquement pour i386)
  • Zig (uniquement pour i386, installé automatiquement par xmake)
  • git (uniquement pour x86_64, pour la macro GIT_VERSION)
  • clang (uniquement pour x86_64)
  • lld (uniquement pour x86_64, pour lier les objets LTO)
  • Chaîne d'outils Rust nightly (uniquement pour x86_64)
  • cbindgen (uniquement pour x86_64, utilisez cargo install cbindgen)
  • oib (uniquement pour x86_64 et la création d'image, utilisez cargo install oib)

Options

Vous pouvez utiliser la commande pour définir l'architecture cible (x86_64 par défaut) :

xmake f -y --arch=i686

Commandes

  • xmake run - Construit et exécute l'image ISO.
  • xmake build iso - Construit une image ISO amorçable.
  • xmake build img - Construit une image disque amorçable (x86_64 uniquement).

Développement

Vous pouvez générer un fichier compile_commands.json avec:

xmake project -k compile_commands

Cela permet à votre éditeur de localiser les fichiers sources et d'améliorer la coloration syntaxique.

Licence

Ce projet est sous Licence MIT.

Documentation

Pour une documentation technique détaillée, veuillez consulter docs/README.md.

Fonctionnalités

AMD64

Basé sur un démarrage UEFI BIOS.
Utilise le chargeur d'amorçage Limine.

  • Gestion de la mémoire avec table de pages à 4 niveaux
  • xAPIC et x2APIC
  • Module du noyau
  • Pilote de disque AHCI
  • Multi-tâches (processus et threads)
  • Clavier et souris PS/2
  • Énumération des dispositifs PCIe
  • Gestion de l'alimentation ACPI
  • Interface VFS VDisk
  • File de messages IPC
  • Signaux de processus
  • Ordonnanceur multiprocesseur
  • Programmes utilisateur
  • Système de fichiers de périphériques
  • Unité de calcul en virgule flottante
  • Pilote IIC
  • Pilotes NVMe et USB
  • Pilotes PCNET et RTL8169
  • Pilotes SB16 et PCSpeaker
  • Pilote TTY
  • Pilote SATA/SATAPI

Contribution

Vous êtes invité à créer des demandes de tirage ou à signaler des problèmes sur ce projet. Ensuite, détendez-vous.

Contributeurs