ALT Linux Community general discussions
 help / color / mirror / Atom feed
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 --]

  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