Почему первый диспетчер задач Windows весил 80 КБ

Бывший инженер Microsoft Дэйв Пламмер рассказал, почему первая версия диспетчера задач Windows занимала всего 80 КБ. По его словам, утилиту сделали предельно компактной и быстрой, потому что она должна была работать даже тогда, когда система уже находилась в сбойном состоянии.

Пламмер, которого также знают по проекту Dave’s Garage, ранее показывал, как мог бы выглядеть современный диспетчер задач Windows. Позже он объяснил, как создавал исходную версию программы и почему для неё были важны минимальный размер и высокая скорость. Об этом сообщает Tom’s Hardware.

Для сравнения, текущая сборка диспетчера задач занимает около 4 МБ. Во время разработки первой версии Пламмер делал упор на быстрый отклик, поскольку утилита должна была помогать восстанавливать работу ПК после сбоев и зависаний.

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

Пламмер объяснил, что ограничения железа в тот период напрямую влияли на архитектуру программы. По его словам, «каждая строка имеет цену; каждое выделение памяти оставляет след». Он добавил, что не подходил к диспетчеру задач как к современной утилите, где сначала берут крупный фреймворк, затем добавляют несколько слоёв удобства и задел на будущее, а в итоге программа потребляет слишком много ресурсов ради показа нескольких чисел.

Он также описал подход того времени так: «диспетчер задач появился из совсем другого мышления». По словам Пламмера, в те годы разработчики остро чувствовали последствия лишних обращений к памяти и слишком частой перерисовки интерфейса.

Инженер признал, что компьютеры сильно изменились и современные ПК стали заметно мощнее. Однако тогда, как он говорит, маленький размер был важен сам по себе, потому что «маленький значило быстрый, а скорость имела значение».

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

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

Он добавил, что старые утилиты отличались от современных и по замыслу, и по масштабу. Помимо размера, у них был более жёсткий подход к лишней работе: разработчики сначала спрашивали, приносит ли эта операция пользу пользователю прямо сейчас, а не просто может ли её выдержать оборудование.

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

Источник: Tom’s Hardware, Windows Central.

Читать новости ИИ и технологий в Telegram.


Оцените статью
Gimal-Ai