Обновить
-6
0
habr is dead.@yleo

/dev/null

Отправить сообщение

Советую устроиться в M$, поможете им быстрее отмучиться ;)

Если многократно натягивать технологии на бизнес, то либо бизнес сожмется, либо технологии лопнут — M$ с Windows демонстрирует оба варианта.


А безумство+отвага с clone/fork в M$ будут помнить еще долго, от того и "планы у бизнеса поменялись" ;)


Как говорится нормальные герои всегда идут в обход ;)

Если знать тему (подробности соответствующих системных вызовов в POSIX и ограничения ядра Windows), либо хорошо вникнуть, то это будет очевидно как 2+2. Иначе говоря, "пруфы" сводятся к поиску и сопоставлению фрагментов соответствующих RTFM. Но готовых ссылок на подобные пояснения у меня нет.


Если совсем кратко, то в спецификации NT и Win32 API, по принципу "назло бабушке уши отморожу", намерено закладывалось максимум отличий от POSIX. Некоторые отличия таковы, что их невозможно совместить при работе с одним объектом (файлом).


Даже если (вдруг, невзирая на риск регрессов, на сложность и объем доработок) M$ реализует в ядре обе семантики/спецификации, то файл открытый в Win32 уже нельзя будет открыть в xWSL, и наоборот. А вишенкой на торте будет производительность — т.е. файловые операции Linux будут работать с черепашьей скоростью NTFS и т.д.

Местами статья выглядит как ода технологиями Windows, большинство из которых никогда не тянули на пафос "подвиг архитектурной мысли и реальной программной разработки" (посмешило, конечно).
Посему ниже несколько колких уточнений.


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

Не в каком-то, а в прямом смысле — провал относительно исходных целей.
Причем специалистам это было более-менее понятно сразу (NTFS проще выкинуть чем ускорить, а некоторые вещи невозможно совместить принципиально). WSL1 не может (и не сможет) обеспечить весь функционал Linux из-за фундаментальных ограничений ядра NT. Какие-то вещи (например clone/fork) были реализованы, но многое не возможно (уменьшение mmap-секций, блокировка файлов и т.д.).


сначала взглянем на WSL 1, и первым делом — на её странное название. Почему эта функция называется подсистемой Windows… для Linux?

Потому-что такова конечная цель (WSL3). Тут стоит отметить что поверх ядра Linux точно возможно реализовать NT API (aka Native API), обеспечить работу подсистемы Win32, работу USB и NDIS-драйверов, и даже части других нативных драйверов. Но неизбежно "отвалятся" драйверы дисков, все завязанное на внутренний кошмар NTFS и внутренности win32.sys, с массой неизбежных регрессов из-за нарушения совместимости (в том числе и ожидаемыми Windows-багами). Поэтому интеграция на уровне виртуализации (WSL2) выглядит разумным переходным решением.


Windows NT разработана с нуля для поддержки процессов, запущенных из множества операционных систем, а Win32 был «просто» одной из этих подсистем окружения.

Это было ~30 лет назад в эпоху Windows NT 3.51. Начиная с Windows NT 4.0 подсистема Win32 потекла в ядро, а начиная с Windows 2000 ядро NT стало уродливым мутантом — уже менее гибким, потенциально уязвимым и небезопасным, но еще не быстрым. Буквально к исходной NT-архитектуре (далеко не идеальной, но более-менее строгой) Win32-говно прибили палками.


Стоит отметить, что 20-30 лет назад модульность ядра NT (деление на подсистемы со стабильными API, стабильный API для драйверов, идеи IRP-стека для интеграции драйверов и даже NDIS) выглядели очень здравыми и перспективными. Но на деле всё это постепенно стало профанацией и маркетинговым трепом. Де-факто воплощение идей обернулось кошмаром:


  • подсистемы не изолированы, а сплетены в клубок, взаимосвязанность зашкаливает, их невозможно развивать, заменять и/или использовать по-отдельности.
  • актуальная стабильность ядерных API и ABI не гарантирует совместимости между версиями даже на уровне исходного кода драйверов.
  • комбинаторная сложность не позволяет проверять релизы (корень эпических сбоев после обновлений) из-за огромного зоопарка версий драйверов у пользователей, исходный код которых вне какого-либо централизованного контроля и code review.

Тут напрашивается премия Дарвина, а не эпитеты типа "подвиг архитектурной мысли и реальной программной разработки" ;)

Недоперемордор.

А там разве какие-то специалисты показали что-то конкретное или (опять, как всегда) только слова?
Хотелось-бы хоть раз, хоть одним глазком, увидеть критерии и/или логические выводы по которым делается отсылка к "помощи государства" и к России в частности.


Но китайцы действительно пару раз были молодцы: раздели/одели, удалили гланды и теперь по-желаю показательно пасут црушников ;)

Не хотелось чтобы вы воспринимали мой комментарий негативно.


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


Поэтому, искренне советую повторить решение используя связку re2c + lemon и озвучить впечатление в продолжении этой статьи.

Защищённость NB-IoT

Ну-ну…
;)

В ногу со временем, в ногу стрелять вовремя!

Ну конечно, а если чуть усложнить:


  • если вселенная бесконечна, то сможем ли мы всегда найти соответствие между двумерным срезом её некой функциональной проекции и некой произвольной плоской картинкой?
  • а если конечна?
  • а если с выполнением ОТО (время всегда "не моментально" и не локально)?
  • а если картина в кубитах и картинка не-монохромная (но с плоской геометрией)?
  • ну хорошо, а если картинка не плоская, то до скольки измерений найдем?

С меня "пиво" за каждый верный ответ при встрече.

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

"Пучина эксплуатации" (на КДПВ) — ну, прям Хорошо, ободряю!

Камрады, начинание хорошее, но пожалуйста сорожнее.
Одно дело, когда отучившиеся ничего сломать не могут — это хорошо.
Но плохо когда они собираются что-то защищать и с полной уверенностью дают гарантии недопонимающим админам и руководителям, а после еще и переходят на реально ответственные позиции.

Вот теперь возьмите re2c + lemon, повторите и покайтесь ;)

bash вполне даже интуитивный.

Ага, особенно присвоение в массивах ;)

Хм, зачем тут кошмар ASN.1?
Точнее WTF?

Кек.
Эти спалились раз 10 и еще почти год назад дали денег на открытие новых )

Александр, есть ещё "нюансы". Рекомендую покопаться в аналогичной по тематике правоприменительной практике США (да, нужно постараться) и после этого обратить внимание на исключения позволяемые/налагаемые другими законами (особенно для не-граждан США).


Вам должно зайти ;)
Проходил мимо, дискутировать не буду (ибо RTFM)

Примерно да, этот "прорыв" от McAfee ради хайпа, ибо сливают.

Достаточно использовать хорошие системы распознавания. Например, Белорусские.

Информация

В рейтинге
Не участвует
Откуда
Севастополь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность