Skip to content

Введение в Linux

Что такое операционная система

Операционная система, сокр. ОС (англ. operating system, OS), – комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны – предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надежных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространенными операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS). С 2000-х большое распространение получили мобильные компьютеры (смартфоны и планшеты) и с ними ОС Android и iOS.

ОС является необходимой составляющей ПО ПК, без нее компьютер не может работать в принципе. ОС выполняет базовые функции:

  1. Управляет файловой системой (просмотр, удаление, копирование, перемещение, переименование);
  2. Запускает и завершает прикладные программы;
  3. Выполняет всевозможный сервис (информация о параметрах, их настройка, оптимизация работы и тд)
  4. Разработчикам прикладных программ ОС позволяет не думать о деталях реализации и функционирования устройств, предоставляя минимально необходимый набор функций по работе с ними.

Задачи операционной системы

В состав ОС непременно входят:

  • Программный модуль, управляющий файловой системой: процесс работы компьютера в сводится к обмену файлами между устройствами.
  • Командный процессор – специальная программа, которая запрашивает у пользователя команды и выполняет их. Пользователь может дать команду запуска программы, выполнения какой-либо операции над файлами (копирование, удаление, переименование), вывода документа на печать и так далее. Операционная система должна эту команду выполнить
  • Драйверы – программы, которые управляют работой устройств. Каждому устройству соответствует свой драйвер. Технология Plug and Play («Подключи и играй») позволяет автоматизировать подключение новых устройств. В процессе установки Windows определяет тип и конкретную модель установленного устройства и подключает необходимый для его функционирования драйвер. При включении компьютера производится загрузка драйверов в оперативную память. Пользователь имеет возможность вручную установить или переустановить драйверы.
  • Программные модули графического интерфейса – программы, позволяющие пользователю вводить команды с помощью мыши.

Если говорить о пользовательском интерфейсе, то операционная система должна обеспечивать удобный интерфейс не только для прикладных программ, но и для человека, работающего за терминалом. Графический интерфейс пользователя (ГИП, ГПИ) –разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.

В отличие от интерфейса командной строки, в ГПИ пользователь имеет произвольный доступ (с помощью устройств ввода: клавиатуры, мыши, джойстика и т. п.) ко всем видимым экранным объектам (элементам интерфейса) и осуществляет непосредственное манипулирование ими. Чаще всего элементы интерфейса в ГИ реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и освоение программ неподготовленными пользователями.

Отличия Windows от Linux

Windows и Linux: принципиальные отличия

  1. Файловая система

В Linux логическим дисковым томам не назначаются буквы. Вместо этого один из них назначается корневым, а остальные подключаются к указанным папкам внутри него. Все пути начинаются со слэша /, без дисков C:

Все системные файлы расположены в корневой файловой системе и разбиты по каталогам по типам/назначению. Условно говоря, все настройки находятся в /etc, исполняемые файлы в /bin и /usr/bin – и ко всему этому добру обычный пользователь (не администратор) имеет доступ только на чтение/выполнение, и то не всегда (когда дело касается системных сервисов)

Расширения у файлов в Linux – вещь совершенно необязательная. Является ли файл исполняемым, определяется специальной отметкой – по типу отметки скрытый или архивный в Windows. Исполняемые файлы без расширения в Linux – норма вещей!

  1. Пакетный менеджер и понятие пакета, установка программ.

Программы ставятся только от аккаунта администратора. При установке все файлы, относящиеся к программе (например, Firefox), «размазываются» по корневой файловой системе: общие для всех пользователей настройки пойдут в /etc, исполняемые файлы в /usr/bin, а иконки и различные ресурсы вроде графики и звуков – в /usr/share/firefox. При таком раскладе пользователь в принципе не может знать, что и где конкретно лежит. За это отвечает пакетный менеджер. Например, пакет Firefox включает в себя кучу файлов. Пакетный менеджер при установке пакета разложит их по файловой системе, а при удалении – соответственно, удалит.

Еще одна важная функция пакетного менеджера – удовлетворение зависимостей пакета. Например, Firefox требует для работы библиотеку libjpeg. Значит, при установке менеджер пакетов автоматически доустановит пакет libjpeg, а при удалении – удалит, если тот не будет требоваться каким-либо еще пакетом.

В пакетном менеджере обычно есть база данных со всеми доступными пакетами, и он имеет средства поиска по этой базе. Поэтому установка программ в Linux невероятно проста: первой командой мы ищем по ключевым словам по базе точное название пакета, второй – ставим. Не нужно лезть на сайты, искать и что-то качать.

  1. Графическое окружение пользователя

Все графическое окружение пользователя – это совокупность прикладных программ. Исторически сложилось, что для Windows-пользователя такие понятия, как рРабочий стол, панель задач, системный трей, регулятор громкости, часы и календарь, меню «Пуск», доступ к настройкам сети из трея – неотъемлимая часть ОС Windows. В Linux все вышеперечисленное реализуется отдельными программами. Более того, для каждой задачи из приведенного списка есть далеко не одна программа. В качестве регулятора громкости я могу поставить volumeicon, написанный на C, или volwheel на Python.

Начало работы в Linux

Linux, возможно, является наиболее значительным достижением в области свободно распространяемых программ. Он превратился в операционную систему для бизнеса, образования и индивидуального программирования. Linux (произносится «лИнукс») принадлежит семейству UNIX-подобных операционных систем, которые могут работать на компьютерах Intel 80386 и 80486. Он поддерживает широкий спектр программных пакетов от TeX до X Windows, компиляторов GNU C/C++, протоколов TCP/IP. Это гибкая реализация ОС UNIX, свободно распространяемая по лицензии GNU.

Операционная система используется для обработки данных в сфере финансов, медицины, распределенной обработки, в телекоммуникациях и т.д. Университеты по всему миру применяют Linux в учебных курсах по программированию и проектированию операционных систем. Разумеется, повсеместно программисты-энтузиасты используют Linux дома для программирования, решения своих прикладных задач и всевозможного хакерства.

Что делает Linux столь отличным от других ОС, так это создание версии UNIX «на общественных началах» (free implementation). Она была создана и продолжает совершенствоваться и развиваться группой добровольцев, первоначально в кругу пользователей сети Internet, которые обменивались кодами, информацией об обнаруженных ошибках, выявлением проблем, возникавших при расширении сферы применения. Все желающие приглашаются подключиться к этой работе. Единственное, что требуется – это интерес к семейству UNIX и желание совершенствовать свои навыки в этой сфере. Рассматривая вопрос об операционных системах на основе Linux, можно выделить следующие ОС:

  1. DEBIAN И ДРУГИЕ DEB- СИСТЕМЫ – эта группа включает дистрибутивы, основанные на Debian, и другие, использующие систему управления пакетами Deb. К ним относятся Debian, Ubuntu, LinuxMint, AstraLinux, Elementary и множество других. Эти дистрибутивы используют оригинальное ядро Linux с несколькими исправлениями, которые только убирают ошибки.
  2. RED HAT И ДРУГИЕ RPM-СИСТЕМЫ – пока сообщество разрабатывало систему управления пакетами Deb, компания Red Hat создала собственный менеджер пакетов – Rpm. Тогда все традиционные дистрибутивы Linux разделились на два лагеря – использующие deb и rpm. Сейчас обе системы управления пакетами хороши, и нельзя сказать, что одна хуже другой. Систему управления пакетами RPM используют такие дистрибутивы, как CentOS, Fedora, Red Hat, OpenSUSE и другие, менее популярные.
  3. ARCH LINUX И ОСНОВАННЫЕ НА НЕМ – спустя некоторое время появилось еще несколько дистрибутивов, не использующих ни Deb, ни Rpm. Один из таких дистрибутивов – ArchLinux. Тут применяется собственный пакетный менеджер pacman, который позволяет делать все то же самое что и deb, но в дополнение реализована простая система скользящих релизов. Благодаря ей в дистрибутиве всегда самое новое программное обеспечение. Arch быстро набрал популярность, и на нем было основано несколько дистрибутивов – Manjaro, Antergos, Cinnarch и много других.
  4. LINUX FROM SCRATCH – это не совсем дистрибутив, LFS – это набор инструментов, которые позволяют вам собрать собственный дистрибутив на основе ядра Linux. Вы просто берете ядро, исходники нужных программ (все программы, начиная от системы инициализации и командной оболочки и заканчивая окружением рабочего стола), собираете все это, настраиваете и получаете свой дистрибутив.
  5. ANDROID – не все знают, но самая популярная операционная система для мобильных телефонов тоже использует ядро Linux. От Linux здесь осталось только ядро, все остальное же было переработано компанией Google. Возможности Linux ограничены системой безопасности Bionic, которая запрещает загрузку динамических библиотек, но в терминале можно работать с командами Linux, а в chroot-окружении можно запустить полноценный Linux-дистрибутив.

Более подробно в нашем видео: