- Вся история Linux. Часть I: с чего все началось
- Эпоха «свободного рынка»
- Приход коммерции и рождение Unix
- Назад — к истокам свободного ПО
- Рождение Linux и первых дистрибутивов
- Операционные системы семейства Linux
- Что такое операционная система Linux
- Где используется
- Преимущества и недостатки перед другими ОС
- Основные характеристики ОС Linux
- Ключевые концепции, как выглядит
- Клоны Microsoft и MacOS
- Интуитивно понятный интерфейс UNIX-систем
- Кроссплатформенные рабочие столы
- Перечень операционных систем на базе ядра Linux
Вся история Linux. Часть I: с чего все началось
В этом году ядру Linux исполняется 27 лет. ОС на его базе используют многие корпорации, государственные, исследовательские учреждения и дата-центры по всему миру.
За более чем четверть века вышло немало статей (в том числе и на Хабре), рассказывающих о разных отрезках истории Linux. В этой серии материалов мы решили выделить наиболее значимые и интересные факты, связанные с этой операционной системой.
Начнем с разработок, которые предшествовали Linux, и истории появления первой версии ядра.
Эпоха «свободного рынка»
Появление Linux считается одним из важнейших событий в истории открытого ПО. Рождение этой операционной системы во многом обязано идеям и инструментам, которые формировались и «зрели» десятилетиями в среде разработчиков. Поэтому для начала обратимся к истокам «опенсорсного движения».
На заре 50-х большая часть программного обеспечения в США создавалась сотрудниками университетов и лабораторий и распространялась без каких-либо ограничений. Это делалось с целью упрощения обмена знаниями в научной среде. Первым опенсорсным решением того периода считается система A-2, написанная для ЭВМ UNIVAC Remington Rand в 1953 году.
В те же годы сформировалась первая группа разработчиков свободного ПО — SHARE. Они работали по модели «совместного однорангового производства». Результатом труда этой группы ближе к концу 50-х стала одноименная ОС.
Эта система (и другие продукты SHARE) пользовалась популярностью у производителей компьютерного оборудования. Благодаря политике открытости они могли предложить клиентам не только аппаратное, но и программное обеспечение без дополнительных затрат.
Приход коммерции и рождение Unix
В 1959 году компания Applied Data Research (ADR) получила заказ от организации RCA — написать программу для автозаполнения блок-схем. Разработчики выполнили работу, но не сошлись с RCA в цене. Чтобы не «выбрасывать» готовый продукт, в ADR переделали решение для платформы IBM 1401 и начали самостоятельно его реализовывать. Однако продажи шли не очень хорошо, так как многие пользователи ждали бесплатную альтернативу решению ADR, которую планировали в IBM.
В ADR не могли допустить выпуск бесплатного продукта с аналогичной функциональностью. Поэтому разработчик Мартин Гетц (Martin Goetz) из ADR подал патент на программу и в 1968 году первым в истории США получил его. С этого момента принято отсчитывать эпоху коммерциализации в индустрии разработки — из «бонуса» к оборудованию ПО превратилось в самостоятельный продукт.
Приблизительно в то же время небольшая команда программистов из Bell Labs начала работу над операционной системой для мини-компьютера PDP-7 — Unix. Unix создавали в качестве альтернативы другой ОС — Multics.
Последняя была слишком сложной и работала только на платформах GE-600 и Honeywell 6000. Переписанная на языке СИ Unix должна была стать портативной и более простой в использовании (во многом благодаря иерархической файловой системе с единым корневым каталогом).
В 50-х холдинг AT&T, в состав которого на тот момент входила Bell Labs, подписал соглашение с правительством США, запрещающее корпорации продавать программное обеспечение. По этой причине первые пользователи Unix — научные организации — получали исходный код ОС бесплатно.
AT&T отдалилась от концепции свободного распространения ПО в начале 80-х. В результате вынужденного разделения корпорации на несколько компаний запрет на продажу ПО перестал действовать, и холдинг прекратил бесплатное распространение Unix. Разработчикам грозили исками за несанкционированный обмен исходным кодом. Угрозы не были беспочвенными — с 1980 года компьютерные программы стали объектом авторского права в США.
Не всех разработчиков устраивали условия, которые диктовали в AT&T. Поисками альтернативного решения занялась группа энтузиастов из Калифорнийского университета в Беркли. В 70-х учебное заведение получило лицензию от AT&T, и энтузиасты начали создавать на его основе новый дистрибутив, который впоследствии стал Unix Berkeley Software Distribution, или BSD.
Открытая Unix-подобная система возымела успех, на что сразу обратили внимание в AT&T. Компания подала в суд, и авторам BSD пришлось удалить и заменить весь задействованный исходный код Unix. Это немного замедлило распространение Berkeley Software Distribution в те годы. Последняя версия системы вышла в 1994 году, но сам факт появления свободной и открытой ОС стал важной вехой в истории опенсорсных проектов.
/ Flickr / Christopher Michel / CC BY / Фото обрезано
Назад — к истокам свободного ПО
В конце 70-х сотрудники Массачусетского технологического института написали драйвер для принтера, установленного в одной из аудиторий. Когда бумага застревала и создавалась очередь из заданий на печать, пользователи получали уведомление с просьбой устранить проблему. Позже в отделе появился новый принтер, для которого сотрудники захотели добавить такую функцию. Но для этого нужен был исходный код первого драйвера. Штатный программист Ричард Мэттью Столлман (Richard M. Stallman) запросил его у коллег, но получил отказ — выяснилось, что это конфиденциальная информация.
Этот незначительный эпизод, возможно, стал одним из судьбоносных в истории свободного ПО. Столлман негодовал из-за сложившегося положения вещей. Его не устраивали ограничения, накладываемые на обмен исходным кодом в ИТ-среде. Поэтому Столлман решил создать открытую операционную систему и позволить энтузиастам свободно вносить в нее изменения.
В сентябре 1983 года он объявил о создании проекта GNU — GNU’s Not UNIX («GNU не Unix»). В его основе лежал манифест, который послужил и базисом для лицензии на свободное программное обеспечение — GNU General Public License (GPL). Этот шаг стал началом активного движения за открытое ПО.
Несколько лет спустя профессор Амстердамского свободного университета Эндрю Таненбаум (Andrew S. Tanenbaum) в качестве учебного пособия разработал Unix-подобную систему Minix. Он хотел сделать ее максимально доступной для студентов. Издатель его книги, к которой прилагалась ОС, настаивал хотя бы на номинальной плате за работу с системой. Эндрю и издатель пришли к компромиссу по цене лицензии в $69. В начале 90-х Minix завоевала популярность среди разработчиков. И ей было суждено стать основой для разработки Linux.
/ Flickr / Christopher Michel / CC BY
Рождение Linux и первых дистрибутивов
В 1991 году молодой программист из Хельсинкского университета Линус Торвальдс осваивал Minix. Его эксперименты с ОС переросли в работу над совершенно новым ядром. 25 августа Линус устроил открытый опрос группы пользователей Minix о том, что их не устраивает в этой ОС, и анонсировал разработку новой операционной системы. В августовском письме есть несколько важных тезисов о будущей ОС:
- система будет бесплатной;
- система будет похожа на Minix, но исходный код будет абсолютно другим;
- система не будет «большой и профессиональной, как GNU».
25 августа принято считать днем рождения Linux. Сам Линус ведет отсчет от другой даты — 17 сентября. Именно в этот день он загрузил первый релиз Linux (0.01) на FTP-сервер и отправил электронное письмо людям, проявившим интерес к его анонсу и опросу. В исходном коде первого релиза сохранилось слово «Freaks». Так Торвальдс планировал назвать свое ядро (комбинация слов «free», «freak» и Unix). Администратору FTP-сервера не понравилось название, и он переименовал проект в Linux.
Далее последовала череда обновлений. В октябре того же года была выпущена версия ядра 0.02, а в декабре — 0.11. Изначально Linux распространялся без лицензии GPL. Это означало, что разработчики могли пользоваться ядром, модифицировать его, но не имели права перепродавать результаты своих трудов. Начиная с февраля 1992 года, все коммерческие ограничения были сняты — с релизом версии 0.12 Торвальдс изменил лицензию на GNU GPL v2. Этот шаг Линус позже назвал одним из определяющих факторов успеха Linux.
Популярность Linux в среде разработчиков Minix росла. Некоторое время обсуждения велись в фиде comp.os.minix сети Usenet. В начале 92-го создатель Minix Эндрю Таненбаум запустил в сообществе спор об архитектуре ядер, заявив, что «Linux устарел». Причина, по его мнению, заключалась в монолитном ядре ОС, которое по ряду параметров уступает микроядру Minix. Еще одна претензия Таненбаума касалась «привязки» Linux к линейке процессоров x86, которая, по прогнозам профессора, должна была кануть в небытие в ближайшее время. В полемику вступил сам Линус и пользователи обеих ОС. В результате спора сообщество разделилось на два лагеря, а у приверженцев Linux появился свой фид — comp.os.linux.
Сообщество занималось расширением функциональности базовой версии — разрабатывались первые драйверы, файловая система. Самые ранние версии Linux умещались на двух дискетах и состояли из загрузочного диска с ядром и корневого диска, который устанавливал файловую систему и несколько базовых программ из инструментария GNU.
Постепенно сообщество начало разрабатывать первые дистрибутивы на базе Linux. Большинство ранних версий создавались энтузиастами, а не компаниями.
Первый дистрибутив — MCC Interim Linux — был создан на основе версии 0.12 в феврале 1992 года. Его автор — программист из Компьютерного центра университета Манчестера — назвал разработку «экспериментом» с целью устранить некоторые недостатки в процедуре установки ядра и добавить ряд функций.
Вскоре после этого число пользовательских дистрибутивов значительно возросло. Многие из них остались локальными проектами, «прожившими» не более пяти лет, например, Softlanding Linux System (SLS). Однако были и дистрибутивы, которым удалось не только «закрепиться» на рынке, но и во многом повлиять на дальнейшее развитие опенсорсных проектов. В 1993 году состоялся релиз двух дистрибутивов — Slackware и Debian, — которые дали старт серьезным переменам в индустрии свободного ПО.
Debian создал Иан Мердок (Ian Murdock) при поддержке Free Software Foundation Столлмана. Он задумывался как «изящная» альтернатива SLS. Debian поддерживается по сей день и является одной из самых популярных разработок на базе Linux. На его основе, в свою очередь, был создан ряд других важных для истории ядра дистрибутивов — например, Ubuntu.
Что касается Slackware, это — еще один ранний и успешный проект на базе Linux. Его первая версия вышла в 1993 году. По некоторым оценкам, через два года на долю Slackware приходилось уже около 80% установок Linux. И десятилетия спустя дистрибутив оставался популярным среди разработчиков.
В 1992-м в Германии была основана компания SUSE (аббревиатура от Software- und System-Entwicklung — разработка программного обеспечения и систем). Она первой начала выпускать продукты на базе Linux для бизнес-клиентов. Первым дистрибутивом, с которым стали работать SUSE, как раз был Slackware, адаптированный для немецкоязычных пользователей.
Именно с этого момента начинается эпоха коммерциализации в истории Linux, о которой мы поговорим в следующей статье.
Источник
Операционные системы семейства Linux
Что такое операционная система Linux
Linux — операционная система, в основе которой лежат Unix-подобные системы.
Исходные коды Linux доступны для изменений и просмотров любым пользователем. На Linux распространяется авторское право Free Software Foundation, суть которого состоит в том, что все взятое бесплатно и измененное, должно бесплатно распространяться. Пользователи имеют авторские права на отдельные компоненты, но они распространяются бесплатно.
Первую версию системы ее создатель Линус Торвальдс представил в 1991 году. Он не стал разрабатывать программное обеспечение с нуля, а использовал программы проекта GNU, находящиеся в общем доступе. Символом Linux является пингвин Такс с желтыми лапами и клювом.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Где используется
В первую очередь при знакомстве с операционной системой Linux важно понять, что Linux сам по себе — это ядро. То есть основа, на которую уже будут в дальнейшем нанизываться дистрибутивы для работы с программным обеспечением. Самыми популярными в данном случае являются Ubuntu, Red Hat и Debian. В общей сложности сейчас насчитывается более 9 тысяч дистрибутивов.
Ядро Linux широко используется. В том числе для Androind и для большинства «умных» устройств на рынке, например, телевизоров и холодильников. Подавляющее количество хостингов и серверов также работают на ядре Linux. Объясняется это не только бесплатным распространением, но и тем, что Linux проста в настройке, стабильна и при отсутствии графической оболочки значительно снижает нагрузки на сервер. Встретить это ядро можно и на устройствах для чтения и там, где задачи требуют больших вычислительных кластеров и запуск баз данных.
В качестве домашней операционной системы Linux выбирают реже. Около 5% пользователей предпочитают ее конкурентам — Windows и MacOS.
Преимущества и недостатки перед другими ОС
К преимуществам Linux в сравнении с другими операционными системами можно отнести следующее:
- Особенность Linux — это практически полное отсутствие вирусов. К Linux проявляется очень мало интереса со стороны хакеров, если это касается домашних ПК, поэтому пользователям не нужно волноваться о том, как защитить свой комьютер. Существует разве что несколько рутикулов для серверов. Среди антивирусного ПО нет базы исключительно под Linux. В основном роль подобных программ заключается в определении вредоносного кода, принесенного с Windows на физических носителях.
- Подавляющее количество компонентов Linux — бесплатные, что оценят пользователи с несколькими домашними ПК. К тому же дистрибутивы разнообразны, и их можно менять. Причем не только наполнение, но и визуальную составляющую.
- В системе есть встроенный репозиторий, из которого можно установить необходимые программы без использования сторонних ресурсов.
- Большинство необходимых драйверов для оборудования уже вшито в ядро Linux. Благодаря этому устройство начнет работу сразу после подключения.
- Система по умолчанию шифрует диски, защищая информацию и файлы.
- Благодаря тому, что Linux и его дистрибутивы созданы пользователями, новые концепции мира IT-технологий очень быстро воплощаются в операционной системе.
Недостатками Linux можно назвать такие пункты как:
- У Linux могут быть проблемы с совместимостью с другими устройствами, например, принтерами, сканерами и роутерами, так как большинство из них созданы для работы с Windows. Это проблема решается сменой и настройкой дистрибутива, но это может вызвать сложности у неопытных пользователей.
- Дистрибутивов на рынке очень много, что ставит пользователя перед выбором.
- На Linux отсутствуют привычные программы вроде Photoshop, Microsoft Word и Excel.
- Большинство пакетов в Linux связаны, из-за чего при установке программ один пакет тянет за собой обновление другого пакета, что не только замедляет установку, но и вынуждает иметь подключение к интернету в тот момент.
Основные характеристики ОС Linux
Несмотря на свою непопулярность среди рядовых пользователей, ОС Linux доказала свою жизнеспособность. О ней написано множество статей, обзоров и учебных пособий. В списке возможностей Limux есть как присущие другим реализация семейства UNIX, так и абсолютно уникальные.
- Многозадачность. У ядра Linux есть функция разделения времени центрального процессора. Суть функции заключается в том, что ядро по очереди выделяет отрезок времени для выполнения каждой задачи. Таким образом, все процессы происходят независимо и не мешают друг другу.
- Многопользовательский доступ. OC Linux поддерживает одновременную работу нескольких пользователей, обеспечивая им все системные ресурсы с помощью различных удаленных терминалов. Точно так же, как и в других ОС, пользователей можно делить на группы и ограничивать их возможности чтения, записи и запуска на исполнение.
- Страничная организация памяти. Организация системной памяти Linux выполнена в виде страниц объемом 4K. В случае, если оперативная память закончится, система начнет поиск неиспользуемых страниц для того, чтобы переместить их на жесткий диск, откуда впоследствии их можно будет восстановить.
- Загрузка выполняемых модулей «по требованию». Ядро Linux работает так, что в оперативной памяти находится только нужная часть кода программа, которая используется, а остальные части остаются на диске.
- Динамическое кэширование диска. Память, приготовленная для кэша, уменьшается, если компьютеру или пользователю необходимо больше места.
- Запуск программ для других ОС. Для того, чтобы запуск программ, разработанных для других ОС, был возможен на ПК с Linux, там установлены эмуляторы DOS, Windows 3.1 и Windows 95.
- Сетевые возможности. Интеграция Linux возможна в любую локальную сеть. Поддерживаются все службы Unix, в том числе Networked File System (NFS), удаленный доступ (telnet, rlogin), работа в TCP/IP сетях, NFS, и dial-up-доступ по протоколам SLIP и PPP.
- Соответствие стандарту POSIX 1003.1. Частичная поддержка возможностей System V и BSD.
- Поддержка ряда популярных файловых систем (MINIX, Xenix, System V). Также у Linux есть своя файловая система объемом до 4 Терабайт и с именами файлов до 255 знаков.
- Прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT.
- Специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS.
Ключевые концепции, как выглядит
Пользовательская концепция — как было указано выше в списке преимуществ и характеристик Linux, эта система была разработана как многопользовательская. Linux позволяет работать одновременно любому количеству пользователей на одной машине.
Концепция «всё — файл» — концепция, позволяющая пользователю применять один интерфейс для работы с любым системным ресурсом.
Особые файлы и USB-устройства обрабатываются как файлы. Эта концепция облегчает разработку программ для ОС, потому что есть только исследованный набор операций для абстракции — «файла».
Если говорить об интерфейсах, то в этом случае есть три основные концепции:
Клоны Microsoft и MacOS
Интерфейсы, напоминающие по своей логике другие операционные системы.
Интуитивно понятный интерфейс UNIX-систем
До появления ОС Linux такие интерфейсы встречались у администраторов UNIX-серверов. Такие интерфейсы наполнены виджетами, они предполагают, к примеру, виртуальный рабочий стол, который показался слишком сложным для рядовых пользователей разработчикам других ОС.
Кроссплатформенные рабочие столы
Имеют поддержку сенсорного ввода и оптимизацией для мобильных устройств.
Перечень операционных систем на базе ядра Linux
Чтобы начать использовать Linux, необходимо в первую очередь выбрать подходящий вашим запросам дистрибутив, установить его и настроить. В сети представлены разнообразные варианты, каждый из которых создан с определенным набором доминирующих функций для решения определенных задач пользователя.
Дистрибутив — это понятие, обозначающее несколько пакетов программного обеспечения, которые включают в себя основные составляющие операционной системы, приложения, программу установки и прикладные программы.
В целом, все дистрибутивы делятся на две категории по тому, как они организуют управление программным обеспечением:
- DEB используется в Debian и дистрибутивах, основанных на нем.
- RPM используется в дистрибутиве Red Hat и других популярных дистрибутивах.
Перечень операционных систем:
- Для начала знакомства с Linux рекомендуется использовать дистрибутив Ubuntu. Это один из самых широко используемых дистрибутивов. Для загрузки доступна только 64-битная редакция новейшей версии весом 1,4 Гб.
- Debian — дистрибутив с богатой историей, проверенный временем. Debian работает почти на любом железе, в том числе на старом.
- Kubuntu — это бесплатная альтернатива Windows и Mac OS X, в которую входит все необходимое для стандартных задач. Приятный бонус этого дистрибутива KDE Telepathy (мессенджер Kubuntu), который дает возможность получать и отправлять сообщения через Facebook, ICQ, Skype и другие. В Kubuntu будет и видеопроигрыватель, а также совместимые с Microsoft Office приложения.
- Linux Mint — надежный и простой дистрибутив, один из лидеров среди пользователей, перешедших на Linux с других операционных систем.
- Deepin — вариант дистрибутива для широкого круга пользователей, сменивших Windows, как в офисе, так и на работе. Поддерживает 30 языков.
- Fedora позволяет менять графические оболочки. Дистрибутив подойдет для тех, кто любит работать с новыми версиями программ.
- CentOS — если большинство составляющих Linux бесплатные, то за этот дистрибутив необходимо заплатить. Цена объясняется повышенной стабильностью и бесплатным распространением корпоративного дистрибутива. CentOS не рассчитан для новичков и является отличным инструментом для работы с серверами.
- openSUSE — весьма популярная вариация. Им приятно пользоваться и новичкам, и разработчикам, потому что во всех продуктах openSUSE возможно получить исходный код для каждого бинарного пакета.
Дистрибутивы Linux можно разделить по направлениям использования. Например, для творчества стоит обратить внимание на Fedora Design Suite, Ubuntu Studio, KXStudio и Iro. А если компьютер используется для обучения, то хорошим выбором станут дистрибутивы Edubuntu и Uberstudent.
Источник