TGViewer
C# Short Posts 🔞 C# Short Posts 🔞 @dimasshortposts · 306 subscribers
Post #410 272
👽 Как защититься от космических лучей? Часть 1

В 2003 году в городе Схарбек один из кандидатов на местных выборах внезапно получил на 4096 голосов больше, чем было физически возможно.

Конечно, нас таким не удивить. Но вот в Бельгии, где и проходило голосование, очень даже удивились и провели расследование. По результатам которого во всем обвинили космические лучи. ☄️

Интерес тут в том, что все это оказалось правдой. Дело в том, что космические лучи постоянно бороздят не только просторы нашей вселенной, но и наши микрочипы. И в обычной жизни до недавнего времени вы вполне себе могли списать часть ваших багов именно на воздействие вселенной. Но в последнее время вам это будет делать все сложнее.

Не потому что космических лучей стало меньше, а потому что мы научились от них защищаться. И я хочу рассказать тут, как!

👿 Проблема
Давайте представим, что вы храните на диске или в памяти какую-то последовательность. К примеру 1011. И от этой последовательности зависит сломается ваша система или нет. Но в какой-то момент происходит вспышка на Солнце и ваша последовательность становится 1001. И вас будит алерт.

Вас просят предотвратить подобное в будущем. Как же это сделать?

🔢 Самое тупое решение — бит чётности

Идея: вы после каждых 4 бит добавляете пятый — контрольный. Его вы подбираете так, чтобы общее количество бит было в сумме чётным.

К примеру, для вашего числа:

1011 → 10111 (три единицы + одна контрольная = четыре, чётно)

Когда вы считываете это число, то просто суммируете все биты и если их сумма нечетная, как к примеру вот тут:

10011 ❌

То вы делаете вывод, что космический луч сломал вашу программу и вы тут ни при чем. Или вот тут число четное, значит можно ехать дальше.

10111 ✅

Это довольно хороший подход. Но как найти куда конкретно попал космический луч?

Самый простой вариант это хранить резервную копию, с которой бы мы сверялись в случае чего. Но КПД у такого решения конечно низкий, в районе 50%. А если быть точным, то именно 50%

Что означает, что на поддержание инфрастуктуры по защите от космических лучей вы будете тратить 50% оперативной памяти. Что конечно никто из менеджмента не одобрит. Проще закупиться шапочками из фольги. 🥈

Однако способ все же есть. И я попробую его в следующем посте объяснить. Оно того правда стоит!

#инженерныештучки #кодхэмминга #помехоустойчивость
  • 👾 2
  • 👻 1
More from @dimasshortposts
  1. Sep 26, 2026🧵 Тредик для вопросов по докладу про MAF на дотнексте В докладе многие подробности опусти…
  2. Sep 23, 2026Даже самым хардкорным ребятам надо отдыхать, так что отдыхаем, мои чюваки 🕺 🧑‍💻dp🥁 #he…
  3. Sep 16, 2026🎯 Instrumented Tier0: профилирование кода В прошлый раз мы разобрали два уровня компиляци…
  4. Sep 15, 2026🔜 Готовлюсь к DOTNEXT 2026 В прошлом году за две недели до выступления я зачитывал свой д…
  5. Sep 9, 2026C# Short Posts 🔞 pinned «🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот к…
  6. Sep 9, 2026🐸 О чём этот канал? Кажется, я уже достаточно давно веду этот канальчик, и пора бы описат…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →