Воспоминания Рэймонда Чена о Windows 95

Ветеран Microsoft и инженер программного обеспечения Рэймонд Чен поделился своими воспоминаниями о процессе разработки операционной системы Windows 95. В рамках своей серии статей под названием Old New Thing он описал, как система справлялась с проблемами, связанными с ненадежными установщиками программного обеспечения.

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

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

Чтобы минимизировать проблемы, инженеры Microsoft разработали специальный алгоритм. Они начали сохранять резервные копии файлов в скрытой папке C:\Windows\SYSBCKUP. После завершения работы установщиков Windows 95 осуществляла проверку изменений в ключевых компонентами. Если новая версия файла оказывалась более свежей, система копировала файл в резервную папку. В случае же замены файла на устаревший вариант, Windows 95 восстанавливала актуальную версию из SYSBCKUP.

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

Понравилась статья? Поделиться с друзьями: