Основная задача любой OS
Понятно, что ни один зравомыслящий программист не захочет иметь дела с диском на аппаратном уровне.
Вместо него оборудованием занимается та часть программного обеспечения, которая называется драйвером диска и предоставляет, не вдаваясь в детали, интерфейс для чтения и записи дисковых блоков.
Операционные системы содержат множество драйверов для управления устройствами ввода-вывода.
Но для большинства приложений этот уровень является слишком низким . Поэтому все операционные системы предоставляют еще один уровень абстракции для использования дисков — файлы.
Используя эту абстракцию, программы могут создавать, записывать и читать файлы, не вникая в подробности реальной работы оборудования.
Эта абстракция является ключом к управлению сложностью.
Хорошая абстракция превращает практически неподъемную задачу в две, решить которые вполне по силам.
Первая из этих задач состоит в определении и реализации абстракций, а вторая — в использовании этих абстракций для решения текущей проблемы. Одна из абстракций, понятная практически любому пользователю компьютера, — это уже упомянутый
ранее файл.
...
Задача операционной системы заключается в создании хорошей абстракции, а затем в реализации
абстрактных объектов, создаваемых в рамках этой абстракции, и управлении ими.
В этой книге абстракциям будет уделено весьма большое внимание, поскольку они являются одним из ключей к пониманию операционных систем.
Учитывая важность этого положения, стоит изложить его несколько другими словами. При всем уважении к разработчикам Macintosh, следует заметить, что аппаратное обеспечение не отличается особым изяществом. Реально существующие процессоры,
блоки памяти, диски и другие компоненты представляют собой слишком сложные устройства, предоставляющие трудные, неудобные, не похожие друг на друга и не обла-
дающие постоянством интерфейсы для тех людей, которым приходится создавать для них программное обеспечение. Иногда такая ситуация объясняется необходимостью поддержки обратной совместимости, а иногда она связана со стремлением к экономии
средств, но порой разработчики аппаратного обеспечения просто не понимают (или не хотят понимать), как много проблем они создают для разработчиков программного обеспечения. Одна из главных задач операционной системы — скрыть аппаратное обеспечение и существующие программы (и их разработчиков) под создаваемыми взамен них и приспособленными для нормальной работы красивыми, элегантными, неизменными абстракциями. Операционные системы превращают уродство в красоту (рис. 1.2).
MODERN
OPERATING SYSTEMS
4th Edition
Andrew S. Tanenbaum,
Herbert Bos
-
- Roman Sakhno
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.