Article à la Une

0x01 - Le premier boot

boot.S - Le point d’entrée du noyau boot.S va être la première portion de code que le matériel exécute dans notre noyau. Cela doit être écrit en assembleur. Lorsque le CPU charge le noyau, il ne configure pas encore d’environnement d’exécution du langage C. Il ne sait même pas à quoi ressemble l’environnement d’exécution C! Ce code configure et met en place cela afin que nous puissions passer en langage C le plus rapidement possible.

Lire la Suite

Article Récent

Orange : l’opérateur de l’année

L’opérateur orange a déjà été distingué pour la qualité de sa couverture par l’ARCEP l’année dernière, en Juin 2017. Et pour cela, il a été annoncé qu’il figure parmi les meilleurs des meilleurs 7 fois consécutive. Cette fois, c’est pour ses services pour la version mobile que l’opérateur a reçu des éloges. Un prix mérité Depuis des années, Orange n’a cessé de se démêler afin de satisfaire les attentes et les besoins des utilisateurs.

Lire la Suite

0x03 - La mémoire

Maintenant que nous avons une structure de projet saine, nous pouvons continuer à développer le noyau lui-même. Puisque nous sommes le noyau, théoriquement, nous pouvons utiliser n’importe quelle partie de la mémoire à tout moment. Pour imposer un peu d’ordre et éviter de nous tirer une balle dans le pied, nous devons organiser l’utilisation de cette mémoire en un système sain et clair. Le meilleur moyen de le faire est de diviser la mémoire en blocs de 4 Ko appelés pages.

Lire la Suite

0x02 - Organiser notre projet

Séparer nos fichiers Maintenant, nous avons nos fichiers C, notre linker, nos fichier objets, et notre noyau compilé éparpiller dans le même dossier. Avant de commencer à rendre le noyau plus complexe, il serait plus judicieux de séparer les différents types de fichiers et de hiérarchiser notre projet. Nous allons donc séparer les fichiers C, les fichiers d’ en- tête et les fichiers de compilation dans des répertoires distincts: src , include et build respectivement.

Lire la Suite
Intelligence artificielle : c’est quoi ?

Intelligence artificielle : c’est quoi ?

Dans le monde numérique, on ne cesse d’entendre ce terme « intelligence artificielle ». Amateurs et professionnels ont tendance à utiliser ce terme surtout quand ils sont en pleine pratique ou durant les séances de partage qu’ils ont avec des passionnés qu’eux. Mais qu’est-ce que c’est et en quoi ça consiste exactement ? Et surtout, pourquoi tout le monde en parle de nos jours ? En bref L’intelligence artificielle est connue pour être des théories dans le monde scientifique qu’on met à l’œuvre/ qu’on met en pratique en vue de créer des « machines intelligentes ».

Lire la Suite

0x01 - Le premier boot

boot.S - Le point d’entrée du noyau boot.S va être la première portion de code que le matériel exécute dans notre noyau. Cela doit être écrit en assembleur. Lorsque le CPU charge le noyau, il ne configure pas encore d’environnement d’exécution du langage C. Il ne sait même pas à quoi ressemble l’environnement d’exécution C! Ce code configure et met en place cela afin que nous puissions passer en langage C le plus rapidement possible.

Lire la Suite

Comment accédez à notre site gratuitement?

Geek Madagascar est un magazine en ligne qui se penche plus vers la valorisation de la culture geek à Madagascar. De nos jours, de plus en plus de Malagasy commencent à se passionner dans ce domaine et n’hésitent pas à partager leurs connaissances et leurs expériences avec les autres. Pour cela, nous fournissons, à chaque occasion, des articles qui tournent autour des anciennes et nouvelles technologies afin de permettre aux débutants comme aux professionnels d’avoir de nouveaux acquis.

Lire la Suite

Le secret : mettre un seul nom sur Facebook

Facebook est sans doute le réseau social le plus usé dans le monde. D’ailleurs, les offres des opérateurs Malagasy ne cessent de le valoriser comme le mode gratuit d’Orange, le 10 Mo à 100 Ariary de Telma, le Facebook illimité de Bip et les 250 Mo Facebook utilisable pour les 7 prochains jours. Adultes et jeunes sont skotchés devant leur portable ou leur ordinateur afin de suivre les buzzs dans les groupes et les pages, pour partager ce qu’ils font au quotidien dans leur story, pour rester en contact avec leurs proches, pour passer des instants de fou rire et de joie, etc.

Lire la Suite

List.h: Liste chaînée dans le kernel

Pour de nombreuses opérations, le noyau à besoin d’une structure de données de liste chaînée. Ceci est une implémentation d’une liste chaînée qui réimplémente la liste pour chaque nouveau type pour lequel vous avez besoin d’une liste chaînée. Voici le code source de list.h: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #ifndef LIST_H #define LIST_H #define DEFINE_LIST(nodeType) \ typedef struct nodeType##list { \ struct nodeType * head; \ struct nodeType * tail; \ uint32_t size;\ } nodeType##_list_t; #define DEFINE_LINK(nodeType) \ struct nodeType * next##nodeType;\ struct nodeType * prev##nodeType; #define INITIALIZE_LIST(list) \ list.

Lire la Suite

Atags

Atags est une liste d’informations sur certaines configuration du matériel. Cette liste est créée par le bootloader avant le chargement de notre noyau. Le bootloader le place à l’adresse 0x100 , et transmet également cette adresse au noyau via le registre r2 . Si nous regardons la signature de la fonction kernel_main, void kernel_main(uint32_t r0, uint32_t r1, uint32_t atags) nous voyons que le pointeur atags est passer en troisième argument.

Lire la Suite

0x00 - Mise en place de l’environnement de développement

Avant de pouvoir créer un système d’exploitation, nous devons d’abord configurer notre environnement de développement. Nous allons supposer que vous travaillez sur un environnement Linux. Ce tutoriel suppose que vous avez une connaissance pratique du langage de programmation C, ainsi qu’une compréhension de base des différentes parties d’un ordinateur (CPU, GPU, RAM, etc.). Nous n’assumons aucune connaissance préalable sur la conception d’un système d’exploitation. Tout cela sera expliqué au fur et à mesure.

Lire la Suite