[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tempo startu X-ów



Dnia środa, 26 października 2005 01:10, Waldemar Dworakowski napisał:
> Rafał Rawicki wrote:
> > Szymon Nieradka napisał(a):
> >> Łukasz Pieczara napisał(a):
> >>> http://www.hoeg.org/blog/2005/07/27/fast-booting-debian/
> >>
> >> Opis jest do Sarge. W Etch trochę się zmieniło. Nie mam takiej linijki
> >> (startup $i start). Domyślam się, że teraz robi to samo:
> >>
> >> startup $ACTION $SCRIPTS
> >>
> >> ale ona prawdopodobnie odpowiada nie tylko za start ale i za stop.
> >> I tu pojawia się niebezpieczeństwo, że np. zanim zatrzymam jakąś
> >> usługę system będzie próbował odmontować dyski. To się zapewne nie
> >> uda, więc chwilę później będzie elegancki shutdown... :(
> >
> > A jakby dodać tam instrukcję warunkową?
> > I odpalać w tło tylko przy starcie :)
>
> IMHO troche ryzykowne. Nie wiem jak sa zrobione semafory
> synchronizacji dostepu do zasobow i jak beda przebiegaly procesy -
> szczegolnie na maszynach wieloprocesorowych (choc tam zysk moglby byc
> najwiekszy). IMHO nie bez powodow ktos wymyslil taka a nie inna
> sekwencje ladowania...
>

Hmm. To wszystko wykracza poza czas bootowania samych X-ów ale przyznaję, że 
sam mocno nad tym dumałem. Ktoś wspomniał gdzie indziej, że ważna jest tylko 
kolejność runleveli- co jest oczywiście nieprawdą:
wyobraźmy sobie sytuację uruchamiania równolegle skryptów podnoszenia 
interfaców sieciowych i usług sieciowych- można spodziewać się, że te drugie 
nie zostaną uruchomiane właściwie (np. gniazda nie zostaną ustanowione).
Kiedyś próbowałem modyfikować skrypty startowe, tak by część zadań uruchamiała 
się równolegle. Jest spory zysk na czasie i wcale nie jest potrzebna maszyna 
wieloprocesorowa. Jednak nie można zastosować tego do dystrybucji, bo każda 
maszyna będzie zachowywać się inaczej- jak podejrzewam.
Problem leży w samym działaniu INITa i konstrukcji /etc/rc.d/; skrypty 
wykonywane są szeregowo. Potrzebny byłby program, którego config wyglądałby 
trochę jak relacyjna baza danych. Bądź też- owszem, uruchamiać skrypty 
równolegle, jednak same skrypty musiałyby zawierać mechanizmy (np. instrukcje 
warunkowe), które chroniłyby je przed niebezpieczeństwami takiego zabiegu.
Koniec końców warto wymienić sysV-init na coś lepszego.
Dostrzegam, że były dyskusje na debian-devel w tej kwestii.
Czy coś z tego wynikło?

Ps. Polecam:
http://lists.debian.org/debian-devel/2004/01/msg00972.html



Reply to: