Plessey System 250 , также известная как PP250, была первым рабочим компьютером , реализовавшим адресацию на основе возможностей , для проверки и балансировки вычислений как чистой машины Чёрча-Тьюринга . Плесси построил системы для проекта маршрутизации сообщений британской армии .
Машина Чёрча-Тьюринга — это цифровой компьютер, который инкапсулирует символы в поток вычислений как цепочку защищенных абстракций, применяя динамические законы связывания лямбда-исчисления Алонзо Чёрча [ 1] Другие основанные на возможностях компьютеры, в том числе компьютеры CHERI и CAP , являются гибридами. Они сохраняют инструкции по умолчанию, которые могут получить доступ к каждому слову доступной физической или логической (страничной) памяти. [2]
Это неизбежная характеристика архитектуры фон Неймана [ требуется ссылка ] , которая основана на общей памяти с произвольным доступом и доверии к общим правам доступа по умолчанию. Например, каждое слово на каждой странице, управляемой диспетчером виртуальной памяти в операционной системе с помощью блока управления памятью (MMU), должно быть доверенным. [ требуется ссылка ] Использование привилегии по умолчанию среди многих скомпилированных программ позволяет повреждению расти без какого-либо метода обнаружения ошибок. Однако диапазон виртуальных адресов, предоставленных MMU, или диапазон физических адресов, созданных MMU, является общим, необнаруживаемые потоки повреждения через общее пространство памяти от одной программной функции к другой. [ требуется ссылка ] PP250 удалил не только виртуальную память [1] или любую централизованную, предварительно скомпилированную операционную систему , но и суперпользователя , удалив все привилегии машины по умолчанию.
Именно привилегии по умолчанию обеспечивают необнаруженное вредоносное ПО и взлом компьютера. Вместо этого, чистая модель возможностей объекта PP250 всегда требует ограниченного ключа возможностей для определения полномочий на выполнение. PP250 отделила двоичные данные от данных возможностей для защиты прав доступа, упрощения компьютера и ускорения сборки мусора . Машина Чёрча инкапсулирует и ограничивает контекст машины Тьюринга, применяя законы лямбда -исчисления . Типизированный цифровой носитель управляется программой с помощью совершенно разных машинных инструкций .
Изменяемые двоичные данные программируются набором из 28 инструкций RISC для императивного программирования и процедурного программирования двоичных данных с использованием регистров двоичных данных, ограниченных сегментом памяти с ограниченной возможностью. Неизменяемые ключи возможностей, эксклюзивные для шести инструкций Чёрча, перемещают вычислительный контекст машины Тьюринга через отдельно запрограммированную структуру модели объект-возможность .
Неизменяемые ключи возможностей представляют именованные переменные лямбда-исчисления. Эта сторона Чёрча является метамашиной лямбда-исчисления . Другая сторона является объектно-ориентированной машиной двоичных объектов, запрограммированных функций, списков возможностей, определяющих абстракции функций, хранилищем для потоков вычислений (приложений лямбда-исчисления) или хранилищем для списка ключей возможностей в пространстве имен. Законы лямбда-исчисления реализуются инструкциями Чёрча с микропрограммным доступом к зарезервированным (скрытым) регистрам возможностей. Программное обеспечение постепенно собирается как объектно-ориентированный машинный код, связанный ключами возможностей. Структура абстракций функций, включая те, которые предназначены для управления памятью, ввода и вывода, планирования и коммуникационных служб, защищена как частные фреймы в потоке. Потоки вычисляются в линию или как параллельные вычисления, активируемые программой, контролируемой инструкцией Чёрча.
Концептуально PP250 работает как цифровая защищенная, функциональная машина Чёрча-Тьюринга для доверенного программного обеспечения. Как контроллер реального времени , PP250 предоставил отказоустойчивые программные приложения для компьютеризированных телефонных и военных систем связи с десятилетиями надежности программного и аппаратного обеспечения. Адресация с ограниченными возможностями обнаруживает и восстанавливается после ошибок при контакте без какого-либо вредоносного повреждения или кражи информации. Кроме того, не существует несправедливых привилегий по умолчанию для операционной системы или суперпользователя, тем самым блокируя все взломы и вредоносное ПО. Многопроцессорная аппаратная архитектура и динамически связанная, ограниченная по типу память, доступ к которой осуществляется исключительно через адресацию с ограниченными возможностями, заменяют статически связанные, основанные на страницах линейные компиляции на динамически связанные инструкции, перекрестно проверяемые и авторизованные во время выполнения.
Проверяя все ссылки на память как смещение в пределах базового, предельного и доступного типов, ошибки, ошибки и атаки обнаруживаются регистром возможностей с ограниченным типом. Императивные команды Тьюринга должны быть привязаны к двоичным объектам данных, как определено выбранным регистром возможностей. Права доступа выбранного регистра возможностей должны подтверждать права доступа к данным (чтение двоичных данных, запись двоичных данных или выполнение машинного кода). С другой стороны, функциональные инструкции Church динамически привязаны к ключу возможностей в списке возможностей, хранящемся в регистре возможностей с правами доступа к возможностям (загрузка ключа возможностей, сохранение ключа возможностей или ввод списка возможностей). Таким образом, объектно-ориентированный машинный код инкапсулируется как абстракция функции в частном пространстве выполнения.
Это архитектура, ориентированная на регистры , с 8 программно-доступными регистрами данных и 8 программно-доступными регистрами возможностей. Регистры данных являются 24-битными; регистры возможностей являются 48-битными и содержат базовый адрес сегмента, к которому относится возможность, размер сегмента и права доступа, предоставляемые возможностью. Возможности в памяти являются 24-битными и содержат права доступа и индекс в таблице возможностей системы для сегмента, к которому относится возможность; записи в этой таблице содержат базовый адрес сегмента и длину для сегмента, к которому относится запись. [3]
Инструкции, которые обращаются к памяти, имеют код операции , поле, указывающее операнд регистра данных, поле, указывающее регистр данных, используемый как индексный регистр, содержащий смещение в сегменте, поле, указывающее регистр возможностей, ссылающийся на сегмент, содержащий местоположение памяти, и поле, содержащее базовое смещение в сегменте. Смещение в сегменте является суммой базового смещения и содержимого индексного регистра. [3]
Программное обеспечение было модульным на основе универсальной модели вычислений и лямбда-исчисления . Шесть инструкций Чёрча скрывают детали именованного функционального приложения, используя ключи возможностей для типизированных концепций переменных, функций, абстракций, приложений и пространства имен. Вместо привязки инструкций к статической линейной памяти в качестве общей привилегии по умолчанию, используемой вредоносными программами и хакерами, инструкции привязаны к типизированным и защищенным, частным цифровым объектам, используя ключи возможностей в системе безопасности на основе возможностей неизменяемых математических символов. Результатом стали многие десятилетия надежности доверенного программного обеспечения. [1]
Изготовленный компанией Plessey Company PLC в Соединенном Королевстве в 1970 году, он был успешно развернут Министерством обороны для проекта британской армии Ptarmigan [4] и использовался в первой войне в Персидском заливе в качестве тактического коммутатора мобильной сети связи .
PP250 поступил в продажу примерно в 1972 году.