Насколько сложен код в Microsoft Windows
Это действительно зависит от того, как вы определяете сложность. Существует много различных метрик, используемых и комбинированных для измерения сложности программного обеспечения.
Конечно, чтобы прочитать и понять код, вам нужно было иметь представление об общей архитектуре 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
Исходный код Windows состоит в основном из C, C ++ и небольшого количества кода на ассемблере. Некоторые из утилит пользовательского режима и т. д. Находятся в C # но это относительно небольшой процент от общей базы кода.
Здесь не включены 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.
Чтобы примерно было понятно посмотрите на картинку:
А вот трассировка вызовов для microsoft IIS
Насколько сложный программный код у 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 зависит от используемых инструментов и критериев. Их выбирают для точного определения строк кода на каждом языке программирования.
Кен Грегг (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++, а также небольшого количества кода на ассемблере.
Некоторые из утилит пользовательского режима и другие подобные службы пишутся на Си Шарп, но это относительно небольшой процент от общей базы кода.
Кен Грегг (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 актуальны сейчас и какие ОС можно рассмотреть в качестве альтернативы.
Есть проблемы при использовании Windows и непонятен программный код для внедрения новых бизнес-инструментов в ОС от Microsoft? Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.
3 способа узнать, правильно ли активирована Windows 10
Статистика показывает, что 37 процентов пользователей в данный момент времени используют операционную систему Windows 10.
Одни приобрели компьютер с новейшей операционной системой Microsoft, а кто-то обновился со старой версии Windows 7/8.1.
Хотите узнать, правильно ли активирована лицензия на Вашем компьютере?
У Майкрософт есть метод проверки активации, чтобы узнать, является ли система подлинной и была ли она приобретена клиентом.
Windows могла быть активирована двумя способами, с помощью ключа активации или цифровой лицензии.
Способ проверки через меню настроек
Нажмите на меню пуск, затем нажмите на значок шестерни, для быстрого доступа к настройкам используйте комбинацию клавиш Windows + i.
Найдите ярлык «Обновление и безопасность», нажмите на него.
Вы увидите различные пункты в меню слева, выберите «Активация»
Готово, сейчас Вы видите, активирована ли Ваша лицензия Windows 10.
Проверка через свойства системы
Этот способ доступен и для других версий Windows.
Нажмите на кнопку поиска (в форме увеличительного стекла) и введите «Панель управления», а затем нажмите на первый результат.
В панели управления кликните по ярлыку «Система».
Вы увидите сводную информацию с характеристиками компьютера, чтобы узнать активирована ли система перейдите к самому последнему пункту, с названием «Активация Windows».
Проверка через командную строку
Командная срока является мощным инструментом, с её помощью можно исправлять системные ошибки, обнаруживать ошибки и, конечно узнать, правильно ли активирована лицензия Windows 10.
Для этого выполните следующие шаги:
- откройте командную строку с помощью комбинации клавиш Windows + R, введите «CMD», нажмите «OK»;
- в командной строке введите «slmgr /xpr», а затем нажмите клавишу ввода;
- если система активирована, то Вы увидите сообщение «Постоянная активация прошла успешно».
Готово, используйте эти методы для проверки, правильно ли активирована Ваша WIndows 10.