можно пользоваться и ногтём вместо отвертки, и кому-то это удобно, однако автор пытался мыслить объективно.
далее мое ИМХО:
клавиатура — удобно. тыкать в несуществующие клавиши и не ощущать нажатия мне не привычно. скорость набора тоже падает. отказоустойчивость выше (глюк софта вполне возможен, что экран вдруг вырубится по каким-либо причинам. а трубку снять жизненно важно)
:)
мы отвлеклись от темы.
ты утверждаешь, что изллагать надо предельно ясно, я согласен, но когда я прочитал статью выше, поймал себя на мысли, что если бы я не знал изложенного материала ранее, я бы ничего не понял. мысль часто сбивается и не совсем понятно что же хотели донести. ощущение, что автору уреазли объем и сказали — впихни сюда максимум информации. и он впихнул.
>>Подход «а-ля матан» мне категорически не нравится. Человека грузят 5-10 леммами (с доказательствами) только для того, чтобы потом доказать основную теорему: «как очевидно следует из бла и бла бла» (которые были 15 страниц назад).
По-моему, вполне нормальный подход. Предложите более «педагогичное», по вашему мнению, изложение математического анализа:)
Правда, я не вижу особой связи с программировнанием, поскольку здест доказывать ничего не нужно.
>> В результате, 90% людей вообще не помнят и не понимают о чем речь
значит, не дано им понять. «на зеркало неча пенять, коли рожа крива». в смысле, что если человек, извиняюсь, тупой, то как не излагай, все равно не поймет.
>> В этом простом примере мы использовали также директивы #pragma alloc_text(INIT, DriverEntry) и #pragma alloc_text(PAGE, UnloadRoutine). Объясню что они означают:… Вторая помечает код функции UnloadRoutine как выгружаемый, т.е. при необходимости, система может переместить его в файл подкачки, а потом забрать его оттуда.
… заметить, что выгружаемыми по умолчанию считаются все секции, имена которых начинаются на 'PAGE'
Например, PAGEKD, PAGEMY, PAGE,…
заинтересовать людей и уж тем более дать понять что это не так «страшно» невозможно такой концентрацией нового материала. человек прочтет, найдет много новых слов и просто его заломает разбираться.
уже проверено на «крысах», так сказать, поэтому это не просто пустые слова.
ну тут не особо много так что я решил катом не пользоваться, а насчет объяснить общественности: не думаю, что если объяснить это широкой массе людей, то это будет полезно. кому надо тот и так поймет, а остальным это просто не нужно
По поводу сборки: можно не пользоваться build из ddk (хотя MS это крайне рекомендуют, но не будет ничего страшного, если собирать драйвер средствами Visual Studio).
можно создать обычный проект в студии, например консольного приложения, и произвести там некоторые манипуляции, например выставить тип подсистемы Native, линковку с ntoskrnl.lib, hal.lib и проч.
>> Для того, чтобы выводить отладочные сообщения мы используем функцию DbgPrint, которая имеет синтаксис, аналогичной функции printf из пользовательского режима (userspace).
Не совсем — у нее есть одна очень прикольная фенечка для вывода UNICODE_STRING: %wZ
Есть аналогичная вроде для ANSI_STRING, но ее я не запоминал ввиду не особой её необходимости.
Для отладки еще потребуется Debugging tools for Windows и символы для компонентов ядра.
И виртуальная машина. Дебажить дрова на той же тачке я бы крайне не рекомендовал. Ну и соотв. DbgView тогда не потребуется
PS. Да только не надо излюбленных народом комментариев вида «не нравится — пиши сам». Писал статьи и не раз. Поэтому и комментирую. Это так, к слову и на всякий случай.
попытка уместить огромный материал (по которому пишут тома) в одной статье закончится лишь неразберихой в головах новичков. Лучше бы написал хорошую вводную статью. Про архитектуру Windows, в том числе и ядерной ее части, как что работает и что к чему. А потом уже к конкретике. И постепенно. А не так вот, сразу.
но весело. иногда. на идиотов посмотреть
не у всех есть WM/Я.Деньги…
далее мое ИМХО:
клавиатура — удобно. тыкать в несуществующие клавиши и не ощущать нажатия мне не привычно. скорость набора тоже падает. отказоустойчивость выше (глюк софта вполне возможен, что экран вдруг вырубится по каким-либо причинам. а трубку снять жизненно важно)
мы отвлеклись от темы.
ты утверждаешь, что изллагать надо предельно ясно, я согласен, но когда я прочитал статью выше, поймал себя на мысли, что если бы я не знал изложенного материала ранее, я бы ничего не понял. мысль часто сбивается и не совсем понятно что же хотели донести. ощущение, что автору уреазли объем и сказали — впихни сюда максимум информации. и он впихнул.
По-моему, вполне нормальный подход. Предложите более «педагогичное», по вашему мнению, изложение математического анализа:)
Правда, я не вижу особой связи с программировнанием, поскольку здест доказывать ничего не нужно.
>> В результате, 90% людей вообще не помнят и не понимают о чем речь
значит, не дано им понять. «на зеркало неча пенять, коли рожа крива». в смысле, что если человек, извиняюсь, тупой, то как не излагай, все равно не поймет.
>> В этом простом примере мы использовали также директивы #pragma alloc_text(INIT, DriverEntry) и #pragma alloc_text(PAGE, UnloadRoutine). Объясню что они означают:… Вторая помечает код функции UnloadRoutine как выгружаемый, т.е. при необходимости, система может переместить его в файл подкачки, а потом забрать его оттуда.
… заметить, что выгружаемыми по умолчанию считаются все секции, имена которых начинаются на 'PAGE'
Например, PAGEKD, PAGEMY, PAGE,…
уже проверено на «крысах», так сказать, поэтому это не просто пустые слова.
можно создать обычный проект в студии, например консольного приложения, и произвести там некоторые манипуляции, например выставить тип подсистемы Native, линковку с ntoskrnl.lib, hal.lib и проч.
>> Для того, чтобы выводить отладочные сообщения мы используем функцию DbgPrint, которая имеет синтаксис, аналогичной функции printf из пользовательского режима (userspace).
Не совсем — у нее есть одна очень прикольная фенечка для вывода UNICODE_STRING: %wZ
Есть аналогичная вроде для ANSI_STRING, но ее я не запоминал ввиду не особой её необходимости.
Для отладки еще потребуется Debugging tools for Windows и символы для компонентов ядра.
И виртуальная машина. Дебажить дрова на той же тачке я бы крайне не рекомендовал. Ну и соотв. DbgView тогда не потребуется
попытка уместить огромный материал (по которому пишут тома) в одной статье закончится лишь неразберихой в головах новичков. Лучше бы написал хорошую вводную статью. Про архитектуру Windows, в том числе и ядерной ее части, как что работает и что к чему. А потом уже к конкретике. И постепенно. А не так вот, сразу.