Util [DragonFly] Resident

April 27th, 2005 par ls

resident(8) est une petite fonctionnalité convi du BSD à la libellule. Il permet de rendre un programme, comme son nom l’indique si bien, résident en mémoire, ainsi que tous les mappings vers les bibliothèques partagées qu’il utilise.

L’intérêt est que l’application resident-isée au préalable se lance alors biiien plus vite au prix d’un peu de RAM utilisée.

Démonstration en images:

1) Rendre résidente une application
# resident /chemin/vers/programme

2) Constater avec plaisir qu’elle est bien résidente
# resident -l
Id Size Address Executable 1 4224472 0x2840c6c0 /chemin/vers/programme

3) Libérer l’espace occupé en mémoire
# resident -x 1

resident est disponible sur tout système DragonFly BSD à peu près à jour (à ma connaissance, il n’a pas été porté vers d’autres BSD).

Posté dans Util | 3 Comments »

3 Reponses pour “[DragonFly] Resident”

  1. Anonyme Says:

    Resident
    Ce principe avait déjà été exploité au début des années 90 sous IBM OS/2, et en particulier pour son compilateur C++. Celui-ci résidait en mémoire, et lorsqu’il n’était plus utilisé pendant un certain temps, la libérait. C’est étonnant que l’on aie pas repris ce principe plutôt, probablement que certains caches système remplissent déjà partiellement ou complètement cette tâche !

  2. Anonyme Says:

    OpenOffice
    C’est pas plus ou moins ce que fait openoffice avec son loader.

  3. ls Says:

    Amiga / Solution kernelspace
    En fait, d’après la liste des features:
    “An amiga-style ‘resident’ utility program + kernel support has been implemented, and prelinking support has been removed (because the resident utility is much better). You can make any dynamically loaded ELF binary resident with this utility. The system will load the program and do all shared library mappings and relocations, then will snapshot the vmspace. All future executions of the program simply make a copy of the saved vmspace and skip almost right to main(). Kernel overhead is fairly low, also. It still isn’t as fast as a static binary but it is considerably faster then non-resident dynamic binaries.”

    L’idée de resident provient donc de l’Amiga. Dillon codait sur cette plateforme, on lui doit le compilateur C DICE.

    Sinon, il me semble que c’est quelque chose d’un peu plus souple que le loader d’OpenOffice ou kdeinit de KDE, qui sont des solutions entièrement userspace… le kernel fait une part du travail, pour que n’importe quelle application puisse être resident-isée, et non uniquement celles qui ont été codées spécialement pour.

    (BTW, m’suis trompé, il s’agit plus d’un tip que d’une news…)

Répondre

Vous devez être identifié pour poster un commentaire.

Identification

Enregistrez-vous

SQUAD!

GCU live

[00:45:44] yota trop de pb avec les drives
[00:45:46] yota drivers
[00:45:59] yota par exemple steam se focalise sur nvidia et laisse tomber amd
[00:46:17] yota toujours le meme soucis avec AMD depuis 15 ans
[00:46:29] yota bon matos mais drivers pourris
[00:46:49] Goodbox yep et c'est pas prêt de changer
[00:50:26] yota ce qui est dommage c'est que meme la intel hd5000 semble ne pas gerer opengl 3.1
[00:50:37] yota enfin je crois que c'est 3.1
[00:51:24] yota ou 4.1
[00:51:28] yota je ne sais plus
[00:51:35] yota mais plein de jeux demande une version min

Miiissioudaaam'

Archives:

Meta:

Hosted by:

NBS-System