12.4 СИСТЕМА TUNIS
Пользовательский интерфейс
системы Tunis совместим с аналогичным
интерфейсом системы UNIX, но ядро
этой системы, разработанное на
языке Concurrent Euclid, состоит из
процессов, управляющих каждой
частью системы. Проблема взаимного
исключения решается в системе Tunis
довольно просто, так как в каждый
момент времени исполняется не
более одной копии управляемого
ядром процесса, кроме того,
процессы работают только с теми
структурами данных, которые им
принадлежат. Системные процессы
активизируются запросами на ввод,
защиту очереди запросов
осуществляет процедура
программного монитора. Эта
процедура усиливает взаимное
исключение, разрешая доступ к своей
исполняемой части в каждый момент
времени не более, чем одному
процессу. Механизм монитора
отличается от механизма семафоров
тем, что, во-первых, благодаря
последним усиливается модульность
программ (операции P и V
присутствуют на входе в процедуру
монитора и на выходе из нее), а
во-вторых, сгенерированный
компилятором код уже содержит
элементы синхронизации. Холт
отмечает, что разработка таких
систем облегчается, если
используется язык, поддерживающий
мониторы и включающий понятие
параллелизма (см. [Holt 83], стр.190). При
всем при этом внутренняя структура
системы Tunis отличается от
традиционной реализации системы UNIX
радикальным образом.
Предыдущая
глава || Оглавление
|| Следующая глава
|