Недавно мы делились с вами материалом об эволюции Linux. Сегодня, в честь недавнего 26-го дня рождения ядра операционной системы, публикуем рассказ о том, с чего всё начиналось.
Впервые я установил Linux в 1993-м году. Тогда я работал в MS-DOS, но мне очень нравились системы на Unix, которые стояли в институтском компьютерном зале, где я, студент, сидел целыми днями. Когда я услышал о Linux, бесплатной версии Unix, которую можно было запустить на моём домашнем 386-м, я немедленно захотел её попробовать. Моим первым дистрибутивом Linux была Softlanding Linux System (SLS) 1.03 с ядром Linux 0.99 alpha, уровень патча 11. Системе нужно было целых 2 Мб памяти, или 4 — если вы хотели компилировать программы, или 8 — для запуска оконной системы X.
Я думал, что Linux, по сравнению с MS-DOS — это огромный шаг вперёд. Хотя Linux и недоставало такого же разнообразия программ и игр, какое присутствовало в MS-DOS, я обнаружил, что Linux — система гораздо более гибкая. В отличие от MS-DOS, теперь ОС могла работать в настоящем многозадачном режиме, выполняя одновременно несколько программ. Кроме того, в Linux было множество инструментов, включая компилятор C, который я мог использовать для создания собственных программ.
Годом позже я обновился до SLS 1.05, которая могла похвастаться новейшим ядром Linux 1.0. Но, что важнее, в Linux 1.0 появилась поддержка модулей ядра. Благодаря модулям теперь не нужно было перекомпилировать ядро для поддержки нового аппаратного обеспечения. Вместо этого можно было загрузить подходящий из 63-х имеющихся модулей. В README к SLS 1.05 можно было найти следующее примечание о модулях:
Модуляризация ядра направлена на сокращение, и, в конечном счёте, устранение потребности в перекомпиляции ядра, что было необходимо для замены или модификации драйверов устройств, либо для организации динамического доступа к редко требующимся драйверам. Что важнее, вероятно, усилия отдельных рабочих групп больше не должны быть направлены на разработку ядра. Всё идёт к возможности бинарных выпусков ядра.
25-го августа ядро Linux отмечает 26-летний юбилей. Празднуя это событие, я снова установил SLS 1.05 для того, чтобы напомнить себе о том, каким было ядро Linux 1.0 и лучше увидеть тот огромный путь, который Linux прошла с начала 1990-х. Присоединяйтесь ко мне в этом путешествии по волнам памяти!
Установка
Softlanding Linux System была первым настоящим «дистрибутивом», который включал в себя программу для установки системы. Хотя этот процесс был не таким простым, как в наши дни. Вместо загрузки с CD-ROM, мне нужно было загрузить систему с установочного гибкого диска, а затем запустить инсталлятор из приглашения командной строки.
Запуск установки SLS 1.05 из командной строки
Приятной мелочью, которая появилась в SLS 1.05, была поддержка цветного текстового инсталлятора. Когда я выбрал цветной режим, экран установщика стал светло-синим, буквы выводились чёрным. Всё-таки, это симпатичнее примитивного чёрного экрана с белым текстом
Цветной текстовый экран установки в SLS 1.05
Установщик SLS устроен просто, перед нами — только текст, возникающий в нижней части экрана, однако своё дело он делает. Ответив на несколько несложных вопросов, я смог создать раздел для Linux, отформатировать его в файловой системе ext2, и установить систему. Установка SLS 1.05, включая X и инструменты разработки, потребовала 85 Мб дискового пространства. По современным стандартам это очень мало, но когда вышло ядро Linux 1.0, всё ещё были в ходу диски на 120 Мб.
Создание раздела, форматирование в ext2 и установка Linux
Первая загрузка
Система
Когда я впервые загрузил только что установленную Linux, в памяти всплыли некоторые детали об этой ранней версии системы. Для начала — Linux не занимает слишком много памяти. После загрузки ОС и испытания нескольких утилит, Linux заняла меньше 4 Мб. На системе с 16 Мб памяти это означало, что для запуска программ ещё осталось достаточно места.
Проверка файловой системы и свободного места на диске
В Linux 1.0 уже существует знакомая нам файловая система /proc
, хотя она и не предоставляет столько же полезных сведений, сколько можно увидеть в современных версиях ОС. В Linux 1.0 /proc
включает в себя интерфейсы к базовым средствам получения сведений о системе, таким, как meminfo
и stat
.
Файловая система /proc
Директория /etc
в этой системе довольно-таки пустынна. Интересно отметить, что SLS 1.05 заимствует скрипты rc
из BSD Unix для управления запуском системы. Всё запускается с помощью rc
скриптов, с изменениями локальной системы, заданными в файле rc.local
. Позднее большинство дистрибутивов Linux будут использовать более знакомые скрипты init
из Unix System V, затем — систему инициализации systemd.
Папка /etc
Работа
После того, как система загрузилась, пришло время приниматься за работу. Итак, что можно сделать с помощью этой ранней ОС, основанной на ядре Linux?
Начнём с управления файлами. Каждый раз, когда вы входите в систему, SLS напоминает об оболочке Softlanding (Softlanding menu shell, MESH) — программе для работы с файлами, которую современные пользователи могут счесть похожей на Midnight Commander. Пользователи в 1990-х сравнили бы MESH с Norton Commander, вероятно, самым популярным файловым менеджером стороннего разработчика для MS-DOS.
MESH
Помимо MESH, в SLS 1.05 включено не так уж и много полноэкранных приложений. Однако, тут можно найти знакомые инструменты, такие, как почтовый клиент Elm, программируемый редактор GNU Emacs и почтенный Vim.
Почтовый клиент Elm
Редактор GNU Emacs
В SLS 1.05 есть даже тетрис, играть можно прямо в терминале.
Тетрис
В 1990-е самым распространённым способом доступа в интернет было модемное соединение, поэтому в SLS 1.05 было включено приложение Minicom для работы с модемом. Minicom обеспечивало прямое соединение с модемом и требовало от пользователя вводить AT-команды для того, чтобы, например, набрать номер или разорвать соединение. Приложение, кроме того, поддерживало макросы и другие удобные возможности, которые облегчали подключение к модемному пулу местного провайдера.
Приложение Minicom для работы с модемом
Поговорим теперь о работе с документами. SLS появилась задолго до чего-то вроде LibreOffice или OpenOffice. В Linux в начале 1990-х ничего такого не было. Вместо этого, если вам нужен был текстовый процессор, то вы, вероятнее всего, загрузили бы MS-DOS и запустили бы нечто вроде WordPerfect или шароварного GalaxyWrite.
Однако, все системы на Unix включали в себя набор простых утилит для форматирования текста — nroff
и troff
. В Linux они были собраны в пакет GNU groff
, этот пакет имелся и в SLS 1.05. Одно из испытаний, которому я подверг SLS 1.05, заключалось в создании простого текстового документа с использованием nroff
.
Простой текстовый документ в nroff
Текст, отформатированный с помощью nroff
Оконная система X
Для того, чтобы заставить систему работать в графическом режиме с использованием оконной системы X, пришлось приложить больше усилий, чем можно было ожидать, почитав документацию к SLS:
Запуск оконной системы X на вашем компьютере может слегка осложниться, преимущественно из-за того, что существует множество типов видеокарт. Linux X11 поддерживает только видеокарты VGA, но существует множество таких карт, а полностью поддерживаются лишь некоторые из них. SLS поставляется с двумя серверами оконной системы X.
Первый, полноцветный XFree86, поддерживает, полностью или частично, такие карты как, ET3000, ET4000, PVGA1, GVGA, Trident, S3, 8514, видеокарты с ускорением графики, ATI plus, и другие.
Второй сервер, XF86_Mono, должен работать практически со всеми VGA-картами, однако, лишь в монохромном режиме. Соответственно, он использует меньше памяти и должен быть быстрее, чем цветной. Однако, он, конечно, выглядит не так приятно.
Основная конфигурационная информация оконной системы X хранится в директории /usr/X386/lib/X11/. В частности, файл Xconfig задаёт тайминги для монитора и видеокарты. По умолчанию оконная система X настроена на использование цветного сервера, но вы можете перейти на монохромный сервер x386mono, если цветной не работает нормально, так как в монохромном режиме система должна заработать с любой стандартной VGA-картой. В целом, это означает назначение в качестве ссылки на текущий X сервер /usr/X386/bin/X.
Просто отредактируйте файл Xconfig, задав тип мыши и тайминги, и введите команду startx.
Всё это звучит не слишком обнадёживающе, и, надо отметить, что то так оно и есть. Ручная настройка оконной системы X, и вправду, эксперимент не из самых простых. К счастью, в SLS 1.05 включена программаsyssetup
, которая помогает задавать различные системные параметры, включая настройки экрана для оконной системы X. После нескольких ответов на вопросы и экспериментов с настройками, я наконец смог запустить X!
Программа syssetupОднако, стоит помнить, что перед нами X из 1994-го года, тогда даже ещё не существовало концепции рабочего стола. Среди доступных мне вариантов были FVVM и TWM. TWM было несложно настроить, он обеспечил простое, но функциональное графическое окружение.
TWMЗавершение работы
Как ни приятно было мне вспоминать о том, с чего всё начиналось, пришло время возвращаться к моему современному рабочему столу. Моя первая Linux работала на 32-х битном 386-м компьютере с 8 Мб памяти и с жёстким диском на 120 Мб. Сегодня моя машина не в пример мощнее. На ней я могу сделать куда больше, чем в былые времена. Тут к моим услугам 64-битный Intel Core i5, 4 Гб памяти и SSD-диск на 128 Гб. На всём этом работает ядро Linux 4.11.11.
После того, как мои эксперименты с SLS 1.05 окончились, настало время прощаться.
Выключение компьютераДо встречи, ядро Linux 1.0. Приятно видеть, как далеко ты продвинулось за эти годы.
Уважаемые читатели! А как вы отпраздновали день рождения ядра Linux?
Автор: ru_vds