Linux w pliku PDF? Uczeń stworzył działający emulator systemu

2 miesięcy temu

Programiści to dla mnie czarodzieje. Mnie, jako przeciętnemu śmiertelnikowi, który z programowaniem adekwatnie nigdy nie miał do czynienia, trudno wyobrazić sobie, jak linijki tekstu mogą przekładać się na działający program. Jeszcze trudniej jest mi jednak sobie wyobrazić, jak można sprawić, by gra taka jak Doom działała w… pliku PDF, a przecież właśnie tego dokonał niedawno pewien uczeń szkoły średniej. Teraz ten sam uczeń właśnie wszedł natomiast w czwartą gęstość, tworząc działający w pliku PDF emulator Linuxa.

Linux działający w PDF

Minął ledwie miesiąc od momentu, w którym wspomniany uczeń i programista, znany pod pseudonimem „Ading2210”, pochwalił się światu Doomem przeniesionym do pliku PDF. Niemniej, już kilka dwa tygodnie temu zdołał on wyciągnąć z tego formatu jeszcze więcej.

Chociaż głównym zadaniem formatu PDF jest wyświetlanie tekstu i obrazów, ma on od siebie to, iż działa w nim kod JavaScript. W parze z odpowiednim czytnikiem, takim jak Adobe Acrobat, w plikach PDF podobno możliwe jest choćby wyświetlanie modeli 3D. Przeglądarkowe czytniki plików PDF mają bardziej ograniczone możliwości, ale najwyraźniej choćby w nich za pośrednictwem plików PDF można grać w gry czy emulować systemy operacyjne.

Linux w PDF bazuje na architekturze RISC-V i emulatorze TinyEMU. Poza tym działa w pliku PDF na podobnej zasadzie, co Doom w PDF. Poza tym, obydwa te projekty wykorzystują pewne rozwiązania znane z działającego w PDF Tetrisa, który był dla użytkownika Ading2210 inspiracją. Dla przypomnienia, Tetrisa PDF, czyli Pdftrisa na początku roku stworzył pewien analityk ds. bezpieczeństwa, Thomas Rinsma – po to, by udowodnić, iż pliki PDF mogą być nad wyraz interesujące.

Projekt, który robi wrażenie

Chociaż wydajność Linuxa emulowanego w pliku PDF jest ograniczona, trudno nie wyrazić względem sprytnego ucznia podziwu. Samo uruchamianie jądra emulowanego systemu trwa choćby minutę – jakieś sto razy dłużej, niż uruchamianie tradycyjnego Linuxa, na tradycyjnym komputerze. Ading2210 twierdzi jednak, iż na tę kwestię nic nie można poradzić w związku z ograniczeniami Chromium.

Domyślnie Linux emulowany w PDF działa w 32-bitowym systemie plików. Podobno da się go uruchomić w systemie 64-bit, ale w tym celu trzeba nieco zmodyfikować kod źródłowy. Poza tym, w parze z nim wydajność emulatora mocno spada.

Jeśli chcecie przetestować to dzieło na własnej skórze, wystarczy iż przejdziecie pod ten adres z poziomu przeglądarki internetowej bazującej na Chromium – Google Chrome, Microsoft Edge czy Opery. Jego kod źródłowy znajdziecie natomiast na platformie GitHub.

WinRAR wypuścił własny merch. Spójrz tylko na tę torbę

Źródło: GitHub/Ading2210, fot. tyt. Canva

ciekawostkilinuxprogramowanie
Idź do oryginalnego materiału