Changes between Version 38 and Version 39 of AS6-TME-B6


Ignore:
Timestamp:
Mar 29, 2022, 4:13:52 PM (2 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B6

    v38 v39  
    223223'''
    224224 * 4kO est une taille standard utilisée pour la gestion de la mémoire des applications, et pour le système de fichiers. On ne le voit pas ici, mais le noyau gère en principe une mémoire physique découpée en pages (nommé parfois cadres). En fait, la mémoire est vue comme un réservoir de pages dans lequel le noyau peut piocher pour y mapper du code, des données, des morceaux de fichiers, etc. La page est un élément atomique.
    225  * Honnêtement, c'est difficile de dire si c'est vraiment un problème que les slabs fassent au plus une page. Ce que l'on peut dire, c'est qu'en biologie, "le besoin crée l'organe" et bien pour le système d'exploitation, le besoin doit créer la fonction, afin de ne pas créer du code mort (jamais utilisé qui sont des nids de bugs). Donc tant que le besoin est absent, ce n'est pas un problème de pas avoir la fonction :-)
     225 * Honnêtement, c'est difficile de dire si c'est vraiment un problème que les slabs fassent au plus une page. Ce que l'on peut dire, c'est qu'en biologie, "le besoin crée l'organe" et bien pour le système d'exploitation, le besoin doit créer la fonction, afin de ne pas créer des codes morts (jamais utilisés) qui sont des nids de bugs. Donc, tant que le besoin est absent, ce n'est pas un problème de pas avoir la fonction :-)
    226226'''
    227227}}}
     
    229229{{{#!protected ------------------------------------------------------------------
    230230'''
    231  *
     231 * `kfree()` demande la taille pour savoir dans quelle liste d'objets libre remettre l'objet.
     232 * Le `kfree()` de Linux ne le demande pas, mais je ne pense pas que cela soit une contrainte. On est dans le noyau et je ne pense pas que le noyau ait à libérer des objets dont il ignore le type et donc la taille. Par contre cette information donnée à `kfree()` permet de pas avoir besoin de la stocker quelque-part lors de l'allocation (comme c'est fait pour l'allocateur de la libc).
    232233'''
    233234}}}