Η ανθεκτικότητα της εφαρμογής των Windows στο Y2K38
Αν δεν μπήκατε στα Windows πολύ πρόσφατα, πιθανότατα γνωρίζετε το διάσημο ή μάλλον διαβόητο Y2K που αναφέρεται επίσης ως το υπερμικρόβιο της Millenium. Όταν πλησίαζε η χιλιετία (2000), πολλοί πίστευαν ότι το Y2K θα δημιουργούσε όλεθρο στον ψηφιακό κόσμο.
Σε περίπτωση που δεν το γνωρίζετε, το υπερμικρόβιο είχε τις ρίζες του στη χρήση δύο ψηφίων για να αντιπροσωπεύσει το έτος αντί για τέσσερα ψηφία. Ενώ όλα ήταν εντάξει μέχρι το 1999, στα μεσάνυχτα της 31ης Δεκεμβρίου, όταν το έτος έκλεισε το 2000, η ψηφιακή ωρολογιακή βόμβα ήταν έτοιμο να εκραγεί. Καταβλήθηκε τεράστια προσπάθεια για να διαδοθεί και ευτυχώς λειτούργησε ως επί το πλείστον. Μπορείτε να διαβάσετε γι’ αυτό και άλλα τέτοια περιστατικά σε αυτό το χαρακτηριστικό άρθρο που κάναμε.
Πολύ πιο πρόσφατα, κάτι παρόμοιο συνέβη στις αρχές του 2022, όπου οι διακομιστές Microsoft Exchange χάλασαν και τα μέσα ενημέρωσης αποφάσισαν να το χαρακτηρίσουν ως το περιστατικό “Y2K22”.
Πιστεύεται ότι το έτος 2038 έχει κάτι παρόμοιο. Το Y2K38 ή το Epochalypse είναι επίσης ένα σφάλμα που σχετίζεται με το χρόνο και σχετίζεται με τον τρόπο λειτουργίας του χρόνου Unix σε λειτουργικά συστήματα 32-bit, καθώς αποθηκεύεται σε ακέραιο αριθμό 32-bit και τα Windows δεν αποτελούν εξαίρεση.
Ο χρόνος Unix, γνωστός και ως χρόνος POSIX (Portable Operating System Interface), είναι μια μέτρηση του χρόνου που μετράει τον αριθμό των δευτερολέπτων που έχουν περάσει από την 1η Ιανουαρίου 1970. Αυτή η ημερομηνία αναφέρεται ως Unix Epoch, και ως εκ τούτου ο όρος ” Εποχή». Σε τέτοια λειτουργικά συστήματα, οι τιμές ημερομηνίας αποθηκεύονται σε έναν υπογεγραμμένο ακέραιο αριθμό 32 bit που υποδεικνύει τον αριθμό των δευτερολέπτων από την 1η Ιανουαρίου 1970. Προκύπτει πρόβλημα με τον ακέραιο αριθμό 32 bit να υπερχειλίζει στις 0314 ώρες περίπου στις 19 Ιανουαρίου 2038, προκαλώντας τα συστήματα να ερμηνεύστε την τιμή ημερομηνίας ως 13 Δεκεμβρίου 1901.
Ο ερευνητής ασφαλείας και χρήστης του Twitter (τώρα X) Enderman, ο οποίος πρόσφατα ανακάλυψε μια μυστική συντόμευση των Windows 11 24H2 OOBE, υπενθύμισε πρόσφατα στους χρήστες το πιθανό πρόβλημα που θα μπορούσαν να αντιμετωπίσουν τα συστήματα Windows 10 32-bit.
‼ Τα 32-bit Windows 10 ηττήθηκαν εντελώς μέχρι το έτος 2038
Η ρύθμιση του έτους 2038 σε εκδόσεις 32-bit των Windows (συμπεριλαμβανομένων των Windows 10) διακόπτει ορισμένες βασικές λειτουργίες, όπως φαίνεται στο βίντεο.
Μια εξαιρετική υπενθύμιση για όλους σας για να βεβαιωθείτε ότι χρησιμοποιείτε μια έκδοση 64-bit των Windows.
pic.twitter.com/ahHn93HPly
— Έντερμαν (@endermanch)
5 Μαρτίου 2024
Ενώ αναμένεται ότι τέτοια συστήματα θα προβληματιστούν στις 19 Ιανουαρίου 2038, ένας άλλος χρήστης X, ο Bob Pony, ανακάλυψε με ενδιαφέρον ότι το Windows Media Player (WMP) έκδοση 6 και παλαιότερη, φαινομενικά δεν επηρεάζεται από το Y2K38, κάτι που δεν συμβαίνει με εκδόσεις 7 και νεότερες.
Διόρθωση: Επηρεάζει μόνο το Windows Media Player έκδοση 7 και νεότερη.
Το Windows Media Player έκδοση 6 και παλαιότερη δεν επηρεάζεται από το πρόβλημα του έτους 2038.
https://t.co/lJVk6qZhWQ
— Bob Pony (@TheBobPony)
6 Μαρτίου 2024
Για όσους χρειάζονται ανάκληση, η έκδοση 6 του Windows Media Player κυκλοφόρησε με τα Windows 2000 και ήταν επίσης διαθέσιμη στα Windows XP, αν και ήταν κρυφή από κοινή θέα. Αυτό σημαίνει ότι οι εκδόσεις της εφαρμογής που κυκλοφόρησαν κατά τις εποχές των Windows 95, 98, 2000 και XP δεν επηρεάζονται από το Epochalypse για κάποιο λόγο.
Αξίζει να σημειωθεί ότι η υποστήριξη 32 bit υπάρχει στα Windows από την έκδοση NT 3.1. Ανεξάρτητα από αυτό, αυτό το είδος μου θυμίζει την πρόσφατη ιστορία που κάναμε όπου ένα διασκεδαστικό μικρό πείραμα υπαινίσσεται την απίστευτη συμβατότητα των Windows προς τα πίσω.
Ωστόσο, στο τέλος της ημέρας, αυτό πιθανότατα δεν θα είναι πρόβλημα, καθώς τα Windows 11 υπάρχουν μόνο σε λειτουργία 64-bit και η τελευταία έκδοση των Windows 10 που υποστηρίζεται είναι το Windows 10 IoT Enterprise 2021, το οποίο έχει την ημερομηνία λήξης της υποστήριξής του προγραμματισμένο για τις 13 Ιανουαρίου 2032.
(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.defer=true; js.id = id;js.src = “https://connect.facebook.net/en_US/sdk.js#xfbml=1&appId=141241332490&version=v2.8”;fjs.parentNode.insertBefore(js, fjs);}(document, ‘script’, ‘facebook-jssdk’));
VIA:
NeoWin.net

