Более подробное описание + новый шрифт
This commit is contained in:
parent
c8b4bad5ee
commit
44b020ab10
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
@font-face{
|
||||
font-family: '7Digital';
|
||||
src: url('digital-7\ \(mono\).ttf');
|
||||
src: url('Orloj.otf');
|
||||
font-weight: normal;
|
||||
font-style: monospace;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ body{
|
|||
width: calc(100% - 16px);
|
||||
}
|
||||
#time{
|
||||
font-size: 20em;
|
||||
font-size: 12em;
|
||||
width: calc(100% - 16px);
|
||||
height: 100%;
|
||||
font-family: '7Digital';
|
||||
|
|
42
index.html
42
index.html
|
@ -39,26 +39,44 @@
|
|||
2038 года. Данная проблема затронет программы и системы, в которых используется представление времени по
|
||||
стандарту POSIX (UNIX-время), которое представляет собой количество секунд, прошедшее с полуночи 1 января
|
||||
1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за
|
||||
повсеместного использования языка Си). Самая поздняя дата, которая может быть представлена таким форматом
|
||||
в стандарте POSIX — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).</p>
|
||||
повсеместного использования языка Си).</p>
|
||||
<p>Сейчас значение Unix timestamp равно <span id="timestamp"></span>.</p>
|
||||
<h3>В чём проблема?</h3>
|
||||
<p>В старых 32-битных системах (до середины 1990-х) используется тип данных time_t для хранения секунд в виде
|
||||
signed int (32-битного целого со знаком). Самая поздняя дата, которая может быть представлена таким
|
||||
форматом в стандарте POSIX — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).</p>
|
||||
<p>Более позднее время заставит такое поле данных стать отрицательным, как бы закольцевав таким образом время
|
||||
(поскольку отрицательное число может быть воспринято программами как время в 1970 или 1901 году, в
|
||||
зависимости от реализации). В результате любые расчёты, включающие дату позже 19 января 2038 года, могут
|
||||
привести к сбою программы либо к ошибочным вычислениям.</p>
|
||||
<p>Для проблемы 2038 года не существует простого решения для существующих комбинаций операционных систем и
|
||||
прикладного программного обеспечения. Изменение определения типа time_t на 64 бита нарушит бинарную
|
||||
совместимость программ, существующих хранимых данных и всего другого, использующего представление времени в
|
||||
бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют
|
||||
разницу во времени.</p>
|
||||
<h3>Что подвержено этой проблеме?</h3>
|
||||
<p>В большинстве операционных систем для 64-битных архитектур уже используется 64-битное представление целого в
|
||||
time_t. Переход на такие архитектуры уже происходит, и ожидается, что он будет завершён к 2038 году.</p>
|
||||
<p>Тем не менее, сотни тысяч 32-битных систем всё ещё вводятся в строй в настоящее время, в том числе и во
|
||||
встраиваемых системах, что вызывает сомнение, что они все будут заменены к 2038 году. Несмотря на то, что
|
||||
современные компьютерные системы могут модернизироваться раз в 18—24 месяцев (по «Закону Мура»), встроенные
|
||||
компьютеры могут действовать без модернизации весь срок, который работают системы, ими управляемые.</p>
|
||||
<p>В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как
|
||||
повсеместно распространённый архивный формат ZIP. Формат файла может существовать в течение времени, за
|
||||
которое сменятся многие поколения компьютеров, а это означает, что Проблема 2038 останется актуальной.</p>
|
||||
<p>Многие структуры данных, которые используются сегодня, имеют 32-битные представления времени, встроенные
|
||||
в их структуру. Полный список этих структур данных практически невозможно составить, но есть хорошо известные
|
||||
структуры данных, у которых есть проблема времени Unix:</p>
|
||||
<ul>
|
||||
<li>файловые системы (многие файловые системы используют только 32 бита для представления времени в индексных
|
||||
дескрипторах)</li>
|
||||
<li>форматы двоичных файлов (в которых используются 32-битные поля времени)</li>
|
||||
<li>базы данных (которые имеют 32-битные поля времени)</li>
|
||||
<li>языки запросов к базам данных, такие как SQL, которые имеют команды, похожие на <code>UNIX_TIMESTAMP()</code></li>
|
||||
</ul>
|
||||
<p>Примеры систем, использующих структуры данных, которые могут содержать 32-битные представления времени, включают:</p>
|
||||
<ul>
|
||||
<li>встроенные подсистемы управления и мониторинга завода, НПЗ</li>
|
||||
<li>различное медицинское, военное оборудование</li>
|
||||
</ul>
|
||||
<p>Любая система, использующая структуры данных, содержащие 32-битные представления времени, представляет риск.
|
||||
Степень риска зависит от характера отказа.</p>
|
||||
<h3>Использаванные материалы при составлении этого текста</h3>
|
||||
<p><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0">Проблема 2038 года - Wikipedia RU</a></p>
|
||||
<ul>
|
||||
<li><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0">Проблема 2038 года - Wikipedia RU</a></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/Year_2038_problem">Year 2038 problem - Wikipedia EN</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<footer>
|
||||
<hr>
|
||||
|
|
Loading…
Reference in New Issue