Старшеклассник, который работает под онлайн-ником ading2210, выпустил LinuxPDF — программное обеспечение, запускающее Linux в файле PDF. Это произошло после его более раннего выпуска DoomPDF — программного обеспечения, которое запускает видеоигру Doom в файле PDF.
Веб-браузеры используют HTML, CSS и Javascript для создания интерактивных веб-страниц, которые мы видим сегодня в Интернете. Подмножество этих языков доступно в современных PDF-браузерах для выполнения кода.
TinyEMU — это небольшой эмулятор системы RISC-V, работающий под управлением Linux, и нескомпилированный код TinyEMU с ОС Linux можно загрузить в файле размером 15 МБ . Этого достаточно, чтобы запустить его в браузере PDF без особых усилий, особенно при просмотре этого PDF-файла в веб-браузере, ссылка на который приведена выше.
Но операционные системы, такие как Linux, написаны на языке C, который изначально не использует веб-браузеры или PDF-браузеры. Emscripten — инструмент кросс-компиляции, используемый для преобразования кода C в подмножество Javascript, называемое asm.js, которое может работать в файлах PDF.
Ограничения в современных PDF-браузерах еще больше ограничивают то, какой код Javascript может быть запущен. Ading2210 преодолел свой более ранний выпуск DoomPDF, особенно для ввода текста и вывода системного дисплея, и повторно использовал этот код в LinuxPDF.