wtorek, 28 września 2010

Kolejność startowania programów i usług przy uruchamianiu systemu.

Okazuje się, że kolejność uruchamiania programów ma znaczenie szczególnie tych uruchamianych automatycznie przy starcie systemu. Dla zachowania właściwej kolejności np. w usługach systemowych jest stosowany mechanizm zależności, który należy wpierw spełnić aby daną usługę uruchomić np. uruchomić 2 inne usługi. Natomiast jeśli chodzi o powiązanie uruchomienia programów i usług to już takich priorytetów i zależności nie można wprost określić. Można się tutaj jednak posłużyć zewnętrznym programem, ja do zachowania prawidłowej kolejności uruchamiania użyłem aplikacji Startup Delayer w którym ustalamy czas po jakim dany program ma się uruchomić. Nie jest to więc rozwiązanie idealne ale potrafi w dużym przybliżeniu zaplanować priorytety uruchamiania.
Po co w ogóle jest to potrzebne można spytać. Okazuje się, że są programy (niezbyt dobrze napisane), które wymagają np. aby wpierw uruchomił się proces odpowiedzialny za działanie silnika bazy a później aplikacji łącząca się z bazą danych. Sam miałem taki problem (pojawiające się w Windows XP błędy Access Violation zaraz po starcie sytemu generowane przez aplikację łączącą się do bazy danych gdy proces silnika bazy danych nie był jeszcze uruchomiony) i udało mi się go w ten sposób wyeliminować.

Brak komentarzy: