Сколько строк кода в windows 10

Обновлено: 04.07.2024

Строки кода ( LOC для краткости ; английский для строк кода в смысле количества строк программы; английский исходный код строк кода , SLOC ) - термин из программного обеспечения . Это метрика программного обеспечения ; ЧАС. мера , чтобы описать размер кода базы в компьютерной программе или ее рост. В простейшем случае Строки кода - это количество строк исходного кода , составляющих программу.

Этот показатель не позволяет прямые выводы о эффективности на программистов , так как количество строк зависит от различных факторов: выбрана архитектура, опыт программиста, выбранного решения, форматирование исходного кода, программирования языка и т.д. Кроме того, говорится Правило 80/20 гласит , что 80% строк записываются в 20% случаев. Тщательное тестирование программы может занять много времени, а количество измененных или добавленных строк программы очень мало.

Обычно ожидается продуктивность - включая все действия по проекту - от 10 до 50 строк кода на сотрудника в день. Проект разработки программного обеспечения с общим объемом работ в 1000 человеко-дней (примерно 5 человеко-лет) должен был создать от 10 000 до 50 000 строк кода.

Оглавление

Типы расчетов

Строки кода имеют несколько общих версий, которые объясняются на следующем примере на языке программирования Java :

Строки кода (LOC) Также называется физическими строками кода. Количество строк, включая пустые строки и комментарии. В приведенном выше примере 7. Часто упоминается как представитель одного из других типов расчета. Исходные строки кода (SLOC) Количество строк кода без пустых строк и комментариев. В приведенном выше примере 5. Строки комментариев кода (CLOC) Количество строк комментариев, при этом не определено, включаются ли также строки с кодом и комментариями. В приведенном выше примере это означает 1 или 2. Строки кода без комментариев (NCLOC) Также называемые исходными строками без комментариев (NCSL) или эффективными строками кода (ELOC). Количество строк кода без пустых строк и комментариев без верхних и нижних колонтитулов. Верхний и нижний колонтитулы - это, в частности, внешние открывающие и закрывающие скобки, а также (на уровне класса) операторы импорта / включения и (на уровне метода) объявления методов. В приведенном выше примере NCLOC находится на уровне метода 3 и уровне класса 5. Логические строки кода (LLOC) Также называется числом заявлений (NOS). Считает количество инструкций . Используется, например, в COCOMO . В приведенном выше примере 2. Однако в языке программирования C инструкции в циклах for являются независимыми инструкциями. В C в приведенном выше примере будет 4 LLOC.

использовать

Большинство сравнений программ через LOC смотрят только на порядок величины количества строк в разных проектах. Компьютерные программы могут состоять от нескольких десятков до сотен миллионов строк программы. Объем программы в строках кода не обязательно должен позволять делать выводы о сложности или функциональности программы, поскольку использование внешних фреймворков и программных библиотек , используемый язык программирования, а также форматирование исходного текста имеют большое влияние на строки кода. В частности, выводы о вложенном рабочем времени обычно бессмысленны.

Даже при использовании логических строк кода (LLOC) понимание того, что подразумевается под инструкцией и как должна оцениваться ее сложность, зависит от используемого языка программирования. Например, в исходном коде ассемблера, который состоит из нескольких экранных страниц, одна и та же программа в конечном итоге может быть сформулирована как несколько строк на языке программирования высокого уровня .

В зависимости от программиста и используемых рекомендаций по форматированию приведенный выше пример можно переформулировать в следующем исходном коде, который полностью эквивалентен с точки зрения программирования:

Исходный код теперь состоит из четырех физических строк кода (LOC), трех SLOC, в зависимости от расчета, одной или двух строк кода комментария (CLOC), строки кода без комментариев (на уровне метода) и двух логических программ. линии (LLOC).

Поскольку сокращение строк кода, сделанное здесь, привело к снижению читабельности, сложность программы была увеличена, что, в свою очередь, отрицательно сказалось на производительности. Таким образом, меньшее количество строк кода может привести к более высоким затратам.

Размер строк кода, среди прочего, Также используется для расчета плотности ошибок программы: в зависимости от приложения, а также в зависимости от языка программирования, не должно быть превышено определенное количество ошибок программы , например B. Максимум 0,5 ошибок на KLOC (= килограмм = 1000 LOC) в военных или больничных системах.

Примеры

Вот несколько примеров количества строк программного кода в различных операционных системах и прикладных программах .

Это действительно зависит от того, как вы определяете сложность. Существует много различных метрик, используемых и комбинированных для измерения сложности программного обеспечения.

Конечно, чтобы прочитать и понять код, вам нужно было иметь представление об общей архитектуре Windows NT. Вероятно, лучшим источником информации о внутренностях Windows сегодня являются книги о Windows Internals 6th Edition (два тома).

Некоторые люди просто приравнивают сложность кода к размеру, часто измеряемому в строках кода (LOC). То, как на самом деле измеряются LOC, зависит от используемых инструментов и критериев, выбранных для точного определения того, что представляет собой строка кода на каждом языке программирования. Существует много споров о методах, используемых для подсчета строк кода, но если вы используете одни и те же критерии от одного выпуска к другому, вы можете увидеть относительное изменение размера базы кода. Сравнивать эти числа с цифрами другой ОС, которая использовала другой метод подсчета строк кода, все равно что сравнивать яблоки с апельсинами.

Тем не менее, вот некоторые лакомые кусочки о размере современной кодовой базы Windows. Строки кода здесь являются приблизительными и неофициальными , но основаны на достаточно надежных источниках. Это иллюстрирует, как база кода Windows NT развивалась с 1993 года:

  • Windows NT 3.1 (1993) - 5,6 миллиона строк исходного кода (MLOC)
  • Windows NT 3.5 (1994) - 8,4 MLOCs
  • Windows NT 3.51 (1995) - 10,2 MLOCs
  • Windows NT 4.0 (1996) - 16 MLOC
  • Windows 2000 (2000) - 29 MLOC
  • Windows XP (2001) - 35 MLOC
  • Windows Vista (2007) - 45 MLOCs
  • Windows 7 (2009) - 42 MLOCs
  • Windows 8 (2012) - 50 MLOCs
  • Windows 10 (2015) - 55 MLOCs

Здесь не включены 16-битные версии, выпущенные с 1985 по 2000 годы. Windows. NT была основой для всех современных 32-битных и 64-битных версий Windows. Количество строк кода в серверных версиях было таким же, как и в не серверных версиях, выпущенных в том же году (т. е. они имели одинаковую базу исходного кода).

Работа над ядром NT началась в 1988 году, она была написана с нуля как 32-разрядная превентивная многозадачная ОС. Ядро NT впервые загрузилось в июле 1989 года на процессоре Intel i860 RISC. С самого начала был сильный толчок к тому, чтобы новая ОС была переносимой на различные архитектуры ЦП и не была привязана только к архитектуре Intel x86 (IA-32). NT в конечном итоге работал на MIPS, DEC Alpha, PowerPC, Itanium и, конечно, Intel x86 и x64.

Некоторая сложность была добавлена ​​к базе кода, прежде всего на уровне абстрагирования оборудования (HAL), для поддержки архитектур не-Intel.

Сколько строк в исходном коде Win 10? Какой язык программирования использовался?

(дайте Те вещи о программистах Помечено )

Оригинальная отделка: те штучки о программистах (id: iProgrammer)

В октябре 2013 года мы разместили на Weibo картинку (@ programmer's things) инфограмма " Сравнение кодовых баз известных программных систем.

В инфографике упоминается, что объем кода для операционных систем Windows XP и Windows 7 составляет около 40 миллионов строк.

640?wx_fmt=png

Windows Объем исходного кода Vista составляет около 50 миллионов строк.

640?wx_fmt=png

Следовательно, объем исходного кода Windows 10 составляет не менее 50 миллионов строк.

Какой язык программирования использовался при разработке операционной системы Windows?

Windows операционная система Кому-то должно быть интересно, какой язык программирования используется для такой масштабной кодовой базы.

Это правда? Кто-то написал на Quora с вопросом: «Разработка W ind ows 10 Какой язык программирования используется? 》

В марте 2019 года инженер ядра Microsoft Аксель Ритчин ответил на этот пост на Quora.

640?wx_fmt=png

«Вот что о программистах»:

Axel Говорят, что Windows 10 и Windows 8.x, 7, Vista, XP, 2000 и NT имеют одинаковую кодовую базу. Каждое поколение операционных систем претерпело серьезный рефакторинг, добавив большое количество новых функций, улучшив производительность и поддержку оборудования. И безопасность при сохранении очень высокой обратной совместимости.

Ядро (ntoskrnl.exe) Большинство из них написано на языке Си . Вы можете найти просочившуюся версию Windows Research Kernel на Github.

640?wx_fmt=png

Axel Сказал, что, хотя код WRK устарел и в основном неполный, он должен дать вам некоторое представление.

Например: каталог wrk-v1.2 / base / ntos / config - это исходный код известного реестра (Registry) .Этот компонент ядра является диспетчером конфигурации (CM).

Большинство программ, работающих в режиме ядра, также написаны на языке C. (Большинство файловых систем, сетей, большинство драйверов . ) и немного C ++.

Что касается языка программирования, на котором написано Window 10, Аксель считает, что это C и C ++, причем C составляет большинство.

Windows действительно правда В самом деле В самом деле В самом деле Очень большой

Axel Я напоминаю всем, что большинство людей не осознают огромных размеров системы Windows, огромного проекта с эпическим масштабом.

Размер полного дерева исходного кода Windows (включая все коды, тестовые коды и т. Д.) Превышает 0,5 ТБ, что включает Более 56 миллионов папок, 400 Более десяти тысяч файлов 。

640?wx_fmt=png

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

Затем вы снова читаете имя файла, чтобы увидеть, что в нем и для чего они используются. Хочу закончить эти дела , Персона (Или два человека ) Боюсь закончить жизнь 。

один раз Axel Покинув ветку Git на несколько недель, он вернулся и обнаружил, что за ним почти 60 000 коммитов. Axel Я думаю, кто-то сказал бы, что никто не может читать весь код, добавленный в Windows каждый день, не говоря уже о том, чтобы читать код, написанный за последние 30 лет!

Рекомендуемая литература

(Щелкните заголовок, чтобы перейти к прочтению)

Обратите внимание на звезду "вещи программиста" и не пропустите кружок.

Насколько сложный программный код у Windows и как он менялся?

Чтобы разобраться вопросе, насколько может быть сложным программный код «Виндовс» мы обратились к одному из разработчиков команды Windows NT в компании Microsoft — Кену Греггу (Ken Gregg).

Кен Грегг (Ken Gregg), разработчик в составе группы Windows NT

«Могу сказать вам, что у меня был доступ к исходному коду, когда я был в команде Windows NT (NT является основой для всех настольных версий Windows начиная с XP), во время проектов разработки NT 3.1 и NT 3.5. Всё было в рамках стандартов кодирования NT Workbook — эдакой «библии» для всей проектной команды.

. Хотя я и не читал каждую строку кода, но то, с чем мне пришлось работать, было очень:

  • чётким,
  • модульным,
  • многоуровневым,
  • обслуживаемым».

Нужно исходить из того, что именно понимается под сложностью кода. Это понимание сугубо субъективное, ведь так? Благо существует множество различных метрик, используемых и комбинируемых для измерения сложности программного обеспечения в тех или иных ситуациях (та же самая модульность, многоуровневость и обслуживаемость).

Насколько сложна Windows в программном коде?

Конечно, чтобы прочитать и понять код, вам нужно было бы иметь представление об общей архитектуре Windows NT.

Вероятно, лучшим источником информации о внутренностях Windows сегодня являются книги Windows Internals 6th Edition (в двух томах).

Некоторые люди просто приравнивают сложность кода к размеру. У этого сравнения тоже есть метрика — строки кода (LOC).

Измерение LOC зависит от используемых инструментов и критериев. Их выбирают для точного определения строк кода на каждом языке программирования.

Насколько сложный программный код у Windows и как он менялся?

Кен Грегг (Ken Gregg)

«Существует много споров о методах, используемых для подсчета строк кода (LOC). Если использовать одни и те же критерии от одного выпуска к следующему, то получится относительное изменение размера базы кода.

Сравнивать эти числа с цифрами другой ОС, которая использовала другой метод подсчета строк кода, всё равно что сравнивать яблоки с апельсинами. То есть это некорректный подход».

Как менялся программный код Windows?

Здесь приводятся некоторые лакомые кусочки, дающие представление о размерах современной кодовой базы Windows. Строки кода здесь являются приблизительными и неофициальными, но основаны на достаточно надёжных источниках, о которых говорит Кен Грегг .

Как база кода Windows NT развивалась с 1993 года

MLOC — это количество миллионов строк исходного кода. По ним можно определить относительную сложность операционной системы, если опираться на размеры кода (LOC-методика).

  • Windows NT 3.1 (1993) - 5,6 MLOC
  • Windows NT 3.5 (1994) - 8,4 MLOC
  • Windows NT 3.51 (1995) - 10,2 MLOC
  • Windows NT 4.0 (1996) - 16 MLOC
  • Windows 2000 (2000) - 29 MLOC
  • Windows XP (2001) - 35 MLOC
  • Windows Vista (2007) - 45 MLOC
  • Windows 7 (2009) - 42 MLOC
  • Windows 8 (2012) - 50 MLOC
  • Windows 10 (2015) - 55 MLOC

Исходный код Windows состоит в основном из C и C++, а также небольшого количества кода на ассемблере.

Некоторые из утилит пользовательского режима и другие подобные службы пишутся на Си Шарп, но это относительно небольшой процент от общей базы кода.

Насколько сложный программный код у Windows и как он менялся?

Кен Грегг (Ken Gregg)

«Я намеренно не включил в список 16-битные версии ОС, выпущенные с 1985 по 2000 годы. Windows NT была основой для всех современных 32-бит и 64-бит версий Windows. Количество строк кода в серверных версиях было таким же, как и в несерверных версиях, выпущенных в том же году (то есть они имели одинаковую базу исходного кода)».

Несколько слов про ядро Windows NT

По словам Кена, работа над ядром NT началась в 1988 году. Ядро было создано с нуля в качестве 32-разрядной упреждающей многозадачной ОС.

Ядро NT впервые загрузилось в июле 1989 года на процессоре Intel i860 RISC. С самого начала был сильный толчок к тому, чтобы новая ОС была совместимой с различными архитектурами центральных процессоров и не была привязана только к архитектуре Intel x86 (IA-32).

NT в конечном итоге работал на MIPS, DEC Alpha, PowerPC, Itanium и, конечно, Intel x86 и x64.

Некоторая сложность была добавлена в базу кода на уровне абстрагирования оборудования (HAL). Это было нужно для поддержки неинтеловских архитектур.

А как вы оцениваете перспективы Windows в плане кода? Узнайте, какие версии Windows актуальны сейчас и какие ОС можно рассмотреть в качестве альтернативы.

Компания ZEL-Услуги

Есть проблемы при использовании Windows и непонятен программный код для внедрения новых бизнес-инструментов в ОС от Microsoft? Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.

Читайте также: