Гибкая машина - Flex machine
В Компьютерная система Flex был разработан Майклом Фостером и Яном Карри из Королевские сигналы и радиолокационная станция (RSRE)[1] в Malvern, Англия, в конце 1970-х и 1980-х. Он использовал схему хранения с тегами для реализации способность архитектура, и была разработана для безопасной и эффективной реализации строго типизированных процедур.
Аппаратное обеспечение было настраиваемым и микропрограммируемым, с операционной системой, (модульным) компилятором, редактором, сборщиком мусора и файловой системой, написанными на АЛГОЛ 68RS.
Было (по крайней мере) два воплощения Flex, реализованных с использованием оборудования с возможностью записи. микрокод. Первым был поставлен Логика к дизайну RSRE,[2] а второй использовал ICL PERQ.[3][4] Только микрокод отвечал за выделение, освобождение памяти и сборку мусора. Это немедленно исключило целый класс ошибок, возникающих из-за неправильного использования (преднамеренного или случайного) указателей.
Примечательной особенностью Flex было хранилище файлов с возможностью однократной записи. Это позволило прозрачно записывать и извлекать произвольный код и структуры данных без обращения к внешним кодам. Таким образом, данные можно было безопасно передавать от программы к программе.
Аналогичным образом удаленные возможности позволяли получать доступ к данным и процедурам на других машинах через сетевое соединение, опять же без участия прикладной программы во внешнем кодировании данных, параметров или значений результатов.
Вся схема позволила абстрактные типы данных должны быть безопасно реализованы, поскольку элементы данных и процедуры, которым разрешен доступ к ним, могут быть связаны вместе, и результирующая возможность свободно передается. Возможность предоставит доступ к процедурам, но не может использоваться каким-либо образом для получения доступа к данным.
Еще одной примечательной особенностью Flex было понятие шатких указателей, которое в последнее время часто называют слабые ссылки, который указывает на блоки памяти, которые могут быть освобождены при следующем вывоз мусора. Это используется, например, для кешированных блоков дисков или списка резервных процедур. рабочие места.[5]
COMFLEX, сеть с коммутацией пакетов, способная передавать данные со скоростью магнитного диска, была разработана вместе с Flex. Это сделало возможным использование удаленных файловых хранилищ, удаленных возможностей и вызовы удаленных процедур.[6]
Смотрите также
использованная литература
- ^ Терри, Фил Ф .; Уайзман, Саймон Р. (июнь 1988 г.). О разработке и внедрении безопасной компьютерной системы (PDF) (Отчет). Королевские сигналы и радиолокационная станция. Меморандум RSRE № 4188.
- ^ Фостер Дж. М., Мойр С. И., Карри И. Ф., Макдермид Дж. А., Эдвардс П. В. (октябрь 1979 г.). Знакомство с компьютерной системой FLEX (Отчет). Королевские сигналы и радиолокационная станция. Отчет № 79016. Получено 12 февраля 2018.CS1 maint: несколько имен: список авторов (ссылка на сайт)
- ^ Фостер Дж. М., Карри И. Ф., Эдвардс П. В. (июль 1982 г.). Flex: рабочий компьютер с архитектурой, основанной на значениях процедур (Отчет). Королевские сигналы и радиолокационная станция. Меморандум RSRE № 3500. Получено 12 февраля 2018.CS1 maint: несколько имен: список авторов (ссылка на сайт)
- ^ Гробницы, Д. Дж .; Брюс, Д. И. (ноябрь 1991 г.). Эволюция Ten15 (PDF) (Отчет). Королевские сигналы и радиолокационная станция.
- ^ Карри И. Ф., Фостер Дж. М., Эдвардс П. В. (декабрь 1985 г.). Прошивка PerqFlex (Отчет). Королевские сигналы и радиолокационная станция. Отчет № 85015. Получено 6 февраля 2018.CS1 maint: несколько имен: список авторов (ссылка на сайт)
- ^ Макдермид, Дж. (Ноябрь 1980 г.). «Разработка и использование Comflex - коммутатора пакетов с аппаратным управлением». IEE Proceedings E - Компьютеры и цифровые методы. 127 (6). Дои:10.1049 / ip-e: 19800048 (неактивно с 1 сентября 2020 г.). Получено 12 февраля 2018.CS1 maint: DOI неактивен по состоянию на сентябрь 2020 г. (ссылка на сайт)
дальнейшее чтение
- Мартин С. Аткинс: Введение в Ten15 - личная ретроспектива. (включает раздел о Flex от RSRE)