RTP DesportoJudo/Mundiais. Miguel Gago já esqueceu Budapeste e quer melhorar em BakuThe Jerusalem PostUK's Greens adopt ‘Zionism is racism’ motion, become Europe’s first mainstream anti-Zionist partyPunchNorthern senators seek military action against Adamawa insurgentsESPNSources: Mayfield out 3-6 weeks, depending on when QB can grip footballESPN DeportesColts y Commanders elevan el nivel de sus ofensivas y se cierra el juegoInquirerWalang pasok: In-person classes suspended Oct. 5 for Nat’l Teachers’ DayZDF heuteEntdecken Sie das ZDF-NachrichtenstudioVarietyZach Bryan Breaks Attendance Record at Robert Kraft’s Gillette Stadium While Wearing ‘Free Palestine’ Shirt for Second Night in a RowSportstarIndian sports wrap, October 4: India U-17 men share spoils with Myanmar in first friendly01netXiaomi 15 : ce n’est plus le roi, mais au prix d’un Redmi il vaut son pesant d’or (-47%)Premium TimesLawal flags off 95km road in Tsafe, says project will improve securityCBS NewsTranscript: Brett McGurk on "Face the Nation with Margaret Brennan," Oct. 4, 2026
The Daily Newsstand · Free, Always
Sunday, October 4, 2026

Corvus Concept — «облачная» сетевая рабочая станция из 1982 года

Translate

Бездисковый компьютер я впервые увидел лет двадцать назад, и это была не офисная персоналка, у которой один из уволившихся сотрудников спёр винчестер, а вполне себе тонкий клиент с загрузкой по сети для удалённой работы в терминальном режиме. Но это, как ни крути, специализированное устройство. Что же касается массового рынка, то одной из самых известных попыток создать машину со встроенным накопителем минимального объёма, весь софт для которой реализован в виде веб-сервисов, был Chromebook. Однако, читая исторические обзоры различного железа, я внезапно наткнулся на настольный компьютер со схожей концепцией, придуманный ещё в 1982 году. Оказывается, идея софта, реализованного в виде сетевых сервисов, появилась именно тогда, и более того — её вполне успешно удалось воплотить в реальность!

Ты помнишь, как всё начиналось?

В 1982-м домашние компьютеры уже не считались какой-то диковинкой, но всё ещё были недешевы. Не менее дорого стоили дисководы, не говоря уже о таком высокотехнологичном устройстве, как жёсткий диск: один пятидюймовый дисковод для IBM-совместимой машины обходился тогда в $400–500, примерно в такую же сумму оценивали дисковод для Commodore. Для TRS-80 Color Computer базовый дисковод с контроллером и кабелем стоил $599, дополнительные дисководы, подключаемые к тому же контроллеру — по $399 каждый. Ну, а за жёсткий диск объёмом в 5 мегабайт Xebec для Apple или CP/M-компьютеров пришлось бы отдать $1300, диск аналогичного объёма от Davong Systems для IBM PC стоил уже $2000. В общем, удовольствие это было не для бедных, поэтому самым популярным накопителем для хранения данных в 1982 году оставался кассетный магнитофон.

Тем не менее, решать проблему с хранением больших объёмов данных было как-то нужно, и разные производители железа делали это по-разному. В 1979 году в Сан-Хосе появилась компания Corvus Systems, основанная Майклом Д’Аддио и Марком Ханом. Эту фирму технически можно отнести к категории «компьютерных стартапов», правда, её первым заметным продуктом стала не какая-нибудь персоналка, а внешний жёсткий диск для Apple II.

И это было весьма полезное устройство: программ для Apple II с каждым днём становилось всё больше, а стандартная дискета вмещала смешные по нынешним временам 140 КБайт. Созданный Corvus комплект оборудования для Apple II использовал 10-мегабайтный жёсткий диск производства International Memories, который вмещал содержимое примерно 71 дискеты, что, согласитесь, немало. Но и стоил этот внешний накопитель тоже весьма недёшево: 5350 долларов, так что поставить винчестер, чтобы больше не искать нужную дискету, мог позволить себе далеко не каждый владелец домашнего компьютера Apple.

Именно здесь, думается, сработал принцип, который существовал и задолго до эпохи появления первых домашних персоналок, и спустя много лет после: если на чём-то можно сэкономить, люди обязательно воспользуются такой возможностью. Очень быстро выяснилось, что покупать для каждого рабочего места отдельный жёсткий диск за космические деньги совершенно необязательно: если в компьютерном классе или офисе стоит несколько машин, логичнее поставить один большой диск и дать всем компьютерам доступ к нему. Именно на этом и решила построить свой бизнес компания Corvus.

Constellation

В 1980 году Corvus представила систему Constellation, позволявшую нескольким компьютерам работать с общим дисковым хранилищем. Сейчас в такой системе нет ничего необычного: все уже привыкли к системам вроде NAS, но для начала 80-х технологию можно было назвать прорывной. К одной системе Constellation можно было подключить от 2 до 64 компьютеров, которые имели возможность совместно использовать до 4 накопителей по 10 мегабайт каждый. При этом сами компьютеры могли иметь разную архитектуру: Corvus декларировала поддержку как минимум Apple II и TRS-80, просто для каждого типа персоналок устанавливалась своя интерфейсная плата и использовалось соответствующее программное обеспечение.

Тут надо сделать оговорку: в отличие от современных NAS, хранилище Constellation нельзя назвать сетевым — это был именно общий дисковый ресурс, поскольку компьютер обращался к нему примерно так, как обычная машина обращается к собственному накопителю, только физически этот накопитель находился в другом месте. Каждый подключённый компьютер мог загружать и сохранять программы, а также создавать и использовать файлы на общем диске, при этом можно было организовать как открытый, так и защищённый доступ.

В документации Corvus оперировала понятием Volume — логического тома на общем диске. Позднейшие версии Constellation развили эту модель дальше: пользователям можно было назначать собственные аккаунты и разрешения на доступ к томам, а общедоступные области использовать для программ и данных, которыми должны были пользоваться все персоналки.

Компьютеры подключались к Constellation по схеме «звезда», но при этом не имели возможности напрямую обмениваться данными друг с другом: операции чтения-записи осуществлялись только между машиной и дисковым накопителем. Собственно, поэтому система не считалась универсальной компьютерной сетью в современном смысле. В центре «звезды» стоял Corvus Multiplexer — фактически аппаратный коммутатор между жёстким диском и несколькими компьютерами. Коммутатор соединялся с интерфейсной платой компьютера посредством плоского 34-жильного провода. Максимальная длина участка между Multiplexer и компьютером составляла 50 футов, то есть, около 15 метров, в двухуровневой схеме расстояние от диска до компьютера могло достигать 100 футов (30 метров). В базовой одноступенчатой конфигурации Corvus Multiplexer имел восемь портов и по очереди обслуживал подключённые устройства. В двухуровневой конфигурации добавлялся ещё один Master Multiplexer, который соединялся с восемью устройствами Host Multiplexer, а к каждому из них подключалось до восьми компьютеров, таким образом, их общее количество могло достигать 64.

Используемый в Constellation плоский 34-жильный кабель использовал не последовательный интерфейс наподобие RS-232 и не Ethernet: в основе лежала 8-битная двунаправленная параллельная шина. Для неё существовали отдельные управляющие линии и сигналы квитирования, а интерфейсная плата конкретного компьютера содержала адресную логику и двунаправленные буферы данных. В типичном варианте на такой плате имелся восьмибитный буфер для данных от диска, порт состояния и восьмибитный регистр для передачи данных к диску.

Устройство Multiplexer в этой схеме выступало арбитром: этот девайс циклически опрашивал подключённые компьютеры, то есть компьютер не мог самовольно захватить шину в духе Ethernet. Для каждого компьютера существовал определённый временной интервал, после которого Multiplexer переключался на следующий порт. При этом одному компьютеру разрешалось выполнить несколько последовательных операций, прежде чем начинался следующий цикл опроса. По умолчанию такой предел составлял 32 транзакции, причём чтение и запись считались отдельными транзакциями. То есть, схема взаимодействия машины и внешнего диска была многоуровневой: программа → драйвер Constellation → интерфейс компьютера → 34-жильная параллельная шина → Multiplexer → контроллер Corvus → жёсткий диск. Производительность всей этой системы зависела от кучи факторов: от временных параметров шины, конкретного компьютера, драйвера и, разумеется, самого диска.

Однако если в сети уже есть несколько машин, а рядом с ними имеются общие принтеры и прочая периферия, то почему бы не заставить всё это хозяйство работать как единая система? В качестве попытки реализовать эту идею появился Omninet.

Omninet

Это уже следующее поколение технологии от Corvus, созданное с применением более совершенных и современных инженерных решений. Компания сознательно отказалась и от центрального контроллера, и от многожильных «ленточных» кабелей, а значительную часть сетевой логики спрятала прямо в интерфейсной плате каждого устройства. Проект Omninet был представлен на мероприятии под названием National Computer Conference в мае 1981 года, и сразу же вызвал интерес у публики.

Фактически, Omninet представляла собой полноценную локальную сеть, к которой можно было подключать самые разные компьютеры и периферийные устройства. В отличие от Constellation, Omninet от диска не зависела: Corvus могла использовать её как транспорт для собственного дискового сервера, но точно так же через неё можно было организовывать обмен данными между компьютерами, подключать принтеры и другие девайсы.

В качестве среды передачи данных в Omninet применялась привычная нам сегодня неэкранированная витая пара, в то время как большинство локальных сетей того времени использовали довольно дорогой коаксиальный кабель с Т-коннекторами и терминаторами. У Omninet был один общий магистральный кабель — две скрученные между собой жилы, этот кабель назывался common bus, общей шиной. К отдельным устройствам от магистрали шли короткие отводы, подключавшиеся через специальные пассивные устройства под названием Tap Box. Сам Tap Box был почти до смешного простым: это две пластиковые половинки с контактами, которые врезались в провод прямо сквозь изоляцию. Магистраль при этом не требовалось разрывать: контактные элементы Tap Box прокалывали изоляцию и подключались непосредственно к сигнальным жилам. Отвод к компьютеру шёл отдельным кабелем через разъём Molex, максимальная длина такого отвода составляла 15 футов, то есть примерно 4,6 метра. На концах магистрали обязательно устанавливались терминаторы — по 100 Ом каждый.

Стандартная конфигурация позволяла подключить к одной сети Omninet до 64 узлов, при этом узлом считался компьютер или периферийное устройство вместе со своим сетевым интерфейсом, который Corvus называла Transporter. При необходимости сеть можно было расширять с помощью активных соединителей — Active Junction Box, которые работали как повторители (репитеры). В документации декабря 1982 года указано, что отдельный сегмент магистрали мог иметь длину до 1800 футов.

Никакого отдельного устройства, управлявшего сетью, не существовало: каждый сетевой адаптер был самостоятельным контроллером. Corvus называла такую архитектуру распределённой: если устройству нужно было передать сообщение, его сетевой контроллер сам следил за состоянием линии и пытался получить к ней доступ. В основе механизма доступа лежал Carrier Sense Multiple Access, CSMA. Проще говоря, каждый участник сначала слушал общую шину: пока кто-то другой передавал данные, остальные ждали, а когда линия освобождалась, желающий мог начать передачу. При этом у Omninet не было полноценного механизма обнаружения коллизий, как у классической версии Ethernet с CSMA/CD: когда какое-либо устройство захватывало линию, оно больше не пыталось выяснять, не совпала ли его передача с чужой. Если из-за задержки распространения сигналов коллизия всё-таки происходила, повреждённый пакет обнаруживался уже при приёме — прежде всего по ошибке CRC — и тогда передача повторялась.

Такой подход позволил Corvus обойтись дешёвыми дифференциальными драйверами для RS-422 и использовать простую витую пару при большой длине линии, сохраняя хорошую помехоустойчивость. Стандарт RS-422 определял электрическую часть соединения — дифференциальную передачу по двум проводам, а собственно сетевые правила Corvus разработала сама.

Сигнал передавался со скоростью 1 000 000 бит/с. Но поскольку передача велась последовательно, физический поток соответствовал 125 000 байт/с, и это только скорость линии, а не гарантированная скорость передачи полезных данных. Часть полосы съедали заголовки пакетов, служебные поля, подтверждения, задержки захвата линии и прочие служебные биты. Omninet использовала NRZI — Non-Return-to-Zero Inverted. То есть, стабильное дифференциальное состояние линии интерпретировалось как единица, а изменение полярности — как ноль. Из-за этого возникала чисто техническая проблема: если в данных долго идут одни единицы, и на линии давно нет переходов, то приёмнику становится всё труднее поддерживать синхронизацию. Поэтому передатчик после каждых пяти последовательных единиц автоматически вставлял нулевой бит, а приёмник этот искусственный бит удалял. Transporter постоянно следил за линией и считал её свободной, если переходов не было в течение 15 битовых интервалов, то есть 15 мкс. После обнаружения свободной линии требовалось ещё около 10 мкс для подготовки передатчика к захвату шины. Если за это время появлялся переход, попытка отменялась и процедура начиналась заново.

Любопытно, что сам Transporter представлял собой не просто «сетевую карту» в современном понимании — это был маленький специализированный компьютер на базе чипа Motorola MC6801, оборудованный 2 КБайтами встроенной ROM и 128 байтами RAM.

В паре с этим чипом работала Motorola MC6854 ADLC — Advanced Data Link Controller. Эта микросхема занималась сериализацией и десериализацией данных, формированием кадров, вставкой и удалением нулевых битов, вычислением CRC и контролем состояния линии. Третий ключевой элемент — специально разработанная Corvus микросхема Monochip, отвечавшая за синхронизацию и управление DMA. Внешний сигнал на витую пару формировали микросхемы Texas Instruments SN75174 и SN75175. То есть, центральный процессор компьютера отдавал плате Transporter команду, указывая, откуда в памяти взять сообщение, а дальше сетевой интерфейс работал уже самостоятельно.

Передача шла сообщениями и пакетами, а адресация состояла из номера узла и номера приёмного сокета. Для сети использовались адреса 0–63, а адрес FF означал широковещательную рассылку. В каждом узле могло одновременно существовать до четырёх приёмных сокетов, то есть разные типы сообщений можно было направлять непосредственно в разные области памяти компьютера. Обычное пользовательское сообщение могло содержать до 2047 байт данных плюс до 255 байт управляющей информации. Транспортный уровень при этом скрывался от основной программы практически полностью: сетевой адаптер Transporter сам формировал подтверждения, следил за ошибками, выполнял повторные передачи и отбрасывал дубликаты.

Старую технологию с появлением новой тоже не забыли: Constellation могла реализовывать доступ компьютеров к общим дискам поверх Omninet. Фактически, Corvus разработала сеть, в которой сам компьютер, диск, принтер или другой компьютер были её узлами. Оставалось сделать следующий логичный шаг: зачем вообще ставить отдельный сетевой адаптер в компьютер, если сам компьютер с самого начала можно построить как устройство, рассчитанное на жизнь в этой сети?

Проект Corvus Concept

И вот мы, наконец, подошли к проекту бездисковой рабочей станции Corvus Concept, которая появилась на свет в том же 1982 году. К моменту рождения этой машины у Corvus уже сформировалась готовая философия: данные можно вынести на общий диск, компьютеры связать сетью, дорогую периферию сделать коллективной — осталось только отказаться от идеи, будто каждому рабочему месту обязательно положено иметь полный комплект собственного железа.

Concept оптимизировали специально для работы с сетевыми бизнес-приложениями. Машину оснастили электронно-лучевым монохромным 15-дюймовым дисплеем высокого разрешения, вмещающим целую страницу текста. Текстовый режим позволял отображать на экране 72 строки по 80 столбцов, графический режим давал разрешение 720 × 560 пикселов, при этом экран можно было поворачивать, переключаясь между книжной и альбомной ориентацией изображения. Причём поворачивать монитор можно было непосредственно во время работы, ориентацию определял переключатель, связанный с монитором, а программное обеспечение подхватывало соответствующий видеорежим. Для текстового редактора портретная ориентация была почти очевидным решением: перед пользователем оказывался экран примерно формата машинописной страницы. Для таблицы или более широкого документа дисплей можно было развернуть горизонтально. Картинка формировалась как полноценная битовая карта, для вывода использовалась примерно 55 КБайт основной памяти, которую видеосистема читала по DMA, передавая данные на экран.

В основе компьютера использовался процессор Motorola 68000 на частоте 8 МГц: сам процессор был 16-битным по внешней шине данных, имел 24-битную адресную шину и шестнадцать 32-битных внутренних регистров. Сетевой контроллер Omninet был встроен прямо в системную плату с процессором, а вот плата оперативной памяти объёмом 256 Кбайт (которую можно было увеличить до 512) была отдельной, и занималась не только RAM, но и всей довольно сложной логикой формирования видеосигнала. Для совместимости с популярной тогда операционной системой CP/M разработчики добавили программную эмуляцию процессора Z80: эмулятор создавал виртуальное 64-килобайтное адресное пространство Z80, а всё остальное, включая операции ввода-вывода, выполнялось нативным кодом 68000.

А вот встроенного накопителя в компьютере не было: Concept проектировался так, чтобы загружаться с Corvus-диска по сети, и большая часть того, что современный компьютер обычно хранит на собственном диске, находилась где-то в другом месте. При этом Corvus не запрещала использовать Concept автономно: к нему можно было подключить локальный жёсткий диск или дисковод: для этой машины были доступны дисковод для 5,25- или 8-дюймовых дискет, винчстер диск ёмкостью от 6 до 20 МБ, а также накопитель на видеокассете для резервного копирования.

На плате также имелось четыре 50-контактных слота расширения, совместимых с периферийными картами Apple II. Это был очень практичный ход: Corvus не хотела изобретать заново всю окружающую экосистему периферии, поэтому использовала уже существующий форм-фактор интерфейса. Также имелось два порта RS-232 и один порт IEEE-488. Каждый порт RS-232 мог работать со скоростью от 110 до 19 200 бод, с настраиваемой длиной слова и контролем чётности. К этим портам можно было подключать терминал, модем, принтер и другую последовательную периферию.

У Concept была отдельная 91-клавишная клавиатура, на которой имелись 15-клавишный цифровой блок, курсорные клавиши и десять программируемых функциональных клавиш. Причём программируемыми были не только F-клавиши в привычном смысле: программно управляемым делался и сам набор символов. На экране постоянно присутствовала строка с назначением функциональных клавиш, а конкретная программа могла менять их назначение, избавляя пользователя от необходимости запоминать, за что, например, отвечала клавиша F7 в конкретном приложении.

В ПЗУ Corvus Concept находился только тот минимум, который требовался для запуска машины: код загрузки, первоначальная диагностика, базовые данные настройки ввода-вывода, простая карта клавиатуры и начальный набор символов, при этом весь этот софт занимал порядка 96 КБайт. Всё остальное грузилось с сетевого диска. Компания разработала для своей машины собственную операционную систему CCOS — Corvus Concept Operating System. Это была однопользовательская система с файловой моделью, напоминающей Unix, но без многозадачности. После включения питания и самодиагностики Concept находил нужный загрузочный том на сервере, забирал оттуда системное ПО и только после этого превращался в рабочий компьютер. В распоряжении пользователя был текстовый и табличный редактор, UCSD Pascal, FORTRAN 77, Assembler, а также другой прикладной софт.

Корпус тоже получился интересным и очень компактным, размером с небольшой чемодан. В основании находились блок питания, вентилятор и съёмный electronics tray — выдвижной электронный модуль. В нём размещались процессорная плата, плата памяти, динамик и батарея часов. Вся эта конструкция выдвигалась из корпуса, чтобы инженер мог быстро заменить какую-нибудь деталь прямо на месте или получить доступ к слотам расширения. Машина стоила недёшево: от 4995 до 8000 долларов США в зависимости от комплектации. В общем, у Corvus получилась сетевая рабочая станция, которой дали собственный процессор, память, экран и клавиатуру, а вот собственный жёсткий диск ей, строго говоря, действительно был не особенно нужен.

Судьба проекта

В истории Corvus Concept нет какой-то явной финальной точки: машина постепенно растворилась в фундаментальной проблеме самой Corvus - компания придумала несколько очень удачных технологий, но так и не смогла превратить их в устойчивый массовый продукт.

Уже к середине 1983 года, то есть примерно через год после выхода Concept, его продажи оставались сравнительно небольшими: Corvus сообщала, что суммарная выручка от Concept составила менее 2 млн долларов, тогда как годовая выручка самой Corvus оценивалась примерно в 24 млн. Основным бизнесом компании по-прежнему оставались диски и Omninet, а Concept был скорее попыткой выйти на рынок рабочих станций и офисных компьютеров.

Сама по себе идея никуда не исчезла. Concept продолжали развивать, для него выходили новые версии программ, драйверов и периферии. Но главных проблем у компьютера было две: во-первых, отсутствие графического пользовательского интерфейса, а во-вторых, компания предлагала не просто машину, а целую экосистему — рабочие станции, Omninet, общие диски и собственное программное обеспечение, включая ОС. Для корпоративного клиента такая схема могла быть вполне разумной, но на рынке персональных компьютеров всё стремительнее формировался другой стандарт — IBM PC и совместимые с ним машины.

В 1985–1986 годах компания стала менять стратегию. Corvus приобрела Onyx и IMI, затем Omtek — производителя IBM PC- и PC AT-совместимых компьютеров. В самой фирме тем временем продолжали развивать Omninet, но теперь речь шла о том, чтобы приспособить эту технологию к рынку IBM-совместимых машин, а не строить собственную альтернативную компьютерную платформу. Разработчики не пришли к выводу, что идея сетевой рабочей станции была неправильной, наоборот, Corvus продолжила развивать именно сетевую часть своей концепции. Вот только рынок пошёл другим путём: в лидеры продаж вышли IBM-совместимые машины, а сеть превратилась в отдельный слой инфраструктуры. В августе 1986 года Corvus объявила о прекращении производственной деятельности на своём заводе в Орегоне, а через год обанкротилась.

Такие понятия, как общий сетевой диск, сетевой контроллер, компьютер без обязательного локального накопителя, загрузка операционной системы по сети, распределение ресурсов между рабочими местами сегодня звучат совершенно буднично. Однако Corvus придумала и реализовала всё это ещё в 1982 году. Не хватало только интернета и слова «облако» — но Corvus не дотянула до его широкого распространения буквально несколько лет.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.