UNIX 5-th Edition на x86, или не забывайте историю
Александр Поляков
Немного истории
Я думаю, стоит для начала напомнить читателю об истории развития
системы UNIX. Начну я с самого начала, а именно с первой ее редакции
(другими словами - версии). Науке неизвестно, откуда пошел этот
термин, в книге А.Робачевского рассказывается такая легенда: "каждая
версия снабжалась соответствующей редакцией Руководства
Программиста, откуда и сами версии получили название редакций
(Edition)". Существует 10 редакций. Расскажу о наиболее важных.
Первая - 1971 г. Написана была на ассемблере для PDP-11. Включала
компилятор B и много известных команд (таких как chmod,
cp, find, mail,
rm, mkfs, who,
chdir - теперь зовется cd, и страшный
редактор ed).
Третья - 1973 г. Появился компилятор C (команда
cc).
Четвертая-пятая - 1973-1974гг. Завершение переписывания ядра на
языке C.
Шестая - 1975 г. Полностью переписана на C. На ее основе выпущена
первая система BSD.
Седьмая - 1979г. Включала Bourne Shell и C-компилятор Кернигана и
Ритчи.
На этом обзор редакций UNIX прошу считать оконченным. Теперь
перейду к вопросу о терминологии. Некоторые (и я, каюсь, до
недавнего времени) ошибочно называют UNIX 5-th Edition UNIX System
V. Вещи это совершенно разные и вот почему. С 1975 года AT&T
начала активно предоставлять лицензии на UNIX, и появилось несколько
различных ее версий. Но в AT&T инициативу терять не хотели, и в
1982 на базе нескольких существующих версий была создана System III
UNIX. Через год была выпущена System V.
Практические занятия
Для проведения оных нам понадобится: какая-нибудь современная
(относительно) UNIX-подобная ОС для intel-совместимых процессоров
(типа Linux или FreeBSD), компилятор C(GCC?), исходный код программы
SIMH и образ диска интересующей версии UNIX (для примера возьму UNIX
Version 5).
Надеюсь, что подходящая ОС и компилятор у нас имеются, и поэтому
перейду к собственно SIMH. Это - рекурсивная аббревиатура: SIMH is
the Computer History Simulation system. Основная цель проекта -
написание симуляторов компьютеров, представляющих исторический
интерес. К таким, по мнению разработчиков, относятся следующий
системы:
Перейдем к установке и настройке. Установка проста как
дважды-два: распаковываем архив, входим в свежесозданную директорию
и вводим:
gmake all
для GNU Make в не-Linux системах. В Linux можно использовать
просто make. Или
gmake USE_NETWORK=1 all
если хочется поддержки сети.
После успешной сборки заходим в подкаталог BIN и
копируем оттуда файл pdp11 куда-нибудь, например, в
каталог ~/unix-v5 (предварительно созданный, конечно),
туда же распаковываем образ диска. и приступаем к заклинаниям.
Запускаем pdp11 - получаем следующее приглашение:
PDP-11 simulator V3.3-2
sim>
Вводим туда последовательно следуюшие команды:
set cpu u18
att rk0 unix_v5_rk.dsk
set rk1 RK02
att rk1 rl1.dsk
att tm0 tm0.tap
boot rk
не забывая после ввода каждой жать клавишу
ENTER. После всего этого получаем приглашения
загрузчика в виде собаки: @, вводим туда
unix, жмем ENTER...
И вот он - UNIX Version 5. Подтвердит это вывод команды
date. uname тогда еще не было.
История UNIX начинается в 1969 г. Большинство современных UNIX-систем являются коммерческими версиями исходных дистрибутивов UNIX. Solaris от Sun, HP-UX Hewlett-Packard... подробнее
Многопользовательская система UNIX поддерживает механизм, известный, как система прав доступа к файлам. Этот механизм позволяет указать для каждого файла владельца и обеспечить защиту файлов от доступа других пользователей. UNIX позволяет также совместно использовать файлы нескольким пользователям и группам пользователей... подробнее
FreeBSD считается достаточно безопасной операционной системой. Поскольку ее исходные тексты распространяются бесплатно, операционная система постоянно проходит проверку... подробнее
Скорее всего, ничего приципиально нового я вам не расскажу, я лишь хочу красочно расписать старые приемы на новый лад. Знание этих основ поможет понять корни проблем происходящих в сегодняшней реалии... подробнее
Основной проблеммой для взломщика все является доступ к желаемой информации, скорее всего, этой информацией будет какой-нибудь файл, который его заинтересовал... подробнее