Дипломная работа Специальность



бет6/21
Дата18.01.2023
өлшемі0,55 Mb.
#165830
түріДиплом
1   2   3   4   5   6   7   8   9   ...   21
Байланысты:
Горохов С.Х. АДМИНИСТРИРОВАНИЕ LINUX-СИСТЕМ (2)

GNU/Linux


В данном пункте мы исследовали историю создания ядра Linux и историю становления сообщества свободного программного обеспечения GNU.
В 1983 году выпускник Гарварда, Ричард Столлман объявил о создании проекта GNU (GNU is Not Unix) – попытки создания свободной Unix-подобной системы с нуля, без использования оригинального исходного кода.
Позже Столлман написал свой Манифест GNU, который впоследствии стал основой лицензии GPL (General Public License). С программным обеспечением (ПО) под такой лицензией пользователь имел право его копировать, дорабатывать, продавать и т.п., при условии, что данное ПО будет распространяться под лицензией GPL (2, с.18).
Первой свободной программой проекта стал текстовый редактор Emacs. Со временем идея создания свободного программного обеспечения распространялась, увеличилось число разработчиков и программ. Однако полностью заменить ядро Unix проекту не удавалось. Основной проект, призванный заменить Unix, ядро GNU/Hurd находится в разработке по сей день.
В это время Линус Торвальдс из Хельсинки с детства увлекается математикой и программированием. Со школьных лет он получал стипендии за успехи в математике. В юности он прочитал книгу Эндрю Таненбаума «Операционные системы: разработка и реализация». В книге автор описывает разработку собственной системы Minix на базе Unix. Линус, вдохновившись примерами из книги, купил компьютер и установил на нем Minix. Обнаружив недостатки в системе, он начал писать собственный эмулятор терминала с многозадачностью, который вскоре перерос в отдельную полноценную операционную систему.
В 1991 году, Линус Торвальдс опубликовал в общий доступ исходный код ядра Freax (Free/Freak Unix), который позже получил название Linux. Система обрела большую популярность, это заметил и Ричард Столлман, который увидел в связке из набора свободных программ GNU и ядра Linux идеальную свободную Unix-подобную операционную систему. Так, появились дистрибутивы GNU/Linux, которые распространялись свободно под лицензией GPL.
Позже вдохновитель Торвальдса Эндрю Таненбаум неожиданно выступил резкой критикой против системы Linux, раскритиковав использование монолитного ядра на базе процессоров х86. Таненбаум считал, что такой подход приведет к тому, что Linux вскоре устареет. Критика сильно задела Линуса, но он настаивал на своем и не собирался вносить изменений в ядро. Однако Таненбаум оказался не прав, операционная система продолжала обретать популярность и остается таковой в нынешнее время.
Большинство пользователей для установки Linux используют дистрибутивы, включающие не только набор программ, но и решающие ряд задач по обслуживанию, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки.
На данный момент количество дистрибутивов Linux огромно. Все благодаря открытости и свободе распространения. Основные дистрибутивы можно разделить на категории по пакетным форматам (2, с.19):

  • DEB-based – Debian, Ubuntu, Mint;

  • RPM-based – Red Hat, Fedora, SUSE;

  • Pacman-based – Arch Linux, Manjaro;

  • Source-based – Slackware, Gentoo.

Помимо описанной выше классификации можно разделить дистрибутивы по общему назначению:

  • серверные: Debian, CentOS, Red Hat;

  • клиентские: Ubuntu, Mint, Manjaro;

  • специальные: Fedora (тестирование), Kali Linux (информационная безопасность).

Выбирая дистрибутивы Linux для создания вычислительной сети, мы создали следующую таблицу сравнения дистрибутивов (табл. 1):
Таблица 1
Сравнение дистрибутивов Linux

Критерий

Ubuntu

Debian

CentOS

RHEL

Arch Linux

Gentoo

Простота установки

5

5

4

3

2

1

Программное обеспечение

5

5

5

4,5

5

5

Производительность

4

5

4,5

4,5

4,5

5

Стабильность

3,5

5

5

5

4

4,5

Гибкость

4

5

5

4

4,5

4,5

Безопасность

4

5

5

4

4,5

5

Итого

25,5

30

28,5

25

24,5

25

В выше описанной таблице (табл. 1) мы сравнили 7 популярных универсальных дистрибутивов Linux: Ubuntu, Debian, CentOS, Red Hat Enterprise Linux (RHEL), Arch Linux, Gentoo. Мы оценили дистрибутивы в пятибалльной системе по следующим критериям: простота установки, программное обеспечение, производительность, стабильность, гибкость и безопасность. Сравнив дистрибутивы по всем критериям, мы пришли к выводу, что для проектирования сети будем использовать дистрибутивы Ubuntu, Debian и CentOS.


Таким образом, можно говорить, как минимум, о двух основных типах дистрибутивов Linux: клиентские и серверные.
    1. Ядро Linux


В данном пункте мы исследовали особенности ядра Linux, особенности архитектуры, структуру файловой системы и основные команды.
Большая часть ядра Linux написано на языке С. Части, повышающие производительность, архитектурно-зависимые функции и загрузчик, написаны на ассемблере (7, с.352).
Ядро Linux монолитное с поддержкой загружаемых модулей. Основная его особенность заключается в том, что оно обрабатывает все процессы, кроме пользовательских приложений. То есть управление процессами и памятью, драйверы, виртуальная файловая система, сетевой стек и многое другое – это всё функции ядра, которые к тому же имеют самый высокий уровень доступа к аппаратной части компьютера.
Также стоит понимать, что ядро хоть и монолитное, но состоит из внутренних модулей, которые загружаются только по необходимости, а не все сразу. Некоторые модули хранятся отдельно от ядра, в основном это дополнительные драйверы устройств.
В системах Linux присутствует непривычная работа с драйверами устройств. Особенности работы каждого конкретного устройства полностью скрыты в коде драйвера. Запросы пользователей посылаются через стандартный набор системных вызовов, который не зависит от конкретного драйвера. Эти запросы отображаются на аппаратно-зависимые функции, которые управляют реальными устройствами. Именно набор этих функций и играют роль драйвера устройств. Программный интерфейс реализован таким образом, что драйверы могут быть построены отдельно от ядра, и связаны с запущенным ядром по мере надобности. Это свойство драйверов в Linux называется модульностью и сильно упрощает написание и управление драйверами.
Таким образом, драйвера в Linux могут быть реализованы как часть ядра, а могут быть реализованы как модули, устанавливаемые в ядро по мере необходимости. То есть, в некоторых дистрибутивах, например Ubuntu, можно работать с подключенным устройством сразу без установки драйверов. Исключениями являются видеокарты и другие устройства с проприетарными (лицензионными) драйверами, что, на самом деле, противоречит принципам свободного программного обеспечения.
Модульность ядра также предлагает отдельную загрузку (инициализацию) ядра и пользовательского окружения.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   21




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет