Le projet WSL9x pour exécuter des noyaux Linux modernes dans l'environnement de Windows 95

Un passionné non lié à Microsoft a développé l'outil WSL9x (Windows 9x Subsystem for Linux), qui permet d'exécuter des noyaux Linux modernes à l'intérieur du noyau Windows 95/98/ME. Ce projet permet d'exécuter des applications pour Linux et Windows 9x côte à côte dans un même système, à l'image de la couche WSL qui permet de travailler avec des applications Linux dans les versions modernes de Windows. Seules les programmes Linux en mode console sont supportés. Le code des composants WSL9x est écrit en C et en assembleur et est distribué sous la licence GPLv3.

Contrairement à WSL2, WSL9x n'utilise pas de virtualisation et le noyau Linux s'exécute en mode zéro (ring 0) parallèlement au noyau Windows, permettant d'utiliser WSL9x sur des systèmes ne supportant pas la virtualisation matérielle, même avec des CPU i486. Le système utilise un noyau Linux 6.19 modifié, conçu pour fonctionner en mode UML (User-mode Linux), destiné à exécuter le noyau en tant que processus utilisateur. L'accès à l'API POSIX dans la couche UML a été remplacé par un appel à l'API du noyau Windows 9x.

Dans Windows, un driver VxD préparé par le projet est chargé, responsable de l'initialisation de la sous-système WSL9x, du chargement et du placement du noyau Linux en mémoire, de la gestion des interruptions, du passage cyclique du contrôle au noyau Linux en mode multitâche coopératif et du traitement des événements adressés au noyau Linux depuis l'espace utilisateur, tels que l'exécution des appels systèmes et les accès à des pages mémoire non allouées (page faults). Comme le noyau Windows 9x ne prend pas en charge la table des vecteurs d'interruptions (IDT, Interrupt Descriptor Table), ce qui empêche d'installer son propre gestionnaire d'interruption 0x80, un gestionnaire GPF (General Protection Fault) est utilisé pour intercepter les exceptions survenant lors de l'exécution de l'instruction SYSCALL.

Pour les utilisateurs, un utilitaire wsl.com est proposé, présenté sous la forme d'une application DOS 16 bits permettant d'utiliser l'invite de commande MS-DOS pour exécuter des programmes Linux. L'utilitaire assure la transmission des événements d'entrée et simule la fonctionnalité d'une console pour afficher la sortie avec prise en charge des codes d'échappement ANSI.

Le projet WSL9x pour exécuter des noyaux Linux modernes dans l'environnement de Windows 95


Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster