Я, как и обещал, продолжаю рассказывать о интересных проектах из области операционных систем.
И сегодня я расскажу об интересном проекте. В этом случае даже сложно сказать порт это или клон.
Мир операционных систем семейства 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 и реализован так же на ассемблере.
При этом операционная система не утратила свой функционал. Она также многозадачная, многопользовательская и даже поддерживает подключение пользователей через терминалы и одновременную работу нескольких пользователей в операционной системе.
Исходные тексты проекта доступны, и с академической стороны достаточно любопытны — в них в виде комментариев оставлен и оригинальный код UNIX.
Комментарии (7)
Korobochka
18.05.2015 03:22+1Вы бы рассказали, почему конкретно эти процессоры считались непригодными, и как удалось обойти эти ограничения. Самое интересное же!
bachin
18.05.2015 08:42Отсутствие аппаратной защиты памяти.
Пример того, как залетевший дятел может разрушить цивилизацию.
cli
jmp $
А вот как такое можно обойти или хотя бы минимизировать — действительно интересно.valplo
18.05.2015 11:58+1Дело не в этом. У PDP-7 тоже защиты не было. Работать без защиты можно (только не долго, до первого дятла). Проблема в том, что 8086 тогда никто в серьез не воспринимал. Его втыкали во всякие персоналки, а UNIX, все-таки был для машин посерьезнее. Даже сами интеловцы считали его временным решением. Соответственно, нормальный компилятор, к примеру, появился нескоро. Плюс, IBM-овская архитектура всей машины к написанию нормальной ОС под нее вообще не распологает, в отличие от тех же PDP.
Incidence
31.05.2015 16:23+1А как же
en.m.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset
На ес1840 оно вроде бы даже запускалосьPinsky Автор
01.06.2015 10:54ELKS — да, сам гонял на виртуальном 8086.
Если уж на то пошло, MINIX вроде тоже мог бегать на подобном железе(точно не помню что в минимальных 286ой или 86ой).
Тут радость скорее в возможности пощупать историческую версию UNIX.
DrPass
> Однако, часть старого железа, в свое время(когда оно было не старым), было «забраковано» для портирования под него UNIX-образных систем.
> Этим железом были и процессоры x86, вплодь до 80386.
Это неверно. В 1980-е даже Майкрософт вполне себе успешно продавала Unix-подобную систему для IBM PC XT. Называлась она Xenix, это разновидность AT&T Unix, портированная в том числе и под 8086.
Pinsky Автор
Почему-то думал, что Xenix'у нужен минимум 80286