Pull to refresh

Comments 54

Например, эту ОС использует 45% клиентов 1cloud.ru, в то время как 44% отдали предпочтение Linux-дистрибутивам

Ну как бы не совсем объективный показатель "предпочтения", потому что часто выбор windows обусловлен задачей заоблачить какой-то windows-специфичный продукт. У вас отдельным пунктом предложение 1C в облаке идёт.

Если не привязываться к выбору слов, то (как мне кажется) вы сейчас сформулировали совсем очевидный вывод — выбор ОС в облаке (и не в облаке) зависит от задач. Спасибо, кэп.

Это само собой, но меня смутила именно формулировка. Так как тут речь об конкретном провайдере — то такой результат распределения может обуславливаться маркетингом, больше направленным на привлечение клиентов под windows-кейсы. Поэтому мне кажется не верным делать выводы о предпочтении.

Выбор ОС зависит от задач, а выбор облака зависит в том числе и от выбора ОС. Если у 1cloud.ru хорошие предложения на Windows-машинах, то конечно же Windows будет более популярна. Хорошо бы какую-то более широкую статистику. А то вот на Azure (где цены на Windows хорошие) Linux вроде как популярнее — https://www.zdnet.com/article/microsoft-developer-reveals-linux-is-now-more-used-on-azure-than-windows-server/

Причины распространенности Linux
Производительность. Ядро Linux монолитное и хранит в себе все необходимые компоненты — драйверы, планировщик задач, файловую систему. При этом kernel-сервисы выполняются в адресном пространстве ядра, что повышает общую производительность.
А у Windows 10 процесс taskmgr.exe расположен прямо в глубокой свопе. К моменту, когда система его оттуда достанет, можно успеть забыть, зачем он вызывался.
Ещё подписание драйверов. Вероятно, у суперкомпьютера найдётся парочка оригинальных устройств, за подписание драйверов к которым придётся заплатить, за каждую модификацию. Учитывая тираж данной модели, это быстро может стать довольно затратно.
Стоимость сертификации драйвера для WHQL включена в цену продукта, обычно, так что это не проблема для интеграторов. А для любителей на этом сэкономить — проверка подписей может быть отключена, внезапно.
Есть два продукта, мышь (тираж 100 000 экземпляров) и гравицаппа для суперкомпьютера (тираж 1 экземпляр). Какова стоимость сертификации из расчёта на 1 экземпляр?

А как на условия и стоимость техподдержки влияет отключение проверки подписей?
Какова стоимость сертификации из расчёта на 1 экземпляр?
Беглое гугление показало, что это около $250 за версию драйвера и ещё пишут что с 2014 плата уже не требуется (без уточнения, что поменялось в процессе). На фоне общей стоимости современных HPC решений это вообще ни о чём. И я не очень понимаю, причём тут это. HPC это ниша для заведомо не массового и узкоспециального железа. Какой смысл жаловаться на то, что его структура цены не такая как у мышки? Она и не должна быть такой.
А как на условия и стоимость техподдержки влияет отключение проверки подписей?
Если политику безопасности делать не через одно место — то никак. Туда, где это играет роль, всё равно имеют доступ только админы.
Спасибо, не знал, что оплата уже необязательна. В противном случае подписание промежуточных версий драйвера 21.20.16.4508 может влететь в копеечку.
Неоднократно встречал упоминание введения обязательной платной подписи драйверов в качестве одной из причин отказа от продолжения разработки ПО различными небольшими компаниями.

Имелась в виду техподдержку Microsoft. Условия её предоставления точно распространяются на системы с отключённой проверкой подписи драйверов?
Важно даже не то, что распространяются-не распространяются, а то что Microsoft может в любой момент поменять условия игры…
К тому ж в условных «мышах» (камерах, сетевухах итд) используетсявсего несколько вариантов чипов — больше не нужно.
Ну да, конечно, стандартного виндового драйвера для Apple Magic Mouse должно хватать всем.
Или, скажем, распространённый в своё время сетевой чип Realtek 8129, карты на котором довольно часто содержали VID/PID, отличные от стандартных.
Да для одной модели ноутбука Lenovo на сайте в разделе драйверов может быть пять различных вариантов web-камеры, все разных производителей. Cтавят то, что есть на складе на момент сборки. К некоторым драйверов под Windows вообще никогда не было.
Да, помню целую партию сетевух. Но их довольно просто было «привести в чувство» — там значения mac да и vid/pid были зашиты в внешней eeprom памяти. Легко менялись даже без программатора, утилиткой.
Сейчас для подписывание драйвера достаточно купить code signing EV сертификат, подписать им драйвер и отправить драйвер на специальный портал Microsoft, для подписывания ихним сертификатом (бесплатно). Делал в этом году — работает на win 10.
Также Linux обладает относительно универсальными требованиями к железу. Некоторые дистрибутивы функционируют на устройствах с объёмом памяти в 128 МБ.
Это дистрибутивы общего назначения. OpenWrt работает на 4 MB flash и 32 MB RAM
Я пару лет назад писал на dou.ua (он в России до сих пор под запретом?), повторю тут. Если сравнивать с Windows, области, которые (лет 5 назад) не покрыты для HPC или отвратительно покрыты:

=== cut ===
1. Специализированные интерконнекты для HPC. Даже Infiniband реализуется под Windows чуть хуже чем ужасно, про более редкие и не вспоминаю.
2. Специализированные приложения (протоколы) поверх интерконнектов, начиная с RDMA.
3. Ethernet-over-IB, IP-over-IB в вариантах, где есть что-то кроме unicast.
4. «Минимальные» узлы, на которых ничего нет, кроме процессора и PCI-E корня (даже BIOS подключается по сети), а PCI-E проброшен по IB.
5. В продолжение предыдущего — сетевая загрузка со средств типа iSCSI и работа с дисками по нему (включая динамическое подключение и отключение).
6. Динамическое подключение GPU по PCI-E, в конфигурациях типа «20 узлов в шасси, на них 10 GPU».
7. Эффективная виртуализация сетевых адаптеров виртуальных машин для соответствующих конфигураций (опять-таки, Ethernet в таких местах никого не интересует — минимум это IB). Эффективная — это значит, что VT-d/IOMMU должно быть задействовано в полную силу.
8. Лёгкая виртуализация стиля LXC, но с надёжным распределением всех ресурсов, как минимум процессор+RAM+сеть+диск.
9. Центральный гибко настраиваемый DHCP (тут уже можно поверх Ethernet, но не везде) на объёмы порядка 20 тысяч узлов. В гибкость настройки должны входить задания как однократных параметров, так и длительных, с грануляцией по ряду, стойке, шасси, отдельному узлу.
10. Распределённая FS пользовательских данных, хотя бы такая, как Lustre (которая далеко не идеал, но стартовая площадка по умолчанию). Динамическое подключение ресурсов с такой FS на клиентских системах.
11. MPI, поддерживающий специализированные протоколы того же IB эффективным образом. Желательно видеть все 30+ версий MPI для тех, кому оно нужно.
12. Huge pages в MMU с возможностью управления использования им по процессам.
13. Мониторинг аппаратных ресурсов на уровне ядра.

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

Может, в одном конкретном случае даже 1-2 пункта реализуется:), но требование выполнить хотя бы 4 из них приводит вендора и интегратора в безвыходный ступор, из которого единственный выход звучит как «а давайте пойдём на linux»:)
=== end cut ===

Я не в этой области последние 5 лет, но крайне сомневаюсь, что начала выполняться хотя бы половина пунктов.

(Да, их выполнение для Linux это следствие открытости и лёгкой кастомизируемости. В остальном те эксперты из статьи ничего внятного не сказали.)
Лучше дела обстоят в облачной и IaaS-среде, хотя и здесь лидером остается Windows. Например, эту ОС использует 45% клиентов 1cloud.ru, в то время как 44% отдали предпочтение Linux-дистрибутивам.


Какая подача информации и выводы на ее основании. А где показатели от большой тройки aws, azure, gcp? или если бы привели, то оказалось, что и в IaaS в публичных облаках, в вебскейл сегменте преобладает линукс?
ест-но… Lustre только под Linux есть.
Ядро Linux монолитное

Вообще-то ядро Linux модульное, это одно из его основных преимуществ.

Это отменяет то что загруженные модули работают в адресном пространстве ядра?

Это отменяет утверждение про "монолитность ядра Linux". Если человек допускает подобные "вольности", то ко всему последующему тексту отношение соответствующее.

Монолитность архитектуры ядра, это не все подсистемы в одном бинарнике, на диске, это все подсистемы, включая модули, в едином, привилегированном, адресном пространстве, в памяти. А модульное, оно там, не модульное, значения не имеет.

Это вам сейчас, возможно, значения не имеет, а в начале 2000-х модульность Linux была одним из основных преимуществ по сравнению с остальными. Особенно критично это было для встраиваемых ОС во всевозможные кофемолки и утюги, и то, что Linux занял все эти рынки, включая, на минуточку, и мобильный рынок, являлось следствием именно модульности — т.е. гибкой расширяемости и, что важнее, "сужаемости" ядра Linux.


А вот как раз то, в каком адресном пространстве работают эти модули, было абсолютно перпендикулярно. Критичным был размер ядра и возможность оставить в нём только те модули, которые реально нужны, отрезав всё остальное.

Я ему о тёплом, а он мне о мягком… Давайте повторим. Модульность ядра linux никак не отменяет того, что архитектура этого самого ядра монолитная.
Монолитное — это в противопоставление микроядру, пикоядру и прочим извращениям. Хотя не очень понятно, почему это включено в преимущества, посколько большинство (всё?) используемых на практике ОС построено на основе монолитных ядер.
Хотя не очень понятно, почему это включено в преимущества

Потому, что именно модульность ядра Linux позволяет его использовать максимально широко — от миниатюрных ПЛИС до суперкомпьютеров.

Причина не в этом.
Нет. Учите матчасть. Модульность здесь абсолютно ни при чём, а вот переносимость(надеюсь вам не надо объяснять что это такое и с чем его едят) на произвольную архитектуру очень даже при чём. Загляните в исходники ядра и полюбуйтесь на обилие поддерживаемых архитектур, начиная от мотороллы 65k вплоть до новомодного RiscV.
Макось гибридная. Часть драйверов в адресном пространстве микроядра mach(Сами себе злобные буратины) первого поколения.
Ядро линукс — самое, что ни есть, монолитное, с возможностью, динамически, подгружать в память куски ядра, именуемые — модулями, но от этого, ядро, не перестает быть монолитным, крах в любой части ядра, включая и модули, вызывает, в 99%, кернел паник всего ядра.

Ядро Linux модульное, при этом вы можете скомпилировать его по своему усмотрению — можете наглухо вкомпилировать модули в ядро, а можете сделать их подгружаемыми по необходимости. Также вы можете вообще удалить из ядра все модули, оставив только те, которые вам необходимы в данном конкретном случае (какая-нибудь миниатюрная программируемая ПЛИС), и получите микроядро со всеми вытекающими преимуществами.


И — да. Любопытно посмотреть, чем вы там таким пользуетесь, что у вас падение модуля вызывает kernel panic.

О то, линус удивится, что его ядро, которое он называет моноитным, оказывается модульное.
Еще раз для тех кто в танке, модль — это динамически подгружаемая часть ядра, но она после загрузки, выполняется в общем скопе ядра. И да, вспомним перепалку Линуса и Тененбаума?
www.oreilly.com/openbook/opensources/book/appa.html

Ещё раз, для тех, кто в танке.


Модули могут быть как намертво скомпилированными с ядром в одно целое, так и динамически подгружаемыми. Вы можете при желании вообще отказаться от использования многих модулей, оставив себе только самый необходимый минимум. Именно в этом смысле ядро Linux — модульное и, благодаря этой модульности, очень адаптивное под различные задачи.


Торвальдс и Таненбаум говорили о другом — об отличии между ядром Linux и микроядром MINIX и о преимуществах/недостатках этих типов ядер. И данный спор совсем не исключает того, что на самом деле Linux — это монолитное модульное ядро, где подгружаемые модули работают в адресном пространстве ядра.


P.S. К слову, жёсткость заявлений Торвальдса по поводу монолитности Linux в этом споре в большой степени было продиктовано необходимостью ответить на провокационный тезис Таненбаума о том, что, мол, "Linux устарел" и пришло время микроядер.

Покажите мне в классификации архитектур ядра ОС про модульное ядро, как независимая архитектура
Linux kernel — это монолитное ядро, с возможностью динамически подгружать свои «куски», именуемыми module, после заргрузки этот кусок кода становится неотемлемой частью работающего монолитного ядра. То что у монолитного ядра (кстати и не только у монолитного) есть возможность динамически и на лету подгружать / выгружать свои куски — не делает его не монолитным. Монолитное ядро, микро ядро, экзо ядро — определяется совсем другими архитектрными моментами, а не динамической подгрозкой куска кода в рантайме.

Вы зря спорите. Преимуществом ядра Linux с самого начала была его модульность — способность не только подгружать/выгружать модули на лету, но и возможность компилировать ядро с определённым набором модулей. Именно об этом и речь. Эта модульность делает ядро Linux легко адаптируемым под самые различные нужды. Зачем вы спорите с фактами — вообще непонятно.

Вам картинка, для привлечения внимания, чем монолитное ядро отличается от микроядра. и почему linux kernel, что ни на есть монолитное, и что динамическая подгрузка модулей не делает linux kernel микроядром. Разница, совсем в другом
image
Микроядро? Из ядра линукса? Мда… Никогда не думал, что хабр будет источником таких оксюморонов… :-(

Не придирайтесь к словам. Читайте это как "миниядро".


Повторю, что в контексте данного спора речь идёт исключительно о модульности ядра Linux и о его способности к адаптации под различные задачи и для различных, даже самых миниатюрных устройств.

Это не придирка, это ваше непонимание, увы.
Вы меня конечно извините, но вам совершенно необходимо изучить матчасть. Начните с классики, с Танненбаума, что-ли. Я такое комментировать просто не могу, увы :-(

Не можете — не комментируйте.

Есть такое, к сожалению.
Поэтому отладку самописных модулей ядра приходится в виртуальной машине делать. Намучился в свое время: чуть где ошибся, все — kernel panic и перезагрузка компьютера. Решил после этого, что лучше я виртуальный компьютер в виртуалбоксе перезагружать буду!
При компиляции кастомного ядра можно задать компилировать ли модуль или встроить в ядро.
UFO just landed and posted this here
UFO just landed and posted this here
Даже в крупных российских региональных университетах есть суперкомпьютеры, например, суперкомпьютер «Сергей Королев». С подключением

"Лучше дела обстоят в облачной и IaaS-среде, хотя и здесь лидером остается Windows."


Вы не в первый раз пишите такие странные вещи, так что я снова отпишусь на эту тему.
Строить такие предположения основываясь на статистике вашего, заточенного на Windows, сервиса — очень странно.
Такое надо проверять по обычным провайдерам мирового значения и общего назначения.
В Амазоне доля windows 8%. http://thecloudmarket.com/stats#/totals
Для Google cloud не нашёл, сомневаюсь что отличается от aws.
Даже в самом azure доля linux теперь больше 50%
https://www.zdnet.com/article/linux-now-dominates-azure/

Кстати, этой осенью MS и Oracle объявили о сотрудничестве в облаках, поэтому процент linux в Azure будет расти и дальше.
Дык, лучше линукса еще ничего не придумали. Что еще использовать?
Вот на рабочем компьютере выбор немного больше: или линукс, или фряха…
Дык, лучше линукса еще ничего не придумали. Что еще использовать?
Вот на рабочем компьютере выбор немного больше: или линукс, или фряха…
Only those users with full accounts are able to leave comments. Log in, please.