- Το WSL9x επιτρέπει την εκτέλεση του πυρήνα Linux 6.19 σε λειτουργικά συστήματα Windows 9x χωρίς τη χρήση εικονικοποίησης.
- Το έργο βασίζεται σε έναν ενημερωμένο πυρήνα, ένα πρόγραμμα οδήγησης VxD και έναν πελάτη κονσόλας DOS 16-bit.
- Αυτό είναι ένα επίτευγμα αντίστροφης μηχανικής που αναπτύχθηκε χειροκίνητα από την Hailey Somerville σε διάστημα έξι ετών χωρίς τη βοήθεια της Τεχνητής Νοημοσύνης.
Φανταστείτε για μια στιγμή ότι θα μπορούσατε να ανοίξετε ένα τερματικό Linux, με όλα τα σύγχρονα εργαλεία του, ενώ πλοηγείστε στην γκριζωπή, νοσταλγική επιφάνεια εργασίας των Windows 95. Ενώ μπορεί να ακούγεται σαν αστείο από τις πιο ακραίες συμβάσεις χάκερ, κάποιος έχει μπει στον κόπο να το κάνει πραγματικότητα. Μιλάμε για ένα πειραματικό έργο που ονομάζεται WSL9x, ένα υποσύστημα Linux για Windows 95 και 98, ένα είδος τεχνικός φόρος το οποίο προσαρμόζει τη φιλοσοφία του τρέχοντος Υποσυστήματος των Windows για Linux σε μια εποχή όπου οι υπολογιστές είχαν μια εντελώς διαφορετική αρχιτεκτονική.
Αυτή η εξέλιξη δεν είναι η τυπική εικονική μηχανή που χρησιμοποιούμε συνήθως σήμερα, ούτε είναι μια διπλή εκκίνηση που σας αναγκάζει να επανεκκινήσετε τον υπολογιστή σας. Είναι ένα εξαιρετικά ορθόδοξη ολοκλήρωση Επιτρέπει σε έναν πυρήνα Linux και σε ένα σύστημα της Microsoft της δεκαετίας του 1990 να συνυπάρχουν στον ίδιο χώρο. Ουσιαστικά, είναι ένα κομμάτι αρχαιολογίας υπολογιστών που ξεχειλίζει από ευρηματικότητα, αποδεικνύοντας ότι η συμβατότητα με παλαιότερες εκδόσεις μπορεί να φτάσει σε σχεδόν παράλογα επίπεδα αν κάποιος έχει αρκετή υπομονή και δεξιότητες στη γλώσσα assembly.
Ποιος κρύβεται πίσω από αυτή την τεχνική τρέλα;

Ο εγκέφαλος πίσω από αυτό το hack είναι η Hailey Somerville, προγραμματίστρια και χάκερ που έχει αφιερώσει... δύο χρόνια εργασίας σιωπηλά γυαλίζοντας αυτό το στολίδι. Το έργο παρουσιάστηκε επίσημα στο Codeberg και γρήγορα έγινε viral σε πλατφόρμες όπως το Mastodon και το Hacker News, όπου οι λάτρεις των υπολογιστών εντυπωσιάστηκαν από την ικανότητά του να εκτελεί το Πυρήνας Linux 6.19 σε ένα σύστημα που ήταν ήδη απαρχαιωμένο πριν από δεκαετίες.
Μια λεπτομέρεια που τράβηξε την προσοχή της κοινότητας ήταν η δήλωση της συγγραφέως στο αρχείο README, όπου ισχυριζόταν ότι ο κώδικας ήταν Γραμμένο με υπερηφάνεια χωρίς τεχνητή νοημοσύνηΣε μια εποχή όπου όλοι χρησιμοποιούν γλωσσικά μοντέλα για τον προγραμματισμό, το να κάθεται κάποιος και να μαλώνει με τη συναρμολόγηση του i386 και τα εγχειρίδια εκείνης της εποχής αποτελεί πράξη τεχνικής επανάστασης που έχει χειροκροτηθεί ευρέως.
Η εσωτερική αρχιτεκτονική: Πώς λειτουργεί πραγματικά;
Για να λειτουργήσει το Linux στα Windows 9x, ο Hailey έπρεπε να χτίσει μια γέφυρα που αποτελούνταν από τρία βασικά κομμάτια. Αρχικά, χρησιμοποίησε ένα τροποποιημένος πυρήνας Linux βασισμένο σε Linux σε λειτουργία χρήστη (UML), αλλά με μια ανατροπή: αντί να χρησιμοποιεί τυπικές κλήσεις POSIX, αυτός ο πυρήνας έχει ενημερωθεί για να καλεί απευθείας τα εγγενή API των Windows 9x.
Το δεύτερο κομμάτι είναι ένα Ελεγκτής VxDη οποία είναι η μορφή προγράμματος οδήγησης που είναι συγκεκριμένη για αυτήν την γενιά. Αυτό το στοιχείο κάνει τη βρώμικη δουλειά, φορτώνοντας το αρχείο vmlinux.elf και διαχειριζόμενοι τα συμβάντα του χώρου χρήστη. Το πρόβλημα είναι ότι τα Windows 9x δεν διαθέτουν έναν αρκετά μεγάλο πίνακα περιγραφής διακοπών για το διάνυσμα 0x80 που χρησιμοποιείται από το Linux, επομένως το πρόγραμμα οδήγησης καταφεύγει σε... γενικός χειριστής σφαλμάτων προστασίας (GPF) για να αναχαιτίζει κλήσεις συστήματος και να τις ανακατευθύνει στον πυρήνα του Linux.
Τέλος, ο χρήστης αλληλεπιδρά με όλα αυτά μέσω ενός πελάτης wsl.comΠρόκειται για ένα απλό πρόγραμμα DOS 16-bit που λειτουργεί ως γέφυρα, μεταβιβάζοντας την εντολή στον πυρήνα σαν να ήταν TTY. Το αποτέλεσμα είναι μια ολοκληρωμένη εμπειρία τερματικού όπου μπορείτε να εκτελέσετε βασικές εντολές GNU χωρίς να εγκαταλείψετε το παλαιότερο περιβάλλον των Windows.
Κίνδυνοι, περιορισμοί και συγκρίσεις
Ας μην κοροϊδευόμαστε: αυτό δεν είναι ένα εργαλείο για καθημερινή εργασία, αλλά μάλλον μια επίδειξη τεχνικής ικανότητας. Μία από τις μεγαλύτερες προειδοποιήσεις των προγραμματιστών είναι ότι το Linux και τα Windows μοιράζονται το Προνόμιο κλήσης 0Αυτό σημαίνει ότι δεν υπάρχει απομόνωση μνήμης. Εάν ο πυρήνας του Linux κάνει λάθος, Θα πετάξει όλο το σύστημα έξω. στη θάλασσα, προκαλώντας πάγωμα της οθόνης ή πλήρη κατάρρευση του συστήματος.
Όσο για τις δυνατότητες, ξεχάστε το γραφικό περιβάλλον εργασίας. Το WSL9x βασίζεται αποκλειστικά σε κείμενο, επομένως απαιτεί από τον χρήστη να είναι πολύ άνετος στην πλοήγηση στο σύστημα. Γραμμή εντολώνΕπίσης, δεν είναι δυνατή η εκτέλεση κοντέινερ Docker ή Kubernetes, καθώς οι περιορισμοί υλικού και μνήμης i386 της εποχής δεν θα ήταν επαρκείς για τέτοια φόρτα εργασίας.
Αν συγκρίνουμε αυτό το έργο με άλλες ιστορικές προσπάθειες, βλέπουμε ότι είναι πολύ διαφορετικό. Cygwin Ήταν απλώς ένα runtime συμβατότητας και CoLinux Ενώ το WSL2 φόρτωσε τον πυρήνα στα Windows XP, το WSL9x στοχεύει συγκεκριμένα στην οικογένεια 9x. Σε αντίθεση με το WSL2 στα Windows 11, το οποίο χρησιμοποιεί έναν εξαιρετικά βελτιωμένο υπερεπόπτη Hyper-V, εδώ έχουμε ένα συγχώνευση συνεταιρισμών ακατέργαστη και άμεση μεταξύ δύο λειτουργικών συστημάτων.
Το έργο wsl9x αποτελεί μια δεξιοτεχνική άσκηση αντίστροφης μηχανικής, γεφυρώνοντας με επιτυχία το παρελθόν και το παρόν. Με τον χειρισμό των προγραμμάτων οδήγησης VxD και την εις βάθος τροποποίηση του πυρήνα 6.19, τα Windows 95, 98 και ME έχουν διαμορφωθεί ώστε να λειτουργούν ως κεντρικοί υπολογιστές για ένα σύγχρονο σύστημα, αποδεικνύοντας ότι το τεχνικό χάσμα μεταξύ δεκαετιών μπορεί να γεφυρωθεί με επαρκή εφευρετικότητα και πλήρη γνώση της γλώσσας assembly.
Παθιασμένος συγγραφέας για τον κόσμο των byte και της τεχνολογίας γενικότερα. Μου αρέσει να μοιράζομαι τις γνώσεις μου μέσω της γραφής, και αυτό θα κάνω σε αυτό το blog, θα σας δείξω όλα τα πιο ενδιαφέροντα πράγματα σχετικά με τα gadget, το λογισμικό, το υλικό, τις τεχνολογικές τάσεις και πολλά άλλα. Στόχος μου είναι να σας βοηθήσω να περιηγηθείτε στον ψηφιακό κόσμο με απλό και διασκεδαστικό τρόπο.
