Buzz est un système d'exploitation de passe-temps conçu à des fins d'apprentissage. Le buzz est probablement le meilleur système d'exploitation au monde (en 1918 après JC). 
Le système d'exploitation ne peut être compilé que sur des machines Unix. Si vous utilisez un système différent, vous pouvez télécharger le binaire à partir d'ici.
Assurez-vous que tous les ci-dessous sont installés avant de passer à l'étape suivante.
| Exigence | Installation |
|---|---|
| Qemu | sudo apt install qemu-system |
| GCC | sudo apt install build-essential |
| Faire | sudo apt install build-essential |
| Python3 | sudo apt install python3 |
Clone le référentiel dans votre machine et compilez avec Make.
git clone https://github.com/eylon-44/Buzz-OS
cd Buzz-OS
make À l'intérieur du répertoire racine du projet, entrez make run . Le système démarrera et vous saluera avec un programme terminal.
Conseils rapides
• Utilisez la commandehelppour obtenir des informations sur les commandes disponibles • Exécutez un programme en entrant son chemin • Ouvrez un onglet avecCtrl+Shift+T, fermez-le avecCtrl+Shift+W, et passez à un autre avecAlt+[tab index]•
Dans le terminal, utilisez la commande help pour répertorier les commandes disponibles. Pour plus de détails sur une commande spécifique, utilisez help suivie du nom de la commande.

Exécutez un programme en entrant son chemin. Utilisez la commande ls suivie d'un nom de fichier pour vérifier s'il est exécutable.

Ouvrez un onglet avec Ctrl+Shift+T , fermez-le avec Ctrl+Shift+W et passez à un autre avec Alt+[tab index] .

Buzz fournit une interface facile pour rédiger vos propres programmes utilisateur dans les langages C et Assembly.
Un système de construction personnalisé et une bibliothèque standard sont fournis, vous pouvez donc vous concentrer sur l'écriture de code impressionnant. La bibliothèque Buzz C Standard implémente plus de 70 fonctions que vous pouvez utiliser pour rédiger votre code mieux et plus rapidement, et le buzz utilisateur MakeFile vous permet de créer des programmes compatibles Buzz avec une seule commande.
Tous les programmes utilisateur résident dans le répertoire usr/exe dans le projet. Chaque programme est un répertoire contenant un makefile, un fichier .path , un répertoire de code source et un répertoire inclue. La structure du programme utilisateur la plus élémentaire peut être définie comme suit:
├── inc
├── makefile
├── .path
└── src
└── main.c Vous pouvez facilement le générer en copiant le processus _busy .
cd usr/exe
cp -r _busy MyCoolProgram
cd MyCoolProgram
mkdir inc # _busy doesn't have an include directory Vous pouvez désormais écrire votre code sous le répertoire src et vos fichiers d'en-tête sous le répertoire inc
Quand il est temps de compiler, entrez make . Le système de construction compilera tous les fichiers .c et .S sous le répertoire src , incluent le répertoire inc et lient le programme avec la bibliothèque Buzz C Standard.
Notez que dans chaque programme utilisateur, un fichier .path peut être trouvé. Ce fichier définit le chemin qui mènera à votre programme une fois dans le système. Assurez-vous de définir ce fichier avec un chemin valide avant la compilation.
echo /home/apps/MyCoolProgram.elf > .pathPour les fonctions disponibles et les fichiers d'en-tête de la bibliothèque standard C, consultez l'interface de la bibliothèque.
Buzz vous permet de configurer le système de fichiers déjà au moment de la compilation.
Le répertoire usr/file dans le projet agit comme le répertoire racine du système de fichiers. Tout fichier placé dans ce répertoire apparaîtra plus tard dans le système de fichiers du système d'exploitation au même emplacement relatif.

Le terminal vous permet d'ajouter vos propres commandes personnalisées.
Tout exécutable placé dans le répertoire /bin dans le système de fichiers du système d'exploitation peut être utilisé comme commande de terminal. Veuillez noter que le terminal doit être redémarré pour que les modifications prennent effet.

Si mon code est nul, veuillez ouvrir un Issuse et faites-le moi savoir!
Vous envisagez de donner une étoile au référentiel?