Джон Кеннет Илифф (18 сентября 1931 - 16 февраля 2020) был британским разработчиком компьютеров, который работал над проектированием и оценкой компьютеров, которые поддерживали детальную защиту памяти и управление объектами. Он реализовал, оценил и усовершенствовал такие конструкции в компьютере Института Райса , R1 (1958–61) и ICL Basic Language Machine (1963–68). [4] [5] Ключевой особенностью архитектур обеих машин было аппаратное управление формированием и использованием ссылок на память, так что память можно было рассматривать как набор объектов данных определенного размера, целостность которых защищена от последствия ошибок в вычислении адреса, такие как переполнение указателей памяти (случайно или злонамеренно). [6]
Джон Кеннет Илифф | |
---|---|
Родившийся | Лондон | 18 сентября 1931 г.
Умер | 16 февраля 2020 г. [1] | (88 лет)
Национальность | Великобритания |
Альма-матер | Колледж Святого Иоанна Кембриджского университета |
Известен | Разработка компьютерных систем с безопасным управлением объектами и детальной программной защитой; вектор Илифф структура хранения |
Награды | Мемориальная награда Гарри Х. Гуда IEEE Computer Society, [2] 2000 [3] |
Научная карьера | |
Учреждения | Университет Райса , Хьюстон, Техас International Computers Limited Лондонский университет королевы Марии , Великобритания Имперский колледж Лондона , Великобритания |
Технический вклад
Илифф посетил курс программирования EDSAC в Кембридже в 1952 году. В конце концов он узнал о вычислениях, руководя сервисным бюро IBM (Великобритания) в Лондоне. В 1958 году его пригласили присоединиться к команде по созданию компьютера R1 в Институте Райса в Хьюстоне, где он взял на себя ответственность за разработку и реализацию операционной системы и языка. [7] В следующие 30 лет он ввел в эксплуатацию четыре компьютера, демонстрируя и оценивая новые концепции дизайна.
Компьютер Rice R1
Илифф руководил разработкой операционной системы и языка программирования для компьютера Rice . Его дизайн включал ранний пример динамического распределения и управления памятью, позволяющий программам получать хранилище по запросу и автоматически восстанавливать его, когда оно больше не было доступно. [8] [9]
В R1 [7] Илифф и его коллеги представили схему защиты для всех объектов данных. Манипуляции со ссылками на память (называемыми кодовыми словами ) были ограничены привилегированным кодом, предотвращая некоторые типы программных ошибок. Кодовые слова ссылаются на векторы элементов данных, последовательности инструкций или другие кодовые слова. Доступ к хранилищу осуществлялся путем ссылки на кодовое слово, и это было разрешено с помощью обычного адреса или программного счетчика, предоставляющего прямой доступ к хранилищу при необходимости. В системе предусмотрены функции для создания, управления и обновления кодовых слов, например, для их изменения для отражения решений по управлению хранилищем. Он также поддерживал алгебраический язык программирования (названный Genie), который был реализован с использованием концепций объектно-ориентированного проектирования в 1961 году. [10] Компилятор Genie и связанный с ним ассемблер были необычны в том, что позволяли рассматривать всю систему как дисциплину управления объектами. Genie также был одним из первых языков, в котором были реализованы внутренние операции над действительными и комплексными векторами и матрицами.
Хорошо известная структура хранения векторов Илиффа для многомерных и нерегулярных массивов возникла в результате работы R1. Он использует аналогичную структуру адресации, но без применения системы. Структура хранения векторов Iliffe получила широкое распространение для использования в прикладных программах и языковых системах высокого уровня. [11]
Базовая языковая машина
В начале 1960-х годов к компьютерам общего назначения требовалось обеспечить одновременное выполнение нескольких пользовательских программ, как в форме мультипрограммирования для оптимизации использования ресурсов компьютера, так и в форме разделения времени для обеспечения интерактивного взаимодействия. вычисления . Оба они требуют компьютерной архитектуры, в которой операционная система могла бы гарантировать разделение, безопасность и целостность нескольких одновременно работающих программ. Казалось очевидным, что упрощенная модель архитектуры, производная от Princeton IAS и которой следуют все модели «фон Неймана», столкнется с серьезными трудностями при удовлетворении этого требования.
Базовая языковая машина (BLM) [5], построенная и оцененная в исследовательском отделе International Computers Limited (ICL) в период с 1963 по 1968 год [12], была первой системой общего назначения, полностью порвавшей с архитектурой фон Неймана . Вместо того, чтобы строить архитектуру на едином линейном адресном пространстве, 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 [13] ».
Дизайн BLM был отклонен руководством ICL во время внутреннего обзора вариантов выбора новой архитектуры для мэйнфреймов ICL в декабре 1969 года. [14]
В 2000 году Илифф был удостоен награды IEEE Harry H. Goode Memorial Award «За пожизненные достижения в практике проектирования и оценки компьютерных систем».
Изменения в полупроводниковой технологии за 30 лет после разработки BLM привели к усовершенствованию архитектуры. В отсутствие финансирования исследований они оценивались в основном с помощью моделирования с использованием недорогих микропроцессоров, и в книге Илиффа Advanced Computer Design [13] они описаны довольно подробно.
Личная жизнь
- Образование: стипендия плотника в школе лондонского Сити (1945–1948). Математические экзамены в колледже Святого Иоанна, Кембридж, 1949–1952.
- Служба: Королевский флот 1953–1956. Инструктор-лейтенант.
- Виды спорта: президент плавательного клуба выдры 1990–1996 гг.
- Илифф был женат на Дороти Баннистер в 1955–2015 годах (ее смерть). У них было трое детей: Луиза, Джонатан и Кейт.
Рекомендации
- ↑ Школа Лондонского Сити: Джон Кеннет Илифф, класс 1948 года.
- ^ https://www.computer.org/volunteering/awards/goode
- ^ https://www.computer.org/profiles/john-iliffe
- ^ Iliffe, JK (1 августа 1969). «Элементы БЛМ» . Компьютерный журнал . 12 (3): 251–258. DOI : 10.1093 / comjnl / 12.3.251 . ISSN 0010-4620 .
- ^ а б Илифф, Дж. К. (1968). Основные принципы работы машины . Лондон: Макдональд. ISBN 9780356023274.
- ^ а б в г Леви, Генри М. (1984). Компьютерные системы на основе дескрипторов . Цифровая пресса . Дата обращения 8 мая 2019 . Глава 2 Ранние архитектуры дескрипторов, Глава 3 Ранние архитектуры возможностей
- ^ а б Торнтон, Адам. "Краткая история рисового компьютера 1959-1971" . Архивировано из оригинального 24 февраля 2008 года . Проверено 13 марта 2019 .(в основном написано [или ранее] 1994 г. и заархивировано Wayback Machine в дату, указанную ["20080224"] в URL-адресе)
- ^ Илифф, Дж. К. (23 января 1969 г.). «Методы управления магазином» . Архив Музея компьютерной истории, каталожный номер 102726224 . Коллекция Эдварда Фойстеля о компьютерном проекте Университета Райса . Проверено 9 июня 2019 .
- ^ Iliffe, JK; Йодейт, Джейн Г. (1 ноября 1962 г.). «Схема динамического распределения памяти» . Компьютерный журнал . 5 (3): 200–209. DOI : 10.1093 / comjnl / 5.3.200 . ISSN 0010-4620 .
- ^ Дж. К. Илифф (1961). Использование системы джиннов в численных расчетах . Годовой обзор в автоматическом программировании. 2 . Elsevier Science. С. 1–28. ISBN 978-1-4832-2282-0. Проверено 13 марта 2019 .
- ^ «Программирование на C / Общие практики - Викиучебники, открытые книги для открытого мира» . en.wikibooks.org . Дата обращения 13 октября 2019 .
- ^ Скарротт, Гордон (1995). «От линий задержки крутильного режима к DAP» . Компьютерное воскресение . 12 (лето 1995 г.). ISSN 0958-7403 . Дата обращения 8 мая 2019 .
- ^ а б Илифф, Дж. К. (1982). Продвинутый компьютерный дизайн . Прентис Холл. ISBN 978-0130112545.
- ^ Пряжка, Дж. К. (1978). Серия ICL 2900 (PDF) . Макмиллан. ISBN 978-0333219171.
дальнейшее чтение
- «Путеводитель по коллекции Эдварда Фойстеля по компьютерному проекту Университета Райса» (PDF) . Музей истории компьютеров. 1958–89 . Дата обращения 15 мая 2019 .
- Университет Райса представляет «Завершенный компьютер», 1961 , видео на YouTube (вклад Илиффи, около 15:00)
- «Заметки о компиляторе Genie для компьютера Университета Райса» . Музей истории компьютеров . Университет Райса. Январь 1964 . Проверено 14 марта 2019 . (Справочное руководство по языку Genie с информацией о среде выполнения и связанных служебных программах. Приписано Илиффи Джейн Джодейт).
- Jodeit, Джейн (ноябрь 1968). «Организация хранения в системах программирования». Коммуникации ACM . 11 (11): 741–746. DOI : 10.1145 / 364139.364152 . S2CID 17303622 . Описывает основанную на кодовых словах систему представления программ и данных, используемую на компьютере Университета Райса.
- Илифф, Джон (август 1969). «Элементы БЛМ» . Компьютерный журнал . 12 (3): 251–258. DOI : 10.1093 / comjnl / 12.3.251 . Описывает принципы архитектуры, организацию хранения и функции программирования экспериментальной машины базового языка.
- Агеу К. Пачеко Исследование кэш-памяти для параллельной / планарной машины. Кандидат наук. Диссертация, Лондонский университет, 1989 г.