From: Denis Smirnov <mithraen@freesource.info>
To: community@altlinux.ru
Subject: Re: [Comm] Re:
Date: Fri, 9 May 2003 03:12:57 +0400
Message-ID: <20030508231257.GB15096@localhost.localdomain> (raw)
In-Reply-To: <4969971133.20030509030642@udm.ru>
[-- Attachment #1: Type: text/plain, Size: 3590 bytes --]
On Fri, May 09, 2003 at 03:06:42AM +0500, ASA wrote:
> DS> У меня были только общие идеи. Для каждого стартового скрипта должно быть
> DS> описание зависимостей -- после запуска какого скрипта можно запускать этот
> DS> скрипт. Зависимость должна быть двух типов -- обязательная, и
> DS> необязательная. Обязательная -- значит что если не поднимается тот сервис,
> DS> от которого зависит нужный нам, то он даже не будет пытаться подниматься.
> Вы только что описали систему поднятия сервисов в WinNT/2000/XP ;)
:)
> DS> Необязательные -- только обеспечивают соблюдение очерёдности.
> А это хорошая идея. Относительно. Но очередность уже есть в
> SysV.
В SyV она тольно последовательная. Я имею в виду что-то вроде "почтовый
сервер должен запускать после антивирусного сервиса, если таковой
имеется".
Соответственно последовательность работы загрузчика следующая -- берётся
список поднимаемый сервисов, строится дерево зависимостей, дальше
запускаем скрипты инициализации для N сервисов, из тех, которые можно
инициализировать сразу. После завершения каждого из скриптов смотрим что
следующее можно инициализировать.
> DS> Думаю доказывать прирост в скорости загрузки не надо.
> Надо. С теми скриптами, которые в основном налегают на
> недисковые ресурсы (сеть, обработка конфигов и т.п.) - понятно.
> А если скрипт в основном завязан на диск, то его надо запускать
> отдельно от других подобных ему. И тут может возникнуть
> нетривиальная задача развязки обязательных и необязательных
> зависимостей.
А в чём собственно её нетривиальность? Автор пакета должен суметь чётко
сформулировать что необходимо его сервису для работы.
Насчёт завязки на диск -- что это, например? Сервер БД на что больше
завязан? IMHO сервер БД можно запускать как только смонтированы все
разделы и подняты интерфейсы (если он не локальный).
Для многопроцессорных систем польза от многопоточного запуска, IMHO,
очевидна.
Ещё можно вспонмить известный факт с многопроцессной компиляцией (make
-jN), которая увеличивает скорость компиляции даже на однопроцессорных
машинах.
> DS> Вопрос только в
> DS> одном -- настолько ли оно надо, чтобы тратить на это силы?
> Имхо нет. Предлагаю промежуточную копромиссную схему, которая не
> требует больших усилий.
> В сам S-скрипт (те, которые лежат в init.d) добавляем еще одно
> поле типа как это сделано для chkconfig. В этом поле указываем
> класс скрипта - дисковый или нет.
Тоже вариант. Только вот с классом скрипта непонятно -- как их делить?
Какой у Bind'а? А если он обслуживают тучу зон? А у иксов?
> Затем rc-скрипт (тот, который обеспечивает выполнение
> SysV-инициализации) последовательно выполняет скрипты не просто
> отсортировав SXX по порядку (типа `echo S*|sort`), а разбивая их
> на группы по приоритету (S00 - в одну кучу, S01 в другую и
> т.п.). Внутри этой группы rc смотрит на поле класса скрипта,
> находит и запускает в два независимых "потока" "дисковые" и
> "недисковые" скрипты.
> Получаем, во-первых, полную совместимость с уже существующим
> софтом, завязанным на SysV, а во-вторых, требуемое
> распараллеливание скриптов.
> Можно пойти дальше и ввести еще одно поле в S-скрипте -
> зависимость от уже стартовавшего сервиса. Реализация именно
> такого способа задания зависимостей не представляет вообще
> никакого труда.
Собственно этим и можно в результате сделать точно ту схему, о которой я
писал выше. Только тогда придётся шерстить все скрипты.
--
С уважением, Денис
http://freesource.info
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-05-08 23:12 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-28 7:04 [Comm] дизайн дистрибутива ALJ "как в вындовс" Mike Lykov
2003-04-28 7:27 ` Alexandre Prokoudine
2003-04-28 8:05 ` Leonid B. Sysoletin
2003-04-28 8:51 ` [Comm] [JT] " Anatoly A. Yakushin
2003-04-28 9:28 ` [Comm] " Anton V. Boyarshinov
2003-04-28 15:33 ` [Comm] "" Denis Smirnov
2003-04-28 16:37 ` [Comm] Re: [Comm] [JT] дизайн дистрибутива ALJ "как в вындовс" Vitaly Lugovsky
2003-04-28 17:02 ` Roman Bogorodskiy
2003-04-29 12:58 ` Vitaly Lugovsky
2003-04-30 5:09 ` Mike Lykov
2003-04-30 5:42 ` Andrey Golovin
2003-04-30 9:36 ` Vitaly Lugovsky
2003-04-28 18:05 ` [Comm] " Maksim Otstavnov
2003-04-28 18:12 ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-29 13:01 ` [Comm] " Vitaly Lugovsky
2003-04-29 13:15 ` Anton V. Boyarshinov
2003-04-29 13:53 ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-29 18:26 ` Vitaly Lugovsky
2003-04-29 20:47 ` [Comm] Re[2]: " Maksim Otstavnov
2003-04-30 6:22 ` Anton V. Boyarshinov
2003-04-30 6:23 ` Anton V. Boyarshinov
2003-05-06 13:12 ` [Comm] " Alexey Tourbin
2003-04-28 19:25 ` [Comm] Re: [Comm] [JT] дизайн дис трибутива ALJ "как в в ындовс" Denis Smirnov
2003-04-29 13:05 ` Vitaly Lugovsky
2003-04-29 18:11 ` [Comm] Re: [Comm] [JT] Denis Smirnov
2003-04-30 5:06 ` Mike Lykov
2003-05-06 13:24 ` [Comm] Re: дизайн дис трибутива ALJ "как в в ындовс" Alexey Tourbin
2003-05-06 13:49 ` [Comm] Denis Smirnov
2003-05-07 11:30 ` Michael Shigorin
2003-05-07 12:33 ` Denis Smirnov
2003-05-08 8:29 ` Michael Shigorin
2003-05-08 19:13 ` Denis Smirnov
2003-05-08 22:06 ` Re[2]: " ASA
2003-05-08 23:12 ` Denis Smirnov [this message]
2003-05-09 6:39 ` ASA
2003-05-09 21:10 ` Denis Smirnov
2003-05-10 8:15 ` Re[2]: " ASA
2003-05-10 15:56 ` Denis Smirnov
2003-05-10 21:30 ` Re[2]: " ASA
2003-05-11 6:58 ` Re[3]: " Maksim Otstavnov
2003-05-11 12:13 ` Denis Smirnov
2003-05-12 3:48 ` Re[2]: " ASA
2003-05-12 11:46 ` Denis Smirnov
2003-05-12 15:51 ` Re[2]: " ASA
2003-05-12 17:15 ` Dmitry Alexeyev
2003-05-12 18:02 ` Re[2]: " ASA
2003-05-12 20:11 ` Denis Smirnov
2003-05-13 2:15 ` Re[2]: " ASA
2003-05-11 12:43 ` Re[3]: " Alexander Bokovoy
2003-05-11 12:06 ` Denis Smirnov
2003-05-13 19:10 ` Michael Shigorin
2003-05-13 20:29 ` Denis Smirnov
2003-05-14 3:19 ` Re[2]: " ASA
2003-05-14 8:47 ` Denis Smirnov
2003-05-13 19:08 ` Michael Shigorin
2003-05-13 19:43 ` ASA
2003-05-13 20:29 ` Denis Smirnov
2003-05-14 19:19 ` Michael Shigorin
2003-05-14 22:20 ` Denis Smirnov
2003-04-29 7:14 ` [Comm] Re: [Comm] [JT] дизайн дистрибутива ALJ "как в вындовс" Andrii Dobrovolskii
2003-04-29 13:30 ` Vitaly Lugovsky
2003-04-29 14:10 ` [Comm] Re: [Comm] [JT] дизайн ди стрибутива ALJ "как в в ындовс" Denis Smirnov
2003-05-02 10:40 ` Andrii Dobrovolskii
2003-05-02 22:28 ` Denis Smirnov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030508231257.GB15096@localhost.localdomain \
--to=mithraen@freesource.info \
--cc=community@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git