Re[12]: Программирование в режиме ядра Windows
От: gear nuke  
Дата: 12.01.06 11:44
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Ну как сказать. Я имел ввиду, что сейчас я занимаюсь не теми задачами, которыми занимается Русинович и Рихтер, а теми, которые обсуждают Фаулер и Якобсон.


Ну дык, по этому поводу есть старая притча:

Был однажды программист, который работал с микропроцессорами.
— Смотри, как хорошо мне здесь! — сказал он программисту мейнфреймов, который зашел к нему. — У меня есть собственная операционная система и устройство для хранения файлов. Я ни с кем не делю свои ресурсы. Программное обеспечение самодостаточно и легко в обращении. Почему бы тебе не уйти с твоей теперешней работы и не присоединиться ко мне здесь?
Тогда программист мейнфреймов начал описывать другу свою систему, говоря:
— Мейнфрейм восседает в вычислительном центре, как древний мудрец погруженный в медитацию. Его дисковые накопители раскинулись из конца в конец, как огромный электронный океан. Программное обеспечение многогранно, как брильянт и переплетено, как первобытные джунгли. Программы, каждая уникальна, движутся сквозь систему, как быстротекущая река. Вот почему я счастлив там, где я есть.
Программист микрокомпьютеров, услышав это, надолго замолчал. Hо два программиста остались друзьями до конца своих дней.


В>Значит и мы оказывается не простые смертные


Поздравляю
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[8]: Программирование в режиме ядра Windows
От: WolfHound  
Дата: 12.01.06 13:29
Оценка:
Здравствуйте, Ведмедь, Вы писали:

B>>Давно мечтают о том, что человек только формулирует задачу, а компутер ее решает.

B>>Практически с самого появления компьютеров
В>Ну в принципе все к тому идет. Правда медленно
Нет. Это случилось в момент появления компьютеров. Человек формулирует задачу, а компьютер ее решает.
Проблема в том что сформулировать задачу так чтобы эту формулировку понял компьютер сама по себе не простая задача...
По большому счету программисты это всеголишь переводчики с человеческого языка на язык компьютера.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Программирование в режиме ядра Windows
От: Ведмедь Россия  
Дата: 12.01.06 13:37
Оценка: 1 (1) +1 :))) :))
Здравствуйте, WolfHound, Вы писали:

WH>Нет. Это случилось в момент появления компьютеров. Человек формулирует задачу, а компьютер ее решает.

WH>Проблема в том что сформулировать задачу так чтобы эту формулировку понял компьютер сама по себе не простая задача...
WH>По большому счету программисты это всеголишь переводчики с человеческого языка на язык компьютера.

К сожалению перевести человеческий язык на язык компьютера не сложно. Сложно получить эту самую человеческую речь от заказчиков и после того, как получен компютерный вариант еще доработать напильником то что получилось, что бы заработало на конкретной плошадке.
Да пребудет с тобой Великий Джа
Re[8]: Программирование в режиме ядра Windows
От: Mamut Швеция http://dmitriid.com
Дата: 12.01.06 15:21
Оценка: +1 :))
E>Значит я тебя правильно понял. И сам думаю о том же
Автор: eao197
Дата: 12.01.06
.


Дураки думают одинаково, в смысле, умные люди всегда придут к одинаковым выводам
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re[3]: Программирование в режиме ядра Windows
От: Igor Trofimov  
Дата: 12.01.06 16:30
Оценка:
ГВ>Я вообще всегда много смеюсь, когда читаю не "marketing requirements", а "рынок требует".

Ммм.. а почему? Поясните, может посмеемся вместе.

ГВ>Рынки, вернее сегменты рынка бывают разными. В сегменте хоть-как-то-работающих-программ лежат хоть-как-то-работающие-программы. В сегменте высоконадёжных решений живут высоконадёжные решения.


Бесусловно. Ок, давайте поправим мое категоричное высказывание и добавим туда примечание "в основной массе". Я надеюсь, вы не будете спорить, что рынок высокопроизводительных и высоконадежных вычислений существеннго уже "ширпотреба" коммерческих, офисных приложений и т.п? Уже не в смысле денег, которые там ворочаются, а в смысле числа людей, которые этим занимаются. В данном случае важно именно это.

Решение об издании книжки будут принимать исходя из возможного тиража, который раскупят. Если на 100 программеров офисных/учетных/веб приложений приходится один научник или ядреный (от слова ядро) системщик, то какую книжку скорее издадут и раскупят? Вот, о чем я говорю.

Ну а насчет упомянутого "массового" класса приложений — я надеюсь, вы не будете возражать, что тенденции последних лет ведут именно к задаче скорейшего выпуска, а не производительности (железо поможет!) и надежности. Вот именно эти тенденции последних лет я и называю "рынок требует". Ну назовите по-другому, сути это не изменит.
Re[10]: Программирование в режиме ядра Windows
От: Дарней Россия  
Дата: 13.01.06 03:09
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>Эта разница скроется, как только на DSL нужно будет не только декларации делать, но еще и какую-то логику программировать.


значит, это будет уже не DSL основная идея DSL как раз в том, чтобы каждый язык использовался для решения очень ограниченной задачи
любой инструмент можно применить не по назначению — подметать ломом и так далее
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[3]: Программирование в режиме ядра Windows
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.01.06 20:36
Оценка:
Здравствуйте, Orifiel, Вы писали:

O>Тривиальны, говорите. Тогда ответьте на вопрос, почему программирование драйверов считается самым сложным и почему бытует мнение, что kernel mode programmers самые продвинутые и толковые.


Это возможно доказать или подтвердить чем либо?
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Программирование в режиме ядра Windows
От: Orifiel  
Дата: 17.01.06 09:11
Оценка: :))
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Orifiel, Вы писали:


Кё>"Крутым", "мэтры пишут на голом", "правильные пацаны", "использовать WTL и С++ уже как-то не прикольно" — ты чем там вообще занимаешься Для тебя есть ещё практически значимые различия C++/WTL и C++Builder/VCL кроме того, что на первом пишут крутые пацаны, а на втором нет?


Да, различия, безспорно, есть, но вопрос не в этом. В программировании, как и в любой деятельности, есть спецы, выпускающие ширпотреб, а есть квалифицированные разработчики,
выпускающие high tech. А визитной карточкой любого программера по давно устоявшемуся мнению является средство разработки. Так зачем же, используя "непопулярное" средство, давать повод усомниться в твоей квалификации.


O>>на С++ Builder и считал этот инструмент крутым, т.к. мог не трахать мозги с написанием GUI и одновременно использовать WinAPI, STL, COM без всяких проблем. Причем, что самое странное, программы, написанные на BCB5 и BCB6, у меня шли отлично и практически не глючили.


Кё>Ну и что странного, что они не глючили? Ошибки делает не язык программирования, а программист. Написать хорошо работающую безглючную прогамму можно на чём угодно.


O>>Сейчас думаю положить болт на WTL и писать на голом API и чистом С, ибо использовать WTL и С++ уже как-то не прикольно. Ведь мэтры — Русинович и Рихтер — пишут на голом API, а первый даже не использует С++.


Кё>Ну так скорее начинай. Потом может на wasm.ru тебе понравится.


На мой взгляд, идеи, пропагандируемые на wasm.ru, иначе как абсурдом не назовешь. Знание
ассемблера нужно прежде всего для понимания логики работы операционки и компиляторов, а не для программирования WinGUI и COM. Для этого вполне годятся С++ и паскаль. В моих же задачах вопросы GUI не являются определяющими, так почему же не потратить лишних пару-тройку дней на создание "легковесного" продуменного GUI в стиле Русиновича и Рихтера.

Кё>Я в принципе не против, если для человека моральное удовлетворение от того, что он как настоящий хакер использовал "крутые" инструменты и справился с задачей, не даёт трезво оценить преимущества и недостатки этих инструментов и сравнить их с другими... или насколько будет реально использовать их в большем по объему проекте... А кстати кому-нибудь приходилось иметь в подчинении такого человека? Что от него ждать?
Re[4]: Программирование в режиме ядра Windows
От: Orifiel  
Дата: 17.01.06 09:21
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Orifiel, Вы писали:


O>>Тривиальны, говорите. Тогда ответьте на вопрос, почему программирование драйверов считается самым сложным и почему бытует мнение, что kernel mode programmers самые

O>>продвинутые и толковые.

Д>Подозреваю, что такое мнение существует исключительно среди kernel mode programmers


В том то и дело, что не только среди них. Я лично знаком с одним человеком, который десять лет писал на Turbo Pascal под MSDOS и пять лет — на VC/MFC под Windows. Однако во время знакомства с ядром NT у него, как он сам выразился, первые три месяца была мысль "да как такое вообще можно писать", а окончательно освоил ядро он только спустя года полтора. Да и на любом собеседовании рейтинг соискателя резко растет, когда он владеет kernel mode programming.
Re[7]: Программирование в режиме ядра Windows
От: Кодёнок  
Дата: 17.01.06 09:49
Оценка: +2
Здравствуйте, Orifiel, Вы писали:

O>Да, различия, безспорно, есть, но вопрос не в этом. В программировании, как и в любой деятельности, есть спецы, выпускающие ширпотреб, а есть квалифицированные разработчики, выпускающие high tech.


Есть рынок наёмного труда. Там нужны такие-то и такие-то специалисты. Сейчас нужно много C#, Java, C++. Раньше нужно было много C, Delphi. Всё. Понты "не ширпотреб, а high tech" тут ни при чем: на работе ты выпускаешь то, что тебе скажут.

O>А визитной карточкой любого программера по давно устоявшемуся мнению является средство разработки. Так зачем же, используя "непопулярное" средство, давать повод усомниться в твоей квалификации.


Первый раз слышку такое мнение.

Что ещё за визитные карточки ты придумал? Если что-то и годится на роль визитной карточки, так это полезные и известные проекты, которые он сделал, неважно на чём.

O>На мой взгляд, идеи, пропагандируемые на wasm.ru, иначе как абсурдом не назовешь. Знание

O>ассемблера нужно прежде всего для понимания логики работы операционки и компиляторов,

Это клише, неверные причём. Как ассемблер поможет тебе понять логику ОС или компилятора? Какие моменты их логики ты уже понял?

O>В моих же задачах вопросы GUI не являются определяющими, так почему же не потратить лишних пару-тройку дней на создание "легковесного" продуменного GUI в стиле Русиновича и Рихтера.


Где посмотреть на GUI Русиновича и Рихтера?

Мой мнение — ты просто не понимаешь, о чем говоришь.
Re[7]: Программирование в режиме ядра Windows
От: Ведмедь Россия  
Дата: 17.01.06 10:56
Оценка:
Здравствуйте, Orifiel, Вы писали:

O>Здравствуйте, Кодёнок, Вы писали:


Кё>>Здравствуйте, Orifiel, Вы писали:


Кё>>"Крутым", "мэтры пишут на голом", "правильные пацаны", "использовать WTL и С++ уже как-то не прикольно" — ты чем там вообще занимаешься Для тебя есть ещё практически значимые различия C++/WTL и C++Builder/VCL кроме того, что на первом пишут крутые пацаны, а на втором нет?


O>Да, различия, безспорно, есть, но вопрос не в этом. В программировании, как и в любой деятельности, есть спецы, выпускающие ширпотреб, а есть квалифицированные разработчики,

O>выпускающие high tech. А визитной карточкой любого программера по давно устоявшемуся мнению является средство разработки. Так зачем же, используя "непопулярное" средство, давать повод усомниться в твоей квалификации.

Средство становится популярным только потому что им удобнее пользоваться. И никогда средство разработки не давало повода усомниться в квалификации. Повод усомниться в квалификации только код и результат. А каким средством этого достигли-другой вопрос.

O>>>на С++ Builder и считал этот инструмент крутым, т.к. мог не трахать мозги с написанием GUI и одновременно использовать WinAPI, STL, COM без всяких проблем. Причем, что самое странное, программы, написанные на BCB5 и BCB6, у меня шли отлично и практически не глючили.



O>На мой взгляд, идеи, пропагандируемые на wasm.ru, иначе как абсурдом не назовешь. Знание

O>ассемблера нужно прежде всего для понимания логики работы операционки и компиляторов, а не для программирования WinGUI и COM. Для этого вполне годятся С++ и паскаль. В моих же задачах вопросы GUI не являются определяющими, так почему же не потратить лишних пару-тройку дней на создание "легковесного" продуменного GUI в стиле Русиновича и Рихтера.

Все GUI, которые я видел от Рихтера и Русиновича действительно можно назвать легковесными.. Но вся проблема в том, что при заказном софте надо делать богатые функционалностью GUI и что самое главное ИХ НАДО ДЕЛАТЬ БЫСТРО. И пары-тройки дней здесь просто нет. ПОтому что за пару тройку дней ВСЕ должно быть отгружено на тестирование. Бывают и такие случаи. Бывают, когда критичесике вещи приходится и на лету решать. И не позвадую я тому человеку, которые будет эти проблемы решать на чистом API.
Да пребудет с тобой Великий Джа
Re[8]: Программирование в режиме ядра Windows
От: Orifiel  
Дата: 17.01.06 13:34
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Orifiel, Вы писали:


O>>Да, различия, безспорно, есть, но вопрос не в этом. В программировании, как и в любой деятельности, есть спецы, выпускающие ширпотреб, а есть квалифицированные разработчики, выпускающие high tech.


Кё>Есть рынок наёмного труда. Там нужны такие-то и такие-то специалисты. Сейчас нужно много C#, Java, C++. Раньше нужно было много C, Delphi. Всё. Понты "не ширпотреб, а high tech" тут ни при чем: на работе ты выпускаешь то, что тебе скажут.


O>>А визитной карточкой любого программера по давно устоявшемуся мнению является средство разработки. Так зачем же, используя "непопулярное" средство, давать повод усомниться в твоей квалификации.


Кё>Первый раз слышку такое мнение.


Кё>Что ещё за визитные карточки ты придумал? Если что-то и годится на роль визитной карточки, так это полезные и известные проекты, которые он сделал, неважно на чём.


O>>На мой взгляд, идеи, пропагандируемые на wasm.ru, иначе как абсурдом не назовешь. Знание

O>>ассемблера нужно прежде всего для понимания логики работы операционки и компиляторов,

Кё>Это клише, неверные причём. Как ассемблер поможет тебе понять логику ОС или компилятора? Какие моменты их логики ты уже понял?


Очень многое. Как формируются таблицы GDT и прерываний, как происходит переход из реального режима процессора в защищенный, как переключаются задачи, как различаются понятия "память режима ядра" и "память режима пользователя", как работают шлюзы вызовов процедур из разных колец защиты процессора, как работают ловушки, как устроена страничная память и многое другое. Не зная ассемблера, я не вполне представлял себе, как устроены вышеприведенные механизмы. И только изучив последний, стал четко понимать, who is who and how it works.

O>>В моих же задачах вопросы GUI не являются определяющими, так почему же не потратить лишних пару-тройку дней на создание "легковесного" продуменного GUI в стиле Русиновича и Рихтера.


Кё>Где посмотреть на GUI Русиновича и Рихтера?


Кё>Мой мнение — ты просто не понимаешь, о чем говоришь.


Пардон. Такие продукты, как filemon, regmon, tokenmon и многие другие я, как говорится,
разбирал до бита, в том числе ту часть, что работает в UserMode. И не устаю поражаться, как можна создать такое, вообще не используя С++.
Re[4]: Программирование в режиме ядра Windows
От: srggal Украина  
Дата: 17.01.06 13:49
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Orifiel, Вы писали:


O>>Тривиальны, говорите. Тогда ответьте на вопрос, почему программирование драйверов считается самым сложным и почему бытует мнение, что kernel mode programmers самые продвинутые и толковые.


VD>Это возможно доказать или подтвердить чем либо?


ГМ не дам ссылок, искать лениво, но в классике считается, что чем "ниже" уровень разрабатываемого ПО, тем трудней отладка.

Это мнение тянется ещё с тех времён, когда сложность программ мерялась операторами и тсроками кода.
Системный программист 1-3 строки в день отлаженного кода на ассемблере, а прикладной 300-400 строк.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[5]: Программирование в режиме ядра Windows
От: Дарней Россия  
Дата: 17.01.06 14:24
Оценка: +1
Здравствуйте, Orifiel, Вы писали:

O>В том то и дело, что не только среди них. Я лично знаком с одним человеком, который десять лет писал на Turbo Pascal под MSDOS и пять лет — на VC/MFC под Windows. Однако во время знакомства с ядром NT у него, как он сам выразился, первые три месяца была мысль "да как такое вообще можно писать"


Написать — ядро NT? действительно, чертовски трудно

O>, а окончательно освоил ядро он только спустя года полтора.


интересно, а что именно отняло у него столько времени?

O>Да и на любом собеседовании рейтинг соискателя резко растет, когда он владеет kernel mode programming.


ты это проверял сам хотя бы на одном собеседовании? В какой области, если проверял?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Программирование в режиме ядра Windows
От: Ведмедь Россия  
Дата: 17.01.06 14:48
Оценка:
Здравствуйте, Orifiel, Вы писали:

O>Очень многое. Как формируются таблицы GDT и прерываний, как происходит переход из реального режима процессора в защищенный, как переключаются задачи, как различаются понятия "память режима ядра" и "память режима пользователя", как работают шлюзы вызовов процедур из разных колец защиты процессора, как работают ловушки, как устроена страничная память и многое другое. Не зная ассемблера, я не вполне представлял себе, как устроены вышеприведенные механизмы. И только изучив последний, стал четко понимать, who is who and how it works.


Эээээ... А где здесь компиляторы? И это относится не только к ОС но к апаратуре. Попробуй применить свои знания под MacOS. Или под Sun. Или программировать для встраиваемых устройств. Или сигнальные процессоры. Как тебе поможеть автоматизировать большу распределенную фирму тонкое знание ядра одной системы?

При этом я не говорю, что это вредные знания, я сам считая, что программист должен иметь достаточно большое энцеклопидическое знание. И понимать, тчо и как работает. Я не вижу у "системного" программиста преимущест перед "прикладным". Я никогда не возьму к себе человека, который "программировал на уровне ядра" а не решал проблемы заказчика. Ну не сможет качественно решить прикладные задачи системный программист, если он с ними никогда не сталкивался... "программирование на уровне ядра" такая же часть разработки, как и все другие. При чем ошибке в драйверах обычно "стоят" меньше, чем в заказном софте.

O>>>В моих же задачах вопросы GUI не являются определяющими, так почему же не потратить лишних пару-тройку дней на создание "легковесного" продуменного GUI в стиле Русиновича и Рихтера.


O>Пардон. Такие продукты, как filemon, regmon, tokenmon и многие другие я, как говорится,

O>разбирал до бита, в том числе ту часть, что работает в UserMode. И не устаю поражаться, как можна создать такое, вообще не используя С++.

Продукты есть , а GUI у них нету... у них так, простенькая облочка. Ты наверное просто не видел очень толстых заказных клиентов с несколькими дестяками форм, которые между собой должны взаимодействовать. И я слабо представляю, как это эффективно поддеживать на "голом" С.
Да пребудет с тобой Великий Джа
Re[5]: Программирование в режиме ядра Windows
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.01.06 17:07
Оценка:
Здравствуйте, srggal, Вы писали:

S>ГМ не дам ссылок, искать лениво,


А. Ну, тогда будем считать твои заявления на этот счет выдачей желаемого тебе за действительное.

S> но в классике считается, что чем "ниже" уровень разрабатываемого ПО, тем трудней отладка.


И что, если отладка затруднена, то человек занимающийся еею сразу становится "продвинутые и толковые"? Забавный ход мысли. Тогда самые продвинутые и толковые — это те кто грузчиками в магазинах подрабатывают. Так как у них очень тяжелая работа.

S>Это мнение тянется ещё с тех времён, когда сложность программ мерялась операторами и тсроками кода.


Это мнение тех кто не умеет уважать чужой труд и опыт. А сложность программ и сейчас измеряют в операторах и тсроках кода. Только это одна из метрик.

S>Системный программист 1-3 строки в день отлаженного кода на ассемблере, а прикладной 300-400 строк.


Это вообще что-то не вообразимое. За 3 строки в день надо памятник не рукотворный воздвигать. Прямо на бюсте героя.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Программирование в режиме ядра Windows
От: srggal Украина  
Дата: 17.01.06 17:44
Оценка:
Здравствуйте, VladD2, Вы писали:

ГМ, батенька моя, классиков читать надо, как бы это не Брукс приводил такую статистику, или кто-то его уровня, и не нам с Вами, ну уж точно не мне грить, что эти люди

"не умеет уважать чужой труд и опыт"


ЗЫ За отсутсвием желания искать цитаты — не вижу перспектив в дисскусии, да и не интересно это мне ж)
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[7]: Программирование в режиме ядра Windows
От: Ведмедь Россия  
Дата: 17.01.06 19:33
Оценка:
Здравствуйте, srggal, Вы писали:

S>Здравствуйте, VladD2, Вы писали:


S>ГМ, батенька моя, классиков читать надо, как бы это не Брукс приводил такую статистику, или кто-то его уровня, и не нам с Вами, ну уж точно не мне грить, что эти люди

S>

S>"не умеет уважать чужой труд и опыт"


S>ЗЫ За отсутсвием желания искать цитаты — не вижу перспектив в дисскусии, да и не интересно это мне ж)


Это действительно Брукс приводил статистику, но не такую. Он приводил статистику к тому, что за 40 лет производительность труда среднего программиста не изменилась, как делает он свои положенные строчки кода, так и делает, ни строчкой больше( правда на мой взглчяд некоторая строчка кода на С# это несколько десяток, а то и стотен строчек кода на асьме). У Брукса нигде нельзя встретить различие программистов по тому чем они занимаются. У него программисты отличаются ролями в команде( Хирург, Помошник, Инструменталист и т.д ). У него в книге даже такого поняти как "системный" программист нету. Так что тут я думаю сцылка в небо.
Да пребудет с тобой Великий Джа
Re[7]: Программирование в режиме ядра Windows
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.01.06 21:30
Оценка:
Здравствуйте, srggal, Вы писали:

S>Здравствуйте, VladD2, Вы писали:


S>ГМ, батенька моя, классиков читать надо, как бы это не Брукс приводил такую статистику,


Ну, вот когда представишь точную цитату, тогда и обсудим. Не думаю, что серьезные люди с мировым именем будут нести такую шовинистическую ахинею. Так что почти уверен, что ты не правильно понял прочитанное.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Программирование в режиме ядра Windows
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.01.06 00:06
Оценка:
Здравствуйте, Orifiel, Вы писали:

Это последнее предупреждение по поводу избыточного цитирования.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.