Пингвин для ребенка — детские дистрибутивы Linux. Пять лучших пакетов программ для детей под Linux Бонус: Linux дистрибутивы, предназначенные для детей

Оригинал: "5 Best Linux Software Packages for Kids"
Автор: Joshua Price
Дата публикации: June 15th, 2010
Перевод: Н.Ромоданов
Дата перевода: июнь 2010 г.

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

Если вы изучали бесплатное программное обеспечение для детей, вы, скорее всего, сталкивались с пакетом GCompris. Это набор из более чем 100 игр и развлекательных программ для детей в возрасте от 2 до 10 лет. Все программы подразделяются на следующие группы: математика , чтение и развлечения . Весь комплект есть в наличии в стандартных репозиториях в большинстве основных дистрибутивов Linux.

Чтобы установить:

Sudo apt-get install gcompris

либо поищите в Ubuntu Software Center по ключевому слову "Gcompris".

Хорошие люди, работающие над проектом "One Laptop Per Child" ("Каждому ребенку — ноутбук"), придумали уникально простую систему рабочего стола, называемую Sugar (Сахар). Первоначально она была разработана для ноутбуков серии XO, но ее можно запустить и на домашнем ПК. Если вы установите полный пакет (инструкции ), вы также получите такие инструменты, как программу для рисования, несколько игр и несколько образовательных программ.


3. Образовательный проект KDE

Команда KDE также выпустила хорошую коллекцию образовательных программ. Этот пакет предназначен для более старших, чем пакет GCompris, и в его состав входят такие программы, как пакет Kbruch, обучающий дробям, и пакет Kturtle - современной реализации языка программирования Logo для детей. Для установки этой коллекции поищите в репозитории вашего дистрибутива пакет .


Чтобы установить:

Sudo apt-get install kdeedu

либо поищите в Ubuntu Software Center по ключевому слову "kdeedu".

То, чем для нас был MS Paint, тем для наших детей может стать пакет . В нем есть все обычные инструменты рисования (карандаш, ластик, аэрограф и т.д.), а также есть десятки дополнительных форм и шаблонов. В нем есть значительно больше, чем то, что когда-либо было в MS Paint, и он должен стать любимой программой для любого маленького художника. Это еще один обычный пакет, который должен быть в стандартных репозитариях вашего дистрибутива.


Чтобы установить:

Sudo apt-get install tuxpaint

либо поищите в Ubuntu Software Center по ключевому слову "tuxpaint".

Набору текста обучаться трудно (я, честно говоря, сам иногда смотрю на клавиатуру), но, к счастью, есть программы, которые помогут справиться с этой работой. Одной из таких программ, предназначенных для детей, является пакет , веселая и популярная игра, обучающая набору текста. Есть несколько игровых режимов: Fish Cascade или "Падающие слова" (нужно набрать падающее слово прежде, чем оно пропадет с экрана), Comet Zap или "Сбей комету" (нужно быстро нажать на клавишу с появившейся буквой) и Lessons или "Уроки" (нужно правильно набирать текст, изображаемый на экране, и не подглядывать на клавиатуру).


Чтобы установить:

Sudo apt-get install tuxtype

либо поищите в Ubuntu Software Center по ключевому слову "tuxtype".

Бонус: Linux дистрибутивы, предназначенные для детей

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

Иной подход используется в Qimo , который также базируется на Ubuntu. Qimo больше ориентирован на использование в домашних условиях на отдельном компьютере, что отличается от сетевого институционального подхода, используемого в Edubuntu. В Qimo используется рабочий стол XFCE с большими иконками и ударение делается на удобстве навигации.

Имеется также Foresight for Kids , детская редакция дистрибутива Foresight Linux. Этот дистрибутив поставляется с несколькими уже описанными выше приложениями, такими как Tux Paint, GCompris и Tux Typing, а также несколькими мультимедийными приложениями, предназначенными для более серьезного использования.

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


Данная версия FAQ является облегченной версией полного FAQ . Из этой версии выкинуто все лишнее. Остались только самые значительные моменты. Главной целью являлось повышение читабельности текста. Версия расчитана на тех кто "ниасилил" полную.

32 причины почему GNU/Linux не имеет будущего


Литература:

Вывод отсюда следует только один. GNU/Linux жив только из-за идеалогии и кучки фанатиков. GNU/Linux успешно может конкурировать только сам с собой в рамках разных дистрибутивов.

Я не предлагаю всем переходить на Minix, просто потому что она преследует академические цели и служит для обучения проектировки систем, драйверов и интерфейсов . Существуют другие проекты так или иначе наследующие концепции микроядерности . К самым известным относятся Syllable и Haiku. Первая имеет гибридное ядро, вторая чем-то ближе к микро. Разумеется что идеальное соблюдение микроядерной архитектуры для домашних Операционных Систем не целесообразно, но это безусловно большой шаг вперед .

Ключевые слова: Внедрение GNU/Linux, минусы GNU/Linux, преимущества GNU/Linux, недостатки GNU/Linux, GNU/Linux vs Windows, GNU/Linux в школах,

К сожалению данный FAQ не является исчерпывающим и многие темы так и остались незатронутыми. Если вы разделяете позицию автора, и готовы проспонсировать написание новых статей, обращайтесь по контактному адресу admin (at) сайт

Собственно что это GNU/Linux? С чего начать?
— Собственно что это Linux?
— Linux, прежде всего, операционная система — другая Windows. 😉

Существует громадное количество всевозможных операционных систем.

Windows, Windows Mobile — от Microsoft
Solaris — от кампании Sun Microsystems (разработчики Java)
Linux — свободная операционная система от большого количества создателей по всему миру
FreeBSB — еще 1 свободная операционная Unix-подобная система

Например, операционные системы используются для применения в мобильных телефонных аппаратах, КПК, банкоматах, промышленных суперкомпьютерах и прочая…

Начало Linux положил Линус Товальдс, который в 1991 году выложил в Интернет, разработанное им на основе ОС UNIX, первое ядро Linux.
Новая операционная система хотя и была очень похожа на UNIX, начавшую своё развитие, можно сказать, в середине XX века, но тем не меннее, отличалась множеством интересных новшеств и новых возможнотей.
Одной из главных особенностей Linux был открытый исходный код этой операционной системы, на основе которого, любой желающий программист, мог создать свою «идеальную» операционную систему Linux.

Linux (полное название GNU/Linux, произносится «гну слэш линукс») - общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.

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

В отличие от Microsoft Windows (Windows NT), Mac OS (Mac OS X) и коммерческих UNIX-подобных систем, GNU/Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой; нет даже единого координационного центра. Программы для GNU/Linux - результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах, но большинство объединяют программистов со всего света, которые знакомы только по переписке. Создать свой проект или присоединиться к уже существующему может любой и, в случае успеха, результаты работы станут известны миллионам пользователей. Пользователи принимают участие в тестировании свободных программ, общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.

Развитие Linux разделяется на 3 основных ветви:

Дистрибутивы основанные на Debian GNU/Linux

Такие как Ubuntu, Kubuntu, Knoppix, Runtu и многие другие…

Debian и дистрибутивы, основанные на нём, используют формат пакетов.deb (пакеты аналогичны исполнительным файлам установки.exe в WINDOWS NT) и менеджер пакетов dpkg.

Дистрибутивы, основанные на RedHat или использующие формат пакетов RPM

Самые известные из них — CentOS, Fedora, Mandriva Linux (ранее называлась Mandrake),
PCLinuxOS, SUSE/openSUSE.

Slackware-подобные дистрибутивы

Slackware - один из старейших дистрибутивов GNU/Linux. Его иногда называют «самым UNIX’овым». Поклонникам этого дистрибутива приписывают такое высказывание: «Если вы знаете Slackware - вы знаете GNU/Linux. Если вы знаете Red Hat, то всё, что вы знаете, - это Red Hat». Разрабатывается и поддерживается Патриком Фолькердингом. Slackware славится своей простотой и безопасностью.

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

В России и странах СНГ, коммерческий рынок операционных систем практически полностью захватила корпорация Microsoft.
Так что у нас использование Linux всё ещё является чем-то из области фантастики, но энтузиастов немало.
В России, GNU/Linux применяется чаще всего Хостинг-провайдерами, программистами и просто опытными пользователями.
В странах дальнего и ближнего зарубежья, использование Linux имеет место в школах, больницах, научно-исследовательских центрах, в частных фирмах и корпорациях, на военных базах и т.д. и т.п.

Linux, к тому же, примечательна тем, что изначально не имеет графического интерфейса, прычного нам в Windows, Macintosh и других ОС.
Настоящий «голый» Linux — это «чёрный экран» с коммандной строкой, в которую можно вводить различные комманды действий для выполнения программ, просмотра файлов и т.п.
Это очень похоже на работу с BIOS или MS-DOS.

Но графических интерфейсов для Linux существует очень много.
Linux-сообщество разбилось на два основных лагеря — KDE и GNONE.
Графический интерфейс обеспечивает некий «Рабочий Стол» (в отличие от Windows их может быть аж 4, а то и больше…), меню аналогичное меню «Пуск», ярлыки, трэй, проводник и т.п.
Существует эмулятор Windows с одноимённым названием названием «WINE», для запуска игр и программ типа.exe и других.
Есть и некая альтернатива Microsoft Oficce — это OpenOficce.org
Существует чисто игровой эмулятор Cedega.
Во все игры, разработанные для Windows, к сожалению, не поиграешь. Поэтому заядлые геймеры, установив Linux будут ощущать затруднения. Это вполне естественно, т.к. Linux создавалась не для баловства.
Абсолютно очевидно, что эта операционная система гораздо производительнее и безопаснее Windows, к которой мы так привыкли. Под неё практически нет вирусов. Вирусы для Windows, как раз-таки, пишут под «Линью». В России и других странах существует немало Unix-хостеров. Содержать сервер под «Линуксом» проще и дешевле, чем использовать ОС вроде Windows Server 2003 (хотя, надо заметить, семейство Windows Server — это весьма интересные операционнки, которые по ядру сильно отличаются от обычной пользовательской Windows).
Несмотря на всю свою уникальность, Linux есть чему поучиться у коммерческого программного обеспечения.
За популяризацию Unix-подобных операционных систем очень активно борется, например, французская кампания Mandriva, которая разрабатывает дистрибутивы семейства Mandriva Linux, с поддержкой массы языков, приличными пакетами драйверов и простой интуитивно понятной системой инсталляции. Можно приобрести корпоративную версию «Мандривы», а можно скачать бесплатную версию или заказать диски по почте за чисто символическую плату на различных сайтах. Существует FLASH-версия «Мандривы», можно заказать фирменную флэшку с уже предустановленным дистрибутивом, при помощи которой можно загрузиться из под Linux, практически с любого компьютера.

На мой взгляд, знакомство с Linux лучше всего начинать с Мандривы, а потом уже пробовать что-то пожосче, вроде Debian и Ubuntu…

Удачного вам знакомства с Linux!))

Установка Linux

Раз мы уже начали этот разговор, поговорим и об установке.))

Принцип установки, примерно тот же, что и у Windows.
Например вы скачали дистрибутив Linux в ico-образе, записали его программами из под «винды», вроде Alchohol 120%, Nero, UltraICO или любых других.
У вас получился загрузочный диск, который вы вставляете в привод CD/DVD и грузитесь с него из под BIOS.
Например, дистрибутивы типа Mandriva и Ubuntu, имеют удобный графический интерфейс установки.
Лучше начинать именно с них.
В начальном меню (оно выглядит достаточно стильно), в первую очередь меняем «Language» на «Русский», затем в одной из вкладок выбираем разрешение оптимальное для нашего монитора.
Есть и другие полезные установки, если они вас интересуют. Жмём на «Установку», а дальше дело техники…
Если вы смогли самостоятельно установить «винду», то без проблем установите «Убунту» или «Мандриву». 😉

В процессе установки, вам понадобиться создать точки монтирования (это нечто вроде локальных дисков). Программа установки может сделать это за вас, а вы далее сможете отредактировать общее количество дискового пространства выделяемое под установку Linux.
Если захотите самостоятельно поэксперементировать с точками монтирования, то запомните, что необходимо не менее 3-4 точек монитрования. Первая имеет файловую систему SWAP, она необязательна, конечно, но я настоятельно рекомендую про неё не забывать. И выделять не менее 1 ГБ для SWAP. Эта точка монтирования используется как файл подкачки. Нечто вроде дополнения к оперативной памяти при ресурсоёмких операциях (аналогично файлу подкачки в Windows — C:\pagefile.sys)
Остальные точки монтирования должны иметь файловую систему Ext3, они будут использоваться как локальные диски.
В общем, сначала лучше посмотрите, каким образом точки монтирования создаёт программа установки. Выделите ей не менее 10 ГБ или более, свободного места.
В любом случае, лучше заранее «откусить» это пространство от локальных дисков с файловой системой NTFS или FAT32, используемых в Windows.
Совмещать Windows и Linux на одном винте следует очень осторожно, т.к. они плохо совместимы.
Лучше приобрести для Linux дополнительный жёсткий диск, если у вас его нет. Деньги деньгами, а нервные клетки не восстанавливаются.))
Можно использовать на одном винте самые различные файловые системы, главное, чтоб Linux не соприкасался с диском C. Вот и всё.))
Что примечательно, последние дистрибутивы Мандривы имеют полную поддержку NTFS (чтение и запись). Это очень удобная особенность.
Так же, Мандрива при установке, найдёт любые другие операционные системы существующие по соседству, на всех жёстких дисках.
При загрузке с того винта (жёсткого диска) на котором установлена Mandriva, вы увидите, красивое удобное меню выбора операционной системы.
Ещё, во время установки, вам предложат выбрать графический интерфейс (KDE, GNOME и др.) и другие параметры. Если не можете определиться с выбором, оставьте все параметры по умолчанию.
По поводу графики — я бы выбрал KDE. Он как-то посимпатичнее смотрится. На мой взгляд.
KDE (его ещё обзывают «Кедами») — такой молодёжный интерфейс. А GNOME такой жёсткий и консервативный… Ы

Пожалуй, эт пока всё, что вам нужно знать.
И не подумайте, что я активно склоняю вас к использованию Mandriva Linux.
Можете начинать своё знакомство с Linux или исследование Unix-подобных с любого дистрибутива, который вам понравится.
Ведь именно Linux и подобные, так называемые opensource-проекты пропогандируют свободу выбора(!), в отличие от коммерческого программного обеспечения, созданного с целью опустошения наших кошельков. %)

Я наткнулся на предложение перевести статью GNU or Linux? за авторством David Chisnall . Автор предлагает разобраться чего же больше в ОС - GNU или же Linux? Собственно перевод этой статьи и предлагается Вашему вниманию.

GNU или Linux?

Ни одна другая система не испытывала таких споров вокруг своего имени. Огромное количество флейм войн началось после заявления FSF о том, что такие дистрибутивы как Ubuntu и Fedora должны называться GNU/Linux, вместо Linux. Пытались ли они просто заработать на чужом труде, или их аргументы небезосновательны?

Чтобы разобраться в этом вопросе давайте взглянем на то, что происходит, когда вы запускаете GNU/Linux систему - сколько используется GNU кода, а сколько Linux кода. Разработчик использует огромное количество GNU кода, к примеру GCC и GNU Make, но насколько это справедливо и для конечного пользователя?

Что делает Ядро?

Перед тем как начать разбираться где же GNU биты, а где Linux, важно понять, что именно делает ядро. Ядро выполняет две главные задачи:

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

* Изолирует запущенные программы друг от друга. Изолировать процессы платформо-независимым методом просто: Позволить процессам использовать только непривилегированные инструкции процессора. К сожалению, такой подход сделает невозможным любые операции ввода/вывода для программ, что делает все программы бессмысленными. Для снятия этого ограничения существует системный вызов - механизм, который позволяет запущенному процессу запрашивать ядро для совершения привилегированной операции от имени запрашивающего процесса. Обычные примеры - запись в файл (виртуальный диск), выделение памяти, или доступ к экрану или клавиатуре.

Механизм, который используется системным вызовом, платформо-зависим. На x86 платформе распространенным методом был вызов исключения, хотя новые процессоры от AMD и Intel предоставляют инструкции, позволяющие выполнить это еще быстрее. При этом управление переходит к ядру, которое решает, как интерпретировать значения в регистрах и на стеке, а также, какие действия предпринять.

Взгляд со стороны разработчика.

Важным стандартом при программировании для *NIX или в *NIX является единая спецификация UNIX - супермножество POSIX, которое включает всё, что должно быть в UNIX системе. Код, написанный согласно этому стандарту, переносим среди ряда UNIX-подобных систем.

Стандарт не описывает системные вызовы. Наоборот, он описывает Cи-функции, которые служат оберткой для системных вызовов. Когда программист хочет вызвать функцию open (), ему не надо знать, что он поместит указатель в EBX и значение 2 в EAX, а затем вызовет прерывание 80h; стандартная библиотека Cи реализует все эти функции. Любая нетривиальная программа на Linux будет обращаться к библиотеке Си (libc, для краткости). Существует несколько вариантов реализации стандартной библиотеки Си. У каждого члена семейства BSD есть своя реализация, впрочем как и у любой коммерческой UNIX системы. Какой вариант стандартной библиотеки С используется в Linux зависит от использования; существует несколько версий для встроенных систем, но большинство декстоп дистрибутивов Linux используют GNU libc.

По количеству кода ядро и libc практически равны. На двоих они предоставляют интерфейс разработчика к системе. Поскольку стандарт определяет только Cи-интерфейсы, а не системные вызовы, то и большинство кода написано с использованием стандартное библиотеки Cи. Это правило справедливо и для других языков; если вы, к примеру, запускаете некий java или python код, то он будет получать доступ к ядру через библиотеку Cи. Для некоторых языков существует своя стандартная библиотека от GNU Project. Например, любой С++ код будет использовать GNU libstc++ на GNU/Linux платформах. Некоторые дистрибутивы также включают GNU-реализации для Java библиотек, хотя такая практика уже не так популярна, учитывая, что Sun-версии стали open source. Даже если вы используете Sun Java библиотеки, вы по-прежнему используете GNU libc на этих платформах для любого Java приложения.

C C++ нюансов еще больше, чем с другими языками. Когда вы линкуете два модуля (к примеру, исполняемый файл и библиотеку), то сразу несколько стандартов описывают модель взаимодействия этих двух модулей. При вызове функции из другого модуля необходимо явно определить порядок аргументов на стеке и в регистрах, кто очистит память впоследствии и так далее. В С++ много чего должно быть явно определено для использования классов в различных модулях. Этот набор стандартов называется Бинарный Интерфейс Приложений (Application Binary Interface, ABI). В Linux, С++ ABI определен в GCC, который является пакетом GNU, как упоминалось ранее. Скомпилированный С++ код, независимо от того, какой компилятор использовался, должен подчиняться стандартам GNU, в противном случае такой код не сможет быть повторно использован другим С++ кодом.

Современные GNU/Linux дистрибутивы начинают процесс загрузки с GRUB (GRand Unified Bootloader), который также является частью проекта GNU. (Хотя, технчиески, загрузка начинается в BIOS или другой прошивке, и это применимо для всех систем, которые запускаются на аппаратной платформе.) GRUB не создавался специально для Linux. Он может запускать и другие ОС и является стандартом для запуска некоторых систем на архитектуре x86, включая OpenSolaris и гипервизор Xen.

Затем GRUB передает управление ядру, которое продолжает инициализировать систему и конфигурирование драйверов. Ядро в свою очередь передает управление процессу init. Этот процесс отвечает за создание других процессов.

На Linux системах, init это очень маленькая программа, которая делает нечто большее, чем просто запуск скрипта. В некоторых дистрибутивах init заменен на Upstart, программу, которая не является ни частью Linux, ни частью GNU, и имеющая более сложную управляемую событиями модель. Скрипты, запущенный init’ом или Upstart’ом - это просто набор команд, интерпретируемых командной оболочкой (shell).

Спецификация POSIX содержит описание минимальной функциональности оболочки. Если вы хотите писать портативные shell-скрипты, то можете оставаться в рамках данной ограниченной функциональности, и, в итоге, получите скрипты, которые будут идти на всех UNIX-подобных системах.

Однако, большинство init скриптов не портируемы. Они используют расширенную функциональность командной оболочки, присутствующей в большинстве Linux дистрибутивов - Bash, командная оболочка от GNU.

Что в стандарте?

Единая Спецификация UNIX содержит намного больше, чем просто набор Cи-функций. В частности, стандарт определяет набор пользовательских утилит, которые обязаны присутствовать в UNIX-подобных системах. Многие программы используют эти утилиты через shell-скрипты или другие вызовы. Большинство из них содержатся в пакете корневых утилит GNU. Опять-таки, сравнивая количество строк кода, размер корневых утилит сравним с размером ядра.

Можно предположить, что эти утилиты не столь важная часть системы, однако это не так. Без утилит большинство init скриптов просто не запустятся (даже при наличии Bash), а система будет непригодна к использованию. Большинство инсталляторов также не запустятся, а это значит, что вы не сможете установить ни одной программы. Даже базовая функциональность, такая как копирование файлов использует корневые утилиты.

Единая UNIX Спецификация предоставляет список из 175 программ, которые должны присутствовать в каждой UNIX системе. Большинство из которых (с некоторыми исключениями, типа vi) созданы GNU и присутствуют в большинстве Linux дистрибутивов. Часть из них никогда не используются обычными пользователями; к примеру, стандарт предписывает наличие c99 и fort77 утилит для компилирования программ написанных на C и Fortran (обе утилиты предоставляются GNU).

На что еще следует обратить внимание?

Ранее я говорил, что у ядра две роли. Главная роль в предоставлении программам пользователя доступ к аппаратной части. Поэтому большинство Linux кода (и кода большинства других ядер) состоит из драйверов устройств. Но, отдельно стоит упомянуть о графике.

Старая модель драйвера XFree86 слабо зависела от ядра. Х-сервер запускался как привилегированный процесс и получал прямой доступ к аппаратной части. Я сам видел живой пример этого при попытке использования бинарного Linux драйвера Matrox под FreeBSD. Хоть драйвер и был написан для Linux, он прекрасно встал на FreeBSD, т.к. он напрямую взаимодействовал с Х-сервером и железом, а вовсе не с ядром FreeBSD.

Новые драйвера используют Инфраструктуру прямого рендеринга (Direct Rendering Infrastructure (DRI)). Эта система состоит из двух компонентов, называемых DRI и DRM. DRI - это драйвер пользовательского окружения, который снабжает командами аппаратную часть и предоставляет API другим пользовательским программам. DRM, в свою очередь, является маленьким модулем ядра, который проверяет команды и передает их аппаратной части.

Часто при холиварах на тему «готов ли Linux для десктопа» люди спрашивают, а как хорошо работает 3D в Linux? Вообще-то, обработка 3D это не задача Linux на большинстве системах. Linux всего-лишь предоставляет прямой интерфейс к аппаратной части, а уже X.Org пишет драйвера. Эти же драйвера могут быть запущены на FreeBSD, OpenBSD и еще ряде систем. В мире GNU/Linux систем Linux не занимается разработкой драйверов для одной из сложнейших частей аппаратной составляющей современного дектопа/лэптопа.

С изобретением FUSE, которая также работает на FreeBSD, NetBSD, and Mac OS X, ядро часто перестает предоставлять все драйвера для файловых систем, что еще больше умаляет роль «Linux» в системе.

Удаление GNU или Linux.

Возможно самый правдивый тест на важность того или иного компонента системы состоит в том, насколько просто обойтись без данного компонента в системе. Некоторые Linux платформы используют не так много GNU программ; например использование busybox для утилит командной строки и uclibc для стандартной библиотеки. Часть GNU платформ, такие как Nexenta или Debian GNU/kFreeBSD не используют ядро Linux.

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

Для того чтобы данный метод работал, часто устанавливают урезанную версию Linux в отдельном окружении. Программы написанные под Linux в итоге смогут найти все необходимые библиотеки и утилиты, включая GNU утилиты, GNU grep, Bash и другие пакеты.

О чем это говорит? Это говорит о том, что если вы хотите запустить GNU/Linux программу на другой системе, то это легко выполнимо без Linux, а вот без GNU обойтись не так-то просто.

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

  • программ, использующих С++, которые скорее всего будут использовать GNU libstdc++.
  • программ, явно использующих одну из многих GNU библиотек.

Так что удаление GNU из GNU/Linux видится намного более сложным, нежели удаление Linux. PC-BSD или Nexenta - это хорошие десктопные ОС без капли Linux кода внутри, но с большим количеством GNU кода. Те Linux системы, которые не так сильно зависят от GNU кода - это сплошь интегрированные системы, названия которых не знакомы пользователям десктопных и серверных вариантов Linux.

Так как же стоит говорить, Linux, GNU или GNU/Linux? Я называю GNU, потому что, как программист и пользователь, я пользуюсь, в большинстве своем, теми инструментами, которые разработаны GNU. Когда я портирую код из FreeBSD, проблемы возникают только в корневых утилитах или в стандартной библиотеке Си. Если бы я хотел запустить этот же код на HURD или любой другой GNU системе, то я бы использовал те же самые интерфейсы.

В общем, я предпочитаю выделять дистрибутивы, типа Fedora или Ubuntu, и не упомянать GNU или Linux. Система включает в себя огромное количество кода из различных источников. Среди самых больших поставщиков кода фигурируют Проект GNU и X.org, но Ubuntu GNOME/X.Org/GNU/Linux звучит слегка длинновато. А включая в названия системы такую небольшую и без проблем удаляемую часть, как Linux, поступают несправедливо по отношению к множеству разработчиков, чей код также присутствует в системе.

С овременный компьютерный мир – это не только устройства на операционных системах Windows или macOS. Существует еще одна очень интересная система – это Linux. Честно говоря, ОС Linux – это, наверное, самая универсальная операционная система в мире, которая подходит для любого устройства. Например, когда вы каждый раз пользуетесь своим смартфоном на мобильной операционной системе Android, то вы обращаетесь напрямую к ядру Linux. Мы точно уверены, что вы хотя бы краем уха слышали об автомобилях с автопилотом. Угадайте, на основе какой операционной системы создано программное обеспечения таких самоуправляемых автомобилей? Правильно, Linux.

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

В нашем материале мы продолжим вас знакомить с операционной системой Linux. И, пожалуй, сегодня мы основной упор сделаем на том, чтобы разъяснить вам что собой являет операционная система вообще и, в частности, GNU / Linux. Если вам все еще интересно, тогда мы приступаем.

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

Возможно это прозвучит глупо, но не все до конца понимают, что собой представляет операционная система. И так, операционная система – это специальное программное обеспечение, которое используется для взаимодействия оборудования между собой и помогает пользователю взаимодействовать с компьютером.

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

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

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

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

Что такое GNU / Linux?

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

Но когда мы говорим «операционная система Linux», то в большинстве случаев имеем ввиду проект GNU / Linux. По большому счету, Linux – это ядро, в котором четко прописано, как между собой должны взаимодействовать аппаратные составляющие компьютера. А вот как должен пользователь взаимодействовать с ядром Linux как раз определяет GNU. Так давайте разберемся, что такое GNU.

Что такое GNU?

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

Итак, для взаимодействия с ядром операционной системы на базовом уровне, вам нужен как минимум терминал. Терминал представляет собой командную строку, через которые вы можете посылать команды ядру, и оно будет выполнять некие действия (а еще терминал – это то, за что программисты и системные администраторы просто обожают Linux). GNU предлагает свою «фирменную» оболочку под терминал, которая называется BASH.

Но на одном терминале далеко не уедешь, поскольку никто не хочет запоминать сотни команд и видеть на компьютере просто черный экран в 2017 году. Поэтому пользователям нужен рабочий стол на подобии того, который они видят в Windows. И тут GNU также не пасет задних, предлагает своим пользователям один из лучших рабочих столов в мире Linux – это GNOME. Кроме того, самый популярный бесплатный кроссплатформенный графический редактор GIMP, который является достойной альтернативой мощному Adobe Photoshop, также разрабатывался сначала специально под GNU.

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

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

Что такое рабочий стол в GNU / Linux?

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

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

Резюме

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