на чем написан линукс

Линукс для начинающих и его практическое применение

Что такое Линукс

реклама

Первые Линукс изначально были написаны программистами для самих себя. Позднее увеличился выбор программ и появились различные графические интерфейсы (GNOME, KDE, Cinnamon, MATE, XFCE).

реклама

реклама

Разновидностей Линукс довольно много, самые популярные: Linux Mint, Ubuntu, Debian, Mageia, Fedora, OpenSUSE, ArchLinux, CentOS, PCLinuxOS, Slackware.

В России были созданы собственные версии Линукс: Rosa, ALT Linux, ASPLinux, НауЛинукс, Calculate Linux, Runtu, Rosinka, Astra Linux. Их последние годы внедряют в государственных учреждениях.

реклама

Плюсы и минусы Линукс

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

Основные достоинства Линукс:

Недостатки Линукс, с которыми её разработчики постоянно борются:

Применение Линукс на практике

В интернет-кафе

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

Для обучения ребёнка

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

Для встречи с клиентами и проведения презентаций.

Линукс имеет открытый код, а значит Вам не придётся оплачивать лицензию, как в случае с Виндовс. Для презентаций есть отличная замена Майксофт офиса – WPS office, используя его Вы покажете своим клиентам отличные знания компьютера, так как в основном опытные пользователи решаются установить Linux, а полностью на него переходят, только самые продвинутые.

В командировках

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

Для путешественников

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

Для серверов

Высокая надёжность Линукса позволяет использовать его в качестве серверной операционной системы. Например, если у человека есть старый ПК, и он хочет запустить на нём свой сайт или онлайн-магазин.

Для обучения программистов и системных администраторов

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

Большая просьба к пользователям Линукс, напишите в комментариях, какой именно версией ОС Вы пользуетесь и какие задачи она решает?

Источник

На чём написано ядро Линукс?

— На чём написано ядро Линукс, на Си или C++?

— Можно ли под ядро писать модули на Си и на С++, или только на каком-то одном языке?

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

На самом деле, тот кто задает такие вопросы мягко говоря не готов для того, чтобы писать модули, да еще и на C++ 🙂

Re: На чём написано ядро Линукс?

>- На чём написано ядро Линукс, на Си или C++?

>- Можно ли под ядро писать модули на Си и на С++, или только на каком-то одном языке?

Модули можно писать на чем-угодно, если только компилятор создает корректный с точки зрения ядра код. Даже компилятор С теоретически можно создавать неприемлемый для ядра код.

Re: На чём написано ядро Линукс?

Для каких целей используется в ядре ASM?

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

Т.е. для kernel programmera необходимо знание Си и ассемблера или только Си? С++ нужен?

В сети можно какую нить литературку по программированию ядра можно найти?

Re: На чём написано ядро Линукс?

в моём больном сознании не совмещаются начинания по «программированию ядра» и не желание посмотреть для начала _самому_ сорцы этого самого ядра: определить язык по сорцам не так уж и сложно 😉

ЗЫ. не надо рассказывать про дороговизну интернета

Re: На чём написано ядро Линукс?

>не надо рассказывать про дороговизну интернета

Последняя з/п уже истрачена на пиво и до конца февраля не имею возможности скачать :)))

Re: На чём написано ядро Линукс?

>з/п уже истрачена на пиво

да-да, зарпалту грех не пропить

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

>Как-то странно человек, не разу не ставивший linux, хочет писать под него модули?

Успокойтесь уважаемый, ставивший и не раз, и есть дистры без сорцов ядра. В данный момент жду из линуксцентра Suse 10.2, а пока не имею возможности ни скачать сорцы, ни в дистре посмотреть.

Re: На чём написано ядро Линукс?

> и есть дистры без сорцов ядра.

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

Это с трудом можно назвать дистрибутив. Ты бы еще Damm Small привел в пример.

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

> В сети можно какую нить литературку по программированию ядра можно найти?

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

2. Ооп там и так есть, просто костыльный. Ни что не мешает на C++ писать вменяемый код. По скорости разница будет максимум проценты.

Re: На чём написано ядро Линукс?

По слухам из глубокой древности, древний гуру и джедай Торвалд-сан начал писать ядро Матрицы нового поколения на голом С и асме. Но с течением времени из-за притока неофитов, для предотвращения искажения Истины подлинные и непроявленные сорцы ядра превратились в сакральный текст на brainfuck. И задачу трансляции в понятный для Гуру вид и обратно выполняет когорта девелоперов, организованных в сектоподобный конгломерат, результатой деятельности которых являются зловещие заклинания под названием «патчи», преобразующие реальность и счётчик в версии ядре.

Читайте также:  средневековая королева скин майнкрафт

Re: На чём написано ядро Линукс?

Re: На чём написано ядро Линукс?

Ядро широко использует ООП (правда, в угребищном Си-варианте)

> ядро-это код,где в течение 15 лет отшлифовывается буквально каждая машинная команда

Аха, ядро включает в себя специальный компилятор, который спрашивает у хакера, какие именно команды выдавать 🙂

Re: На чём написано ядро Линукс?

>>ха, ядро включает в себя специальный компилятор, который спрашивает у хакера, какие именно команды выдавать

аха
компилятор в таких случаях вообще не спрашивают
инлайн в таких случаях пользуют

Re: На чём написано ядро Линукс?

Инлайн пользуют без компилятора? Непосредственно через астрал?

Источник

Что такое Linux (и другие вопросы)

Быстрое знакомство с самой многогранной операционной системой

Операционная система Linux работает почти на всех серверах в интернете. При этом Linux — это не название какой-то одной операционной системы, а общее название для сотен систем. Давайте разберёмся, как это вообще возможно.

Что такое Linux

Linux — это одновременно две вещи:

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

Что значит ядро Linux?

Ядро Linux — это то, что разработал программист Линус Торвальдс, когда хотел получить основные возможности UNIX, но без ограничения на коммерческое использование.

Ядро операционной системы отвечает за её базовые команды и операции, которые она умеет делать:

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

Поверх ядра Linux разные программисты сделали свои версии операционных систем: RedHat, Ubuntu, Mint Linux и много-много других. Вот и получается, что ядро в основе — одно, а дистрибутивов Linux — много.

Linux — это версия Unix?

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

Unix был создан в компании AT&T в 1970-х. Это была коммерческая операционка, которую хоть и лицензировали для университетов, но всё равно на ней хотели зарабатывать. UNIX существует как отдельная операционная система до сих пор и используется на сетевом оборудовании.

Linux создана в начале 90-х с нуля как открытая альтернатива Unix. В Linux используются многие принципы и механизмы Unix, но код другой. Более того, код Linux открытый: кто угодно может скачать исходник ядра Linux и посмотреть, как там всё устроено.

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

Что такое дистрибутив Linux

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

Количество дистрибутивов Linux огромно — около 500 более-менее известных и бесчисленное множество разных сборок под разные задачи.

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

Почему дистрибутивов так много

Потому что каждая компания считает важным что-то своё:

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

Получается, Linux — это бесплатно?

В основном да, Linux — это бесплатно. Есть и коммерческие сборки Linux: ты платишь за софт и поддержку пользователей.

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

Как выглядит интерфейс Linux

Linux может выглядеть как угодно — смотря что вам нравится.

Когда вы смотрите на окна операционной системы, на самом деле вы смотрите на специальную программу-менеджер. Это надстройка над ядром, которая рисует красивые окна. В операционных системах Windows и MacOS оконные менеджеры стандартные и не меняются, а в Linux можно выбрать свой.

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

Например, можно поставить себе оконный менеджер KDE:

Или можно использовать GNOME:

Или менеджер Xfce, если железо совсем слабое:

Можно вообще не пользоваться оконным менеджером и управлять всем из командной строки, как это делают на серверах:

Для чего используется Linux

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

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

Можно ли играть в игры на Linux

В целом — да, но с ограничениями. Вот варианты:

На Linux можно поиграть в Doom Eternal. А в Doom 3 можно поиграть даже на Линуксе, который работает на одноплатном компьютере Raspberry Pi 4.

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

А что со специализированным железом и софтом?

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

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

Читайте также:  как форматировать жесткий диск на windows 7 через панель управления

Совместимость со специализированным железом под вопросом: есть железо, которое работает только на Linux. И есть железо, у которого вообще нет драйверов на Linux. Надо смотреть.

Можно ли запускать на Linux программы от MacOS или Windows?

В целом — да. На Linux можно установить эмуляторы других операционных систем. Например, Wine — это широко распространённый эмулятор Windows. Есть система VMWare Workstation, которая создаёт виртуальную машину внутри вашего Линукса, и там можно запустить что угодно.

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

Что дальше

В одном из следующих выпусков перейдём к практике — установим Linux на домашний компьютер. Лайк, подписка.

Источник

Что такое Linux? История создания Linux

Обновл. 27 Июл 2021 |

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

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

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

В 1969 году команда разработчиков в лице Кена Томпсона, Денниса Ритчи и Дугласа Макилроя из исследовательского центра «Bell Labs» компании AT&T начала проект по созданию единой операционной системы (сокр. «ОС») для всех компьютеров, назвав её — «Unix». Первая версия системы была написана на Ассемблере. В 1972 году для того, чтобы переписать систему на более простой язык, Деннис Ритчи создает язык программирования Си, благодаря чему, 15 октября 1973 года выходит новая версия Unix (четвертая), ядро которой было переписано на Си. А через 2 года (в 1975 году) появляется уже полностью написанная на языке Си редакция Unix (пятая).

Долгое время операционная система являлась лишь исследовательским проектом, но в 1973 году проходит конференция Ассоциации по вычислительной технике (сокр. «ACM» от «Association for Computing Machinery»), на которой создатели Unix рассказывают о своей системе, и к ним сразу же начинают обращаться люди с просьбой поделиться её копией. И тут стоит отметить одну очень важную историческую деталь, которая сыграла свою роль в дальнейшем развитии событий. Дело в том, что в 1956 году компания AT&T (являющаяся на тот момент монополистом на американском рынке местной и междугородней связи) завершает очередное разбирательство с федеральными властями и антимонопольным комитетом по поводу своего монопольного положения, результатом которого становится подписание соглашения, накладывающее на AT&T ограничения по продажи продуктов и услуг, не связанных напрямую с телефонами и телекоммуникациями. А это значит, что Unix не могла продаваться всем желающим её заполучить. В связи с этим фактом, распространение исходных кодов системы Unix происходило абсолютно бесплатно.

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

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

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

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

Поэтому, в 1983 году, с целью создать доступную полноценную Unix-подобную операционную систему с открытыми исходными кодами, обмениваться которой смогут все желающие, он начинает разработку проекта GNU (сокр. от «GNU is Not Unix»).

В рамках проекта 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.

Вскоре после этого, 5 октября, Торвальдс представляет версию 0.02, ставшей первой «официальной» версией своей ОС.

Читайте также:  чем обусловлен рост дебиторской задолженности

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

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

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

Таким образом, миру явилась полноценная работающая операционная система под названием «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 и др.

Официальным талисманом Linux с 1996 года является пингвин Tux (сокр. от «Torvalds UniX«). Идею использовать пингвина в качестве талисмана Linux выдвинул создатель этого ядра Линус Торвальдс.

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

GNU/Linux или Linux?

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

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

Вы же можете использовать как термин «Linux», так и термин «GNU/Linux».

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

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

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

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

Оболочка (или «shell», «командный интерпретатор») — интерфейс для взаимодействия между пользователями системы и ядром ОС, абстрагирующий внутреннее устройство системы. Принимает команды от пользователей и запускает на выполнение соответствующие функции.

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

Ядро Linux

Ядро — это своего рода главная программа, являющаяся основной частью операционной системы. Оно выступает в роли посредника между устройствами компьютера (процессором, видеокартой, оперативной памятью и т.д.) и его программным обеспечением, абстрагируя от обычных программ и пользователей сложную, низкоуровневую работу с «железом» компьютера, предоставляя взамен простой, понятный и удобный в использовании интерфейс. Для этого в код ядра были включены драйверы устройств, которые могут как загружаться в память вместе с ядром ОС, так и подключаться по мере возникновения потребности в ресурсах необходимого устройства.

Примечание: Ядро Linux было разработано в 1991 году программистом Линусом Торвальдсом. Об этом снят документальный фильм «Revolution OS» (2001 г.).

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

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

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

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

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

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

Заключение

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

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

Поделиться в социальных сетях:

Источник

Компьютерный онлайн портал