Gnu linux что это

Обновлено: 07.07.2024

С тех пор как Linux был создан как ОС для x86-ПК, он был портирован на множество платформ и процессоров, включая x86-64, PowerPC и ARM. Linux работает в роутерах, телевизорах и игровых приставках.

Собственные дистрибутивы Linux выпускаются различными компаниями и энтузиастами со всего мира, в том числе, например, из России и Украины.

Содержание

Название

История

Операционная система Unix была задумана и реализована в 1969 году в Bell Laboratories компании AT&T в США Кеном Томпсоном, Деннисом Ритчи, Дугласом Макилроем и Джо Осанной.

Операционная система Unix была впервые выпущена в 1971 году и первоначально была написана целиком на ассемблере, что было обычной практикой того времени.

Позже, в 1973 году, Unix была переписана Деннисом Ритчи на языке программирования Cи (за исключением ядра и системы ввода/вывода).

То, что операционная система была написана на языке высокого уровня, позволило упростить её портирование на различные компьютерные платформы. Из-за особенностей лицензии AT&T была вынуждена открывать исходный код операционной системы всем обратившимся [18] , что позволило Unix быстро развиться и стать популярной во многих научных учреждениях и предприятиях.

В 1984 году Bell Labs отделилась от AT&T.

Избавившись от необходимости бесплатного лицензирования системы, Bell Labs начала продажи Unix как проприетарного продукта.

Проект GNU был начат в 1983 году Ричардом Столлманом с целью создания «целостной Unix-совместимой программной системы», полностью состоящей из свободного программного обеспечения.

Работа началась в 1984 [19] . Позднее, в 1985, Столлман основал Free Software Foundation, а в 1989 году составил GNU General Public License (GNU GPL).

В начале 1990-х многие из программ, необходимых в операционной системе (такие, как библиотеки, компиляторы, текстовые редакторы, командная оболочка UNIX, и оконная система), были завершены, в то время как разработка низкоуровневых элементов, таких как драйверы, демоны и ядра была приостановлена и они оставались незавершёнными [20] . Линус Торвальдс сказал, что если бы ядро GNU было доступно в то время (1991), он бы не решился написать своё собственное [21] .

Несмотря на то, что из-за юридических проблем с лицензией 386BSD, из которой позже произошли NetBSD и FreeBSD, не была выпущена до 1992 года, её разработка предшествовала Linux. Линус Торвальдс сказал, что если бы 386BSD была доступна в то время, он, вероятно, не создал бы Linux [22] .

MINIX

Эндрю Таненбаум (слева), автор операционной системы MINIX и Линус Торвальдс (справа), основной разработчик ядра Линукс

MINIX является недорогой минимальной UNIX-подобной операционной системой, предназначенной для образовательных целей в области компьютерных наук, написанной Эндрю Таненбаумом.

Начиная с версии 3, MINIX стала свободной и была переработана для «серьезного» применения.

В 1991 году, во время обучения в Хельсинкском университете Торвальдс заинтересовался операционными системами [23] и был разочарован лицензией MINIX, которая ограничивала её использование только образовательными целями (что исключало любое коммерческое использование), вследствие чего начал работать над своей собственной операционной системой, которая в итоге стала Linux.

Торвальдс начал разработку ядра Linux на ​​MINIX, и приложения, написанные для MINIX, были также использованы в Linux. Позже, когда Linux достиг определённой зрелости, появилась возможность продолжать разработку уже на базе самого Linux [24] . Приложения GNU также заменили приложения MINIX, так как код GNU, находящийся в свободном доступе, был более удобен для применения в молодой операционной системе. Исходный код под лицензией GNU GPL может быть использован в других проектах, если они также выпускаются под той же или совместимой лицензией. Для того чтобы сделать Linux доступным для коммерческого использования, Торвальдс начал переходить от своей первоначальной лицензии (которая запрещала коммерческое распространение) на GNU GPL. [25] Разработчики работали над полной интеграцией компонентов GNU с Linux с целью создания полнофункциональной и свободной операционной системы (Linux).

Коммерческий и общественный спрос

Вы можете помочь проекту, обновив её и убрав после этого данный шаблон.

Дистрибутивы на основе Linux имеют широкое применение в различных областях: от встраиваемых систем до суперкомпьютеров [26] [27] [27] , надёжно удерживают лидирующие позиции на рынке серверов, как правило, в составе комплекса серверного программного обеспечения LAMP [28] .

Также растёт использование Linux в качестве десктопной системы для дома и офиса [29] [30] [31] [32] [33] [34] [35] .

Дистрибутивы Linux пользуются популярностью у различных государственных структур: Федеральное правительство Бразилии хорошо известно своей поддержкой Linux [36] [37] , а российские военные разрабатывают свой собственный дистрибутив Линукс [38] .

Правительство индийского штата Керала выпустило предписание о переходе всех школ штата на использование Linux [39] [40] . Для обеспечения технологической независимости Китай использует только Linux на своих процессорах Loongson [41] . Некоторые регионы Испании разработали свои собственные дистрибутивы Linux, которые используются в образовании и госуправлении, например, такие как gnuLinEx в Эстремадуре и Guadalinex в Андалусии. Португалия также пользуется своим собственным дистрибутивом Caixa Mágica, разработанным для нетбука Magalhães [42] и государственной программы электронного образования [43] . Франция и Германия предпринимают ряд шагов по увеличению использования Linux [44] .

Текущее развитие

Линус Торвальдс продолжает руководить разработкой ядра. Ричард Столлман возглавляет Free Software Foundation, которая, в свою очередь, поддерживает разработку компонентов GNU.

Наконец, частные лица и корпорации разрабатывают не-GNU-компоненты.

Компоненты, разработанные сторонними производителями, являются результатом огромного объёма работы и могут быть как модулями ядра, так и пользовательскими приложениями и библиотеками.

Компании и сообщества разработчиков Linux объединяют и интегрируют ядро, компоненты GNU и не-GNU, дополнительное программное обеспечение, средства управления пакетами и распространяют получившиеся системы в виде дистрибутивов Linux.

Логотип Linux

Модель

Линукс-системы представляют собой модульные Unix-подобные операционные системы. В большей степени дизайн Линукс-систем базируется на принципах, заложенных в Unix в течение 1970-х и 1980-х годов. Такая система использует монолитное ядро Линукс, которое управляет процессами, сетевыми функциями, периферией и доступом к файловой системе.

Драйверы устройств либо интегрированы непосредственно в ядро, либо добавлены в виде модулей, загружаемых во время работы системы.

Отдельные программы, взаимодействуя с ядром, обеспечивают функции системы более высокого уровня. Например, пользовательские компоненты GNU являются важной частью большинства Линукс-систем, включающей в себя наиболее распространенные реализации библиотеки языка Си, популярных оболочек операционной системы, и многих других общих инструментов Unix, которые выполняют многие основные задачи операционной системы.

Графический интерфейс пользователя (или GUI) в большинстве систем Линукс построен на основе X Window System.

Интерфейс пользователя

В Линукс-системах пользователи работают через интерфейс командной строки (CLI), графический интерфейс пользователя (GUI), или, в случае встраиваемых систем, через элементы управления соответствующих аппаратных средств.

Настольные системы, как правило, имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли.

Большинство низкоуровневых компонентов Линукс, включая пользовательские компоненты GNU, используют исключительно командную строку.

Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессного взаимодействия.

Программа графического эмулятора терминала часто используются для доступа к командной строке с рабочего стола Линукс.

Линукс-системы обычно реализуют интерфейс командной строки при помощи оболочки операционной системы, которая также является традиционным способом взаимодействия с системой Unix.

Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса.

На настольных системах наибольшей популярностью пользуются пользовательские интерфейсы, основанные на таких средах рабочего стола как KDE Plasma Desktop, GNOME и Xfce [46] , хотя также существует целый ряд других пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System (часто просто «X» или «иксы»).

«X» предоставляет прозрачность сети и позволяет графическим приложениям, работающим на одном компьютере, отображаться на другом компьютере, на котором пользователь может взаимодействовать с ними [47] .

Другие графические интерфейсы, такие как FVWM, Enlightenment и Window Maker, могут быть классифицированы как простые менеджеры окон X Window System, которые предоставляют окружение рабочего стола с минимальной функциональностью.

Оконный менеджер предоставляет средства для управления размещением и внешним видом отдельных окон приложений, а также взаимодействует с X Window System.

Окружение рабочего стола включает в себя оконные менеджеры, как часть стандартной установки: (Metacity для GNOME, KWin для KDE, Xfwm для Xfce с 2010 года), хотя пользователь при желании может выбрать другой менеджер окон [47] .

Разработка



GNU/Linux работает на множестве архитектур процессора, таких как x86, x86-64, PowerPC, ARM, Alpha AXP, SPARC, Motorola 680x0, SuperH, IBM System/390, MIPS, PA-RISC, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa и многих других.


История развития UNIX-систем. Linux является UNIX-совместимой, однако основывается на собственном исходном коде

С другой стороны, открытый код значительно снижает себестоимость разработки закрытых систем для Linux и позволяет снизить цену решения для пользователя. Вот почему Linux стала платформой, часто рекомендуемой для таких продуктов, как СУБД Oracle Database, DB2, Informix, SyBase, SAP R3, Domino.

Сообщество

Сообщество Linux поддерживает связь посредством групп пользователей Linux.

Программирование в Linux

Применение

Можно выделить несколько основных областей, где нередко можно встретить Linux:

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

Операционная система (ОС) состоит из нескольких основных программ, которые нужны вашему компьютеру, чтобы он мог общаться и получать инструкции от пользователей; читать и записывать данные на жёсткие диски, ленты и принтеры; контролировать использование памяти; запускать другие программы. Самая важная часть ОС — ядро. В системе GNU/Linux ядром является Linux. Оставшаяся часть системы состоит из других программ, многие из которых написаны проектом GNU или для проекта GNU. Поскольку одно ядро Linux — это ещё не вся работающая ОС, мы предпочитаем использовать термин « GNU/Linux » для обозначения систем, которые многие люди ошибочно называют « Linux » .

Linux сделана по образцу операционной системы Unix. С самого начала Linux разрабатывалась как многозадачная, многопользовательская система. Этих факторов достаточно, чтобы сделать Linux отличной от других широко известных операционных систем. Однако, Linux отличается намного сильнее, чем вы можете себе представить. В отличие от других операционных систем, Linux никому не принадлежит. Значительная часть системы разработана добровольцами бесплатно.

Разработка того, что позже станет GNU/Linux, началась в 1984 году, когда Фонд Свободного Программного обеспечения начал разработку свободной Unix-подобной операционной системы, названной GNU.

Проект GNU разработал всеобъемлющий набор свободного программного обеспечения для использования в Unix™ и Unix-подобных операционных системах, таких как Linux. Эти программы позволяют пользователям выполнять задачи широкого спектра, от простых (копирование или удаление файлов из системы) до сложных (написание и компилирование программ или выполнение сложного редактирования в различных форматах документов).

Хотя многие рабочие группы и отдельные люди вложили свой труд в создание Linux, наибольшим пока ещё остаётся вклад Фонда Свободного Программного Обеспечения. Помимо разработки большинства используемых инструментов, фонд также создал философию и организовал сообщество (независимых программистов и энтузиастов-пользователей). Благодаря этому, в свою очередь, стало возможным появление отлаженных Linux систем.

Ядро Linux впервые появилось в 1991 году, когда финский студент-компьютерщик по имени Линус Торвальдс (Linus Torvalds) анонсировал первую версию замены ядра Minix в группе новостей comp.os.minix . Подробнее смотрите на сайте Linux Internationals страничку истории Linux.

Линус Торвальдс продолжает координировать работу нескольких сотен разработчиков с помощью нескольких сопровождающих подсистем. Есть официальный сайт для ядра Linux. Информацию о списке рассылки linux-kernel можно найти в FAQ списка рассылки linux-kernel.

Пользователи Linux имеют огромную свободу в выборе программного обеспечения. Например, пользователи Linux могут выбирать из дюжины различных оболочек командной строки и нескольких графических рабочих столов. Этот выбор часто удивляет пользователей других операционных систем, которые и не думали, что командные оболочки или рабочий стол можно заменить.

Linux также менее подвержен сбоям, лучше приспособлен для одновременного выполнения более чем одной программы и более защищён, чем многие другие системы. Благодаря этим преимуществам, Linux быстро завоёвывает рынок серверных операционных систем. С недавних пор, Linux начал становиться популярным среди домашних пользователей и в корпоративной среде.

Раньше компьютеры были такими большими, что могли занимать целую комнату или даже дом. Вы только представьте себе, как трудно было ими управлять. Более того, каждый компьютер имел свою собственную операционную систему, в результате чего работать с такими машинами было жутко неудобно. Программное обеспечение таких компьютеров было узкоспециализированным, и не могло работать на другом компьютере. Не говоря уже о том, что подобная техника стоила таких невообразимо больших денег, что обычные люди не могли себе этого позволить.

В качестве решения вопроса с операционной системой компанией AT&T была создана операционная система Unix, которая дала старт возникновению открытого программного обеспечения и созданию Linux. Но давайте по порядку.

История возникновения Unix


Первоначально Unix использовалась в основном в университетах и крупных финансовых корпорациях. К 1978 году насчитывалось около 600 машин с установленной на них системой Unix.

Появление проекта GNU

В восьмидесятые годы 20 века многие компании, в числе которых IBM и HP, начали создавать свои собственные (в том числе и коммерческие) версии системы Unix. Это привело к путанице дистрибутивов Unix. И к тому же фирмы, продающие свои дистрибутивы, прямо запрещали распространять их исходные коды. Из-за этого другие программисты не могли применять уже внедренные к тому моменту новые компоненты системы, и им приходилось писать их заново.

В 1982 году программист из Массачусетского технологического института (MIT) Ричард Столлман сталкивается с проблемой того, что существующая на тот момент коммерческая лицензия программного обеспечения, с которым он вынужден работать, ограничивает свободу своего использования и не позволяет Столлману обмениваться исходными кодами ПО даже в стенах института.


В рамках проекта GNU создаются необходимые для разработки ядра системы компоненты: текстовый редактор Emacs, набор компиляторов gcc, интерпретатор bash, архиватор gzip, утилиты sed, gawk, Autoconf и многие другие. Помимо этого, в 1988 году с целью юридически закрепить за пользователями права на копирование, модифицирование и распространение программ и исходных кодов проекта GNU, Столлманом публикуется лицензия GNU GPL (сокр. от «GNU General Public License» = «Универсальная общественная лицензия GNU»). Однако, несмотря на все его успехи, даже спустя 8 лет после старта проекта, не хватало самого важного компонента операционной системы — её ядра…

История создания Linux

В январе 1991 года, финский студент Линус Торвальдc, находясь под впечатлением от купленной им книги «Проектирование и реализация операционных систем» автора Эндрю С. Таненбаума, с целью детального изучения концепций и строения ОС Unix, решает купить новый компьютер на базе процессора Intel 80386, на который ставит разработанную Таненбаумом учебную ОС Minix.

Но учебная система — она на то и учебная, что обладает рядом недостатков. В частности, в Minix не только была плохая эмуляция терминала, но и не было возможности перевести в фоновый режим программу, которой временно не пользуешься.

И тогда в августе 1991 года Торвальдс объявляет в сети Usenet о том, что создает свою собственную (свободную) операционную систему с открытыми исходными кодами — Linux. Стоит отметить, что в тот момент речь еще не шла о полноценной системе, скорее это был её прообраз в виде ядра.

17 сентября того же 1991 года, без каких-либо особо публичных объявлений, выходит Linux версии 0.01.

А уже 16 апреля 1994, когда, по мнению Линуса, система стала полностью работоспособной, вышел первый, после более чем двух лет развития, мажорный релиз системы — Linux 1.0.

Открытие исходных кодов операционной системы сыграло решающую роль в дальнейшем развитии Linux. Но необходимо все-таки помнить, что технически Linux — это только лишь ядро, без сопутствующих прикладных программ. Полноценной ОС его делает сопутствующее программное обеспечение. Пока роль такого программного обеспечения играли компоненты учебной системы Таненбаума.


Таким образом, миру явилась полноценная работающая операционная система под названием «GNU/Linux», которую мы привыкли называть просто «Linux», состоящая из ядра Linux, написанного Торвальдсом, и окружающего программного обеспечения, созданного в рамках проекта Столлмана, GNU.

Что такое Linux?

Linux — это семейство Unix-подобных операционных систем, использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows или Apple macOS, но с одной очень важной особенностью, а именно — их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software). Это означает, что у любого пользователя есть право изучать и изменять исходный код.

Примечание: Стоит отметить, что есть также и платные дистрибутивы Linux, например, Red Hat Enterprise Linux, Astra Linux Special Edition и др.


Пингвин Tux — талисман Linux

GNU/Linux или Linux?

В сообществе программистов существует спор об именовании операционных систем, использующих ядро Linux и программное обеспечение, разработанное под лицензией GNU GPL. Поскольку ядро Linux само по себе не является работающей операционной системой, то многие предпочитают использовать термин «GNU/Linux».

Архитектура Linux-систем

На следующем рисунке показана архитектура Linux-систем:


Ядро — является основным компонентом операционной системы, взаимодействует непосредственно с аппаратным обеспечением, играя роль посредника между низкоуровневым «железом» и компонентами верхнего уровня.

Утилиты (vi, cat, sed, date, компиляторы и др.) — служебные программы, которые предоставляют пользователю большую часть функциональных возможностей операционной системы.

Ядро Linux

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

Как правило, большинство ядер делятся на три типа:

Микроядро — это ядро, состоящее из нескольких подгружаемых в память по мере надобности независимых модулей, выполняющихся в отдельных адресных пространствах. По сути, в таком варианте исполнения оно не сильно отличается от обычных прикладных программ. К достоинствам данного ядра можно отнести теоретически большую надежность в сравнении с другими архитектурами (в действительности же не всё так радужно и гладко) и его модульность (легкость в подключении дополнительных частей ядра). К минусам микроядерной архитектуры относится то, что ядро, построенное по такой схеме, получается очень медленным (ведь ему нужно постоянно переключаться между отдельными частями).

Монолитное ядро — это полная противоположность микроядра, т.к. в памяти компьютера всегда находится весь (или почти весь) код ядра, вследствие чего скорость его работы выше в сравнении с микроядром.

Гибридное ядро — это ядро, сочетающее в себе элементы как монолитной, так и микроядерной архитектур.

Ядро Linux хоть и относится к монолитным ядрам, но оно также заимствует и некоторые идеи из микроядерной архитектуры, что означает, что вся операционная система работает в пространстве ядра, а драйвера устройств (в виде модулей) могут быть легко загружены (или выгружены) прямо во время работы операционной системы.

Заключение

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

На следующих уроках мы детально рассмотрим тему лицензии GNU GPL, сравним Linux и Windows, выполним обзор дистрибутивов Linux и продолжим наше погружение в изучение Linux.

GNU/Linux работает на PC-совместимых системах семейства Intel x86, а также на IA-64, AMD64 ?, PowerPC ?, ARM и многих других.

К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой.

Оглавление документа

Название

Разработка


С другой стороны, открытый код значительно снижает себестоимость разработки закрытых систем для GNU/Linux и позволяет снизить цену решения для пользователя. Вот почему GNU/Linux стала платформой, часто рекомендуемой для таких продуктов, как Oracle Database, DB2, Informix, SyBase, SAP R3, Domino.

Сообщество GNU/Linux поддерживает связь посредством групп пользователей Linux.



История UNIX

Дистрибутивы GNU/Linux

  • американский Red Hat и его наследник Fedora;
  • немецкий SuSE ?;
  • французский Mandriva ? (бывший Mandrake ?);
  • не имеющий национальной принадлежности международный дистрибутив Debian GNU/Linux;
  • один из самых старых дистрибутивов Slackware;
  • сравнительно молодой и активно развивающийся дистрибутив Gentoo;
  • очень молодой, но перспективный дистрибутив Ubuntu и его форк Kubuntu, использующий KDE вместо Gnome.

Помимо перечисленных, существует множество других дистрибутивов, как базирующихся на перечисленных, так и созданных с нуля и зачастую предназначенных для выполнения ограниченного количества задач. Каждый из них имеет свою концепцию, свой набор пакетов, свои достоинства и недостатки. Ни один не может удовлетворить всех пользователей, а потому рядом с лидерами благополучно существуют другие фирмы и объединения программистов, предлагающие свои решения, свои дистрибутивы, свои услуги. Существует множество LiveCD, построенных на основе GNU/Linux, например, Knoppix ?. LiveCD позволяет запускать GNU/Linux непосредственно с компакт-диска, без установки на жёсткий диск.

Для желающих досконально разобраться с GNU/Linux подойдёт любой из дистрибутивов, однако довольно часто для этой цели используются так называемые source-based дистрибутивы, то есть предполагающие самостоятельную сборку всех (или части) компонентов из исходных кодов, такие как LFS ?, Gentoo или CRUX ?.

Штошш, судя по предыдущему посту, большинство пожелало увидеть полный курс и нашлись те, кто хотел полный разбор всего в структурированной форме. Это, конечно, займёт время, но почему бы и нет?

Ну и как же начать говорить о Linux, не выяснив, что такое операционная система? К сожалению, в рамках готового видео я не смогу разобрать многие вопросы, но постараюсь это сделать завтра (17.04.2020) во время стрима в 19:00 по Москве.

Не хочу обделять тех, кто любит читать текст, поэтому выложу текст из видео здесь. Но я старался над видео и там есть картинки.

Во времена моего детства на вопрос “какая у тебя операционная система?” люди отвечали Pentium 4. C появлением мобильных операционных систем Android и iOS и развитием публичного противостояния между Apple и Samsung все больше людей узнало понятие “Операционная система”. Но, я считаю, что для полноценного осознания чего-либо нужно понимать причины появления. Поэтому давайте заглянем в историю программного обеспечения.

Когда-то компьютеры занимали целую комнату, но выполняли только одну задачу в одно время. Под задачей я подразумеваю прикладную программу – программу, с которой работает пользователь. Допустим, ваш браузер, почтовый клиент, текстовой редактор или игра – всё это прикладные программы.

Так вот, как правило, компьютеры стояли в институтах и работники могли долго ждать, пока до них дойдёт очередь работать с компьютером, как в семье где 10 детей и 1 компьютер. Со временем, мощности компьютеров росли и была необходимость выполнения нескольких задач последовательно или параллельно, а также возможность работать нескольким пользователям одновременно. Появилась концепция разделения времени, так называемый “тайм-шеринг”, на основе которой создали служебные программы, которые решали вопросы многозадачности.

Со временем, такие служебные программы стали приобретать всё больше функций. Если раньше программы взаимодействовали с оборудованием напрямую, то теперь часть задач брали на себя служебные программы. Они стали эдакой прослойкой между прикладными программами и оборудованием. Набор этих служебных программ начал называться операционной системой, одна из первых реализаций которых называлась Multics. На её идеях создали Unix, который задал стандарты для современных операционных систем.

Операционная система – это прослойка между прикладным ПО и оборудованием. Но и ОС можно разделить на 3 составляющие:

- Ядро. Существуют разные типы архитектур ядер, я рассмотрю модульный вариант, который используется для Linux. Ядро это программа, отвечающая сразу за несколько важных функций. Одна из основных называется планировщик задач – часть ядра, отвечающая за многозадачность, решающая, какие программы когда посылать на исполнение процессору для максимальной производительности и эффективности работы, тот самый “тайм-шеринг”. Часть ядра занимается оперативной памятью – решает, когда и что загружать или выгружать из оперативной памяти. Также ядро отвечает за непосредственную работу с оборудованием за счёт специальных модулей, называемых драйверами. Когда прикладное ПО хочет работать с оборудованием, допустим, игра хочет обработать какие-то данные и вывести на экран изображение, она обращается к ядру, а ядро пересылает запрос через драйвер на видеокарту. У ядра есть и другие функции, но на пока этого достаточно.

- Системные библиотеки. Администраторы с библиотеками практически не работают, но всё же стоит знать о них хотя бы поверхностно. Программы частично хранят часть кода, функции или данные в виде специальных файлов, называемых библиотеками.

- Оболочка и утилиты. Одна из важных функций операционной системы – дать пользователю интерфейс взаимодействия с компьютером. Интерфейс может быть как графическим, так и текстовым. Не стоит думать, что текстовой интерфейс – это какое-то окно в скрытый мир компьютера, через которое вы можете делать с компьютером всё что угодно. Да, текстовой интерфейс, как правило, несколько функциональнее графического, но его писали люди для людей и функции у него как у графического интерфейса – дать возможность запускать программы, работать с файлами и т.п. Современные операционные системы содержат сотни небольших программ, называемых утилитами, которые могут служить как для самой системы для каких-то внутренних задач по обслуживанию, так и для пользователей для какого-то базового функционала, а также для диагностики и решения проблем.

Коммерческие компании, которые разрабатывают операционные системы, дают название своим продуктам Windows, MacOS, Android или iOS. Но в случае с GNU/Linux всё сложилось несколько иначе – ядро, называемое Linux, разрабатывают одни люди, точнее даже сказать тысячи людей и компаний, а библиотеки и утилиты сотни других людей и компаний. Что-то осталось еще с 80-ых, а что-то появляется и исчезает каждый год. Как правило, какие-то базовые утилиты разрабатывает организация GNU, а большинство остальных утилит и оболочек выпускается под лицензией GNU GPL (даже ядро). И есть люди и компании, которые берут эти компоненты, соединяют и получают операционную систему в готовом виде, которую называют GNU/Linux. Но у разных людей свои видения и свои цели, в итоге получается много разных вариаций этой операционный системы, которые называют дистрибутивами. Ubuntu, Debian, Centos, RedHat Enterprise Linux – всё это дистрибутивы, которые используют программы GNU и ядро Linux. Есть дистрибутивы, которые отличаются только набором предустановленных программ и настройками графического интерфейса, и есть дистрибутивы, в которых абсолютно разных подход к обновлениям, поддержке и даже наличие каких-то специфичных программ.

Современные операционные системы для персональных компьютеров, как правило, распространяются в виде специальных файлов с расширением ISO. Этот файл – так называемый образ диска – содержит программу-установщик операционной системы и для установки его следует записать на диск или флешку и загрузить компьютер с этого устройства. И хотя есть возможность поставить несколько операционных систем одновременно, ошибка при установке может привести к потере данных, поэтому к процессу установки следует относится очень серьёзно. Я буду рассматривать установку операционной системы в отдельном видео.

Как правило, дистрибутивы GNU/Linux можно скачать с официальных сайтов дистрибутива бесплатно и без всяких регистраций, а коммерческие операционные системы предоставляют доступ к этому файлу только после покупки лицензии – специального документа, разрешающего использование копии программного обеспечения. Некоторые операционные системы жестко привязаны к определённому железу – как например, MacOS, но большинство ставится на различное оборудование при наличии драйверов.

Про операционные системы и GNU/Linux можно говорить очень-очень много, поэтому я сделаю стрим, в котором буду обсуждать многие темы, которые не затронул в этом видео. Тут же я дал только минимально необходимую информацию для понимания.

Читайте также: