Гибкая машина - Flex machine

Flex Computer System была разработана Майкл Фостер и Ян Карри из Королевских сигналов и Radar создания (RSRE) в Malvern , Англия, в конце 1970 - х и 1980 - х годов. Он использовал схему хранения с тегами для реализации архитектуры возможностей и был разработан для безопасной и эффективной реализации строго типизированных процедур.

Аппаратное обеспечение было настраиваемым и микропрограммируемым, с операционной системой, (модульным) компилятором, редактором, сборщиком мусора и файловой системой, написанными на Алголе 68RS .

Было (по крайней мере) два воплощения Flex, реализованных с использованием аппаратного обеспечения с записываемым микрокодом . Первый был предоставлен Logica для разработки RSRE, а второй - ICL PERQ . Только микрокод отвечал за выделение, освобождение памяти и сборку мусора. Это немедленно исключило целый класс ошибок, возникающих из-за неправильного использования (преднамеренного или случайного) указателей.

Примечательной особенностью Flex было помеченное хранилище файлов с однократной записью. Это позволило прозрачно записывать и извлекать произвольный код и структуры данных без обращения к внешним кодировкам. Таким образом, данные можно было безопасно передавать от программы к программе.

Аналогичным образом, удаленные возможности позволяли осуществлять доступ к данным и процедурам на других машинах через сетевое соединение, опять же без участия прикладной программы во внешнем кодировании данных, параметров или значений результатов.

Вся схема позволяла безопасно реализовывать абстрактные типы данных , поскольку элементы данных и процедуры, которым разрешен доступ к ним, могли быть связаны вместе, и результирующая возможность свободно передавалась. Эта возможность предоставит доступ к процедурам, но не может использоваться каким-либо образом для получения доступа к данным.

Другой примечательной особенностью Flex было понятие неустойчивых указателей, которые в последнее время часто называют слабыми ссылками , которые указывают на блоки памяти, которые могут быть освобождены при следующей сборке мусора . Это используется, например, для кэшированных дисковых блоков или списка свободных рабочих пространств для процедур .

COMFLEX, сеть с коммутацией пакетов, способная передавать данные со скоростью магнитного диска, была разработана вместе с Flex. Это сделало возможным использование удаленных файловых хранилищ, удаленных возможностей и удаленных вызовов процедур .

Смотрите также

Рекомендации

дальнейшее чтение