Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Pagination - Mémoire virtuelle de Windows

Pagination : des blocs appelés « pages », dans un système de « Paging », sont éjectés (« Fichier d'échange » - « Swap Out ») afin de libérer de la mémoire RAM. L'inverse est le « Swap In ».

La « pagination » de la mémoire (de son contenu), dans un ordinateur, n’a rien à voir avec la pagination d’un document dans un traitement de texte. Rien à voir avec en-tête, corps et bas de page, rien à voir avec la numérotation des pages, etc.

Le concept de découpage de l’espace d’adressage dans la mémoire RAM d’un ordinateur est né à une époque où la RAM coûtait affreusement chère (une fortune), en 1962, avec l’Atlas, un ordinateur développé conjointement par l’Université de Manchester, Ferranti, et Plessey.

C’était un ordinateur dit de « deuxième génération », utilisant des transistors discrets au germanium (on sortait des lampes et relais [1ère génération] et les « circuits intégrés » [troisième génération] venaient d’être inventés, en 1958, par Jack Kilby, chez Texas Instruments, et le procédé de fabrication « Planar » par Robert Noyce (futur fondateur d'Intel) chez Fairchild Semiconductor – mais n’étaient pas encore disponibles).

L’Atlas est remarquable par l’écriture de son système d’exploitation qui invente la mémoire virtuelle (appelée alors « one-level store » - « magasin à un niveau ») en utilisant des techniques de Swap-Out (ou Roll-Out) et de Swap-in (ou Roll-In). À l’époque, l'opération était brute : c’était le programme entier qui était éjecté pour laisser là place à un autre. En fait, c'était juste une permutation. Le terme de « page » était déjà utilisé mais concernait l’adressage de zones de mémoire qui n’avait rien à voir avec ce système de permutation.

La permutation brute va évoluer vers un découpage en « pages » (des blocs de 4 KO) dans le cadre d’une « mémoire virtuelle » à granularité fine.

Ce Swap-Out/Swap-in va devenir universel et est toujours utilisé près de 60 ans plus tard.

Le sujet, dont tout à propos du fichier pagefile.sys de Windows, est entièrement développé dans l'article :

Pagination - Windows, avec sa mémoire virtuelle, protège certains virus

Les algorithmes de gestion de la mémoire virtuelle de Windows (le fichier pagefile.sys) optimisent le remplissage de ce fichier. Lorsqu'un programme en cours d'exécution doit être éjecté momentanément de la RAM pour laisser de la place à un autre, seules les données sur lesquelles vous travaillez, et les variables, sont envoyées dans la mémoire virtuelle (le fichier pagefile.sys). Le code en lui-même du programme, invariable, se trouve déjà sur disque, dans le fichier où le programme est installé. C'est de là qu'il sera recherché/rechargé lorsque le programme remontera en mémoire pour reprendre son tour d'exécution. C'est la raison pour laquelle Windows empêchera toujours de toucher aux fichiers des programmes en cours d'exécution (Windows les ouvre avec un privilège d'accès exclusif).

Si le programme est un virus, il « bénéficiera » de la même « protection » (virus vs malwares). C'est pourquoi les antivirus et antimalwares vous annonceront parfois, pour parfaire une décontamination (selon les virus ou parasites [parasitewares] trouvés), qu'ils ont besoin de redémarrer l'ordinateur. Là, dans la liste de redémarrage de Windows, l'antivirus ou antimalwares a inscrit des travaux à faire en premier et va exécuter ces travaux de fin de décontamination avant de permettre le démarrage/redémarrage de tout le reste.

Vous ne devez pasdémarrer / redémarrer Windows en mode de diagnostic (dit mode " sans échec ") pour lancer un antivirus ou un antimalware s'il ne vous le demande pas, car cet outil cherche certains virus en mémoire, lorsqu'ils cherchent à s'exécuter (mode « on-execution ». Si l'ordinateur démarre en mode de diagnostic (mode " sans échec "), certains virus, qui se camouflent sur disque, ne seront pas détectés. Ils sont obligés de se dévoiler pour se lancer, en cherchant à s'activer en mémoire. Si un outil de sécurité est spécifiquement écrit pour être utilisé en mode de diagnostic (mode " sans échec "), nous vous le signalerons dans son mode d'emploi.

Le mode d'accès « on-execution » des outils de sécurité permet aussi :

  • De gagner du temps en n'analysant que ce qui cherche à s'exécuter, donc uniquement du code exécutable, au lieu d'analyser tout et n'importe quoi.
  • D'éviter le problème connu qui fait dire qu'il ne faut jamais avoir plus d'un antivirus ou antimalwares simultané. Cet ancien mode de fonctionnement des outils de sécurité, qui faisait intercepter, en mode exclusif, les fichiers tentant de s'ouvrir (« hook - hooker - hooking »), pour les analyser, pouvait provoquer des situations de blocages mutuels infinis entre plusieurs outils de sécurité intervenant simultanément sur le même fichier.

Accessoirement, vous pouvez lancer une seconde fois un antivirus ou antimalwares à la demande (on-demand), en mode de diagnostic (mode " sans échec "), par acquit de conscience, mais certains antivirus le vérifient et refuseront de se lancer dans ce mode. Lorsque Windows est démarré en mode de diagnostic (mode " sans échec "), il est lancé dans une configuration minimum. Tout ce qui tente, habituellement, de s'activer et s'exécuter durant le démarrage de Windows, et qui ne fait pas partie du noyau minimum de Windows (le kernel), est ignoré (n'est pas lancé).

Seuls les malwares de classe « Root » (« Rootkit »), qui ont réussi à s'incruster dans le noyau de Windows (le kernel), ne peuvent être évités lors d'un démarrage en mode « sans échec ». Ils font désormais partie du noyau de Windows et disposent des privilèges les plus élevés, ceux de Windows (« Ring 0 »).

Les niveaux de privilèges dans un système d'exploitation : ring0, ring1, ring2, ring3, ring 0, ring 1, ring 2, ring 3
Les niveaux de privilèges dans un système d'exploitation : Ring0 (Ring 0), Ring1 (Ring 1), Ring2 (Ring 2), Ring3 (Ring 3)

Certains virus s'installent encore plus « haut » : dans le « bootstrap » du disque de démarrage (le « bootstrap » est exécuté avant le chargement de Windows), voire dans le BIOS qui est exécuté en tout premier, à la mise sous tension de l'ordinateur.

Les microprogrammes UEFI, qui remplacent les BIOS depuis 2012, sont suspectés de beaucoup d'intrusions franchement malveillantes et attentatoires à la vie privée et aux libertés individuelles dont :

Qui contrôle le BIOS/l'UEFI contrôle l'ordinateur
donc contrôle son utilisateur

Pagination - Windows, avec sa mémoire virtuelle, protège certains virus
Pagination - Pagination - Mémoire virtuelle de Windows