SimpleOS

SOSScreenShots

Navigation



  • Rechercher :

Site hébergé par : enix

Captures d'écrans


Il faut mettre beaucoup de guillemets ici, étant donné que l'intérêt de Sos ne réside pas dans les effets graphiques, extrêmement pauvres comme le prouvent les photos suivantes. Cliquez sur les images pour les agrandir.

Article 9, 2ème volet : Périphériques bloc (cache de blocs, cache de pages, disques durs, partitions, contrôleur IDE)

Sur l'écran qemu (en haut à droite) :
Sur la ligne série (en bas) :
Sur le terminal où bochs/qemu a été lancé (ie port 0xe9, en haut à gauche) :
tests
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art9_5.png
Note : pour lancer qemu dans cette démo, nous avons utilisé la ligne de commande suivante : "qemu -serial pty -fda fd.img -hda hd10M.img -boot a". Pour confectionner une image de disque dur utilisable par bochs/qemu (ici : hd10M.img), voir les indications fournies dans l'article de Février 2006 ou sur la SOSDownload.
Note 2 : pour déporter le port série de qemu sur un terminal Linux comme sur cette démo, voir les indications sur la SOSDownload (article 9).

Article 9, 1er volet : Périphériques caractère (tty, /dev/zero, /dev/mem, console, ligne série)

Sur l'écran qemu (en haut à gauche) :
Sur la ligne série (en haut à droite) :
Sur le terminal où bochs/qemu a été lancé (ie port 0xe9) :
open/read/link/etc...
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art9.png
Note : pour lancer qemu dans cette démo, nous avons utilisé la ligne de commande suivante : "qemu -serial pty -fda fd.img". Pour déporter le port série de qemu sur un terminal Linux comme sur cette démo, voir les indications sur la SOSDownload.

Article 8 : VFS (open, read, write, mount, link, unlink, symlink, mount, etc.)

Sur la console :
Sur le terminal où bochs/qemu a été lancé (ie port 0xe9) :
open/read/link/etc...
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art8.png

Article "7 et demi" : Gestion de l'espace utilisateur (fork + Copy-on-write, exec, mmap, brk/malloc)

Sur la console :
Sur le terminal ou bochs/qemu a été lancé (ie port 0xe9) :
fork/exec/mmap
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art75.png

Article 7 : Threads utilisateur, processus, appels système, chargement ELF simplissime


Sur la console :
Sur le terminal ou bochs/qemu a été lancé :
Threads utilisateur et appels systeme
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art7.png

Article "6 et demi" : Threads noyau, ordonnancement et primitives de synchronisation


3 jeux de threads noyau :
Threads et synchro
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art6_5.png
Note : l'article du magazine décrit le fonctionnement du système avec un ordonnancement de type FIFO. Mais, dans les sources, nous fournissons une version améliorée supportant un ordonnancement de type O(1) mixte priorité fixe - timesharing Unix.

Article 6 : Variations sur la pile, routines bas-niveau pour le multi-tâche (changement de contexte, coroutines)


3 tests :
Changement de contexte
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art6.png

Article 5 : Allocateur de mémoire virtuelle pour le noyau


SOS alloue/désalloue des petits objets en grande quantité pour faire des calculs sur des grands nombres entiers. Ici une étape intermédiaire dans le calcul de "factorielle 1000" :
Allocateur de mémoire pour le noyau
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art5.png

Article 4 : Pagination


SOS change la page physique sur laquelle il est en train d'exécuter le code, sans changer d'adresse virtuelle :
Gestion de la pagination
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art4.png

Article 3 : Gestion de la mémoire physique


SOS alloue un maximum de mémoire et la libère aussitôt en vérifiant qu'il n'y a eu aucun écrasement. Il affiche la quantité de RAM allouée/libérée :
Gestion de la mémoire physique
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art3.png

Article 2 : Segmentation, gestion des interruptions et exceptions


SOS tourne avec 2 compteurs : 1 interruption matérielle (timer, à droite en vert), 1 exception en boucle (division par zéro, à gauche en rouge) :
Interruptions et exceptions
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art2.png

Article 1 : SOS boote


Chargement de SOS par Grub :
Chargement par Grub
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art1-grub.png

Chargement avec le secteur de boot fourni avec SOS :
Chargement par le secteur de boot de SOS
Lien vers: http://sos.enix.org/wiki-fr/upload/SOSScreenShots/art1-bsect.png