- Struktur yang mendukung menjalankan aplikasi Windows 9x dan Linux secara bersamaan, dengan kernel Linux modern berjalan secara kooperatif dengan kernel Windows di ring 0
- Dengan asumsi tanpa menggunakan virtualisasi perangkat keras, sehingga disebut dapat berjalan bahkan di 486
- Disebutkan bahwa cakupan modifikasi pada Windows 95 VMM tidak sebesar yang diperkirakan, serta penggunaan pemanggilan layanan VMM dan layanan terkait konteks memori seperti VMMCreateThread
- Untuk jaringan, belum dicoba, dan dijawab bahwa sepertinya cukup dengan menulis driver jaringan untuk masing-masing sisi
- Disebutkan bahwa gagasan ini dirapikan dan diwujudkan setelah doslinux, tanpa garis keturunan langsung, sambil memperlihatkan perbedaan pendekatan serta konteks dirilis sebelum dukungan 486 dihapus
Implementasi inti
- Tautan proyek codeberg.org/hails/wsl9x juga disertakan
- Dalam komentar tambahan juga disebutkan bahwa ini dirilis agar sesuai dengan waktu sebelum Linux menghapus dukungan 486
Keterangan tambahan tentang cara kerja
- Menjawab pertanyaan tentang seberapa banyak Windows 95 VMM dimodifikasi, dijelaskan bahwa jumlahnya tidak sebanyak yang diduga
- Disebutkan penggunaan beberapa pemanggilan layanan VMM
- Contohnya VMMCreateThread dan layanan terkait konteks memori
- Disebutkan juga bahwa ada item yang menurut dokumentasi bersifat internal dan tidak seharusnya dipanggil, tetapi tetap digunakan; namun dijawab bahwa campur tangan terhadap implementasi internal pada umumnya hanya sampai di situ
- Menjawab pertanyaan apakah implementasi jaringan sudah dicoba, dijawab belum dicoba
- Disebutkan bahwa tampaknya cukup menulis driver jaringan untuk masing-masing sisi
Hubungan dengan doslinux
- Dijelaskan bahwa ia ingin membuat wsl9x sejak setelah doslinux
- Disebutkan bahwa butuh 6 tahun untuk merapikan gagasan hingga metode implementasinya
- Ditegaskan bahwa tidak ada garis keturunan langsung antara kedua proyek
- Disebutkan bahwa pendekatannya sangat berbeda
- Namun, pembelajaran dan pengalaman yang diperoleh dari doslinux tetap berlanjut
Reaksi dan perbandingan
- Dalam berbagai tanggapan, berulang kali muncul reaksi bahwa ini mirip coLinux
- Termasuk ungkapan bahwa ini seperti coLinux untuk Win9x
- Ada juga tanggapan yang mengingatkan pengalaman menggunakan coLinux pada era XP
- Ada pula tanggapan yang membandingkannya dengan Cygwin atau mengenangnya sebagai alternatif lama
- Mengenai kemungkinan menjalankan aplikasi Windows, nama aplikasi spesifik seperti Winamp, Command & Conquer, Foobar2000 with Wine disebut dalam komentar, tetapi dukungan aktualnya tidak dikonfirmasi dalam isi utama
- Berbagai pertanyaan dan candaan tentang kecepatan, menjalankan X server, kemungkinan Wayland compositor, apakah BSOD terjadi, dan lain-lain terus muncul, tetapi sebagian besar tidak ada informasi tambahan yang terkonfirmasi
Konteks rilis
- Ini diperkenalkan dengan ungkapan bahwa secara pribadi mungkin ini salah satu hacking terbesar yang pernah ada
- Ada tanggapan bahwa ini merupakan cara untuk memperpanjang umur pakai praktis komputer lama, tetapi tidak disertai penjelasan teknis tambahan yang mendukungnya
- Isi utama postingan sangat singkat, dan fakta inti berfokus pada eksekusi bersamaan, eksekusi kooperatif di ring 0, tanpa virtualisasi, dan kemungkinan berjalan di 486
1 komentar
Komentar Hacker News
http://www.colinux.org/
https://github.com/wishstudio/flinux
flinux pada dasarnya lebih dekat ke arsitektur WSL1, sementara CoLinux terasa lebih seperti WSL2 karena membawa kernel Linux berdampingan
Secara teknis, rasanya Cygwin lebih ortodoks. Alih-alih memaksa menyisipkan plumbing Linux eksternal, pendekatannya adalah menjalankan binary POSIX native di atas Windows, dan saya juga menyukai fakta bahwa itu selesai hanya dengan link DLL ringan tanpa menyentuh ring 0
Namun saat itu kenyamanan package manager CLI masih kurang, dan ketika benar-benar bekerja di Windows, saya cukup terpikat dengan CoLinux
Masalah utamanya yang saya ingat adalah DLL hell. Misalnya, kalau port OpenSSH untuk Windows membawa cygwin1.dll versinya sendiri, bentrok versi sering terjadi
Meski begitu, di masa ketika RAM kecil dan swapping berat, rendahnya overhead tetap berarti
Pada masa itu aplikasi native lebih dominan daripada Web 2.0 atau NodeJS, dan Java juga tidak punya reputasi bagus
Pada akhirnya, seperti biasa, rasanya seperti maju dua langkah lalu mundur satu langkah
Berlawanan dengan nuansa bahwa ia tidak lambat, kenyataannya lambat, kompatibilitasnya juga lebih rendah daripada cara lain, perlu recompile, dan sepanjang sebagian besar umurnya bukan alat yang dicintai luas
Di dalam cygwin1.dll terjadi banyak sekali sulap kompatibilitas, dan pada akhirnya menurut saya itu sama saja dengan menarik plumbing Linux eksternal ke dalam proses. Terutama kalau mengingat cara mereka mengimplementasikan fork() tanpa dukungan sistem
Cygwin sama sekali tidak berjalan di dalam isolasi Windows AppContainer. MSYS2 pun sampai sekarang memakai fondasi ini, jadi binary MSYS2 tidak bisa dijalankan di AppContainer
Karena itu, untuk sandboxing Claude Code kami harus menempuh jalan yang sepenuhnya berbeda. Claude Code menginginkan Git for Windows, dan Git for Windows mendistribusikan bash.exe dan lainnya yang dibangun dengan MSYS2
Sebaliknya, build Windows yang benar-benar native tidak punya hacking aneh semacam yang diminta cygwin1.dll, jadi build non-MSYS2 yang saya temukan berjalan baik di AppContainer
Karena bisa memakai pacman milik Arch Linux, mengelola binary POSIX native di Windows jadi cukup ramah bahkan tanpa VM Linux
Jika versi Cygwin yang sudah dibangun sebelumnya untuk pustaka C yang ingin dipakai tidak ada, Anda harus menjalankan seluruh pohon dependensi sendiri dengan configure dan make
Selain itu, seingat saya sekitar dua pertiga kemungkinan Anda harus memperbaiki sesuatu sendiri, karena POSIX-nya tidak sepenuhnya cocok
Namun untuk mendapatkan semantik yang benar, diperlukan segala macam jalan memutar dan hack; misalnya fork bukan copy-on-write
Saya memakai Cygwin dari sekitar 1999 sampai 2022, sempat juga memakai WSL2 sedikit, dan masih memakainya di laptop
Tapi untuk desktop, sejak tahun lalu saya sudah sepenuhnya pindah ke Linux
Dulu saat masih memakai Windows di era XP, saya pernah menjalankan Colinux, dan itu alat yang benar-benar luar biasa
Jauh lebih mudah menyiapkan stack LAMP di sisi Linux, dan dengan tetap mengedit memakai editor Windows saya bisa membangun lingkungan pengembangan lokal yang cukup bagus
Bahkan bisa bereksperimen menjalankan desktop Linux di atasnya dengan memasang server X11 untuk Windows
Saat melihat diri sendiri makin lama makin menumpuk lingkungan mirip Unix di atas Windows seperti itu, akhirnya saya pindah ke macOS
Di luar nilai hacking murni, kalau memikirkan kegunaan nyata, saya juga merasa mesin kelas 486 akan cepat menabrak batas memori
http://colinux.org/
Hanya saja, rasanya tidak banyak orang yang menyadari itu
Bagi saya ini tampak seperti pekerjaan yang nyaris mustahil
Tapi saya jadi penasaran bagaimana ini terlihat di mata orang yang memahami arsitekturnya
Jadi saya teringat lelucon tentang dua matematikawan yang bilang suatu teorema itu sepele, lalu baru setelah menjelaskan selama dua jam mereka mengakui bahwa itu memang sepele
Profesor pun bilang iya dan kami langsung lanjut ke bagian berikutnya
Yang justru sangat mengagumkan adalah bahwa penulisnya berhasil mengidentifikasi satu per satu daftar panjang detail setebal kitab yang memungkinkan semua ini
Karena itu, tiap program hanya bisa membaca sebagian memorinya sendiri, dan CPU juga hanya dipakai dalam waktu terbatas sebelum diberikan ke program berikutnya
Windows mulai memakai fungsi-fungsi seperti ini secara serius sejak Windows NT, dan XP juga berasal dari garis itu
Sebaliknya, sampai Windows 98, program nyaris bisa melakukan apa saja, dan fitur proteksi perangkat keras semacam itu praktis menganggur
Windows pada masa itu terasa lebih seperti sekumpulan pustaka fungsional untuk menampilkan UI dan berbicara dengan periferal ketimbang sebuah sistem operasi
CPU punya perangkat keras khusus untuk membatasi akses memori dan waktu pemrosesan, tetapi Windows 9x tidak memanfaatkannya sepenuhnya
Jadi saya rasa ada celah bagi subsistem Linux untuk Windows 9x ini untuk berpura-pura menjadi sistem operasinya sendiri, mengambil alih perangkat keras itu, lalu menjalankan sistem operasi modern
Menurut saya bagian tersulit dari pekerjaan seperti ini adalah memahami API driver Microsoft
Dokumentasi era 9x tidak cukup rinci dan juga tidak mudah diakses, dan sampai sekarang pun ini bukan wilayah yang menyenangkan
Jadi justru tampaknya ada cukup ruang untuk memindahkan sebagian fungsi level rendah Linux ke dalamnya
Di satu sisi ada pembahasan bahwa Show HN makin banyak sampai tiga kali lipat dan dipenuhi aplikasi dengan nuansa vibe coding yang mirip, sementara di sisi lain ada seseorang yang selama 6 tahun membongkar isi Win9x dan menjalankan kernel Linux modern di dalamnya
Dibandingkan thread yang dipenuhi aplikasi hasil prompt 20 menit, posting seperti ini terasa benar-benar membahagiakan
Rasanya cukup menyenangkan bisa melihat kalimat seperti itu
Alih-alih create me an owl app, sekarang umum meminta dibuatkan prompt komprehensif untuk membuat owl app, lalu menempelkannya ke sesi AI berikutnya
Karena ada juga produk bernama Zero AI, jadi bisa terbaca seperti itu
Ungkapannya jauh lebih jelas, dan proyeknya sendiri juga benar-benar menakjubkan
https://codeberg.org/hails/wsl9x
Mastodon masih mengharuskan menjalankan JavaScript hanya untuk membaca satu posting, jadi biasanya saya langsung mengabaikannya
https://github.com/mastodon/mastodon/issues/23153
https://github.com/mastodon/mastodon/issues/19953
Saya tahu potongan informasi seperti adanya VM Monitor dan adanya dukungan semacam ini, tapi rasanya penjelasan detailnya tersebar di mana-mana
Banyak orang merangkum Windows seolah hanya berjalan di atas DOS, tapi jelas itu tidak akurat
Tentu ini berbeda dari virtual machine dalam arti modern, tetapi di dalamnya ada struktur teknis yang cukup menarik dan kebanyakan materi tampaknya hanya membahasnya secara dangkal
Saya juga penasaran seberapa mirip proyek ini dengan BSD on Windows
Dan saya juga tahu Architecture of Windows 9x, tetapi bagi selera saya rasanya kurang dalam
https://winworldpc.com/product/windows-sdk-ddk/windows-95-ddk
Dokumentasinya sangat rinci dan juga punya banyak kode contoh, jadi bagus untuk digali langsung
Karena WSL berarti Linux on Windows, ini tampaknya dibaca sebagai W9xSL dalam arti Linux di atas Windows 9x
Saya tidak bisa langsung memberi dasar pastinya, tetapi saya ingat pernah membaca bahwa ini terkait masalah merek dagang
Katanya mereka awalnya ingin menyebutnya Linux Subsystem for Windows, tetapi pihak Linux foundation tidak mengizinkan proyek yang tidak diotorisasi memakai nama yang diawali Linux
Filsafat intinya adalah memiliki beberapa personality, lalu menerjemahkan system call dari tiap lingkungan ke panggilan kernel NT
Karena itu, WSL1 pada 2016 pada dasarnya bisa dianggap mengulangi trik yang sama untuk Linux
Sebaliknya, Windows 9x berasal dari garis DOS, jadi untuk menjalankan Linux di dalamnya mungkin dibutuhkan hack yang jauh lebih kotor dan secara mendasar berbeda
Mungkin itulah juga alasan tak seorang pun melakukannya saat itu
Jadi fakta bahwa ini benar-benar berjalan terasa menunjukkan betapa majunya arsitektur NT pada zamannya
Untuk kegunaan praktis, saya teringat lingkungan yang masih terikat ke Windows 98, seperti perangkat lunak medis atau industri lama
Namun jika pada 2026 Anda memegang 486, kemungkinan besar akan jauh lebih berguna menjalankan Linux native saja daripada menanamkan Linux ke dalam turunan DOS berusia 30 tahun
Fakta bahwa Windows 9x bisa menjalankan DOS saja sudah melibatkan cukup banyak sihir
Saya juga meninggalkan beberapa bacaan terkait