В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Джон Кеннет Илифф | |
---|---|
Рожденный | ( 1931-09-18 )18 сентября 1931 г. Лондон |
Умер | 16 февраля 2020 г. (2020-02-16)(88 лет) [3] |
Национальность | британский |
Альма-матер | Колледж Св. Иоанна, Кембриджский университет |
Известный | Проектирование компьютерных систем с безопасным управлением объектами и мелкозернистой защитой программ; структура векторного хранения Илиффа |
Награды | Мемориальная премия Гарри Х. Гуда от IEEE Computer Society, [1] 2000 [2] |
Научная карьера | |
Учреждения | Университет Райса , Хьюстон, Техас International Computers Limited Лондонский университет королевы Марии , Великобритания Имперский колледж Лондона , Великобритания |
Джон Кеннет Илифф (18 сентября 1931 г. – 16 февраля 2020 г.) был британским компьютерным дизайнером, который работал над проектированием и оценкой компьютеров, которые поддерживали мелкозернистую защиту памяти и управление объектами. Он реализовал, оценил и усовершенствовал такие проекты в Rice Institute Computer , R1 (1958–61) и ICL Basic Language Machine (1963–68). [4] [5] Ключевой особенностью в архитектурах обеих машин был контроль со стороны аппаратного обеспечения за формированием и использованием ссылок памяти, так что память можно было рассматривать как набор объектов данных определенных размеров, целостность которых защищена от последствий ошибок при вычислении адресов, таких как переполнение указателей памяти (будь то случайно или злонамеренно). [6]
Илиффе посещал курс программирования EDSAC в Кембридже в 1952 году. В конечном итоге он узнал о вычислениях, управляя сервисным бюро IBM (Великобритания) в Лондоне. В 1958 году его пригласили присоединиться к команде, создававшей компьютер R1 в Институте Райса в Хьюстоне, где он взял на себя ответственность за разработку и реализацию операционной системы и языка. [7] В течение следующих 30 лет он ввел в эксплуатацию четыре компьютера, демонстрируя и оценивая новые концепции в области дизайна.
Илифф руководил разработкой операционной системы и языка программирования для компьютера Райс . Его проект включал ранний пример динамического распределения памяти и управления, что позволяло программам получать хранилище по требованию и автоматически восстанавливать его, когда оно больше не было доступно. [8] [9]
В R1 [7] Илифф и его коллеги представили схему защиты для всех объектов данных. Манипулирование ссылками на память (называемые кодовыми словами ) было ограничено привилегированным кодом, предотвращая некоторые типы ошибок программы. Кодовые слова ссылались на векторы элементов данных, последовательности инструкций или другие кодовые слова. Доступ к хранилищу осуществлялся по ссылке на кодовое слово, и это разрешалось в обычный адрес или счетчик программ, предоставляя прямой доступ к хранилищу при необходимости. Система предоставляла функции для создания, управления и обновления кодовых слов, например, изменяя их для отражения решений по управлению хранилищем. Она также поддерживала алгебраический язык программирования (называемый Genie), который был реализован с использованием концепций объектно-ориентированного проектирования в 1961 году. [10] Компилятор Genie и связанный с ним ассемблер были необычны тем, что позволяли рассматривать всю систему как дисциплину управления объектами. Genie также был одним из первых языков, включавших внутренние операции над действительными и комплексными векторами и матрицами.
Известная структура хранения векторов Илиффе для многомерных и нерегулярных массивов возникла из работы R1. Она использует похожую структуру адресации, но без системного принуждения.
В начале 1960-х годов существовала сильная потребность в компьютерах общего назначения для обеспечения одновременного выполнения нескольких пользовательских программ, как в форме мультипрограммирования для оптимизации использования ресурсов компьютера, так и в форме разделения времени для обеспечения интерактивных вычислений . Оба эти требования требуют компьютерной архитектуры, в которой операционная система могла бы гарантировать разделение, безопасность и целостность нескольких одновременно работающих программ. Казалось очевидным, что упрощенная модель архитектуры, полученная из Принстонского IAS и сопровождаемая всеми моделями «фон Неймана», столкнется с серьезными трудностями в удовлетворении этого требования.
Базовая языковая машина (BLM), [5] созданная и оцененная в исследовательском отделе International Computers Limited (ICL) между 1963 и 1968 годами [11], была первой системой общего назначения, которая полностью порвала с архитектурой фон Неймана . Вместо того, чтобы основывать архитектуру на едином линейном адресном пространстве, BLM предлагала сегментированную адресацию памяти, что позволяло автоматически управлять хранилищем и доступом в точных границах безопасности.
Илиффе придерживался инженерной точки зрения, что можно предложить способ, основанный на методах управления памятью, уже продемонстрированных в Rice R1, для обеспечения целостности параллельных программ без обращения к относительно дорогим механизмам, включающим частую перестановку векторов состояния процесса, наблюдаемую в большинстве других систем. Он разработал конструкцию, основанную на использовании кодовых слов для представления всех ссылок памяти. Кодовое слово включало базовый адрес , предел, указывающий длину объекта данных, и некоторую информацию о типе . Внутреннее представление кодовых слов было непрозрачным для пользовательских программ, но были предоставлены конкретные машинные инструкции для манипулирования ими способами, которые поддерживали структуру данных. Это представляло собой существенное усовершенствование архитектуры Rice R1, обеспечивающее эффективное управление несколькими процессами, каждый из которых имел отдельное хранилище данных и инструкций в виде дерева.
Rice R1 и BLM были примерами архитектур компьютеров на основе дескрипторов, которые появились в 1960-х годах [6], нацеленных как на эффективную защиту параллельно выполняемых программ, так и на надежную реализацию языков высокого уровня . Другим важным примером была серия компьютеров B5000 , разработанная и продаваемая Burroughs Corporation. Все эти компьютеры на основе дескрипторов включали аппаратные механизмы, предназначенные для поддержки надежной адресации сегментов данных. Они тесно связаны с архитектурами на основе возможностей [6] , которые появились несколько лет спустя.
Параллельно с созданием BLM отдельная группа по оценке оценивала его с точки зрения (1) эффективности программы (2) эксплуатационных характеристик (3) стоимости кодирования и отладки и (4) накладных расходов системы. Для осмысленного сравнения использовались устаревшие языки высокого уровня (Cobol, Fortran, управление файлами). Было показано, что, несмотря на точность механизма адресации, не было заметной потери эффективности или дополнительных накладных расходов системы.
Леви [6] обсуждает более широкое влияние архитектур компьютеров на основе дескрипторов со ссылкой как на Burroughs B5000, так и на BLM (стр. 38) "... независимо от того, были ли они долговечными, эти машины продемонстрировали возможность использования дескрипторов и сегментации для значительного повышения гибкости программирования для пользователя, компиляторов и операционной системы". Леви также отмечает, что "превосходное обсуждение BLM в контексте современных систем возможностей представлено в книге Илиффа Advanced Computer Design [12] ".
Проект BLM был отклонен руководством ICL в ходе внутреннего обзора вариантов выбора новой архитектуры для мэйнфреймовых продуктов ICL в декабре 1969 года. [13]
В 2000 году Илифф получил Мемориальную премию IEEE Гарри Х. Гуда «За достижения всей жизни в практике проектирования и оценки компьютерных систем».
Изменения в полупроводниковой технологии за 30 лет после разработки BLM привели к усовершенствованиям архитектуры. При отсутствии финансирования исследований они оценивались в основном путем моделирования с использованием недорогих микропроцессоров, и в книге Iliffe's Advanced Computer Design [12] они описаны довольно подробно.
{{cite book}}
: |website=
игнорируется ( помощь ) (Справочное руководство по языку Genie с информацией о среде выполнения и связанных с ней служебных программах. Приписывается Илиффом Джейн Г. Джодейт).