LINUX.ORG.RU
ФорумTalks

А что было бы если ...

 , ,


0

2

... инит-скрипты в своё время переписали бы, скажем, на питоне? Не то чтобы пистон чем-то принципиально лучше портянок на баше, но зато был бы аргумент против хипсторов-любителей псевдопрогресса, для которых любой код плохой только потому, что он древний и они его не понимают. А тут моднявый питон. Появился бы всё равно после этого систе*дэ, или история пошла бы другим путём?

★★★★★
Ответ на: комментарий от Harald

Иногда только UART.

Через него тоже можно передавать файлы.

Lua не жирный, но зачем он

Чтобы писать на нормальном языке, а не по недоразумению разросшим костымями запускателе последовательности программ.

и так уже есть из коробки

Если речь о встроенном девайсе, то там нет никакой коробки и система собирается под задачу.

X512 ★★★★★
()
Ответ на: комментарий от X512

Если речь о встроенном девайсе, то там нет никакой коробки и система собирается под задачу.

Ага, с нуля весь юзерспейс на Lua пишется

Harald ★★★★★
() автор топика
Ответ на: комментарий от Harald

Если процесс неожиданно сдыхает, то надо его чинить

Кто ж спорит-то? Конечно надо. Но и перезапустить не помешает.

не перезапускать, перезапуск не поможет, всё равно снова сдохнет.

Или нет. У меня вот как-то раз nginx был прибит OOM-киллером, потому что другой сервис выжрал всю память.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Systemd запилил туда простой конфиг. И это офигенно.

А потом ты сходишь с ума полдня, когда у тебя не поджигается юнит автостарта для какого-нибудь FreePBX. Спасибо, больше не хочу. Верните мне мой sysvinit из шестого центоса. И iptables обратно запилите вместо кащенского nft.

yu-boot ★★★★★
()
Последнее исправление: yu-boot (всего исправлений: 1)
Ответ на: комментарий от X512

В BeOS/Haiku есть аналогичный механизм: Ports. Через него работает графика и обмен сообщениями между процессами. Есть Unix Domain Sockets

Сокеты точно мимо, потому что стоимость выдают смехотворную производительность порядка 100 тыс запросов в секунду на однобайтовых сообщениях:

https://desktopsummit.org/sites/www.desktopsummit.org/files/will-thompson-dbu...

А однобайтовые сообщения через D-Bus и вовсе занимают 200 мкс или 5000 запросов в секунду. В 21-ом веке это просто курам на смех.

А теперь сравни это с L4, у которого вызов IPC занимает менее микросекунды, то есть миллионы запросов в секунду. ALPC имеет сравнимую производительность. Но даже такой производительности разрабам NT оказалось мало, а сокеты — это просто забей. Потому игори в никсах работают через прямой доступ к видеокарте.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Сокеты точно мимо, потому что стоимость выдают смехотворную производительность порядка 100 тыс запросов в секунду

UDS average throughput: 1.733874 million msg/s

(c) StackOverflow.

А однобайтовые сообщения через D-Bus и вовсе занимают 200 мкс или 5000 запросов в секунду.

Если я правильно понимаю, в D-Bus кривая архитектура и сообщение несколько раз копируется и происходит несколько переключений контекста. В BeOS/Haiku сообщения отсылаются напрямую между процессами по номеру ядерной очереди сообщений. Процесс контроля за системой сообщений (registrar) используется только при начальной установке соединения, потом передача сообщений происходит напрямую.

X512 ★★★★★
()
Ответ на: комментарий от hateyoufeel

Как твой скрипт будет трекать, что процесс не сдох, чтобы его перезапустить?

У меня для openrc сейчас скрипты дергают start-stop-daemon, но он простой для такого. Можно переписать на supervise-daemon (или s6, но не знаю как он).

boowai ★★★★
()
Последнее исправление: boowai (всего исправлений: 1)
Ответ на: комментарий от X512

UDS average throughput: 1.733874 million msg/s

Неа, это не то. 2 микросекунды — это 500 тыщ вызовов в секунду. 1.7 лямов — это буферизированная передача в один конец. 6000 циклов на вызов — это еще вполне терпимо. Однако, L4 IPC позволяет снизить цену вызова до примерно тысячи циклов:

http://os.inf.tu-dresden.de/pubs/sosp97/#SECTION00061000000000000000

К слову, у гугла уже есть патчи на линукс, которые реализовывают вызовы функций с прямой передачей управления от одного потока к другому, но даже такие патчи в ядро не принимают.

В BeOS/Haiku сообщения отсылаются напрямую между процессами по номеру ядерной очереди сообщений. Процесс контроля за системой сообщений (registrar) используется только при начальной установке соединения, потом передача сообщений происходит напрямую

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

byko3y ★★★★
()
Ответ на: комментарий от Harald

Потому что Makefile’ы — императивщина, как какие-нибудь Ansible playbooks.

t184256 ★★★★★
()

Для того, чтобы ответить на этот вопрос надо сначала понять, зачем нужен systemd (svchost.exe, launchd).

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

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

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

внутри этой коробки системды таки обычно нету

Harald ★★★★★
() автор топика
Ответ на: комментарий от boowai

Можно переписать на supervise-daemon (или s6, но не знаю как он).

Можно. Но зачем это делать?

hateyoufeel ★★★★★
()
Ответ на: комментарий от byko3y

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

Че-че? Где почитать?

t184256 ★★★★★
()
Ответ на: комментарий от torvn77

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

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

peregrine ★★★★★
()
Ответ на: комментарий от torvn77

В линуксе можно дольше пердолится на ровном месте и энергия пердолинга растрачивается на первоначальную настройку системы. В 95-м оффтопике шаловливые ручки доходили до софтайса хъю и масм32уин.

unstable-case
()

Появился бы всё равно после этого систе*дэ, или история пошла бы другим путём?

Конечно. Дело не в systemd. Идёт плавный пересмотр парадигмы unix-way.

sparkie ★★★★★
()
Ответ на: комментарий от byko3y

потому что баш умеет в бесплатный форк, а питон — нет.

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

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

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

У питона библиотеки — это питоньи модули, они же — питоньи объекты. А питоньи объекты — подсчет ссылок со сборкой мусора. Сборщик мусора каждый раз дергает счетчик туда-сюда, чтобы обнаружить кольца. Есть питоны с трассировочным сборщиком, но проблема в том, что питон следует парадигме «реализация является спецификацией», и потому есть код, который завязан на подсчет ссылок и высвобождение сразу по выходу переменной из видимости — этот код сломается, если отложить высвобождение объекта на потом (потому интерпретаторы на трассирующих GC не сыскали славы). Там много еще веселья, вроде метода __del__, который вообще не умеет в циклические ссылки и при обнаружении взаимных ссылок у объектов с методами __del__ сборщик мусора выдает ошибку и утекает ресурсами.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от Shadow

Яснопонятно. Вендекапец обернулся юниксокапцом

А о чем жалеть? Юникс устарел в 80-х, но с его трупом до сих пор носятся. В линуксе уже за это время наросло несколько слоев, которые никак не совместимы с юниксом и не похожи на юникс.

byko3y ★★★★
()
Ответ на: комментарий от t184256

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

Че-че? Где почитать?

Например: https://instagram-engineering.com/dismissing-python-garbage-collection-at-ins...

byko3y ★★★★
()
Ответ на: комментарий от Shaman007

svchost.exe

4.2. В Windows процесс управления сервисами это services.exe. svchost.exe - это вспомогательный процесс для запуска сервисов в виде динамических библиотек. Можно делать сервисы без svchost.exe.

X512 ★★★★★
()
Ответ на: комментарий от byko3y

В линуксе уже за это время наросло несколько слоев, которые никак не совместимы с юниксом и не похожи на юникс.

Не слоёв, а костылей, к сожалению. В солярке всё нужное было и реализовано не на коленке.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от byko3y

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

..бушки-воробушки... Всё хуже, чем я думал. Но думал я в правильном направлении, спасибо.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от X512

Да какая разница, как назвать, все всё поняли, о чём речь.

Shadow ★★★★★
()
Ответ на: комментарий от Shaman007

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

Как виндузятник со стажем, я не разделяю этой ложной диллемы «ковыряем текстовые конфиги через Vim или отдаемся в рабство редхату». Я работал в модульной системе, где базовые процессы не представляли собой монолитную блоатварь, и при этом папки с принтерами шарились, интернет натился. Захотел — отключил службу сервера и шариться папки переставали. Захотел — отключил службу раздачи интернета, и интернет переставал раздаваться. Базовые процессы умеют только запускать сервисы/процессы и отдавать им сигналы — больше они ничего не делают. Проекты подобных init-ов разрабатываются и для линя, но почему-то не стали популярными (хотя мы знаем почему).

byko3y ★★★★
()
Ответ на: комментарий от t184256

Спасибо, познавательно. Не тот «бесплатный форк», которого я ожидал, но интересно

А какого ты ожидал? Я чего-то не знаю в этом мире?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

А о чем жалеть? Юникс устарел в 80-х, но с его трупом до сих пор носятся.

что-нибудь лучше разве с тех пор придумали

Harald ★★★★★
() автор топика
Ответ на: комментарий от t184256

Более бесплатного, чем обычный с CoW, не знаю, почему

Для малых процессов, вроде того же баша, стоимость переноса страниц в режиме copy-on-write в новый процесс ничтожна. Это на гигабайтных процессах возникают проблемы, а при размерах баша форк как раз очень даже хорошо работает.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Эм. На то он и copy-on-write, чтобы при самом форке не копировать те гигабайты.

t184256 ★★★★★
()
Ответ на: комментарий от torvn77

Почему на линуксе я веду себя как ультрадесктопный пользователь, а на винде превращаюсь в программиста на машинных кодах?

У меня ровно наоборот. Дома когда загружаюсь в линукс превращаюсь в бесплатного админа локалхоста. В винде кроме запуска 5 приложений не трогал ничего с карантина. Ну, стим поставил ради Вангеров и Team Fortress 2.

yu-boot ★★★★★
()
Последнее исправление: yu-boot (всего исправлений: 1)
Ответ на: комментарий от sparkie

Ещё dragonfly, но мне её не на чем погонять. Вот многоядерный AMD куплю, ядро пересоберу, Postgres и всякие http/nginx понагружаю.

Shadow ★★★★★
()
Ответ на: комментарий от sparkie

Но это производная от фряхи же, нет?

Это последняя система с m:n threads.
И, вроде, в отличие от остальных, перешедших на 1:1, рабочая.
А инит - это вопрос удобства. Пока я могу на локалхосте или роутере не использовать systemd, я буду рад его использовать на фермах (если пнадобится).

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Есть кстати дикая и бредовая идея в корпус от асера впихнуть амдшную мать. Вроде по мануалам судя подойти должно. Ноуты выпускались в одном корпусе с интелами и амд.

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

sparkie ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.