На каком языке программирования написана операционная система Windows?

«На каком языке программирования написана операционная система Windows?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ядро и основные низкоуровневые компоненты операционной системы Windows написаны преимущественно на C и C++. Эти языки были выбраны по историческим причинам и из-за требований:

  • Прямой доступ к памяти и аппаратному обеспечению.
  • Высокая производительность и минимальные накладные расходы.
  • Портативность для написания драйверов устройств.

Структура кодовой базы:

  • Ядро (Kernel), HAL (Hardware Abstraction Layer), драйверы — в основном C и C++.
  • Пользовательские приложения и интерфейсы (например, Проводник, настройки) — могут быть написаны на C#, C++ с использованием фреймворков вроде WinUI или Windows Forms.
  • Современные компоненты (например, в Windows 10/11) могут включать код на C# и даже JavaScript (для некоторых UWP-приложений).

Пример минимального драйвера на C:

// driver.c
#include <ntddk.h>

NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) {
    // Регистрация точек входа драйвера
    DriverObject->DriverUnload = DriverUnload;

    // Вывод отладочного сообщения
    DbgPrint("Пример драйвера загружен. RegistryPath: %wZn", RegistryPath);

    return STATUS_SUCCESS;
}

VOID DriverUnload(_In_ PDRIVER_OBJECT DriverObject) {
    // Очистка ресурсов при выгрузке драйвера
    DbgPrint("Пример драйвера выгружен.n");
    UNREFERENCED_PARAMETER(DriverObject);
}

Таким образом, Windows — это гибридная система, где низкоуровневые части на C/C++, а высокоуровневые — на более современных языках.