recherche
MaisonTutoriel systèmeLinuxBanan OS: un système d'exploitation entièrement fonctionnel de type Unix construit à partir de zéro en c

Un étudiant a construit un système d'exploitation entier à partir de zéro en c. Oui, vous avez bien lu! Rencontrez Banan OS , un système d'exploitation amateur pour les architectures x86_64 et i686, entièrement écrit dans c par un étudiant universitaire Oskari Alaranta . Le projet est entièrement indépendant, avec tout le code écrit exclusivement par Alaranta, à l'exception de tout logiciel porté.

Dans cet article de blog, nous examinerons les détails techniques de Banan OS. Nous discuterons également de ce qui a motivé son créateur à construire un système d'exploitation entier à partir de zéro. Enfin, nous parlerons des défis auxquels il a été confronté pendant le processus.

Table des matières

Banan OS propose un

le noyau monolithique

et un certain nombre de composants essentiels, y compris un chargeur de démarrage, un noyau et des bibliothèques d'espace utilisateur. Ce qui distingue Banan OS, c'est son utilisation d'une bibliothèque standard C personnalisée, partiellement inspirée par STDC, et sa prise en charge robuste pour les besoins matériels et logiciels modernes. Le système fournit déjà un environnement TTY et GUI fonctionnel, aux côtés des principaux services publics UNIX comme CP, LS et STAT. Il prend en charge les dispositifs USB, les disques NVME et AHCI, et comprend même une pile de réseautage personnalisée avec les capacités TCP et UDP.

avec un système de fichiers de type UNIX avec un étape vers un opération standard complet, un projet d'apprenti Système.

Alaranta a noté qu'il teste régulièrement le système d'exploitation des bananes à la fois dans des machines virtuelles et sur le matériel réel.

Motivation

Banan OS: un système d'exploitation entièrement fonctionnel de type Unix construit à partir de zéro en c Oskari Alaranta s'est consacrée sur deux ans au développement du système d'exploitation banan. Sa motivation principale semble être un fort intérêt pour la programmation de bas niveau, en particulier le développement du système d'exploitation.

Cette passion se reflète dans sa décision d'écrire tout le système d'exploitation à partir de zéro en C, en excluant les logiciels portés. expérimenté.

Cependant, le projet a également été ponctué par des moments "It's Living". Alaranta le trouve particulièrement gratifiant de voir de nouvelles fonctionnalités fonctionnant parfaitement sur le matériel réel, citant des jalons tels que:

  • Atteindre les entrées du clavier
  • Implémentation de l'entrée de la souris USB
  • exécuter avec succès Doom
  • Les données de lecture des disques
  • établissant la connectivité du réseau
  • Obtenir un compilateur pour avoir duré

Composants, ce qui lui a permis une plus grande liberté d'explorer au-delà du code du système d'exploitation conventionnel et de poursuivre les caractéristiques de l'intérêt personnel. Cette étape, estime-t-il, a été atteinte après environ deux mois de développement.

Oskari Alaranta: Le développeur derrière Banan OS

à partir de l'écriture, Oskari Alaranta est un programmeur autodidacte de 22 ans et un étudiant basé à Tampere, en Finlande. Il s'intéresse à la programmation de bas niveau, en particulier le développement du système d'exploitation.

La passion d'Alaranta pour le développement du système d'exploitation l'a amené à créer Banan OS, un projet qui a duré plus de deux ans. Il a exprimé une aspiration à poursuivre une carrière dans le secteur, en tirant potentiellement son expérience avec Banan OS en tant que pièce de portefeuille.

contribuant à Banan Os

Banan OS est un très nouveau projet, et Oskari Alaranta accueille des contributions pour l'améliorer. Courriel, discorde ou en soulevant un problème) avant de commencer à travailler sur toute nouvelle fonctionnalité. Les corrections de bogues sont toujours les bienvenues.

Banan OS est principalement hébergé sur le serveur personnel d'Alara. Bien que la contribution ne soit pas aussi simple qu'elle le serait sur des plates-formes comme GitHub, vous pouvez soumettre des demandes de traction via le miroir Github, et Alaranta les appliquera manuellement.

Si vous souhaitez un compte direct sur le serveur d'Alaranta, vous pouvez le contacter par e-mail ou discorde.

Conclusion

Banan Os est la réalisation de la manière dont le dévouement, même un seul, peut créer un seul étudiant. Oskari Alaranta a investi un temps et des efforts importants dans le développement du système d'exploitation de bananes.

Un aspect notable du système d'exploitation bananaire est qu'il est largement construit à partir de zéro, Alaranta écrivant la majeure partie du code lui-même. Cette approche ambitieuse nécessite des connaissances techniques profondes et un état d'esprit de résolution de problèmes.

L'engagement d'Alaranta à construire à partir de zéro s'étend à des composants critiques comme l'interprète AML, qu'il a choisi de se développer plutôt que d'utiliser des solutions existantes. Ce choix montre son dévouement à comprendre et à contrôler tous les aspects du système d'exploitation OS.

Banan est toujours en cours de développement. Vérifiez le référentiel GitHub du projet pour les dernières mises à jour et modifications.

Ressource

:

    Banan OS GitHub Repository

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Quelles sont les opérations Linux?Quelles sont les opérations Linux?Apr 13, 2025 am 12:20 AM

Le cœur du système d'exploitation Linux est son interface de ligne de commande, qui peut effectuer diverses opérations via la ligne de commande. 1. Les opérations de fichiers et de répertoires utilisent des commandes LS, CD, MKDIR, RM et d'autres commandes pour gérer les fichiers et les répertoires. 2. La gestion des utilisateurs et des autorisations garantit la sécurité du système et l'allocation des ressources via UserAdd, Passwd, ChMOD et d'autres commandes. 3. La gestion des processus utilise PS, Kill et d'autres commandes pour surveiller et contrôler les processus du système. 4. Les opérations réseau incluent Ping, Ifconfig, SSH et d'autres commandes pour configurer et gérer les connexions réseau. 5. Commandes d'utilisation de surveillance et de maintenance du système telles que TOP, DF, DU pour comprendre l'état de fonctionnement du système et l'utilisation des ressources.

Boostez la productivité avec les raccourcis de commande personnalisés à l'aide d'alias LinuxBoostez la productivité avec les raccourcis de commande personnalisés à l'aide d'alias LinuxApr 12, 2025 am 11:43 AM

Introduction Linux est un puissant système d'exploitation favorisé par les développeurs, les administrateurs système et les utilisateurs de l'énergie en raison de sa flexibilité et de son efficacité. Cependant, l'utilisation fréquente de commandes longues et complexes peut être fastidieuse et ER

À quoi sert Linux?À quoi sert Linux?Apr 12, 2025 am 12:20 AM

Linux convient aux serveurs, aux environnements de développement et aux systèmes intégrés. 1. En tant que système d'exploitation de serveurs, Linux est stable et efficace, et est souvent utilisé pour déployer des applications à haute monnaie. 2. En tant qu'environnement de développement, Linux fournit des outils de ligne de commande efficaces et des systèmes de gestion des packages pour améliorer l'efficacité du développement. 3. Dans les systèmes intégrés, Linux est léger et personnalisable, adapté aux environnements avec des ressources limitées.

Outils et cadres essentiels pour maîtriser le piratage éthique sur LinuxOutils et cadres essentiels pour maîtriser le piratage éthique sur LinuxApr 11, 2025 am 09:11 AM

Introduction: sécuriser la frontière numérique avec un piratage éthique basé sur Linux Dans notre monde de plus en plus interconnecté, la cybersécurité est primordiale. Les tests de piratage et de pénétration éthiques sont essentiels pour l'identification de proactive et l'atténuation des vulnérabilités

Comment apprendre les bases de Linux?Comment apprendre les bases de Linux?Apr 10, 2025 am 09:32 AM

Les méthodes d'apprentissage Linux de base à partir de zéro incluent: 1. Comprendre le système de fichiers et l'interface de ligne de commande, 2. Master Basic Commandes telles que LS, CD, MKDIR, 3. Apprenez les opérations de fichiers, telles que la création et l'édition de fichiers, 4. Explorer une utilisation avancée telle que les pipelines et les commandes GREP, 5. Master Debugging Skills and Performance Optimimisation, 6. Amélioration continue des compétences par la pratique et l'exploration.

Quelle est la plus utilisée de Linux?Quelle est la plus utilisée de Linux?Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Quels sont les inconvénients de Linux?Quels sont les inconvénients de Linux?Apr 08, 2025 am 12:01 AM

Les inconvénients de Linux incluent l'expérience utilisateur, la compatibilité des logiciels, la prise en charge matérielle et la courbe d'apprentissage. 1. L'expérience utilisateur n'est pas aussi conviviale que Windows ou MacOS, et elle s'appuie sur l'interface de ligne de commande. 2. La compatibilité logicielle n'est pas aussi bonne que les autres systèmes et manque de versions natives de nombreux logiciels commerciaux. 3. La prise en charge matérielle n'est pas aussi complète que Windows, et les pilotes peuvent être compilés manuellement. 4. La courbe d'apprentissage est raide et la maîtrise des opérations de ligne de commande nécessite du temps et de la patience.

Linux est-il difficile à apprendre?Linux est-il difficile à apprendre?Apr 07, 2025 am 12:01 AM

LinuxisnothardTolearn, maisthedifficultyDependyourbackgroundAndgoals.forthosewithosexperience, en particulier la Command-linefamiliarité, LinuxisanEasyTransition.BeginnersmayfaceasteelearningCurvebutCanManageWithProperrresources.Linux'sopen-Sourcenature, Bas, bass

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),