Недавно мы делились с вами материалом об эволюции Linux. Сегодня, в честь недавнего 26-го дня рождения ядра операционной системы, публикуем рассказ о том, с чего всё начиналось.
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/4f0/a1d/304/4f0a1d304d658de6a7dbfffd766433c3.jpg)
Впервые я установил 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, мне нужно было загрузить систему с установочного гибкого диска, а затем запустить инсталлятор из приглашения командной строки.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/513/8ce/d81/5138ced813a11418f02f9faa9506cc55.png)
Запуск установки SLS 1.05 из командной строки
Приятной мелочью, которая появилась в SLS 1.05, была поддержка цветного текстового инсталлятора. Когда я выбрал цветной режим, экран установщика стал светло-синим, буквы выводились чёрным. Всё-таки, это симпатичнее примитивного чёрного экрана с белым текстом
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/633/89a/d97/63389ad971c435161c592f9ed691f4b3.png)
Цветной текстовый экран установки в SLS 1.05
Установщик SLS устроен просто, перед нами — только текст, возникающий в нижней части экрана, однако своё дело он делает. Ответив на несколько несложных вопросов, я смог создать раздел для Linux, отформатировать его в файловой системе ext2, и установить систему. Установка SLS 1.05, включая X и инструменты разработки, потребовала 85 Мб дискового пространства. По современным стандартам это очень мало, но когда вышло ядро Linux 1.0, всё ещё были в ходу диски на 120 Мб.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e87/499/87c/e8749987cc397587a5d0c291c2b3831a.png)
Создание раздела, форматирование в ext2 и установка Linux
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/641/c67/0d3/641c670d3aeb8836778324b77f9302a7.png)
Первая загрузка
Когда я впервые загрузил только что установленную Linux, в памяти всплыли некоторые детали об этой ранней версии системы. Для начала — Linux не занимает слишком много памяти. После загрузки ОС и испытания нескольких утилит, Linux заняла меньше 4 Мб. На системе с 16 Мб памяти это означало, что для запуска программ ещё осталось достаточно места.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e90/490/cb7/e90490cb7d79cace6c0ccba34e5c7fa7.png)
Проверка файловой системы и свободного места на диске
В Linux 1.0 уже существует знакомая нам файловая система
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/293/b6a/8a2/293b6a8a2d73e28b89107528aa6c4611.png)
Файловая система /proc
Директория
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/401/797/2c0/4017972c00addf708c4a819c9b3f92f2.png)
Папка /etc
После того, как система загрузилась, пришло время приниматься за работу. Итак, что можно сделать с помощью этой ранней ОС, основанной на ядре Linux?
Начнём с управления файлами. Каждый раз, когда вы входите в систему, SLS напоминает об оболочке Softlanding (Softlanding menu shell, MESH) — программе для работы с файлами, которую современные пользователи могут счесть похожей на Midnight Commander. Пользователи в 1990-х сравнили бы MESH с Norton Commander, вероятно, самым популярным файловым менеджером стороннего разработчика для MS-DOS.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c2f/9e1/30e/c2f9e130ebfeae8aaa41fa5edd3a7b9d.png)
MESH
Помимо MESH, в SLS 1.05 включено не так уж и много полноэкранных приложений. Однако, тут можно найти знакомые инструменты, такие, как почтовый клиент Elm, программируемый редактор GNU Emacs и почтенный Vim.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/8f0/e26/82b/8f0e2682bb223b04df100a48886f10bf.png)
Почтовый клиент Elm
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/047/3a2/c53/0473a2c53f613dbe4d13bbe1c0146369.png)
Редактор GNU Emacs
В SLS 1.05 есть даже тетрис, играть можно прямо в терминале.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/9bf/b7f/eeb/9bfb7feeb3dab49e7342dd890a60d0a6.png)
Тетрис
В 1990-е самым распространённым способом доступа в интернет было модемное соединение, поэтому в SLS 1.05 было включено приложение Minicom для работы с модемом. Minicom обеспечивало прямое соединение с модемом и требовало от пользователя вводить AT-команды для того, чтобы, например, набрать номер или разорвать соединение. Приложение, кроме того, поддерживало макросы и другие удобные возможности, которые облегчали подключение к модемному пулу местного провайдера.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/f3c/726/9d4/f3c7269d4b9efeac6b8e31594c036a11.png)
Приложение Minicom для работы с модемом
Поговорим теперь о работе с документами. SLS появилась задолго до чего-то вроде LibreOffice или OpenOffice. В Linux в начале 1990-х ничего такого не было. Вместо этого, если вам нужен был текстовый процессор, то вы, вероятнее всего, загрузили бы MS-DOS и запустили бы нечто вроде WordPerfect или шароварного GalaxyWrite.
Однако, все системы на Unix включали в себя набор простых утилит для форматирования текста —
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/2bf/946/0d4/2bf9460d46dd6c1f4e1146c2120263ad.png)
Простой текстовый документ в nroff
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/a17/e7e/ee1/a17e7eee16310b8184c280877ac2e0c6.png)
Текст, отформатированный с помощью nroff
Для того, чтобы заставить систему работать в графическом режиме с использованием оконной системы X, пришлось приложить больше усилий, чем можно было ожидать, почитав документацию к SLS:
![image](https://habrastorage.org/getpro/habr/post_images/4f0/a1d/304/4f0a1d304d658de6a7dbfffd766433c3.jpg)
Впервые я установил 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, мне нужно было загрузить систему с установочного гибкого диска, а затем запустить инсталлятор из приглашения командной строки.
![](https://habrastorage.org/getpro/habr/post_images/513/8ce/d81/5138ced813a11418f02f9faa9506cc55.png)
Запуск установки SLS 1.05 из командной строки
Приятной мелочью, которая появилась в SLS 1.05, была поддержка цветного текстового инсталлятора. Когда я выбрал цветной режим, экран установщика стал светло-синим, буквы выводились чёрным. Всё-таки, это симпатичнее примитивного чёрного экрана с белым текстом
![](https://habrastorage.org/getpro/habr/post_images/633/89a/d97/63389ad971c435161c592f9ed691f4b3.png)
Цветной текстовый экран установки в SLS 1.05
Установщик SLS устроен просто, перед нами — только текст, возникающий в нижней части экрана, однако своё дело он делает. Ответив на несколько несложных вопросов, я смог создать раздел для Linux, отформатировать его в файловой системе ext2, и установить систему. Установка SLS 1.05, включая X и инструменты разработки, потребовала 85 Мб дискового пространства. По современным стандартам это очень мало, но когда вышло ядро Linux 1.0, всё ещё были в ходу диски на 120 Мб.
![](https://habrastorage.org/getpro/habr/post_images/e87/499/87c/e8749987cc397587a5d0c291c2b3831a.png)
Создание раздела, форматирование в ext2 и установка Linux
![](https://habrastorage.org/getpro/habr/post_images/641/c67/0d3/641c670d3aeb8836778324b77f9302a7.png)
Первая загрузка
Система
Когда я впервые загрузил только что установленную Linux, в памяти всплыли некоторые детали об этой ранней версии системы. Для начала — Linux не занимает слишком много памяти. После загрузки ОС и испытания нескольких утилит, Linux заняла меньше 4 Мб. На системе с 16 Мб памяти это означало, что для запуска программ ещё осталось достаточно места.
![](https://habrastorage.org/getpro/habr/post_images/e90/490/cb7/e90490cb7d79cace6c0ccba34e5c7fa7.png)
Проверка файловой системы и свободного места на диске
В Linux 1.0 уже существует знакомая нам файловая система
/proc
, хотя она и не предоставляет столько же полезных сведений, сколько можно увидеть в современных версиях ОС. В Linux 1.0 /proc
включает в себя интерфейсы к базовым средствам получения сведений о системе, таким, как meminfo
и stat
.![](https://habrastorage.org/getpro/habr/post_images/293/b6a/8a2/293b6a8a2d73e28b89107528aa6c4611.png)
Файловая система /proc
Директория
/etc
в этой системе довольно-таки пустынна. Интересно отметить, что SLS 1.05 заимствует скрипты rc
из BSD Unix для управления запуском системы. Всё запускается с помощью rc
скриптов, с изменениями локальной системы, заданными в файле rc.local
. Позднее большинство дистрибутивов Linux будут использовать более знакомые скрипты init
из Unix System V, затем — систему инициализации systemd.![](https://habrastorage.org/getpro/habr/post_images/401/797/2c0/4017972c00addf708c4a819c9b3f92f2.png)
Папка /etc
Работа
После того, как система загрузилась, пришло время приниматься за работу. Итак, что можно сделать с помощью этой ранней ОС, основанной на ядре Linux?
Начнём с управления файлами. Каждый раз, когда вы входите в систему, SLS напоминает об оболочке Softlanding (Softlanding menu shell, MESH) — программе для работы с файлами, которую современные пользователи могут счесть похожей на Midnight Commander. Пользователи в 1990-х сравнили бы MESH с Norton Commander, вероятно, самым популярным файловым менеджером стороннего разработчика для MS-DOS.
![](https://habrastorage.org/getpro/habr/post_images/c2f/9e1/30e/c2f9e130ebfeae8aaa41fa5edd3a7b9d.png)
MESH
Помимо MESH, в SLS 1.05 включено не так уж и много полноэкранных приложений. Однако, тут можно найти знакомые инструменты, такие, как почтовый клиент Elm, программируемый редактор GNU Emacs и почтенный Vim.
![](https://habrastorage.org/getpro/habr/post_images/8f0/e26/82b/8f0e2682bb223b04df100a48886f10bf.png)
Почтовый клиент Elm
![](https://habrastorage.org/getpro/habr/post_images/047/3a2/c53/0473a2c53f613dbe4d13bbe1c0146369.png)
Редактор GNU Emacs
В SLS 1.05 есть даже тетрис, играть можно прямо в терминале.
![](https://habrastorage.org/getpro/habr/post_images/9bf/b7f/eeb/9bfb7feeb3dab49e7342dd890a60d0a6.png)
Тетрис
В 1990-е самым распространённым способом доступа в интернет было модемное соединение, поэтому в SLS 1.05 было включено приложение Minicom для работы с модемом. Minicom обеспечивало прямое соединение с модемом и требовало от пользователя вводить AT-команды для того, чтобы, например, набрать номер или разорвать соединение. Приложение, кроме того, поддерживало макросы и другие удобные возможности, которые облегчали подключение к модемному пулу местного провайдера.
![](https://habrastorage.org/getpro/habr/post_images/f3c/726/9d4/f3c7269d4b9efeac6b8e31594c036a11.png)
Приложение Minicom для работы с модемом
Поговорим теперь о работе с документами. SLS появилась задолго до чего-то вроде LibreOffice или OpenOffice. В Linux в начале 1990-х ничего такого не было. Вместо этого, если вам нужен был текстовый процессор, то вы, вероятнее всего, загрузили бы MS-DOS и запустили бы нечто вроде WordPerfect или шароварного GalaxyWrite.
Однако, все системы на Unix включали в себя набор простых утилит для форматирования текста —
nroff
и troff
. В Linux они были собраны в пакет GNU groff
, этот пакет имелся и в SLS 1.05. Одно из испытаний, которому я подверг SLS 1.05, заключалось в создании простого текстового документа с использованием nroff
.![](https://habrastorage.org/getpro/habr/post_images/2bf/946/0d4/2bf9460d46dd6c1f4e1146c2120263ad.png)
Простой текстовый документ в nroff
![](https://habrastorage.org/getpro/habr/post_images/a17/e7e/ee1/a17e7eee16310b8184c280877ac2e0c6.png)
Текст, отформатированный с помощью 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?