IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

skiftOS - Un système d'exploitation inspiré d'UNIX, fait main pour les processeurs intel x86.


Sujet :

Projets

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 6
    Points
    6
    Par défaut skiftOS - Un système d'exploitation inspiré d'UNIX, fait main pour les processeurs intel x86.


    Un système d'exploitation inspiré d'UNIX, fait main pour les processeurs intel x86.

    GitHub



    Interface en ligne de commande de skiftOS

    Bonjour à tous !

    Je m'appelle Nicolas, j'ai 21 ans, je suis belge et je fais un bachelier en informatique de gestion. Je suis ici pour vous présenter le fruit d'un peu plus d'une année de travail : skiftOS.

    Présentation et avancement

    skift est un système d'exploitation que j'ai commencé à écrire dans le but d'apprendre le C, la programmation système, et l'architecture et implémentation d'un SE. Il est composé d'un noyau nommé hjert, de librairies (libsystem, libwidget, libterminal, etc), des commandes de base inspirer d'UNIX (cat, ls, cd, sh, ...) et d'un environnement graphique (WIP).

    Au cœur de skiftOS il a hjert, un noyau monolithique fonctionnant en multitâche préemptif avec pagination qui est capable de charger des applications au format ELF.

    Le système dispose de plusieurs librairies dont :
    • libsystem: qui effectue la communication qui fournit les APIs de base (gestion des processus, système de fichier, communication, ...);
    • libcompat: pour faciliter le portage d'application existante en fournissant une interface POSIX ce qui devrais permettre dans le futur de porter des programme comme bash, make ou gcc;
    • libgraphic: pour le rendu de graphisme en 2D notamment utiliser par libwidget;
    • libwidget: création d'interfaces graphiques (boutons, fenêtres, etc.)


    Il peut faire tourner DOOM


    Le portage de DOOM est possible grâce à `libcompat` et doomgeneric ([code source du portage](https://github.com/skiftOS/port-doom))

    Objectifs

    Mon objectif initial d'apprendre le C est atteint je crois, mais voici d'autre objectif que j'aimerais biens accomplire:
    • Des tests automatiques, car actuellement, je testes tout à la main, pour commencer les syscalls puis libsystem.
    • Un bureau avec barre des taches, explorateur de fichier, etc
    • Une pile réseau, de quoi faire des pings, télécharger des fichiers depuis HTTP ^^
    • Supporter d'autre architectures notamment ARM


    Tester le système

    Vous pouvez télécharger l'ISO du système depuis GitHub

    Je vous recommande d'utiliser QEMU pour tester le système, mais VirtualBox est aussi supporté.
    Vous pouvez aussi l'essayer sur votre propre machine en créant une USB bootable, mais c'est à vos risques et périls :p

    QEMU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qemu-system-x86_64 -cdrom bootdisk.iso -m 256M -serial mon:stdio -enable-kvm
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qemu-system-i386 -cdrom bootdisk.iso -m 256M -serial mon:stdio -enable-kvm
    VirtualBox
    • Generique 32bit
    • Minimum 256MB de RAM
    • Pas besoin de disque dur


    Contribuer

    Je vous invite à faire un petit tour sur le GitHub et me donner votre avis sur mon code, je suis encore un débutant en C donc tout les critiques sont bonnes à prendre Si vous voulez m'envoyer une pull request je me ferais un plaisir de la merge

    Bonne journée et merci de m’avoir lu

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Félicitations !
    Impressionnant !

    Le DOOM, il rame quand même un peu, non ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 6
    Points
    6
    Par défaut
    @LittleWhite Oui, le système avait quelques problèmes de timing qui fessaient que le jeu tournais plus lentement que normal. Et aussi que mon pc est un vieux thinkpad qui n'est pas non plus très rapide et encore moins avec OBS.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 6
    Points
    6
    Par défaut

    Petite mise a jours sur skiftOS, le projet a été porté vers C++, on dispose maintenant de notre propre interface graphique. Plein d'utilitaire de base ont été ajouté comme uname, basename, dirname, tac, rmdir, head, etc...

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/05/2013, 15h59
  2. Réponses: 0
    Dernier message: 14/05/2013, 15h55
  3. Réponses: 0
    Dernier message: 14/05/2013, 15h55
  4. Réponses: 4
    Dernier message: 26/06/2005, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo