История Linux начинается в 1991 году, когда студент Линус Торвальдс из Финляндии начал работать над проектом новой операционной системы для персональных компьютеров.
Торвальдс был разочарован имеющимися на тот момент операционными системами, такими как MS-DOS и Minix, и решил создать свою собственную систему, основанную на функциональных возможностях UNIX.
В августе 1991 года Торвальдс опубликовал свою систему в Интернете и назвал ее “Linux”, вдохновившись своим именем и имени своего сервера, Linus’s Minix.
Linux был разработан как открытое программное обеспечение, что означает, что его исходный код доступен всем и может быть изменен и распространен свободно. Это привлекло внимание множества разработчиков, которые начали вносить свой вклад, улучшая и расширяя функциональность системы.
Со временем Linux получил широкое признание благодаря своей стабильности, безопасности, гибкости и мощности. Он стал одной из самых популярных операционных систем в области серверного компьютера и мобильных устройств, таких как смартфоны и планшеты.
Различные дистрибутивы Linux были созданы, чтобы обеспечить удобный и пользовательский интерфейс для широкого круга пользователей. GNU/Linux-системы распространяются в основном бесплатно в виде различных дистрибутивов — в форме, готовой для установки и удобной для сопровождения и обновлений, — и имеющих свой набор системных и прикладных компонентов, как свободных, так и проприетарных. Некоторые из наиболее популярных дистрибутивов включают в себя Ubuntu, Fedora, Debian и Linux Mint.
Сегодня Linux используется во многих сферах, включая веб-серверы, суперкомпьютеры, мобильные устройства, смарт-телевизоры и автомобили. Он является платформой для различных программ и приложений, а также базой для разработки новых технологий. Различные дистрибутивы Linux обладают различной степенью совместимости со стандартом POSIX.
Вклад Линуса Торвальдса в развитие Linux невозможно переоценить. Его работа и открытый подход стали фундаментом свободного программного обеспечения и вдохновили многих разработчиков по всему миру.
Семейство систем, включающих в качестве компонентов основные программы проекта GNU, такие как bash, gcc, glibc, coreutils и ряд других, иногда идентифицируется как GNU/Linux. Так как традиционно большинство систем было именно таким, под «Linux» обычно подразумеваются именно они; притом существует спор об именовании GNU/Linux. Существует проект стандартизации внутренней структуры Linux-систем — Linux Standard Base, часть документов которого зарегистрирована в качестве стандартов ISO; но далеко не все системы сертифицируются по нему, и в целом для Linux-систем не существует какой-либо общепризнанной стандартной комплектации или формальных условий включения в семейство. Однако есть ряд систем на базе ядра Linux, но не имеющих в основе зависимости от программ GNU, которые поэтому “GNU/Linux” не называют, в частности, таковы мобильные системы Android и FirefoxOS.
Linux-системы реализуются на модульных принципах, стандартах и соглашениях, заложенных в Unix в течение 1970-х и 1980-х годов. Такая система использует монолитное ядро, которое управляет процессами, сетевыми функциями, периферией и доступом к файловой системе. Драйверы устройств либо интегрированы непосредственно в ядро, либо добавлены в виде модулей, загружаемых во время работы системы.
Отдельные программы, взаимодействуя с ядром, обеспечивают функции системы более высокого уровня. Например, пользовательские компоненты GNU являются важной частью большинства Линукс-систем, включающей в себя наиболее распространённые реализации библиотеки языка Си, популярных оболочек операционной системы, и многих других общих инструментов Unix, которые выполняют многие основные задачи операционной системы.
Графический интерфейс пользователя (или GUI) в большинстве систем Linux построен на основе X.11 Window System, реже на основе более современного Wayland.
В Linux-системах пользователи работают через интерфейс командной строки (CLI), графический интерфейс пользователя (GUI), или, в случае встраиваемых систем, через элементы управления соответствующих аппаратных средств. Настольные системы, как правило, имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли. Большинство низкоуровневых компонентов Линукс, включая пользовательские компоненты GNU, использует исключительно командную строку. Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессного взаимодействия. Программа графического эмулятора терминала часто используется для доступа к командной строке с рабочего стола Linux.
Linux поддерживает множество файловых систем, включая:
1. ext2, ext3, ext4 – традиционные файловые системы Linux
2. Btrfs – современная файловая система с поддержкой снимков, сжатия и кеширования
3. XFS – высокопроизводительная файловая система для серверов
4. JFS – файловая система с отказоустойчивостью и быстрым восстановлением
5. ZFS – мощная файловая система с поддержкой снимков, зеркалирования и коррекции ошибок
6. NTFS – файловая система Windows, которую Linux поддерживает для чтения и записи
7. FAT32, exFAT – файловые системы для совместимости с другими операционными системами, в частности Dos
8. GlusterFS – распределённая файловая система, предполагающая хранение данных на нескольких серверах, и поддерживающая все преимущества Infiniband
9. HPFS – файловая система OS/2.
Это лишь несколько примеров, и на Linux можно использовать и множество других файловых систем в зависимости от конкретных потребностей и задач.
Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса. На настольных системах наибольшей популярностью пользуются пользовательские интерфейсы, основанные на таких средах рабочего стола как GNOME, KDE Plasma Desktop и Xfce, хотя также существует целый ряд других пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System, которая предоставляет прозрачность сети и позволяет графическим приложениям, работающим на одном компьютере, отображаться на другом компьютере, на котором пользователь может взаимодействовать с ними.
FVWM, Enlightenment и Window Maker — простые менеджеры окон X Window System, которые предоставляют окружение рабочего стола с минимальной функциональностью. Оконный менеджер предоставляет средства для управления размещением и внешним видом отдельных окон приложений, а также взаимодействует с X Window System. Окружение рабочего стола включает в себя оконные менеджеры как часть стандартной установки: Mutter для GNOME c 2011 года, KWin для KDE c 2000 года, Xfwm для Xfce с 1998 года, хотя пользователь при желании может выбрать другой менеджер окон.
Наиболее известные дистрибутивы:
1. Ubuntu
2. Fedora
3. Debian Linux
4. CentOS
5. Arch Linux
6. openSUSE
7. Mint
8. Red Hat Enterprise Linux
9. Kali Linux
10. Elementary OS
11. Elastix linux
12. OpenWrt