Архитектура компьютера - это состав всех его компонентов. В напечатанном виде такая подробная схема займет несколько сотен страниц. И все же некоторые компоненты остаются абстрактными. Точная реализация этих специфических участков архитектуры является задачей разработчиков.

Отделение архитектуры от спецификации продуктов реализуется с помощью уровней абстракции. Уровень абстракции - это фиксированный интерфейс между двумя компонентами системы. Этот уровень отслеживает отношения между функциями и их реализацией c обеих сторон.
Уровни абстракции становятся полезны тогда, когда в одном компоненте системы происходят изменения. В этом случае не требуется модификация другого компонента, поскольку уровни абстракции гарантируют совместимость:
- между различными компонентами внутри системы;
- между различными продуктами, реализующими архитектуру.
Абстракция - это всегда "головная боль", но она решает множество проблем. Например, позволяет различным командам разработчиков работать над проектами, дающими одинаковый результат. Примером служат DVD-дисководы, которые создаются различными производителями, но при этом отвечают DVD-спецификациям.
Существует несколько типов архитектур компьютера различной степени открытости. Наиболее хорошо изученной считается архитектура Microsoft/Intel 80x86. Другие архитектуры включают в себя Java, дисковые массивы RAID (Redundant Array of Inexpensive Disks) и прочее. Самой важной архитектурой является эталонная модель OSI, благодаря которой возможно существование интернета и связь между различными компьютерными платформами.
Примечание. О модели OSI мы будем рассказывать позже в разделе "Модель взаимодействия открытых систем".