À propos de la non-connaissance du tas par l'OS, je viens mettre mon grain de sel:
Sur le modèle en couches de Lavock, je vais détailles un peu plus:
- Le Matériel, avec la MMU (de nos jours intégrée aux processeurs x86)
- Le Kernel de l'OS.
- Les appels système: Partie de l'OS différente du kernel, mais s'exécutant en kernel-mode.
- L'API système utilisateur: Fonctions fournies avec l'OS, mais purement user-mode: Par exemple, les fonctions Shell de Windows.
- Les programmes.
Là-dessus, je sais que Windows propose à la fois aux programmes des fonctions d'allocation de pages et des fonctions de gestion d'un (ou plusieurs) tas. J'ignore si ces fonctions sont des appels système ou si elles se contentent d'appeler les premières; mais dans les deux cas, elles sont fournies par Windows.
De plus, l'allocation d'une pile est gérée par l'OS également.
Par contre, il serait intéressant de connaître le cas de nux.
Partager