Всех приветствую!

Я, как и обещал, продолжаю рассказывать о интересных проектах из области операционных систем.

И сегодня я расскажу об интересном проекте. В этом случае даже сложно сказать порт это или клон.

Мир операционных систем семейства UNIX (+UNIX-like) занял собой практически любое железо. Однако, часть старого железа, в свое время (когда оно было не старым), было «забраковано» для портирования под него UNIX-образных систем. Этим железом были и процессоры x86, вплоть до 80386.

Однако, в этом мире есть Левши/тонкие любители извращений(по желанию подставить вариант), которые делают практически невозможное.

Одним из таких гениев ретро-портинга является Erdogan Tan. Он автор порта Research UNIX V1 на процессоры 8086(есть его же версия и для 386-ых, однако она не воспринимается так же эпично, как 8086-версия) — Retro UNIX 8086. Маленькая историческая справка — Research UNIX V1 работал на компьютере PDP-7 и был написан полностью на ассемблере. А Retro UNIX 8086 является полным портом на архитектуру IBM PC и реализован так же на ассемблере.
image

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



Исходные тексты проекта доступны, и с академической стороны достаточно любопытны — в них в виде комментариев оставлен и оригинальный код UNIX.

Комментарии (7)


  1. DrPass
    18.05.2015 02:27
    +3

    > Однако, часть старого железа, в свое время(когда оно было не старым), было «забраковано» для портирования под него UNIX-образных систем.
    > Этим железом были и процессоры x86, вплодь до 80386.
    Это неверно. В 1980-е даже Майкрософт вполне себе успешно продавала Unix-подобную систему для IBM PC XT. Называлась она Xenix, это разновидность AT&T Unix, портированная в том числе и под 8086.


    1. Pinsky Автор
      18.05.2015 09:07
      +1

      Почему-то думал, что Xenix'у нужен минимум 80286


  1. Korobochka
    18.05.2015 03:22
    +1

    Вы бы рассказали, почему конкретно эти процессоры считались непригодными, и как удалось обойти эти ограничения. Самое интересное же!


    1. bachin
      18.05.2015 08:42

      Отсутствие аппаратной защиты памяти.
      Пример того, как залетевший дятел может разрушить цивилизацию.
      cli
      jmp $
      А вот как такое можно обойти или хотя бы минимизировать — действительно интересно.


      1. valplo
        18.05.2015 11:58
        +1

        Дело не в этом. У PDP-7 тоже защиты не было. Работать без защиты можно (только не долго, до первого дятла). Проблема в том, что 8086 тогда никто в серьез не воспринимал. Его втыкали во всякие персоналки, а UNIX, все-таки был для машин посерьезнее. Даже сами интеловцы считали его временным решением. Соответственно, нормальный компилятор, к примеру, появился нескоро. Плюс, IBM-овская архитектура всей машины к написанию нормальной ОС под нее вообще не распологает, в отличие от тех же PDP.


  1. Incidence
    31.05.2015 16:23
    +1

    А как же
    en.m.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset
    На ес1840 оно вроде бы даже запускалось


    1. Pinsky Автор
      01.06.2015 10:54

      ELKS — да, сам гонял на виртуальном 8086.
      Если уж на то пошло, MINIX вроде тоже мог бегать на подобном железе(точно не помню что в минимальных 286ой или 86ой).
      Тут радость скорее в возможности пощупать историческую версию UNIX.