Почему время Unix запускается 01.01.1970?

Действительно ли я прав в размышлении, что Вы имеете свой компьютер (компьютер A) и говорите, что два сервера (A и B), с которым Вы не можете соединиться непосредственно на определенном порте и тем самым хотеть туннелировать им по SSH?

Если так, Вы создаете два туннеля из своей машины (одна к каждому целевому серверу) на различных локальных портах с помощью-L не-D, и затем в контрольном инструменте Вы соединяетесь со своей локальной машиной (никакие настройки прокси), как будто это был удаленный сервер, который Вы хотите проверить.

ssh -L 9000:localhost:<local port jstatd listens on> user@server1
ssh -L 9001:localhost:<local port jstatd listens on> user@server2

Затем с помощью локального монитора Вы соединяетесь с localhost:9000 и localhost:9001, и те туннели подключают Вас к Вашему целевому jstatd's.

Если существует промежуточный сервер, то два туннеля транзитного участка,

ssh -L 9000:server1:<local port jstatd listens on> user@bastion-host
ssh -L 9001:server2:<local port jstatd listens on> user@bastion-host

Хм, если хост оплота может говорить со всей JVM, то

ssh -D 9000 user@bastion-host

Достаточно должен создать прокси носков, который можно затем просто использовать по порту 9000.

49
24.02.2016, 19:13
3 ответа

Я не знал бы, что ответ кроме Google был там для меня:

Отсюда (нуждается в бесплатной подписке):

Linux следует традиции, установленной Unix подсчета времени в секундах начиная с его официального "дня рождения", - названный "эпохой" в вычислениях условий - который является 1 января 1970.

Более полное объяснение может быть найдено в этой статье Wired News. Это объясняет, что ранние инженеры Unix выбрали ту дату произвольно, потому что они должны были назначить универсальную дату для запуска времени, и Новый год, 1970, казался самым удобным.

30
27.01.2020, 19:34

Мне нравится вопрос :-)

Позвольте мне попытаться ответить на это (ofcourse источник: Интернет)

Время Unix представлено целым числом на 32 бита (целое число), который может быть положительным или отрицательный (подписанный). Unix был первоначально разработан в 60-х и 70-х таким образом, "запуск" Времени Unix был установлен до 1-го января 1970 в полночь GMT (Среднее время по Гринвичу) - этой дате/времени присвоили Временная стоимость Unix 0. Это - то, что, знают как Эпоха Unix.

Целое число со знаком на 32 бита может представить целые числа между-2147483648 и 2147483647. Так как Время Unix запускается в 0, отрицательные Временные стоимости Unix возвращаются вовремя с Эпохи, и положительные числа продвигаются вовремя. Это означает что Отрезки времени Unix от Временной стоимости Unix-2147483648 или 20:45:52 GMT 13-го декабря 1901 к Временной стоимости Unix 2147483647 или 3:14:07 GMT 19 января в 2038. Эти даты представляют начало, предысторию и конец Времени Unix.

Конец Времени Unix произойдет 19 января 2038 3:14:07 GMT 19 января 2038 3:14:08 GMT все компьютеры, которые все еще используют Время Unix на 32 бита, переполнится. Это известно как "проблема 2038 года". Некоторые полагают, что это будет более значительной проблемой, чем "проблема 2000 года". Фиксация для проблемы 2038 года должна сохранить Время Unix в целом числе на 64 бита. Это идет уже полным ходом в большей части Операционных систем на 64 бита, но много систем не могут быть обновлены к 2038.

3
27.01.2020, 19:34
  • 1
    Только один абзац этого на самом деле рассматривает вопрос, и это несколько неточно (эпоха была первоначально в 1971; это было перемещено позже) –  Michael Mrozek♦ 06.12.2011, 22:33
  • 2
    Также посмотрите право en.wikipedia.org/wiki/Unix_time –  Nikhil Mulley 06.12.2011, 22:34
  • 3
    That's Michael. Из Википедии: самые ранние версии времени Unix имели 32-разрядное целочисленное постепенное увеличение на уровне 60 Гц, который был уровнем системы, отмечают время прихода на работу аппаратные средства ранних систем Unix. Значение 60 Гц все еще появляется в некоторых программных интерфейсах в результате. Эпоха также отличалась от текущего значения. Первое Руководство Unix-программиста выпуска, датированное 3 ноября 1971, определяет время Unix как "время с 0:00:00, 1 января 1971, измеряемый в sixtieths секунды". –  Nikhil Mulley 06.12.2011, 22:35
  • 4
    @Nikhil, который я все еще не получаю, почему 1970, только потому, что Unix был разработан то время? Почему не 1960? или другой месяц другой день? –  Templar 06.12.2011, 22:41
  • 5
    @Nikhil или это действительно не имеют значения? Только первый месяц, первый день выглядит лучше и это было сделано в 1971, таким образом 1970 будет выглядеть лучше также? –  Templar 06.12.2011, 22:44

Unix родился не в 1970 году.

Эпоха Unix - это полночь 1 января 1970 года. Важно помнить, что это не так. «День рождения» Unix - грубые версии операционной системы существовали примерно в 1960-х годах. Вместо этого дата была запрограммирована в системе где-то в начале 70-х только потому, что это было удобно, по словам Денниса Ричи, одного из инженеров, работавших над Unix в Bell Labs с самого начала.

6
27.01.2020, 19:34

Теги

Похожие вопросы