прост оч много разных мнений…хотелось бы узнать от тех кто в этом разбирается…меня интересует основной язык на котором написаны винда и ядро…а по мелочи итак понятно что использовалась куча разных языков…
большинство программистов склоняется к мысли что винда написана на С, а вот по поводу ядра ходят споры…в основном выбирают между С и ASM…
14 ноября 2008 в 20:05
а я в футбол играю и програмир. не занимаюсь)
2 июля 2008 в 10:00
"Код ядра написан в основном на Си, а части, дающие наибольшую нагрузку на процессор, на языке Ассемблере." (с)//khpi-iip.mipk.kharkiv.edu/library/extent/os/o…
1 июля 2008 в 10:00
Я знаю, я хотел услышать это от него
1 июля 2008 в 0:02
они немного перепутали. на sing# в значительной степени написана singularity, которая виндой вовсе не является
//en.wikipedia.org/wiki/Singularity_(operating_...
30 июня 2008 в 12:00
Андрей, какая версия винды написана на SING#? В каком году появилась эта версия винды? В каком году появился SING#?
30 июня 2008 в 5:05
НАРОД ХВАТИТ ОШИБАТЬСЯ! Ядро, дрова и dll-лки написаны на асме и плюсах, а остальное на SING#!!!!
30 июня 2008 в 3:01
Ну это конечно очень круто – поматюгаться, ну ты бы хоть поскромнее, без адреса, что-ли… некрасиво.
А вот если дизассемблировать, там чё будет написано что-то типа "этот код был сто пудово написан на ассемблере и никакого си тут не было" ??? Или как определили? Любую прогу дизассемблировать если – такая же хрень получится и ни о чём это не говорит, по моему так?
Линуха ядро на си написано, а виндовс нельзя на си написать(?), или ты знаешь наверняка?
30 июня 2008 в 2:05
Вы ибанулись, ядро+длл для апи на асме, интерфейс и модули – на сях, используя апи, уже написаный на асме. Из этого и существует много скрытых, не док-ных способностей этой оси, т.к. не все апи описаны в манах, дизасемблите – и всё увидите.
29 июня 2008 в 18:05
Пиздец, Андрей, ну и аргументация у тебя Что значит "нет смысла писать на С т.к. можно на асме"? Ну, на машинном коде тоже можно! Нет смысла писать веб-странички на PHP, если можно написать самому сервер с нуля на машинном коде! Поэтому сайт микрософта процентов на 70 стопудово написан на машинном коде!
Ты вообще представляешь себе программу со сколько-нибудь сложной архитектурой, написанную на асме?
28 июня 2008 в 16:00
Ну в основном как я слышал что там: асемблер, С++ и еще какой то, точно не впомню, акцес вроде или что то на подобии
28 июня 2008 в 15:02
Мля. Очень трудно себе представить кучу прогеров (даже такого уровня как у них там работают), которые будут писать такую прогу как Word, Excel … на ассемблере, они помрут там на солнцепёке!
В очень большой куче книжек натыкался на строки типа "C++ … Windows, Linux… " и очень этому верю. Значит Windows на C, а Word на асме? =))
Чушь. ))
28 июня 2008 в 15:00
всё что токо возможно написано на асме, это сто пудово, оболочка не знаю точно, а вот все прикладные программы тоже где возможно поделаны вставки на асме, в ворде2003 тож процентов 70 на асме, так шо асм рулит, на самом с практически ничего нет, как нет смысла на нем писать если можна тоже закодить на асме=)
19 июня 2008 в 17:04
Ядро всех Windows написано на Си (как 9x так и NT), 90% дров тоже (Майкрософтовских).
Остальное – как повезёт (С++, Java, C#, VBA, …)
17 июня 2008 в 8:05
для для этих задач, как правило, хватает ассемблерных вставок до полусотни байт. в последний раз речь шла о написании прикладных программ.
17 июня 2008 в 8:02
Вообще я вспомнил – у меня есть один знакомый, который вроде бы писал оптимизированные вычисления на асме – перемножение больших матриц, какая-то там обработка изображений и т.п. Так что пишут, пишут.
17 июня 2008 в 1:04
100 kb game гуглу
17 июня 2008 в 0:05
сомневаюсь в том, что кто-то пишет прикладные программы на ассемблере ради денег. я, правда, знаю одного человека, ассемблер активно в работе использующего. но он участвует в разработке оптимизирующего компилятора, ему без этого никак.
ЗЫ: не так давно (несколько лет назад) появился 3д-шутер, написанный на ассемблере и занимающий 100кб. до этого та же группа выпускала 64кб-демки.
17 июня 2008 в 0:05
Я тоже видел 3D-демки на ассемблере.
Офигел тогда от размера файла и от графики вообще (давно было).
А можно этот шутер посмотреть, где-нибудь скачать? Есть ссылка?
17 июня 2008 в 0:04
Если тесно работать с аппараткой – то тут без него, извините, бывает никак
А кто-нибудь сейчас вообще пишет прикладные программы на ассемблере (MASM, TASM и пр.)? Мне правда интересно (без шуток), много таких людей?
И этот труд окупается? (понимаю, мимо темы, но не удержался:)
16 июня 2008 в 17:03
Виталий, прочел. ничего интересного в статье нет – простейшая прямая оптимизация пары десятков байт машинного кода. на нетривиальную оптимизацию куска на несколько сотен байт уйдет куда больше времени и сил.
2Жека Кирпичев:
владение ассемблером и знание тонкостей архитектуры, тем не менее, очень полезно при написании собственно оптимизирующих компиляторов.
16 июня 2008 в 17:03
Согласен, да и не только при нем – ассемблер вообще полезно знать в любом случае. Я и не говорю, что его не надо знать – безусловно, надо. Но преимущества обычно есть именно во владении асмом, а не в его использовании
16 июня 2008 в 15:01
У асма есть преимущество только в руках виртуоза, у которого слишком много свободного времени.
16 июня 2008 в 15:00
ядро на асембе, проги на си++
16 июня 2008 в 14:05
Прочёл. Сделал вывод – лучше C.
Но автор статьи и не отрицает того факта что у ассемблера всегда имеется преимущество (не в скорости написания программы, конечно )
16 июня 2008 в 13:04
Я сам тоже не очень представляю оптимизацию асссемблера – Сергей Богданов оставил ссылку на оч полезную статью =) советую прочесть
16 июня 2008 в 8:04
Виталий, а вы представляете, как выглядят оптимизации на ассемблере? мне, например, непонятно выражение "байты оптимизации ускоряют работу".
ЗЫ: а в качестве ядра, работающего на аппаратном уровне, я представляю себе просто кусок кремния + оксида кремния + множество проводничков.
16 июня 2008 в 2:00
Я почти согласен с Леонид maxleo Максимов =)
Кроме одного момента – вот как раз таки эти байты оптимизации и ускоряют работу, хоть и на единицы, но все же быстрее, чем С
Тем более ядро на аппаратном уровне должно работать оч быстро
Вообщем развели мы тут холивар – что быстрее…
Вопрос то был совсем другой в начале темы
Поэтому товарищи программисты, давайте закругляться =))
А то этот "спор" может длиться вечно
16 июня 2008 в 0:04
действительно, полностью оптимизированный вручную код на асме выполняется, как правило, быстрее, чем код, сгенеренный компилятором си.
только вот я не знаю таких… даже слово подобрать сложно… "математиков", которым не жалко потратить неделю-другую на оптимизацию нескольких сотен байт машинного кода для получения выигрыша в единицы процентов. в ядре/драйверах такое применение изощренных математиков не целесообразно.
а вот простое использование ассемблера (когда программа на ассемблере пишется почти сразу из головы) уступает по производительности результатам работы оптимизирующего компилятора.
16 июня 2008 в 0:02
Да ну нафиг )) Ниже ассемблера только цифры и микросхемы. Тут от программиста зависит насколько быстро будет работать его программа. Они либо работают с одинаковой скоростью, либо код написанный на ассемблере работает быстрее.
А иногда без асма просто не обойтись и тут высокоуровневый язык вообще бесполезен становится.
15 июня 2008 в 22:04
//www.insidepro.com/kk/145/145r.shtml – Крис Касперски "Война миров: ассемблер против С"
15 июня 2008 в 22:03
да На Сишке уже доказано
15 июня 2008 в 22:02
Жека, было бы интересно =) но в асме я не силен, да и в С.
Я больше по С++ и С# =)
Но достаточно погуглить и найдешь массу ссылок, где говорится о том, что асм быстрее С =) но вот целые приложения на асме писать не выгодно, вот и использеутся С, Но лучше использовать С вместе с ассемблером
15 июня 2008 в 22:01
>> Так как код написанный на асме быстрее исполняется, чем на С.
Да лана!!!
15 июня 2008 в 22:01
Не веришь?!? =) проверь
15 июня 2008 в 22:01
О! Виталий, а давай – самую простую задачу: копирование массива. Скажем, 10млн 4байтовых слов перегнать 100 раз туда-обратно. Сможешь написать на асме так, чтобы сработало быстрее чем прога на си с полной оптимизацией? Только чур сначала писать на асме, а потом уже смотреть в сгенерированный код из си!
15 июня 2008 в 22:00
to Виталий Инквизитор Слободин
Ну на юниксах я знаю, на чем дрова пишутся, а вод винда – хегознает =)
15 июня 2008 в 14:05
Зачем ещё что-то брать? Вам уже про все версии рассказали.
Современные версии Виндовс начиная с 2000 строятся на основе NT, но всё больше и больше "загрязняют" ядро, перетаскивая в него службы из пользовательского режима по соображениям быстродействия в ущерб безопасности и устойчивости…
15 июня 2008 в 14:01
так…терь как и во всех форумах будем спорить чисто о том на чем написано ядро)))
давайте чтоб особо не париться возьмем ХР и висту…так проще…
15 июня 2008 в 12:02
Я не имел ввиду, что все ядро написано на асме, а только аппаратный уровень. Так как код написанный на асме быстрее исполняется, чем на С.
Согласен смешивать линейки NT и 9x вообще нельзя.
15 июня 2008 в 11:04
Ядро Виндовс на Асме? Это какой, простите, Виндовс?
Как-то странновато видеть с какой лёгкостью тут смешивают Виндовс линейки 3.x, 9x и NT. У них принципиально разные архитектуры.
Ядро NT, как и все системы, работающие в режиме ядра и в пользовательском режиме, написано на Си (возможно, и C++).
Ассемблер используется только в HAL – Hardware Abstraction Layer. В том и смысл.
15 июня 2008 в 11:03
Обратили. Насчет паскаля не знаю. Возможно.
Но начиная с версии 3.1 (я могу и ошибаться) все писалось на С, оболочка на С++, а ядро всегда пишется на асме
15 июня 2008 в 10:03
Первая версия была написана на паскале, а потом все переписано на С. В документации, если вы обратили внимание, много паскаль нотации.
15 июня 2008 в 8:00
Практически да. Но, если брать в основном, то… уже писал выше =)))
15 июня 2008 в 2:05
ну блин, там практически все языки использутся…
15 июня 2008 в 2:04
еще и С++ тоже как никак используется!
15 июня 2008 в 1:05
ну собсно ясно=)) С и ASM
15 июня 2008 в 1:03
Ядро ОС написано на ассемблере, так как нужна скорость, и С.
Все остальное:
Оболочка и так далее на С++
Прикладные программы на других различных языках
=))
15 июня 2008 в 1:02
вообщем =) мы ответили на вопрос!
15 июня 2008 в 1:00
Windows 1-7 : Asm/C/C++
P.S. Singularity != Windows 8. Это чисто экспериментальная ОС, которая пока не ориентирована на какое-либо коммерческое применение. Написана на: Asm/C – микроядро, Sing# – все остальное.
15 июня 2008 в 0:03
"Утекшие" исходники Windows 2000 в основном состоят из си, с++ и асма. Асм только для вещей, которые на си не написать в принципе – т.е. например переключение контекстов для разных процессоров.
15 июня 2008 в 0:00
to Александр Dantrag Кравченко
ну как линуксоид ты должен знать, что дрова написаны или на С или на С++, также иногда с применением асма =))
———————————————————————————
винда 3.1 написана на С. А гуевина пишется на С++
14 июня 2008 в 23:00
С, basic использовался только в винде 3.1, потом гуевина переписалась на С, вставки на асме нужны для виндовой реализации нектарых компонент ядра. Насчет дров – не знаю, я вопще линуксоид))
14 июня 2008 в 22:03
To: Рустем Rusteam Закиев
Бугага!!!
Ну ты чувак и сказанул!!! ))) Ржунимагу патсталом.
Может тогда винда не на basic, а ЛОГО написана?
Бугага:)))))
14 июня 2008 в 22:03
basic рулить
14 июня 2008 в 22:03
Винда написана на разных языках
Но воснавном на С
14 июня 2008 в 22:02
Помоему как я слышал от препода нашего вроде на basic…Но точно не уверен но dos точно на нем написан=)
14 июня 2008 в 22:02
Singularity (Windows – на sing # )))
14 июня 2008 в 21:05
Ядро написано на С со вставками на ассемблере…
Оболочка и прикладные проги на С++. Дрова можно писать как на С так и на С++.
Разница в переносе потом на другую архитектуру.
Дрова написанные на С легче адаптировать под другие архитектуры
14 июня 2008 в 21:02
А вот я читала что:
Несмотря на то, что компоненты Windows режима ядра построены на принципах ООП, большая часть системного кода написано на C в целях переносимости и из-за широкой распространенности средств разработки на C. Ассемблер использовали лишь для решения специфических задач, трудно реализуемых на C.
Драйверы, как правило, пишутся на C, а иногда на C++
14 июня 2008 в 21:01
Я слышал, что на С++
14 июня 2008 в 20:05
походу асемблер
а лінукс під С
14 июня 2008 в 20:03
С++ компоненты, ядро ASM ибо аппаратка