Интересни факти за компютърното запазване на времето

Автор: Judy Howell
Дата На Създаване: 2 Юли 2021
Дата На Актуализиране: 23 Юни 2024
Anonim
Электробритвы Филипс. Эволюция поколений за 10 лет. Philips HQ7830, HQ8250, S9000 S9041, NL9260.
Видео: Электробритвы Филипс. Эволюция поколений за 10 лет. Philips HQ7830, HQ8250, S9000 S9041, NL9260.

Съдържание


Източник: ChakisAtelier / iStockphoto

За вкъщи:

Вероятно не мислите за часовника в компютъра си твърде много, но има много интересни неща, които поддържат всичко безпроблемно.

Вероятно не мислите за часовника в компютъра си прекалено много, освен ако може би имате важен краен срок, но знаете малко за това как компютърът ви държи времето да поддържа безпроблемно работата на вашата система и вашата мрежа. Освен това компютърните технологии са променили начина, по който проследяваме, регистрираме и записваме време, което само по себе си е доста интересно. Тук добре разгледайте как компютрите пазят време.

Уникс време

Простете ми, че бях малко Unix-концентриран, но добра част от сървърите в интернет използват Unix време. Какво е времето на Unix? Всъщност е доста просто. Това е броят секунди, изминали от полунощ на 1 януари 1970 г., UTC (Ще обясня UTC малко по-късно в тази статия.) Това е известно като "епохата".


Много Unix и Linux системи изчисляват времето, като изчисляват епохи секунди и ги преобразуват в местно време. Предимството на това е, че е доста лесно да се изчисли разликата между две дати и часове. Ако искам да разбера колко време е минало от полунощ на 1 януари 1970 г. и в момента, просто е въпрос на просто изваждане. Езикът на програмиране Perl има възможност да изчислява епохални секунди за всяко време, което искате да си представите. (Можете да научите повече за Perl в Perl 101.)

Има и редица забавни модели, които се появяват като секундите от 1970 г. насам. Уикипедия има списък с тях. Например, на 13 февруари 2009 г. броят на изминатите секунди достигна 1,234,567,890. Да, това са всички числа, започващи от едно. Имаше партита в технически общности по целия свят, за да празнуват. И за онези от вас, които не сте толкова глупави, не, не измислям това.

По-сериозна последица от запазването на времето по този начин е проблемът от 2038 г. Без да навлизам в твърде много подробности, през 2038 г. броят на изминатите секунди ще бъде твърде голям, за да се запази в 32-битово подписано цяло число. Множество системи, включително вградени компютри, все още използват 32-битови процесори. Все още имаме достатъчно време за преобразуване в 64-битови системи или намиране на някакви други решения, но ако си спомняте дебала Y2K, при който хората се сблъскаха, за да отстранят проблема в последния момент, понякога просто няма желание да направите нещо за тези неща напред.


Когато преминем изцяло към 64-битови процесори, ще имаме до 292,277,026,596 секунди, преди да трябва отново да превключим процесорите. В този момент обаче вероятно човечеството ще има по-належащи опасения от своите компютърни часовници - Слънцето дотогава отдавна е погълнало Земята.

UTC

Въпреки че UTC, или координирано универсално време, не е строго ограничено до компютрите, това е важно в начина, по който те работят часовниците им. Това е заместител на средното време в Гринуич, което отчита забавянето на Земята. Основният меридиан, на който се основава това изчисление, все още се намира в обсерваторията на Гринуич в Англия. Защо там? Това е задържане на Британската империя.

Часовите зони са представени като компенсации на основния меридиан. Например, аз живея в тихоокеанската часова зона, която е UTC-8. А през лятното часово време всъщност е UTC-7.

Без грешки, без стрес - Вашето стъпка по стъпка ръководство за създаване на софтуер, променящ живота, без да разрушава живота ви

Не можете да подобрите уменията си за програмиране, когато никой не се интересува от качеството на софтуера.

UTC се използва в различни минуси, за да се освободи от неяснотите относно часовите зони, включително в авиацията, прогнозата на времето и изчисленията. Повечето машини представляват местната часова зона като отместване на UTC, но повечето сървъри в интернет изразяват времето в UTC. Можете да проверите заглавията си за доказателство.

NTP

Докато сървърите използват часовници, зададени на UTC, часовниците на компютър имат обичайния навик да се забавят. Наличието на множество синхронизирани часовници може да доведе до хаос с неща като това, което зависи от времето. Ето защо се появи протокол за мрежово време. Това е от 80-те години, като компютърните часовници са перфектно синхронизирани с NTP. Обикновено не е нужно да мислите за това. През повечето време всичко, което трябва да направите, е да активирате NTP на вашата система, чрез конфигурационни файлове или контролен панел, а NTP ще се погрижи за останалото, като се свързва със сървърите и периодично синхронизира компютърния часовник. (Научете повече в Как мрежовият протокол за време поддържа интернет тиктака.)

Дълбоко време

Интересен начин за представяне на времето е чрез използване на дробови дни. Това е форма на десетично време, която представя времето като процент от деня, който е преминал. Например полунощ е 0,00, обяд е 0,50, 6:00 ч. е 0,75 и т.н.

За да получите текущото време като частичен ден, разделете текущата минута на 60 и добавете това към часа. Например, ако в момента е 1:24 следобед, тогава 24 разделени на 60 е .40, давайки 13.40. Разделяйки това с 24 добива .56. Можете също така да имате всякаква точност, която искате. Например, бих могъл да напиша времето като .5583333. Предимството да се запази времето по този начин е, че подобно на епохалните секунди, споменати по-горе, изчисляването на разликите между два пъти е просто въпрос на просто изваждане.

ISO 8601

Ако някога сте били в чужбина, сега ще има много различни начини за представяне на дати. В Съединените щати обикновено месецът идва на първо място, така че 15 януари 2018 г. да бъде представен като 1/15/18. На други места денят идва на първо място, както в 15/1/18. Това може да създаде някои проблеми при общуване с хора в различни страни.

Международен стандарт ISO 8601 се опитва да реши някои от тези проблеми. Това е доста просто: YYYY-MM-DD. Връщайки се към нашия пример, представен съгласно ISO 8601, ще изглежда така: 2018-01-15. Това е недвусмислено и „едър ендиан“, защото годината идва на първо място. Този стандарт също прави сравнително лесно компютрите да сортират нещата по дата. Други варианти добавят UTC или показват броя на дните, изминали през годината.

Всичко с времето си

Времето е важно и още по-важно за компютрите. Надяваме се, че тази статия ви дава усещане за това как компютрите следят времето зад кулисите.