Projekt WSL9x na spúšťanie moderných Linux jadier v prostredí Windows 95

Nesúvisiaci s Microsoftom nadšenec vyvinul nástroj WSL9x (Windows 9x Subsystem for Linux), ktorý umožňuje spúšťať moderné jadra Linuxu v rámci jadra Windows 95/98/ME. Projekt poskytuje možnosť vykonávať aplikácie pre Linux a Windows 9x vedľa seba v jednom systéme, podobne ako vrstva WSL umožňuje pracovať s aplikáciami Linuxu v moderných verziách Windows. Podporuje sa spustenie iba konzolových Linuxových programov. Kód komponentov WSL9x je napísaný v C a assembleri a je distribuovaný pod licenciou GPLv3.

Na rozdiel od WSL2, WSL9x nepoužíva virtualizáciu a jadro Linuxu beží v nulovom ochrannom krúhu paralelne s jadrom Windows, čo umožňuje používanie WSL9x na systémoch bez podpory hardvérovej virtualizácie, dokonca aj s CPU i486. V systéme sa využíva modifikované jadro Linux 6.19, zostavené na prácu v režime UML (User-mode Linux), určené na spustenie jadra ako používateľského procesu. Oslovenie k POSIX API v UML vrstve prekladu bolo nahradené volaním API jadra Windows 9x.

V prostredí Windows sa načíta projektom pripravený VxD ovládač, ktorý zodpovedá za inicializáciu subsystému WSL9x, načítanie a umiestnenie jadra Linuxu do pamäte, spravovanie prerušení, cyklické odovzdávanie riadenia jadru Linuxu v režime zdieľanej viacúlohovosti a spracovanie udalostí adresovaných jadru Linux z užívateľského priestoru, ako sú vykonávanie systémových volaní a prístup k nealokovaným stránkam pamäte (page faults). Keďže jadro Windows 9x nepodporuje tabuľku vektorov prerušení (IDT, Interrupt Descriptor Table), čo neumožňuje nastaviť vlastný spracovateľ prerušenia 0x80, pre systémové volania sa používa spracovateľ GPF (General Protection Fault), ktorý zachytáva výnimky vznikajúce pri vykonávaní inštrukcie SYSCALL.

Pre používateľov je k dispozícii nástroj wsl.com, ktorý je prezentovaný ako 16-bitová DOS aplikácia a umožňuje používať príkazový riadok MS-DOS na spúšťanie Linuxových programov. Nástroj zabezpečuje prenos vstupných udalostí a simuluje funkčnosť konzoly na zobrazenie výstupu s podporou ANSI escape kódov.

Projekt WSL9x na spúšťanie moderných Linux jadier v prostredí Windows 95


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster