Накладные расходы в ОС windows

Тема в разделе "WASM.SOFTWARE", создана пользователем Xeenych, 16 май 2008.

  1. Xeenych

    Xeenych New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    3
    Здравствуйте.
    Прочитал тут статью
    В этой статье автор говорит, что выигрыш в 10 тактов при инкременте пароля дает в сумме огромный выигрыш в 100 тыс. пароле в секунду, то есть за выигрыш в 10 тактов имеет смысл бороться.

    Так вот возникает такой вопрос, сколько тактов или процессорного времени сжирает работа самой ОС windows?
    Время уходит на обслуживание драйверов, служб, графической подсистемы и много чего еще. Процессорные такты тратятся на переключение контекста задачи, прерывания и возврат.

    Иожно ли как-то оценить затраты на ОС?

    Например, переписать mdcrack, чтобы он грузился с флешки сразу при включении компьютера как bootloader или хотябы под DOS.
     
  2. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Xeenych
    Проще драйвер написать, в таком случае.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    была тема про ОСь для подбора пароля к рару.
    DOS работает только с UP-машинами. А сейчас уже немало SMP-машин. И придется писать драйвер для поддержки нескольких логических процессоров.
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Все относительно. Если сэкономить 10 тактов из 20 получим выигрыш в 2 раза, если из 100, то 10% и т.д.
    Что касается накладных расходов ОС, то их можно существенно снизить путем задания реал-тайм приоритета процесса и его потоков, а чтобы система не впала в летаргию великодушно отдавать ей определенную часть времени через sleep. Ну и ес-но не провоцировать прерывания - не жать на клавиши, не двигать мышами и т.п. :)
     
  5. Xeenych

    Xeenych New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    3
    Так есть ли мысли как эти накладные расходы оценить?
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Ну, например, читать в цикле rdtc, вычислять разность с пред.значением, если больше определенного порога, то "списывать" на вмешательство ОС и суммировать, затем поделить на общее число тиков теста - получим относительные накладные расходы. (Разумеется как при любых более-менее точных тестах нужно учесть фишки с инициализацией страниц памяти, кэшированием и настройкой бранчей, т.е. предварительно прогнать пару холостых циклов с небольшим числом повторений)