Домашний компьютер
 

История операционных систем Apple

ЧАСТЬ 8

Евгений Мосунов

Вместе с операционной системой NeXT на свет также появилось ядро Mach, которое впоследствии послужило фундаментом для операционных систем Apple. Наш рассказ об истории зарождения Mac OS был бы неполным, если бы мы кратко не поведали о происхождении и эволюции Mach.

Rochester Intelligent Gateway

В 1975 году группа исследователей Университета Рочестера (штат Нью-Йорк) начала разработку «интеллектуального шлюза, получившего название RIG (Rochester Intelligent Gateway). RIG был призван предоставить унифицированный доступ (например, при помощи терминалов) к различным вычислительным средствам – как локальным, так и удаленным. Локальными средствами могли стать подключенные диски, магнитные ленты, принтеры, планшеты, компьютеры пакетной обработки, компьютеры с разделением времени и т.д. Доступ к удаленным устройствам мог быть доступен при помощи таких сетей как ARPANET. Операционная система RIG, получившая название Aleph, работала на миникомпьютере Data General Eclipse (фото ниже).

Ядро Aleph было построено на базе междупроцессной коммуникации (IPC). Процессы RIG могли отсылать друг другу сообщения, когда направление указывалось номером процесса или номером порта. Порт представлял собой очередь сообщений внутри ядра, обозначенную тем же кортежем { process #, port # }. Процесс мог иметь несколько портов, определенных внутри его самого. Каждый из них мог использоваться для того, чтобы ждать, когда на него поступит сообщение. Процесс X мог «оттенить» другой процесс Y (X получает копию каждого сообщения, отсылаемого на Y), либо X мог «вмешиваться» в Y (X перехватывает все сообщения, отправляемые на Y или поступающие с него).

Несколько лет спустя RIG был отправлен на свалку истории в связи с несколькими фундаментальными недостатками, присутствовавшими в его структуре. Во-первых, речь идет о двухкилобайтном лимите на размер сообщения (в связи с ограниченностью адресного пространства, выделяемого аппаратным обеспечением), а во-вторых, о вытекающей из этого неэффективностью работы IPC. В связи с отсутствием какой-либо защиты портов (номера портов имели глобальный характер, и любой процесс мог создавать и использовать их, то есть любой процесс мог отправлять сообщения другому процессу). К тому же не было возможности выявить отказ процесса в работе с другим процессом, зависящим от него (без какого-либо учета таких зависимостей).

Accent

Одним из разработчиков RIG являлся инженер Ричард Рашид (Richard Rashid). В 1979 году он перешел в Университет Carnegie Mellon, где работал над созданием Accent – сетевого ядра операционной системы. Как и RIG, ядро Accent в качестве базового инструмента структурирования также использовало IPC. В то же время в Accent были исправлены некоторые недостатки RIG: теперь порты получили «способности», а для обеспечения передачи крупных сообщений использовалось картографирование памяти. Сообщения могли отсылаться процессам на другой машине посредством промежуточного процесса. Accent оснащался гибкой и мощной системой управления виртуальной памятью, которая была интегрирована в IPC и хранилище файлов.

Ядро Accent было разработано таким образом, чтобы поддерживать два проекта в области распределенных вычислений: Spice (распределенные персональные вычисления) и DSN (отказоустойчивая распределенная сенсорная сеть). Accent был назван в честь продукта (приправы), продававшегося компанией Accent Inc. Единственным ингредиентом этого продукта являлся глутамат натрия (MSG). В мире компьютеров эта аббревиатура обычно расшифровывалась как «message» — «сообщение».


Ричард Рашид

Через несколько лет будущее Accent представлялось уже не таким многообещающим. Ядро нуждалось в новой аппаратной базе, включая поддержку мультипроцессоров и возможности портирования на различные устройства. Кроме того, Accent имел проблемы с поддержкой программного обеспечения Unix.

Источник

Часть 1   Часть 2   Часть 3   Часть 4   Часть 5   Часть 6   Часть 7   ЧАСТЬ 8   Часть 9

 
***