Niklaus Wirth, Jurg Gutknecht - Project Oberon. The Design of an Operating System and Compiler / Никлаус Вирт, Юрг Гуткнехт - Проект Oberon. Разработка операционной системы и компилятора: 2.1. Introduction
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Для того, чтобы оправдать значительные усилия по разработке и построению операционной системы с нуля, должен быть введен ряд новых концепций. Мы начнем эту главу с обсуждения основных понятий, лежащих в основе Системы Оберон и преобладающих проектных решений. На основе этого будет представлена структура Системы. Она будет ограничена верхним уровнем, а именно совокупностью и взаимосвязями самых крупных блоков, модулей. Глава заканчивается обзором оставшейся части книги. Это должно помочь читателю понять роль, место и значимость частей системы, описанных в отдельных главах. last_alien 18.08.11 в 10:05 |
|
|
Основополагающая цель операционной системы – представить компьютер пользователю и программисту на определенном уровне абстракции. Например, хранилище представлено в терминах запрашиваемых частей или переменных указанного типа данных; диск представлен в терминах последовательностей символов (или байтов), называемых файлами; экран представлен как множество прямоугольных областей, называемых отображениями; клавиатура представлена как входящий поток символов; мышь представляется как пара координат и множество состояний кнопок. Каждая абстракция характеризуется определенными свойствами и управляется набором операций. Задача системы – реализовывать эти операции и управлять ими в рамках имеющихся ресурсов лежащего в основе компьютера. Обычно это называется управлением ресурсами. last_alien 18.08.11 в 10:45 |
||
|
Каждая абстракция в сущности скрывает детали, от которых она абстрагируется. Сокрытие может происходить на различных уровнях. Например, компьютер может позволять определенным частям хранилища, или определенным устройствам становиться недоступными в соответствии с их режимом работы (режим пользователя/привилегированный режим), или язык программирования может делать соответствующие части недоступными путем сокрытия объекта в соответствии с его правилами видимости. Конечно, последнее – более гибкое и сильное средство, а первое в действительности играет в нашей системе ничтожную роль. Сокрытие важно, поскольку оно позволяет поддерживать определенные гарантированные свойства абстракции, называемые инвариантами. Абстракция в самом деле является ключом любого разбиения на модули, а без такого разбиения исчезнет всякая надежда гарантировать надежность и правильность. Очевидно что Система Оберон была разработана с целью создания модульной структуры на основе предметно-ориентированных абстракций. Наличие соответствующего языка программирования является необходимым условием, и важность его выбора не может быть переоценена. last_alien 18.08.11 в 12:39 |
