Вернуться   Forum 3Dnews Tech > Софт > Операционные системы Microsoft Windows
Вход через: 

Ответ Создать новую тему
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2016, 20:31   Вверх   #1
gnuuser
Мужской Новенький
Автор темы
 
Регистрация: 25.03.2014
Разработчик ядра Windows NT объяснил причины низкой производительности

Один из программистов компании Microsoft анонимно выступил на форуме Hacker News и выдал интересные подробности о процессе разработки ядра NT. Своим сообщением он хотел подтвердить тезис о том, что ядро неэффективно и во многом уступает по производительности другим ОС: см. оригинальное сообщение (автор удалил его, испугавшись резких формулировок) и копию.
Причина проблем, по словам сотрудника Microsoft, социальная. Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux. В компании Microsoft никто не будет хвалить программиста, если он оптимизировал какой-то процесс на 5%, если это не входит в сферу его основных обязанностей. Такая оптимизация никому не интересна. Только в случае какого-то очень существенного прогресса работу программиста могут заметить в соседних командах разработки, что положительно отразиться на его карьере. Но это скорее исключение, чем правило. Нет никакого стимула принимать изменения из-за пределов своей команды разработки.

В Microsoft не существует программы по систематическому улучшению производительности Windows. Во времена Windows XP компания начала уделять большое внимание безопасности, потому что с этим обнаружились серьёзные проблемы. Однако на производительность никто не обращал и не обращает особого внимание.

Ещё одна проблема в ухудшении ситуации с производительностью ОС — в утечке самых талантливых кадров. Google и другие компании Кремниевой долины активно охотятся за одаренными программистами и не стесняются переманивать их из других компаний. Из-за текучки кадров новые разработчики предпочитают реализовывать новые функции вместо оптимизации старых. Именно в этом причина появления PowerShell: многие хотели улучшить cmd.exe, но не имели возможности.

В качестве конкретных примеров разработчик называет следующее:

«Нам нельзя трогать именованные каналы. Лучше добавим %INTERNAL_NOTIFICATION_SYSTEM%! И пусть она будет несовместима с почти всеми другими именованными примитивами NT.

Мы не можем показывать %INTERNAL_NOTIFICATION_SYSTEM% остальному миру, потому что не хотим заниматься бумажной работой и терять продажи, ведь сейчас публично доступны только интерфейса Win32 APIs эпохи 90-х.

Мы не можем трогать DCOM. Так что создадим ещё один %C#_REMOTING_FLAVOR_OF_THE_WEEK%!

XNA. Что тут ещё сказать?

Зачем кому-то нужен формат архивирования с поддержкой файлов больше 2 ГБ?

Давайте поддерживать символьные ссылки, но убедимся, что никто не сможет их использовать, так что нас не обвинят в уязвимости безопасности. (Отлично! Теперь мы выглядим мудрыми и ответственными!)

Нельзя трогать Source Depot, так что давайте вместе хакнем SDX (Secure Document Exchange)!

Нельзя трогать SDX, так что давайте притворяться в течение четырёх релизов, что мы переходим на TFS (Team Foundation Server), а сами ничего не будем менять!

Господи, код NTFS — это багровый роман ужасов, написанный под опиумом в средневековье, где используются глобальные рекурсивные блокировки и управление потоком выполнения программы при помощи структурной обработкой исключений (SEH). Давайте вместо неё напишем ReFs. (И да, начнем с копипаста исходников NTFS и удаления половины функциональности! Теперь добавим контрольные суммы, потому что контрольные суммы это круто, и с контрольными суммами мы почти так же круты, как ZFS, верно? И вообще, кому нужны квоты?)

Мы вообще не в силах реализовать поддержку C11, а шаблоны с переменным числом аргументов слишком сложны, чтобы внедрить их за год. (Но смотрите, мы превратили "^" в оператор указателя с подсчётом ссылок! Ой, а что такое ссылочный цикл?)».

PS В оригинале статья интереснее. Разработчик дописал ее. ...This anonymous poster contacted me, still anonymously, to make a second statement, worried by the attention his words are getting... Автор написал, что Windows сейчас пишут вчерашние студенты. Хотя ... Windows and Microsoft still have plenty of technical talent. И т.д

http://linexp.ru/other/razrabotchik-...itelnosti.html
gnuuser вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 13.10.2016, 20:41   Вверх   #2
zl0dey4eg
Мужской Абсолютный
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Як вас батенька торкнуло!

Всего одна проблема с ReFS, а сколько компромата сразу нарыли на M$
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 07.12.2016, 02:16   Вверх   #3
Digesty
Мужской Интересующийся
 
Регистрация: 06.09.2016
Цитата (zl0dey4eg) »
Як вас батенька торкнуло! Всего одна проблема с ReFS, а сколько компромата сразу нарыли на M$
Зря так. Операционки пишут лишь ради удовлетворения новых требований безопасности и продаж, с кодом сильно не заморачиваются: XP всего лишь усовершенствованное ядро Windows 2000, Windows 7/8/8.1/10 всего лишь усовершенствованное дефектное ядро Vista - тупиковый путь. Хорошо ещё, что от генератора глюков отказались.
Digesty вне форума  
Ответить с цитированием
Старый 10.12.2016, 14:43   Вверх   #4
Theosoph
Мужской Запрещенный
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (gnuuser) »
Господи, код NTFS — это багровый роман ужасов, написанный под опиумом в средневековье, где используются глобальные рекурсивные блокировки и управление потоком выполнения программы при помощи структурной обработкой исключений (SEH). Давайте вместо неё напишем ReFs. (И да, начнем с копипаста исходников NTFS и удаления половины функциональности! Теперь добавим контрольные суммы, потому что контрольные суммы это круто, и с контрольными суммами мы почти так же круты, как ZFS, верно? И вообще, кому нужны квоты?)
А еще думал, отчего меня интуитивно воротит от NTFS... Теперь все ясно )))

Добавлено через 1 минуту

Цитата (Digesty) »
Зря так. Операционки пишут лишь ради удовлетворения новых требований безопасности и продаж, с кодом сильно не заморачиваются: XP всего лишь усовершенствованное ядро Windows 2000, Windows 7/8/8.1/10 всего лишь усовершенствованное дефектное ядро Vista - тупиковый путь. Хорошо ещё, что от генератора глюков отказались.
А новые версии ядра Линукс - всего лишь не усовершенствованные версии старых ?

Добавлено через 2 минуты

Цитата (Digesty) »
Windows 7/8/8.1/10 всего лишь усовершенствованное дефектное ядро Vista
А чем оно дефектное то ? В первоначальном после говорилось про недостатки обвязки ядра, но не самого ядра...

А я вот по памяти помню, как один разраб давно сетовал на то, что NT - офигенное быстрое ядро, на которое навесили кучу лайна (то есть проблемы в сопровождающем софте)

Добавлено через 4 минуты

Цитата (zl0dey4eg) »
Всего одна проблема с ReFS
А тебе не кажется странным, что REFS уже огогооооо как давно есть и ее можно включить, но почему-то никак не могут вывести в финальную стадию и придать официальный, завершенный статус ?
Theosoph вне форума  
Ответить с цитированием
Старый 10.12.2016, 15:36   Вверх   #5
Vladson
Мужской Умудрённый
 
Аватар для Vladson
 
Регистрация: 05.05.2011
Адрес: ЭСЭСтония
Цитата (gnuuser) »
Причина проблем, по словам сотрудника Microsoft, социальная. Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux. В компании Microsoft никто не будет хвалить программиста, если он оптимизировал какой-то процесс
Открыли Америку ? Джоель Спольски (над Excel работал) без всякой анонимности об этом писал.
http://local.joelonsoftware.com/wiki...D0%B8%D0%B8_VI
Цитата
У вас, как у программиста, благодаря копеечным ценам на память и удвоению скорости процессоров каждые два года, есть выбор. Можете потратить шесть месяцев, переписывая внутренние циклы на ассемблере, или потратить шесть месяцев играя барабанщиком в рок-н-рольной группе, и в обоих случаях ваша программа будет работать быстрее. У программистов на ассемблере нет фанаток.
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. ©
Vladson вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 12.12.2016, 04:41   Вверх   #6
Digesty
Мужской Интересующийся
 
Регистрация: 06.09.2016
Цитата (Theosoph) »
А новые версии ядра Линукс - всего лишь не усовершенствованные версии старых ?
Описано в теме, можно прочитать ещё раз, если не понятно :
Цитата (gnuuser) »
Дело в том, что разработчики не вносят в ядро таких оптимизаций, которые мы видим в мире Linux.
Вообще ядро Linux представляет собой монолитное ядро, в то время как ядра
Windows и OS X гибридные.

Добавлено через 12 минут

Цитата (Theosoph) »
А я вот по памяти помню, как один разраб давно сетовал на то, что NT - офигенное быстрое ядро, на которое навесили кучу лайна (то есть проблемы в сопровождающем софте)
Режим пользователя - менее привиллегированный по сравнению с режимом ядра работы процессора. Ядро Windows NT выполняет низкоуровневые функции, например прерывания. вызов процедур, в то время как пользователь требует графического интерфейса, загружающего систему, не говоря уже о его прикладных приложениях. Таким образом самого пользователя можно рассматривать как лишнюю загрузку системы, затормаживающего высокоскоростное ядро своими ненужными прихотями

Последний раз редактировалось Digesty; 12.12.2016 в 04:57.
Digesty вне форума  
Ответить с цитированием
Старый 12.12.2016, 11:05   Вверх   #7
Theosoph
Мужской Запрещенный
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (Digesty) »
Ядро Windows NT выполняет низкоуровневые функции, например прерывания. вызов процедур, в то время как пользователь требует графического интерфейса, загружающего систему, не говоря уже о его прикладных приложениях. Таким образом самого пользователя можно рассматривать как лишнюю загрузку системы, затормаживающего высокоскоростное ядро своими ненужными прихотями
По сути да - низкоуровневые операции имеют приоритет. Тоже самое, что твое тело : твои мечты, желания и т.п. менее приоритетны для организма, чем прогонка крови, обменные процессы в клетках и т.п.

А вообще проблема у Win скорее не в ядре, а в том, что пресловутый пользовательский уровень превратили в свалку кода. Может потому сильнокастрированные версии Win более отзывчивые даже в системах с обильными количествами памяти и норм.CPU ?
Theosoph вне форума  
Ответить с цитированием
Старый 12.12.2016, 12:05   Вверх   #8
zl0dey4eg
Мужской Абсолютный
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Цитата (Digesty) »
Вообще ядро Linux представляет собой монолитное ядро, в то время как ядра
Windows и OS X гибридные.
да ладно?

модули ядра?
не, не слышали

Оно уже давно НЕ монолитное, если что
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 12.12.2016, 15:14   Вверх   #9
Theosoph
Мужской Запрещенный
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Та даже если бы было монолитным, это что, само по себе прям показатель качества и скорости ?
Theosoph вне форума  
Ответить с цитированием
Старый 12.12.2016, 17:57   Вверх   #10
Злой Геймер
Мужской Абсолютный
 
Аватар для Злой Геймер
 
Регистрация: 28.06.2010
Адрес: Гандурас
Digesty, наверное до сих пор на микроДОС сидит.
Злой Геймер вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 14.12.2016, 03:28   Вверх   #11
Digesty
Мужской Интересующийся
 
Регистрация: 06.09.2016
Цитата (Theosoph) »
Может потому сильнокастрированные версии Win более отзывчивые даже в системах с обильными количествами памяти и норм.CPU ?
Конечно. Сама по себе идея гениальная, но качественно обрезать ещё тот процесс, требуются прямо колоссальные знания для стабильной системы. Многие не заморачиваются глубокой теорией, делают эксперименты, результаты которых трудно предсказать со временем. Стабильные обрезанные системы большая редкость.

Добавлено через 12 минут

Цитата (zl0dey4eg) »
модули ядра? не, не слышали Оно уже давно НЕ монолитное, если что
А какое?
Все драйвера и подсистемы ядра Linux работают в своем адресном пространстве, отделённом от выделенного для программ пользователя, то есть монолитное ядро, лучшего не придумают до изобретения квантовых компьютеров.
Модули ядра всегда собираются вместе с ядром, причём только под определенную версию ядра, подгружаются автоматически в современных ядрах, если у тебя Linux, загляни - "/lib/modules/<версия ядра>" в виде файлов с расширением "ko"

Добавлено через 17 минут

Цитата (Theosoph) »
Та даже если бы было монолитным, это что, само по себе прям показатель качества и скорости ?
Вот именно. Дело в насильственном увеличении софта в таком количестве, чтобы всегда думали купить себе более мощный комп. Кому интересно, если чел купит один комп и одну операционку на всю жизнь?
Если взять старый комп, программный пакет какой-нибудь вычислительный и задать задачу, то он обгонит новый более мощный комп с той же задачей, но современной напичканной операционкой и утяжелённой современной версией программы.

Последний раз редактировалось Digesty; 14.12.2016 в 03:49.
Digesty вне форума  
Ответить с цитированием
Старый 14.12.2016, 04:52   Вверх   #12
Vladson
Мужской Умудрённый
 
Аватар для Vladson
 
Регистрация: 05.05.2011
Адрес: ЭСЭСтония
Цитата (Digesty) »
Если взять старый комп, программный пакет какой-нибудь вычислительный и задать задачу, то он обгонит новый более мощный комп с той же задачей, но современной напичканной операционкой и утяжелённой современной версией программы.
Пережмите мне BlueRay на 286-м проце пожалуйста.... Может моментом за пять минут пережмётся...
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. ©
Vladson вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 14.12.2016, 13:43   Вверх   #13
Злой Геймер
Мужской Абсолютный
 
Аватар для Злой Геймер
 
Регистрация: 28.06.2010
Адрес: Гандурас
Digesty, познанья черпаешь из забытых газет времён Очаковских и освоенья Крыма.
Злой Геймер вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 14.12.2016, 15:32   Вверх   #14
Theosoph
Мужской Запрещенный
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (Vladson) »
Пережмите мне BlueRay на 286-м проце пожалуйста.... Может моментом за пять минут пережмётся...
Ну это ты перегнул, хотя в общем-то истина где-то посередине... В первом мессадже же писали, что переписывать циклы на ассемблере и т.п. майкам щас в лом... А насколько я помню, именно написание на asm-е дает наивысшую производительность.
Если код преимущественно высокоуровневый без оптимизаций в asm, его производительность удручающая.
Особенно это заметно в крайних случаях - Net и Java
Theosoph вне форума  
Ответить с цитированием
Старый 14.12.2016, 16:33   Вверх   #15
zl0dey4eg
Мужской Абсолютный
 
Аватар для zl0dey4eg
 
Регистрация: 24.12.2012
Адрес: Москва
Цитата (Theosoph) »
майкам щас в лом...
да не влом им!
просто ... это экономически не целесообразно

нормальный ASM-прогер потребует денег как 10 прогеров .NET
zl0dey4eg вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 14.12.2016, 17:29   Вверх   #16
Smirnoff
Мужской 12.12.1959 - 5.11.2025
 
Аватар для Smirnoff
 
Регистрация: 30.12.2004
Адрес: Новосибирск
Цитата (Theosoph) »
насколько я помню, именно написание на asm-е дает наивысшую производительность.
Сам-то хоть раз в жизни писал что-нить на ассемблере для x86?
А то языком-то - не то же самое, что работать; Ага...
__________________
С уважением,
Олег Р. Смирнов
Smirnoff вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 14.12.2016, 17:36   Вверх   #17
Theosoph
Мужской Запрещенный
 
Регистрация: 23.08.2003
Адрес: г. Каменское (бывш. Днепродзержинск)
Цитата (Smirnoff) »
Сам-то хоть раз в жизни писал что-нить на ассемблере для x86?
А то языком-то - не то же самое, что работать; Ага...
Ты не успел получить ответ на свой же вопрос, а уже выводы делаешь...
Theosoph вне форума  
Ответить с цитированием
Старый 14.12.2016, 17:40   Вверх   #18
Vladson
Мужской Умудрённый
 
Аватар для Vladson
 
Регистрация: 05.05.2011
Адрес: ЭСЭСтония
Цитата (Theosoph) »
Если код преимущественно высокоуровневый без оптимизаций в asm
Сейчас такие компилюшники что проги написанные на языках высокого уровня получаются быстрее асмовых, потому что в более менее большой программе есть тысячи мест где можно оптимизироваться и компили делают это автоматически, человеку всё это не предусмотреть...

Истина в том что хороший асм прогер (если повезёт) сможет оптимизировать то место которое компилятор не сможет, а хороший компилятор сможет оптимизировать те места на которые у программера не хватит тупо времени и сил...
__________________
Маша все любила делать по-своему. Когда все девочки учились целоваться на помидорах, она училась целоваться на огурцах. Позже выяснилось, что не прогадала. ©

Последний раз редактировалось Vladson; 14.12.2016 в 17:44.
Vladson вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 15.12.2016, 05:55   Вверх   #19
Digesty
Мужской Интересующийся
 
Регистрация: 06.09.2016
Тема зашла в неповторимую дугу обсуждения старинных языков программирования и кривляния.
Между тем в Microsoft не существует программы, подразделения и задачи по систематическому улучшению производительности Windows, интересует только написание всё новых и новых версий, и большинству на этом продукте приходится работать. Какой смысл усиленно допиливать код, если через пару лет операционка уступает место новой версии?

Последний раз редактировалось Digesty; 15.12.2016 в 06:04.
Digesty вне форума  
Ответить с цитированием
Старый 15.12.2016, 06:04   Вверх   #20
Smirnoff
Мужской 12.12.1959 - 5.11.2025
 
Аватар для Smirnoff
 
Регистрация: 30.12.2004
Адрес: Новосибирск
Цитата (Theosoph) »
а уже выводы делаешь...
Это не я вывод сделал, это народная такая поговорка; а я вывод сделаю, когда на вопрос ответишь...


Добавлено через 2 минуты

Цитата (Digesty) »
и большинству на этом продукте приходится работать
Что забавно - большинство из этого большинства ещё и деньги платит за то, чтобы пришлось работать именно на этом продукте; а мЕньшая часть этого большинства (хоть и существенная) тупо ворует этот продукт с той же целью - чтобы пришлось на нём работать...
__________________
С уважением,
Олег Р. Смирнов
Smirnoff вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:12. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot