Лекция 22
Тема: Операционная система Linux
Linux — общее название Unix-подобных операционных систем, основанных на одноимённом ядре. Ядро Linux создаётся и распространяется в соответствии с моделью разработки свободного и открытого программного обеспечения. Поэтому общее название не подразумевает какой-либо единой «официальной» комплектации Linux; они распространяются в основном бесплатно в виде различных готовых дистрибутивов, имеющих свой набор прикладных программ и уже настроенных под конкретные нужды пользователя.
На начальном этапе Linux бесплатно разрабатывался только энтузиастами-добровольцами, но с успехом Linux и его массовым коммерческим использованием дорабатывать ОС и вносить свой вклад стали и компании, со временем став значительной силой. Подавляющее большинство ПО в современных дистрибутивах по-прежнему доступно по свободным лицензиям, как правило, за исключением небольшого количества проприетарных компонентов.
В настоящее время системы Linux лидируют на рын-ках смартфонов (Android занимает 64,1 % рынка), интернет-серверов (60 %), самых мощных суперкомпьютеров (93,8 %), а также, согласно Linux Foundation, в дата-центрах и на предприятиях, занимают половину рынка встраиваемых систем, имеют значительную долю рынка нетбуков (32 % на 2009 год). На рынке домашних компьютеров Linux прочно занимает 3 место (по разным данным, от 1 до 5 %). Согласно исследованию Goldman Sachs, в целом, рыночная доля Linux среди электронных устройств составляет около 42 %.
С тех пор, как ядро Linux было создано для x86-ПК, оно бы-ло портировано на множество платформ, включая x86-64, PowerPC и ARM.
Linux работает в роутерах, телевизорах и игровых приставках. ОС на ядре продолжают быстро совершенствоваться (например, новая версия ядра выпускается каждые 2-3 месяца, с 2005 года в разработке ядра принимают участие более 7800 разработчиков из более чем 800 различных компаний) и набирать популярность (за 9 месяцев с мая 2011 по январь 2012 доля Linux выросла на 64 %).
Наиболее популярными дистрибутивами являются: deb-based (Debian, Mint, Ubuntu), RPM-based (RedHat, Fedora, Mageia,OpenSUSE), source-based (Slackware, Gentoo), pacman-based Arch Linux.
Обзор ОС Linux
ОС Linux, как и ОС Unix, можно разделить на основных компонента: ядро, shell, файловую структуру, утилиты.
Ядро - это базовая программа, которая управляет выполнением других программ и аппаратными средствами.
Shell - обеспечивает функционирование интерфейса пользователя, принимая от него команды и посылая их в ядро для исполнения.
Файловая структура - представляет собой систему хранения файлов на ЗУ (каталоги, подкаталоги).
Утилиты - специализированные программы для выполнения тех или иных операций (редакторы, коммуникационные программы...)
Графический интерфейс
Сейчас существуют два самых распространенных графических интерфейса под Linux:
1) KDE - K Desktop Environment.
2) GNOME - GNU Network Object Model Environment.
Оба этих проекта имеют большое значение в продвижении Linux и в конкуренции с Windows.
Технические основы:
GUI - это набор иконок, меню, диалогов, панелей, окон, и других графических элементов, позволяющих пользователям легко работать с компьютером и приложениями.
Развитие графических интерфейсов началось в начале 80-х годов.
Развитие GUI для Linux началось с работы Фонда бесплатного программ-ного обеспечения, когда была сделана попытка разработать единый графиче-ский интерфейс для всех Unix-подобных систем. Организация OSF выступала за создание единого графического интерфейса для всех вариантов Unix. Эта работа привела к созданию X Window System и OSF/Motif, и общим результатом стала CDE (Common Desktop Enviroment - общая десктопная среда). В 1996 году технология CDE была передана The Open Group.
Структура, разработанная в CDE, стала общей для всех десктопных сред Unix/Linux:
* Интерфейс взаимодействия с железом. Система X Window формирует базу всех графических интерфейсов. Она предоставляет простейшие графические возможности (цвета, рисование графических примитивов, вывод текста, и т.д.), и она запущена как сервер, к которому подключаются программы и дают различные команды. X Window работает одинаково на любой железе и в любой OS. Например, клиентские программы могут быть запущены под Unix, а сервер - под Windows.
* Набор элементов. В CDE это Motif. Набор элементов содержит библиотеки для написания приложений, использующих меню, кнопки, иконки и другие графические элементы. Он является ответственным за то, каким образом X Window будет все это отрисовывать.
* Графическая среда. Использует интерфейс взаимодействия с железом, на-бор элементов и различные дополнения, которые могут включать: -менеджер окон, контролирующий расположение и внешний вид окон; -менеджер сессий, контролирующий пользовательские элементы и настройки; -файловый менеджер и менеджер рабочего стола; -Приложения (калькулятор, блокнот, etc); -Система связи между приложениями.
В середине 90-х, когда создавался Linux, началась разработка графической среды по аналогу с CDE, но на основе клона X Window System под названием XFree86. Сначала была разработана KDE, известная сейчас как наиболее полная графическая среда, и позже появился Gnome. Сейчас они могут быть запущены на любой Unix-системе, но все равно они по привычке ассоциируются с Linux.
Gnome и KDE - почему их два?
В Linux-сообществе постоянно идут дискуссии по этому вопросу. А не лучше ли было бы создать единую графическую среду в противовес Windows, чтобы Linux смотрелся бы в графической среде всегда одинаково? Gnome и KDE имеют различные библиотеки элементов, различное оформление рабочего стола и различные модели разработки.
Существование двух различных графических сред для Linux обьясняется вопросами лицензирования. Проект KDE, основанный в 1996 году, частично основывался на библиотеках QT от норвежской компании Trolltech, которая предоставляла их под лицензией BSD, отличной от GPL. Поэтому в 1997 году появился проект Gnome, целью которого была разработка графической среды, удовлетворяющей лицензии GPL. Потом Trolltech сменила лицензию QT на более подходящую для Open Source-проектов, но Gnome уже развивался. Сейчас у обоих проектов есть свои энтузиасты и защитники, и идет работа для улучшения их совместимости (например, создан общий стандарт Drag&drop между KDE и Gnome приложениями).