Что внутри у линукс

Архитектура Linux. Детальное описание анатомии Линукса от и до

Архитектура Linux берет свое начало еще в далеком 1969 -м году. Именно в то время команда разработчиков-энтузиастов начала работу над грандиозным проектом создания обобщенной операционной системы для различных видов компьютеров, дав ей название «Unix».

Краткая история возникновения Linux — систем

Как мы знаем, Linux — это часть сообщества unix-подобных операционных систем, которые функционируют на ядре Линукс. Это ядро в 1991-м году разработал финно-американский студент-разработчик Линус Торвальдс. На такую разработку его вдохновило прочтение книги о проектировании ОС Unix , и он решил продолжить эту идею. В 91-м году выходят 2 прототипа экспериментальных Линукс-систем, которые были, мягко говоря, не работоспособными. Потом в течение 2-х лет велась упорная работа над разработкой рабочей версии ОС Linux. И вот в 1994-м году увидела свет первая стабильная и работоспособная версия операционной системы Линукс. Внутри себя она содержала ядро Linux и небольшое количество программного обеспечения для поддержки работоспособност и системы, которое разработала та же команда разработчиков, которая создала и само ядро. Это был довольно скудный набор инструментов, но зато был дан старт эпохе Linux — систем. Еще один момент — эта «первая» операционная система тогда называлась «Freax», а имя «Linux» она приобрела несколько позже.

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

Это сейчас мы в слово «Linux» вкладываем полноценную операционную систему, которую можно инсталлировать и сразу пользоваться, но по сути «Linux» — это просто ядро. А все остальное его программное обеспечение — это труд многих «свободных» программистов, которые трудились над разработкой ядра и создавали для него свое ПО. И то , что мы сейчас понимаем под «операционной системой Линукс», — это симбиоз ядра Linux и стороннего программного обеспечения.

Любая операционная система, которая использует ядро Линукс, будет именоваться «дистрибутивом Линукс а ». И это будет полноценная ОС, как Windows или MacOS. Но дистрибутивы Линукса от других ОС отличает важная особенность — открытый исходный код. А это означает, что фактически любой пользователь способен внести туда собственные корректировки и разработать индивидуальную операционную систему или отредактировать старую под собственные нужды. При этом нужно заметить, что дистрибутивы « пингвина » бывают и платными — это когда их разработчики «закрывают» собственные наработки от стороннего вмешательства.

Даже те, кто не знаком с Линукс — системами, знают, что талисманом ядра Linux является пингвин. У него даже есть имя — Tux. Он стал талисманом еще в 1996-м году и был предложен самим создателем ядра — Линусом Торвальдсом.

Архитектура Linux

Архитектура Linux — систем состоит всего их 4-х основных компонентов , к аждый из которых имеет в своем составе различные собственные элементы. Давайте представим себе круг и начнем двигаться от его центра к краю, перечисляя компоненты:

  1. «Железо». Это аппаратные характеристики устройства, на котором используется Линукс: архитектура системы, вид е окарта, аудиокарта, процессор, ядра и т. д.
  2. «Ядро Linux». Это основной компонент Линукс-систем. По сути это «мостик», который связывает низкоуровневое «железо» и высокоуровневые компоненты операционной системы.
  3. «Оболочка». Это пользовательский интерфейс, который налаживает согласованность между пользователем и ядром операционной системы. Это тоже «мостик», но только более «продвинутый», так как создан для человека, чтобы он мог влиять на работу Линукс-системы.
  4. «Утилиты». Это программное обеспечение, которое дает возможность пользователю системы использовать ее потенциальные возможности.

Как мы уже писали, основным компонентом Линукс-системы является ядро. Ядро — это важнейшая программа в операционной системе. Именно оно:

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

Заключение

Архитектура Linux настолько проста и эффективна, что ее можно интегрировать в различные устройства. Линукс можно встретить в:

  • персональных компьютерах;
  • суперкомпьютерах;
  • смартфонах;
  • серверах;
  • других системах и устройствах.

Linux не задумывался как альтернатива Windows или MacOS. Его разработка являлась желанием сделать доступную и эффективную операционную систему. Но результат превзошел ожидания , и по факту получилась целая экосистема с продуктами Linux, что не может не радовать последователей этой системы.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Внутреннее устройство Linux или как работает Linux

В течение года мы издали три книги по Linux, которые положительно приняли:

Сейчас мы планируем сделать новую книгу и остановились на варианте — How Linux Works: What Every Superuser Should Know. Мы хотим узнать ваше мнение и принять решение делать ли книгу.

Небольшая рецензия на прошлое издание:

Эта книга познакомит вас с внутренней организацией операционной системы Linux. Если вы новичок (книга отлично написана даже для новичков), программист, системный администратор, обычный пользователь или исследователь — впрочем, если вы просто всегда интересуетесь, как именно работает та или иная штука, то это книга для вас. Например, я — программист, прочитал ее, чтобы лучше изучить Linux, так как ранее мое знакомство с этой системой ограничивалось чтением онлайновых руководств. Книга разделена на три части. В части 1 описываются общие принципы конструкции и функционирования Linux. Во второй части рассматриваются инструменты программирования, доступные в Linux. В третьей части собраны специализированные темы, в частности, разъясняется работа с ядром, печать и т.д.

Читайте также:  Оссн astra linux это

Часть 1: основы изложены весьма подробно. Я заметил, что для уточнения информации по некоторым командам, рассмотренным в этой части достаточно просто почитать справку man или info, но автор явно задумывал книгу иначе. Правда, для справки автор описывает все основные команды Linux и делает краткое введение по каждой из них. Книга исключительно простым языком рассказывает, как именно и по каким принципам работают файловые системы Linux. Я, например, всегда в них путался, но, прочитав эту книгу, выяснил для себя все нюансы. В ходе изучения основ Linux мы также знакомимся с загрузчиками этой операционной системы — GRUB и LILO. Отмечу, что в книге отлично рассмотрены сетевые аспекты работы в Linux. Не могу прокомментировать часть о ppp, но темы Ethernet, iptables и трансляции сетевых адресов (NAT) рассмотрены очень хорошо. Более того, автор подробно объясняет, как обеспечивать безопасность в беспроводных сетях.

Часть 2. Вторая часть начинается с вводного курса по написанию скриптов для командной оболочки (Shell scripting). Правда, следует вновь оговориться о целевой аудитории данной книги — далеко не все аспекты написания таких скриптов можно рассмотреть в столь небольшом пособии. Темы GCC и Make объяснены очень хорошо (в сущности, я разобрался в Make, только прочитав эту книгу). Более того, скрипты в этой книге пишутся на Python! Далее автор переходит к самой интересной (для некоторых, правда, самой несносной) теме в Linux – компилированию ядра. Работе с ядром посвящена целая глава, прочитав ее, я совершенно уверен, что смогу сам перекомпилировать мою систему.

Часть 3: Эту часть можно читать отдельно от всей книги. В ней рассматриваются специализированные темы, каждую из которых можно изучать независимо. Например, как настроить сетевой принтер? Как работать с CUPSd? Как пользоваться Ghostscript для преобразования Postscript в PDF? Ответы на все эти вопросы вы найдете здесь. Так, мне было просто необходимо научиться работать с файловой системой SAMBA. Моя домашняя сеть состоит из компьютеров с Windows, и мне периодически приходилось обращаться к тем или иным файлам, расположенным на них. Теперь все изменилось! Я без труда могу просматривать все домашние каталоги прямо с ноутбука, который подключается к сети по беспроводному соединению.

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

Итак, я рекомендую эту книгу всем читателям, которых интересует внутренняя организация Linux. Вы найдете ответы на все интересующие вас вопросы и отлично освоите все механизмы Linux. Конечно, после ее прочтения вы не станете экспертом по Linux, но она поможет вам ответить на многие вопросы «как»? и «почему»? В дальнейшем она послужит вам солидным базисом для профессионального роста в области Linux.

Источник

В десктопном Linux всё ещё больно

25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: например, скоро ли настанет «год линукса на десктопе»?

А неделю назад я написал о нюансах перехода на Mac. И быстро появились комментарии, что вот в линуксах нет описанных сложностей — мол, непонятно, зачем вообще люди страдают за маками. На мои слова «но в Linux есть другие проблемы, там многие чинят звук, лазая по форумам» ответили, что это устаревшие стереотипы. А сейчас всё работает из коробки, даёшь детям и они не нарадуются.

Я уже почти десять лет не использовал Linux в качестве основной системы, поэтому подумал: может, действительно напраслину возвожу, а всё уже изменилось и с форумами больше никогда не сталкиваешься? Наконец можно рекомендовать линукс родственникам? Вот-вот к нему придёт массовая популярность?

Захотелось хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса. В общем, глянул. И быстро испытал столько ярких ощущений, что написал этот пост.

Для начала две важных оговорки:

1. Понимаю, что если покупаешь сертифицированный ноутбук с предустановленным Linux, там всё куда проще. И если бы сайты дистрибутивов крупно писали «только так и делайте, а ставить на своё железо — это для мазохистов», то никаких вопросов у меня бы не возникло. Но Linux позиционируют как систему, подходящую для установки на своё железо, поэтому и рассматриваю её так.

2. Легко воспринять этот текст как холивар «эппловский фанбой ненавидит линукс». Но это совсем не так, холивары я недолюбливаю, а к Linux хорошо отношусь и желаю ему процветания. Например, ещё в далёком 2010-м писал на Хабре пост, помогающий перейти на Ubuntu. У нас с женой даже татуировки оформлены шрифтом Ubuntu! Этого достаточно, чтобы официально не считаться хейтером? 🙂

В общем, я не против Linux. Зато я против фанбойства. Я за то, чтобы даже когда что-то нравится, уметь признавать и проблемы.

А теперь — две истории о них.

Попытка #1

Начал погружение в современный Linux с малого: сделал загрузочную флэшку с актуальной версией Ubuntu, чтобы запустить на своём iMac систему прямо с флэшки и бегло осмотреться.

Поначалу опасался «может, я единственный извращенец, который хочет запустить Linux на Mac», поэтому был морально готов к тому, что это вообще плохая идея. Но сайт Ubuntu развеял опасения: там нашлась инструкция, как в macOS сделать флэшку, максимально подходящую для использования с Mac. Значит, тропа проторенная, другие люди делали то же до меня, а в Canonical учли их потребности и официально пошли им навстречу. И флэшка успешно создалась.

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

У аймака беспроводные клавиатура и трекпад/мышь, по умолчанию Ubuntu их не увидела. Ну, тут подключил беспроводные устройства с помощью проводных, это ладно.

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

Ubuntu не увидела Wi-Fi-модуль. Возможно, это решается дополнительным драйвером из интернета. Только для этого надо к интернету сначала подключиться. Можно размыкать такой круг, подключаясь проводом, но у многих людей уже даже нет Ethernet-разъёма. А у iMac он есть, но мне не захотелось отключать моноблок от розетки и волочить в прихожую к роутеру, так что тут просто сдался.

Наконец, вишенка на торте. Из-за отсутствия интернета было не запустить музыку, но попробовал в настройках понажимать на кнопки «Test», которые должны издавать звук. Ничего не прозвучало. Поскольку на Хабре меня убеждали конкретно в отсутствии проблем со звуком, это выглядело особенно иронично.

Ну, пасьянс разложить получилось: ему интернет и звук не требуются. И думаю, если бы задался целью и выделил время, получилось бы решить все проблемы. Но просто вся эта ситуация безумно далека от слов «всё работает из коробки». Родственникам такое не посоветуешь.

А вот macOS посоветовать можно: когда тот же самый iMac был впервые запущен с родной системой, там действительно всё было готово к бою — и звук, и Wi-Fi, и яркость.

Попытка #2

Дальше разбирался с выбором ноутбука. Опыт с iMac показал, что совместимость Linux с железом остаётся больным местом. Значит, надо ещё до покупки убедиться, что всё будет хорошо.

Я попробовал выяснить это про интересующие модели, и тут же столкнулся с новой проблемой: дефицитом информации. Возьмём для примера Asus ZenBook 13 (это довольно популярная модель, вроде бы человечеству должно быть известно о её совместимости). Где это узнать?

На сайте Ubuntu в разделе помощи есть специальная страница Asus Zenbook — казалось бы, правильное место. Страница начинается словами «Наконец найдено надёжное решение проблемы внезапных выключений и зависаний!» (Спасибо, очень обнадёживает.) А затем посреди текста увидел упоминание версии Ubuntu 12.04. Хммм!

Полез в page history — и точно, оказывается, основное содержимое страницы датируется 2012 годом. То есть на официальном сайте висит информация девятилетней давности (по меркам IT это древнеримские руины), и нет даже предупреждения, что она давно не обновлялась. Наверняка кто-то выберет ноутбук по информации, давно потерявшей актуальность — может, её тогда лучше было и не публиковать?

Ладно, с совместимостью худо-бедно разобрался по разрозненным постам в разных блогах. В итоге вроде как подходящий ноутбук был куплен, и по советам с Хабра установил туда Linux Mint — вроде как самый человеколюбивый дистрибутив с минимумом проблем.

Этот дистрибутив встретил меня вот чем (извиняюсь за фото экрана вместо скриншота):

Действительно, хотя почти ничего не было запущено, ноутбук шумел кулером, сильно грелся и предрекал себе стремительную разрядку. Я ткнул в предлагаемую кнопку «запустить менеджер драйверов», и… он выдал сообщение в духе «у вас всё хорошо, устанавливать ничего не нужно». Оставив сидеть с гудящим горячим устройством. Ну отлично.

Стал гуглить и тут же провалился в бездну, с которой имел дело 10 лет назад. Скажем, гугл выдаёт статью «Enable Hardware Acceleration on Intel Graphics Cards in Ubuntu». В тексте пишут про опенсорсную библиотеку VDPAU, «но она недоступна на интеловских графических картах, зато есть проект libvdpau-va-gl, в котором VDPAU использует OpenGL, её можно использовать с некоторыми из интеловских чипов, тогда введите вот эти десять команд в терминале»…

Слушайте, я простой человек и хочу простых вещей: например, чтобы устройства работали. Я совсем не железячник, и если что-то подходит «некоторым интеловским чипам», мне неочевидно, входит ли стоящий передо мной ноутбук в «некоторые». Потратив время и силы, смогу в этом разобраться. Но хочется ли их тратить, танцевать с бубном и узнавать, что такое libvdpau-va-gl, просто для того, чтобы ноутбук справлялся со своей базовой функциональностью?

Позже нашёл-таки ответ: оказывается, для исправления ситуации надо было обновить ядро Linux. «Самый человеколюбивый линукс» совершенно не предлагал этого сделать (наоборот, спрятал это поглубже). Никакой официальной информации (от Linux Mint, Intel или ещё кого-то вроде) при гуглении тоже не вылезло. Правильный ответ нашёлся на форуме в записи обычного пользователя, среди кучи других записей.

Ладно, с этим разобрался, но осталась другая проблема: как и на Mac, регулировка яркости меняла только индикатор, а экрану хоть бы хны. Снова провалился в бездну форумов. В итоге не заставил нативные средства работать, зато нашёл работающее стороннее приложение для управления яркостью. Правда, оно даёт управлять яркостью только когда открываешь его, а не системными хоткеями. Так что ощущается костылём. Думаю, можно добиться лучшего результата, но тогда устал и на этом остановился.

Это не считая всяких мелочей. Вот, скажем, тут сразу понятно, какая из вкладок тебе нужна, да?

Ну и куда ж попросту без ошибок — нажатие на «масштабировать интерфейс» поначалу приводило к такому:

Думаю, общие ощущения понятны (вкратце они такие: в 18 лет с интересом разбирался бы по ночам, как всё это наладить, но сейчас I’m too old for this shit).

Выводы

Прямо ощущаю, как некоторым хочется сказать: «Но это только начальный период настройки, а дальше-то лучше, поэтому неправильно судить всё по этому периоду!»

Хорошо это понимаю, сам же и писал на Хабре 11 лет назад: «Возможно, поначалу гуглить придется изрядно, но не стоит думать, что это на всю жизнь так». Да, это правда. Но, например, мой пост про Mac тоже был именно про период перехода, и именно туда в комменты пришли объяснять, что в линуксе всё лучше.

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

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

Сильнее всего меня печалит даже не то, что вижу конкретно сейчас, а то, что с годами не вижу принципиального прогресса. Мне жаль, что мой пост 11-летней давности остался актуальным спустя все эти годы. Большинство упомянутых в нём сложностей никуда не делись. Необходимость просиживать штаны на форумах не исчезла. «Год линукса на десктопе» совершенно не наступил.

Когда Linux исполнялось 20, я бы предположил, что за следующее десятилетие смогут справиться с многим из этого. И все эти десять лет вроде как велась активная работа в разных направлениях — бегло поглядывая со стороны, слышал названия Wayland и Unity, слова «flatpak» и «snap». Но во-первых, всё это привносило не однозначное улучшение, а новые сложности: «так за чем будущее-то, flatpak или snap, мы не поняли». И во-вторых, всё это так и не избавляло от главных старых болячек. А пока пользователи не будут от них избавлены, ждать наступления «года линукса» было бы наивно.

Хорошее

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

Например, на руку Linux играет то, что за эти годы многое переместилось в браузер. И для пользователя при смене ОС всё привычнее, и набор доступного софта расширился веб-сервисами (так что можно, например, вместо GIMP использовать Photopea).

С геймингом стало заметно лучше, в основном благодаря Valve. Конечно, до Windows всё ещё как до Луны, но тенденция в последние годы очень оптимистичная. И хотя инициатива «Steam machines» под управлением SteamOS оказалась прикрыта, в этом году Valve анонсировали портативную игровую консоль Steam Deck тоже на Linux, так что есть причины для сохранения тенденции.

Наконец, ещё один прорыв: стало можно приобщаться к Linux прямо внутри Windows благодаря WSL. Важны и другие MS-движения в сторону опенсорса и консоли. По-моему, это всё отличные новости для Linux — возможно, самые лучшие из всех. И получается удивительная вещь: за последнее десятилетие никто столько не сделал для десктопного успеха Linux, сколько компания Microsoft.

Ну, спасибо и на том. С днём рождения, Linux. Надеюсь, к твоему 40-летию смогу написать более оптимистичный пост и рекомендовать тебя всем своим родственникам, а не только технически продвинутым.

Поскольку пост с острым мнением, на всякий случай уточню: это мнение лично моё, а не компании JUG Ru Group, где я работаю. А про компанию можно сказать вот что: мы не любим холивары, поэтому не спорим «какой язык программирования лучше», а проводим IT-конференции по самым разным языкам и технологиям: от C++ до JavaScript, от тестирования до дата-инжиниринга. Поэтому среди 8 конференций нашего осеннего сезона, скорее всего, есть подходящая вам (а то и не одна) — заходите на сайт проверить!

Источник

Оцените статью