Одна служба - несколько процессов

Тема в разделе "WASM.NT.KERNEL", создана пользователем Blind, 1 авг 2008.

  1. Blind

    Blind New Member

    Публикаций:
    0
    Регистрация:
    12 май 2008
    Сообщения:
    6
    Здраствуйте

    Возникла необходимость выполнения простых (но "наглых") файловых операций, но на уровне ядра (из-под юзермода к сожалению :dntknw: ) Драйверы писать ещё не доводилось, и поэтому прошу совета в проблеме - приложений может быть несколько которые захотят использовать сервис (который предоставит драйвер) Предполагаю, что использование одной службы несколькими процессами нежелательно и вероятно даже (невозможно?) т.к. кто в итоге, например, её остановит (без прав доступа) + неизветсно что произойдет с r0 службой если елементарно приложения упадут, а она останется активной (к сожалению пока не знаю). Грузить драйвер на каждой приложение тоже как-то... Кастрировать в один экземпляр приложения можно, но не хотелось бы....

    Точной информации пока что не нашёл (в процессе), так что буду благодарен любым вашим совета/замечаниям/решениям

    з.ы. Драйвер должен быть "элементарным" - требуется только доступ на уровне ядра ничего больше
    з.з.ы. Выполнять операции в точке входа и выгружаться можно, но вдруг понадобится за несколько секунд это проделать несколько раз? Некрасиво как-то.....
     
  2. AntiFreeze

    AntiFreeze Дмитрий

    Публикаций:
    0
    Регистрация:
    26 июн 2008
    Сообщения:
    65
    Сформулируй чётко задачу без своих рассуждений. Мозг не выдерживает читать такое.
     
  3. Blind

    Blind New Member

    Публикаций:
    0
    Регистрация:
    12 май 2008
    Сообщения:
    6
    » Одна служба - несколько процессов
     
  4. AntiFreeze

    AntiFreeze Дмитрий

    Публикаций:
    0
    Регистрация:
    26 июн 2008
    Сообщения:
    65
    Так а в чём проблема? В элементарном случае это драйвер устройства (DEVICE_DRIVER), который обрабатывает запросы от любого числа клиентский приложений. Читай книжки, кури исходники.
     
  5. Blind

    Blind New Member

    Публикаций:
    0
    Регистрация:
    12 май 2008
    Сообщения:
    6
    мы знакомы?

    во-вторых, проблема не в количестве приложений, а в конкретной и грамматной реализации. Хочется поднять сервайс один раз за n-копий приложений (их в редком случае, но может быть 2, 3, 4). Так вот - что произойдёт если если последняя копия клиента зависнет, вылетит (с это приложением такое возможно) и сервис остановлен не будет. Что тогда будет со службой? При повторной инициализации? БСОД? Невозможность поднять её вновь? Или вообще не известно что

    Вот я об этом точной информации не могу пока найти (не думал что драйвер понадобится - нет опыта)