
[ad_1]

Bit by Bit — это еженедельная колонка, посвященная техническим достижениям каждую неделю в различных областях. Меня зовут Адам Конвей, и я освещаю технологии и слежу за новейшими достижениями уже десять лет. Если вас что-то заинтересовало и вы хотели бы осветить, вы можете связаться со мной по адресу [email protected].
Вы когда-нибудь видели, чтобы программное обеспечение или служба сообщали, что что-то произошло 1 января 1970 года? Это эпоха Unix или время POSIX, которое многие службы используют в качестве фиксированной точки для подсчета невисокосных секунд. В Windows Microsoft использует 1 января 1601 года, а в Mac — 1 января 1904 года, прежде чем перейти на эпоху Unix вместе с переходом от HFS к APFS. Однако реализация Apple означает, что ваш MacBook или iPhone перенесем дату обратно на 1 января 1970 года, как только мы достигнем 2554 года.
Раньше у Apple была гораздо более серьезная проблема
Предыдущее ограничение вашего MacBook было только в 2038 году.
С переходом на APFS (Apple File System) компьютеры Mac переняли эпоху Unix (начиная с 1 января 1970 года) для ведения хронометража, что соответствует большинству систем на базе Unix. Однако реализация APFS в macOS означает, что ваш Mac сможет отображать даты только до 6 февраля 2554 года. После этого дата вернется к 1 января 1970 года. Хотя это далекая проблема, она устанавливает верхний предел дат в текущей файловой системе Apple и означает, что многие вещи, скорее всего, сломаются на вашем Mac в эту дату.
Конечно, маловероятно, что кто-то, читающий эту статью, доживет до этого года, и если Apple к тому времени все еще будет существовать и будет выпускать новые MacBook и iPhone, скорее всего, они найдут решение. Однако раньше эта проблема была значительно хуже. Предыдущее ограничение для MacBook и iPhone было 6 февраля 2040 года, и оно было изменено только с APFS, когда Apple перешла на 64-битный хронометраж. Apple использует 64-битные беззнаковые целые наносекунды, поэтому ограничение сравнительно невелико.
Это ограничение также во многом эксклюзивно для Apple. В то время как 32-битные машины Unix столкнутся с проблемами 19 января 2038 года, 64-битные машины Unix могут считать до 2^64 секунд. Это 1,8446744e+19 секунд или 584 542 046 091 год. В зависимости от того, измеряет ли машина секунды, миллисекунды или наносекунды, меняется количество лет, до которых она может считать, и именно счет в наносекундах является причиной того, что ограничением Apple является «только» 2554 год.
А что насчет Windows? Действительно ли у пользователей Apple есть проблемы?
Windows использует «тиковую» систему
В Windows Microsoft может представлять время с 1 января 1601 года примерно до 30 828 года. Это связано с тем, что Windows отсчитывает время с интервалом в 100 наносекунд, а единственным недостатком этого метода является то, что вы не можете считать время в наносекундах на компьютерах под управлением Windows. Однако такой уровень точности требуется редко, и для большинства пользователей 100-наносекундные тики более чем достаточны.
Однако пользователям Apple на самом деле не о чем беспокоиться. Apple почти наверняка обновит свои операционные системы для поддержки гораздо более широкого диапазона дат, и, вероятно, на годы и годы раньше 2554 года. если к тому времени это даже станет проблемой. Мы говорим о дате, наступившей более чем через 500 лет, поэтому явно преувеличено утверждать, что это проблема в любом виде, форме или форме.
С учетом вышесказанного, эпохи в целом являются интересным способом отслеживания времени на компьютерах, и разные операционные системы делают это по-разному. Технически Apple является наиболее точным способом сделать это, но у него есть «обратная сторона»: он заканчивается раньше, чем остальные.
Если вы читаете это в 2554 году и у вас есть старый iPhone или Mac, то, думаю, вам, вероятно, следует создать резервную копию своих данных.
[ad_2]