Архитектура системы
После изучения терминов, понятий и инструментальных средств можно приступить к исследованию внутренних задач конструирования и структуры операционной системы Microsoft Windows. Чтобы заложить основы понимания внутреннего устройства Windows, сначала рассмотрим требования и цели, определяющие очертания исходной конструкции и спецификации системы.
Требования и цели разработки
В далеком 1989 году спецификация Windows NT определялась с учетом следующих требований:
- Создать по-настоящему передовую, 32-разрядную операционную систему, работающую с виртуальной памятью и допускающую повторный вход.
- Обеспечить возможность работы на разных аппаратных архитектурах и платформах.
- Обеспечить возможность работы и масштабирования на симметричных мультипроцессорных системах.
- Обеспечить возможность работы в качестве распределенной вычислительной платформы, как в роли сетевого клиента, так и в роли сервера.
- Обеспечить возможность запуска большинства существующих 16-разрядных приложений MS-DOS и Microsoft Windows 3.1.
- Обеспечить выполнение правительственных требований о совместимости со стандартом POSIX 1003.1.
- Обеспечить выполнение требований правительства и промышленности, касающихся безопасности операционных систем.
- Обеспечить адаптируемость к всемирному рынку за счет поддержки Unicode.
Чтобы заложить основы для принятия тысяч решений по созданию системы, отвечающей вышеперечисленным требованиям, команда разработчиков в самом начале работы над проектом решила реализовать следующие замыслы:
- Расширяемость. Код должен создаваться с учетом удобства его наращивания и изменения в соответствии с изменениями требований рынка.
- Переносимость. Система должна работать на разных аппаратных архитектурах, и, в соответствии с требованиями рынка, должна относительно легко переноситься на их новые образцы.
- Надежность и отказоустойчивость. Система должна защищать саму себя как от внешних угроз, так и от внутренних сбоев. Приложения не должны иметь возможность нанесения вреда операционной системе или другим приложениям.
- Совместимость. Хотя Windows NT должна была стать новым шагом по сравнению с существовавшей в то время технологией, ее пользовательский интерфейс и API должны быть совместимы с прежними версиями Windows и с MS-DOS. У нее также должна быть возможность взаимодействия с другими системами, такими как UNIX, OS/2 и NetWare.
- Производительность. С учетом ограничений, накладываемых другими проектировочными замыслами, система должна проявлять максимально возможное быстродействие и реакцию на каждой аппаратной платформе.
По мере исследования подробностей внутренней структуры и работы Windows, вы увидите, как эти исходные замыслы проектирования и рыночные требования были успешно сплетены в конструкцию системы. Но прежде чем приступить к исследованиям, нужно изучить общую модель проектирования Windows и сравнить ее с моделями других современных операционных систем.