В принципе всё хорошо знакомо, Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте.
До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland.
Каких вопросов и камней следует ждать на собеседовании?
Подкинте пяток другой.
Заранее Благодарен.
.
Это я Вас как математик математика спрашиваю:
Что такое математика?
Один из законов Божьих или это сам Бог и есть? (ХХ век)
Здравствуйте, VMin, Вы писали:
VM>У меня есть предложение о работе.
VM>Среди прочих требований:
VM>Skills: C, C++, OOP, Windows, Kernel
VM>В принципе всё хорошо знакомо, VM>Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте.
Вот это:
VM>До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland.
очень сильное высказывание. Если речь про ядро NT, то вряд-ли вакансия вам подойдёт.
Здравствуйте, IID, Вы писали:
IID>Вот это:
............................ IID>очень сильное высказывание. Если речь про ядро NT, то вряд-ли вакансия вам подойдёт.
Мудро.
А по существу?
.
Это я Вас как математик математика спрашиваю:
Что такое математика?
Один из законов Божьих или это сам Бог и есть? (ХХ век)
Здравствуйте, VMin, Вы писали:
IID>>очень сильное высказывание. Если речь про ядро NT, то вряд-ли вакансия вам подойдёт.
VM>А по существу?
По существу разница действительно ощутимая. Я бы сравнил с переходом на другую платформу, не смотря на то что используется в основном C. Другие базовые библиотеки, другие методы отладки, куча дополнительных ограничений. Еще довольно гадкий хэлп, не сравнить с содержимым MSDN для user mode. Ладно если NT, там все более-менее нормально задокументировано и проблемы редко возникают. Для legacy платформ типа 9x/ME я бы употребил литературное слово жопа Короче если опыта в кернеле вообще нет, то как минимум надо иметь ввиду что понадобится в районе нескольких месяцев чтобы начать что-то делать в ядре более-менее уверенно. При условии наличия хорошего опыта в юзер моде
Здравствуйте, VMin, Вы писали:
VM>У меня есть предложение о работе.
VM>Среди прочих требований:
VM>Skills: C, C++, OOP, Windows, Kernel
VM>В принципе всё хорошо знакомо, VM>Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте. VM>До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland.
Здравствуйте, gibo, Вы писали:
G>По существу разница действительно ощутимая. Я бы сравнил с переходом на другую платформу, не смотря на то что используется в основном C. Другие базовые библиотеки, другие методы отладки, куча дополнительных ограничений. Еще довольно гадкий хэлп, не сравнить с содержимым MSDN для user mode. Ладно если NT, там все более-менее нормально задокументировано и проблемы редко возникают. Для legacy платформ типа 9x/ME я бы употребил литературное слово жопа Короче если опыта в кернеле вообще нет, то как минимум надо иметь ввиду что понадобится в районе нескольких месяцев чтобы начать что-то делать в ядре более-менее уверенно. При условии наличия хорошего опыта в юзер моде
С опытом всё отлично.
Я тут уже пару лет пишу програмки, используя (по возможности) NativeAPI, и если старые освежаю — тоже.
Может это оно и есть?
Или где-то рядом?
У меня с детства с именами и терминологией проблемы.
Что Вейерштрасс, что Майкрософт — путаю.
.
.
Это я Вас как математик математика спрашиваю:
Что такое математика?
Один из законов Божьих или это сам Бог и есть? (ХХ век)
Здравствуйте, ancient, Вы писали:
AVM>>До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland
A>А ты эти программы писал или просто выполнял?
Признаюсь честно! (со стыдом )
Не имею привычки покупать программы.
Поэтому если мои — значит сам писал.
.
Это я Вас как математик математика спрашиваю:
Что такое математика?
Один из законов Божьих или это сам Бог и есть? (ХХ век)
Здравствуйте, VMin, Вы писали:
VM>Здравствуйте, gibo, Вы писали:
G>>По существу разница действительно ощутимая. Я бы сравнил с переходом на другую платформу, не смотря на то что используется в основном C. Другие базовые библиотеки, другие методы отладки, куча дополнительных ограничений. Еще довольно гадкий хэлп, не сравнить с содержимым MSDN для user mode. Ладно если NT, там все более-менее нормально задокументировано и проблемы редко возникают. Для legacy платформ типа 9x/ME я бы употребил литературное слово жопа Короче если опыта в кернеле вообще нет, то как минимум надо иметь ввиду что понадобится в районе нескольких месяцев чтобы начать что-то делать в ядре более-менее уверенно. При условии наличия хорошего опыта в юзер моде
VM>С опытом всё отлично.
VM>Я тут уже пару лет пишу програмки, используя (по возможности) NativeAPI, и если старые освежаю — тоже.
Покажи тут одну из своих программок, а мы подскажем, в каком кольце она выполняется
VM>Каких вопросов и камней следует ждать на собеседовании?
VM>Подкинте пяток другой.
Ключевые компоненты системы, обзор архитектуры системы (например, NT). Основные системные компоненты модули пользовательского режима и режима ядра. Механизмы прерываний и исключения, системные ловушки. DPC, APC очереди. Процессы и потоки, планирование. Механизмы синхронизации. Особенности работы с памятью в режиме ядра. Механизмы безопасности.
Ну и т.д., в зависимости от того, что в этом самом кернеле делать придется.
Здравствуйте, VMin, Вы писали:
VM>У меня есть предложение о работе.
VM>Среди прочих требований:
VM>Skills: C, C++, OOP, Windows, Kernel
VM>В принципе всё хорошо знакомо, VM>Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте.
Умение разрабатывать драйвера?
VM>До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland.
Твои программы работают в user-land.
В режиме ядра работаю драйвера и kernel-level модули.
Здравствуйте, VMin, Вы писали:
VM>Skills: C, C++, OOP, Windows, Kernel VM>В принципе всё хорошо знакомо, VM>Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте.
IID>>очень сильное высказывание. Если речь про ядро NT, то вряд-ли вакансия вам подойдёт. VM>А по существу?
"До сих пор не обращал внимания где выполняются мои программы в kernel-land или userland"
судя по этому замечанию ты не в теме "ядерного" программирования
VM>>Skills: C, C++, OOP, Windows, Kernel VM>>В принципе всё хорошо знакомо, VM>>Но не до конца понятно какой смысл вкладывается в Kernel в этом контексте.
Кё>А позвонить им и спросить?
Если про то где выполняются его программы, то лучше с левого телефона
VM>>Подкинте пяток другой.
g_i>Ключевые компоненты системы, обзор архитектуры системы (например, NT). Основные системные компоненты модули пользовательского режима и режима ядра. Механизмы прерываний и исключения, системные ловушки. DPC, APC очереди. Процессы и потоки, планирование. Механизмы синхронизации. Особенности работы с памятью в режиме ядра. Механизмы безопасности. g_i>Ну и т.д., в зависимости от того, что в этом самом кернеле делать придется.
Фиг его знает. Ну вот пара моих вопросов для интервью:
— Что такое IRP? Для чего это и как ими пользоваться.
— Какие бывают IRQL и почему важно знать текущее значение?
Кратенько, своими словами. Очень вероятно что об этом спросят на технической части.
На мой взгляд, вот эту пару книг как-минимум нужно осилить:
Д.Соломон, М.Руссинович "Внутреннее устройство Microsoft Windows 2000".
Джеффри Рихтер "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows". Чтобы не погореть на теории.