Дисковая полка, даже набитая 4ТБ винтами — это всего 100ТБ. В 10 раз меньше. И это ещё без какого-либо резервирования. Я же говорю, 1ПБ на одном сервере не завести никак, это несколько серверов в сети. А несколько серверов — это проблемы с консистентностью, за решение которых надо платить потерей IOPS и, скорее всего, скорости.
В то, что они какой-нибудь NetApp сторадж используют — не верится.
Кандидаты в РАЭ должны иметь высокую квалификацию, соответствующие дипломы об образовании, удостоверения, права на вождение машин, опыт работы, подтвержденные записями в трудовой книжке. Разнорабочие в экспедиции участия не принимают.
Кандидаты в РАЭ должны быть практически здоровыми для официального освидетельствования в специальных медицинских комиссиях.
Кандидаты в РАЭ должны обладать уравновешенным, доброжелательным, коммуникабельным характером и способны работать в замкнутых коллективах в отрыве от дома.
Чуть ниже Cholgaa запостил ссылку, откуда это скопировано.
Кстати, для тех, кто считает, что правда готов полететь и только денег не хватает, есть отличная возможность проверить себя — можно записаться в Российскую Антарктическую Экспедицию на зимовку, там регулярно системные администраторы нужны. Ещё и денег заплатят на это. Условия в плане работы будут похожи на то, что будет в колониях: небольшое количество людей, живут обособленно, посменное дежурство для поддержания систем жизнеобеспечения (дизель-генератор), почти полная автономность.
Интересно, как они собираются гарантировать консистентность всего раздела, он ведь явно не на один сервер ляжет. Видимо, будет не особо быстро работать.
Ну вопрос то не в стоимости, а в возможности спастись, если дела пойдут фигово. Каторжников посылать, как чуть ниже написали — вариант, получится как в «луна — суровая хозяйка» у Хайнлайна. Но в любом случае, сначала надо закинуть туда реактор, запустить его, построить роботами бункеры, а уж только потом людей засылать.
У меня сразу возникло несколько вопросов:
1. Судя по статье обратного билета не предполагается. Это очень резко сокращает круг потенциальных колонистов.
2. Лететь туда на ЖРД? Год? У России есть замороженный с советских времён проект ядерного тягача, долетит за 3 месяца, ещё и обратно сможет вернуться. В НАСА активно разрабатывают ионные двигатели, европейские компании разрабатывают плазменный VASIMR.
3. Как решена проблема с жёсткой радиацией в межпланетном пространстве?
В России объявили, что в рамках космической программы на ближайшие 2 десятиления надо построить обитаемую станцию на Луне. С точки зрения технологий — всё то же самое, что и на Марсе, но лететь туда всего 2 суток, эвакуироваться в случае ЧП тоже намного проще. Да и сам процесс намного быстрее — не надо год ждать, пока долетят первые КА.
Ну direct RF sampling максимум на сотне мегагерц будет работать без дорогого железа, если дальше по частоте лезть — это ж какая шина нужна будет, чтобы успеть обрабатывать. Да и зачем, если можно поставить какой нибудь MAX2112 за 5 баксов + AD9204 на 20 мегасемплов в секунду за 10 баксов, и работать в диапазоне 1-2 ГГц с полосой в 10МГц? 2 чипа, практически никакой аналоговой обвязки.
Можете вот тут приобрести готовый девайс 2-канальный. Мужик, который его проектировал, очень хорошо разбирается в свч SDR (половину существующих SDR GPS приёмников он спроектировал), работать должно хорошо.
Очень удобно было юстировать wifi параболы, довольно точно можно настроить просто глядя вдоль излучателя. Мне кажется, если бы производитель предусмотрел на корпусе 2 метки типа открытого прицела — было бы намного удобнее делать первоначальную грубую юстировку.
IP адрес, как вы знаете, состоит из 4 байт (октетов). Всего 32 бита. Подсеть можно указывать в 2 форматах:
как маску вида 255.255.255.0
(можно записать в бинарном виде 11111111 11111111 11111111 00000000)
или как количество бит в маске, установленных в единицу: /24
Соответственно, чтобы проверить, что IP адрес попадает в подсеть, достаточно сделать побитовое логическое И адреса и маски, если получится адрес подсети — то адрес в ней находится. Пример:
подсеть 192.168.10.0/24
адрес 192.168.10.87
умножаем его на 255.255.255.0
получаем 192.168.10.0 — он в подсети
Таким образом получить из 192.168.10.0/24 начало и конец диапазона элементарно: начало диапазона совпадает с собственно адресом, сети, а чтобы вычислить конец — надо прибавить инвертированную маску: для 255.255.255.0 это будет 0.0.0.255
то есть 192.168.10.0/24 соответствует диапазону 192.168.10.0 — 192.168.10.255
Очевидно, что не всегда получится сделать обратную операцию. Для этого необходимо из конечного адреса диапазона вычесть начальный, получившаяся цифра должна быть на единичку меньше какой-либо степени двойки. Если является — то надо из 11111111 11111111 11111111 11111111 вычесть ту самую цифру, оставшееся и есть маска.
На сколько я понимаю, функцию PostQueuedCompletionStatus() дёргает поток, который обслуживает IOCP. Количество потоков, которые будут обслуживать собственно работу с IO задаются при создании completion port, параметр NumberOfConcurrentThreads, и они сразу создаются где-то, прозрачно для программиста, использующего IOCP. Т.е. в своём коде просто ассоциируем хэндл с CP, дальше с ним работаем.
Тут есть такая тонкость: надо уже иметь HANDLE на файл. Т.к. в случае с CreateFile никакого хэндла ещё нету, то приходится создавать свой поток-воркер, который открывает файл и сообщает в PostQueuedCompletionStatus, что удалось файл открыть. Для остальных операций такая штука не нужна.
Вы, видимо, спрашивали, как работает event loop. Он блокируется только на те моменты времени, когда все коллбэки отработали, а новых событий из GetQueuedCompletionStatus()/epoll() ещё нету. Как только появляется событие — основной поток разблокируется и вызывает нужный коллбэк. Это самая что ни на есть асинхронная работа, по-честному.
Про блокировку с IO — это немного другое, когда вы зовёте aio_read(), который Native AIO — в ядре действительно вызывается настоящий read() из другого потока. Сейчас в ядре для этого используется workqueue. В POSIX AIO потоки прямо в userspace создаются.
В то, что они какой-нибудь NetApp сторадж используют — не верится.
Кандидаты в РАЭ должны быть практически здоровыми для официального освидетельствования в специальных медицинских комиссиях.
Кандидаты в РАЭ должны обладать уравновешенным, доброжелательным, коммуникабельным характером и способны работать в замкнутых коллективах в отрыве от дома.
Чуть ниже Cholgaa запостил ссылку, откуда это скопировано.
1. Судя по статье обратного билета не предполагается. Это очень резко сокращает круг потенциальных колонистов.
2. Лететь туда на ЖРД? Год? У России есть замороженный с советских времён проект ядерного тягача, долетит за 3 месяца, ещё и обратно сможет вернуться. В НАСА активно разрабатывают ионные двигатели, европейские компании разрабатывают плазменный VASIMR.
3. Как решена проблема с жёсткой радиацией в межпланетном пространстве?
В России объявили, что в рамках космической программы на ближайшие 2 десятиления надо построить обитаемую станцию на Луне. С точки зрения технологий — всё то же самое, что и на Марсе, но лететь туда всего 2 суток, эвакуироваться в случае ЧП тоже намного проще. Да и сам процесс намного быстрее — не надо год ждать, пока долетят первые КА.
Можете вот тут приобрести готовый девайс 2-канальный. Мужик, который его проектировал, очень хорошо разбирается в свч SDR (половину существующих SDR GPS приёмников он спроектировал), работать должно хорошо.
Кстати, сколько стоит воспользоваться кабельной канализацией?
как маску вида 255.255.255.0
(можно записать в бинарном виде 11111111 11111111 11111111 00000000)
или как количество бит в маске, установленных в единицу: /24
Соответственно, чтобы проверить, что IP адрес попадает в подсеть, достаточно сделать побитовое логическое И адреса и маски, если получится адрес подсети — то адрес в ней находится. Пример:
подсеть 192.168.10.0/24
адрес 192.168.10.87
умножаем его на 255.255.255.0
получаем 192.168.10.0 — он в подсети
Таким образом получить из 192.168.10.0/24 начало и конец диапазона элементарно: начало диапазона совпадает с собственно адресом, сети, а чтобы вычислить конец — надо прибавить инвертированную маску: для 255.255.255.0 это будет 0.0.0.255
то есть 192.168.10.0/24 соответствует диапазону 192.168.10.0 — 192.168.10.255
Очевидно, что не всегда получится сделать обратную операцию. Для этого необходимо из конечного адреса диапазона вычесть начальный, получившаяся цифра должна быть на единичку меньше какой-либо степени двойки. Если является — то надо из 11111111 11111111 11111111 11111111 вычесть ту самую цифру, оставшееся и есть маска.
Тут есть такая тонкость: надо уже иметь HANDLE на файл. Т.к. в случае с CreateFile никакого хэндла ещё нету, то приходится создавать свой поток-воркер, который открывает файл и сообщает в PostQueuedCompletionStatus, что удалось файл открыть. Для остальных операций такая штука не нужна.
Вы, видимо, спрашивали, как работает event loop. Он блокируется только на те моменты времени, когда все коллбэки отработали, а новых событий из GetQueuedCompletionStatus()/epoll() ещё нету. Как только появляется событие — основной поток разблокируется и вызывает нужный коллбэк. Это самая что ни на есть асинхронная работа, по-честному.
Про блокировку с IO — это немного другое, когда вы зовёте aio_read(), который Native AIO — в ядре действительно вызывается настоящий read() из другого потока. Сейчас в ядре для этого используется workqueue. В POSIX AIO потоки прямо в userspace создаются.