На чём написано ядро Линукс?
— На чём написано ядро Линукс, на Си или C++?
— Можно ли под ядро писать модули на Си и на С++, или только на каком-то одном языке?
Re: На чём написано ядро Линукс?
Re: На чём написано ядро Линукс?
> — На чём написано ядро Линукс, на Си или C++?
> — Можно ли под ядро писать модули на Си и на С++
Можно — но заколебешься.
На самом деле, тот кто задает такие вопросы мягко говоря не готов для того, чтобы писать модули, да еще и на C++ 🙂
Re: На чём написано ядро Линукс?
>- На чём написано ядро Линукс, на Си или C++?
>- Можно ли под ядро писать модули на Си и на С++, или только на каком-то одном языке?
Модули можно писать на чем-угодно, если только компилятор создает корректный с точки зрения ядра код. Даже компилятор С теоретически можно создавать неприемлемый для ядра код.
Re: На чём написано ядро Линукс?
Для каких целей используется в ядре ASM?
Re: На чём написано ядро Линукс?
Re: На чём написано ядро Линукс?
Т.е. для kernel programmera необходимо знание Си и ассемблера или только Си? С++ нужен?
В сети можно какую нить литературку по программированию ядра можно найти?
Re: На чём написано ядро Линукс?
в моём больном сознании не совмещаются начинания по «программированию ядра» и не желание посмотреть для начала _самому_ сорцы этого самого ядра: определить язык по сорцам не так уж и сложно 😉
ЗЫ. не надо рассказывать про дороговизну интернета
Re: На чём написано ядро Линукс?
>не надо рассказывать про дороговизну интернета
Последняя з/п уже истрачена на пиво и до конца февраля не имею возможности скачать :)))
Re: На чём написано ядро Линукс?
>з/п уже истрачена на пиво
да-да, зарпалту грех не пропить
Re: На чём написано ядро Линукс?
Re: На чём написано ядро Линукс?
>Как-то странно человек, не разу не ставивший linux, хочет писать под него модули?
Успокойтесь уважаемый, ставивший и не раз, и есть дистры без сорцов ядра. В данный момент жду из линуксцентра Suse 10.2, а пока не имею возможности ни скачать сорцы, ни в дистре посмотреть.
Re: На чём написано ядро Линукс?
> и есть дистры без сорцов ядра.
Re: На чём написано ядро Линукс?
AltLinux Home — вроде так назыввался
Вообще и без сорцев и средств разработки 🙂
Re: На чём написано ядро Линукс?
>AltLinux Home — вроде так назыввался Вообще и без сорцев и средств разработки 🙂
Это с трудом можно назвать дистрибутив. Ты бы еще Damm Small привел в пример.
Re: На чём написано ядро Линукс?
Re: На чём написано ядро Линукс?
> В сети можно какую нить литературку по программированию ядра можно найти?
Например LDD — Linux Device Drivers, есть еще новеловская книжка. Видел на сайте linuxcenter.ru что-то вроде ядреного helloworld-а, тоже может быть полезно.
Re: На чём написано ядро Линукс?
плюсы в ядре нафиг не нужны
не место им в ядре
если вы хотите заточить свое знание ооп ,идите куда подальше от ядра 🙂
ядро-это код,где в течение 15 лет отшлифовывается буквально каждая машинная команда для того,чтобы ядро было максимально минимизировано по размеру и максимально оптимизировано по скорости и надежности
Re: На чём написано ядро Линукс?
2. Ооп там и так есть, просто костыльный. Ни что не мешает на C++ писать вменяемый код. По скорости разница будет максимум проценты.
Re: На чём написано ядро Линукс?
По слухам из глубокой древности, древний гуру и джедай Торвалд-сан начал писать ядро Матрицы нового поколения на голом С и асме. Но с течением времени из-за притока неофитов, для предотвращения искажения Истины подлинные и непроявленные сорцы ядра превратились в сакральный текст на brainfuck. И задачу трансляции в понятный для Гуру вид и обратно выполняет когорта девелоперов, организованных в сектоподобный конгломерат, результатой деятельности которых являются зловещие заклинания под названием «патчи», преобразующие реальность и счётчик в версии ядре.
Так вот, аффару — убить себя апстену, модули можно писать хоть на паскале, но нормальный джедай сделал бы ядерную дырку и молодецким движением всунул туда могучий юзерспейс-компонент, ежели зело припёрло плюсики помацать.
Re: На чём написано ядро Линукс?
я тебя обрадую — ооп в ядре есть, хоть и на Си 🙂
Re: На чём написано ядро Линукс?
А может и правда — пофлеймим?
> если вы хотите заточить свое знание ооп ,идите куда подальше от ядра 🙂
Ядро широко использует ООП (правда, в угребищном Си-варианте)
> ядро-это код,где в течение 15 лет отшлифовывается буквально каждая машинная команда
Аха, ядро включает в себя специальный компилятор, который спрашивает у хакера, какие именно команды выдавать 🙂
Re: На чём написано ядро Линукс?
>>ха, ядро включает в себя специальный компилятор, который спрашивает у хакера, какие именно команды выдавать
аха
компилятор в таких случаях вообще не спрашивают
инлайн в таких случаях пользуют
Re: На чём написано ядро Линукс?
Инлайн пользуют без компилятора? Непосредственно через астрал?
Ядро Linux. Объясняем простыми словами
Существует огромное количество дистрибутивов Linux, но де-факто, у них есть только одна общая черта: ядро Linux. И хотя об этом часто говорят, многие люди на самом деле не знают точно, что оно делает.
Давайте посмотрим, что на самом деле делает ядро Linux и зачем оно нужно, используя как можно меньше отвратительных терминов.
Что такое ядро?
Каждая операционная система использует ядро. Без ядра, у вас не может быть операционной системы, которая действительно работает. Windows, Mac OS X и Linux имеют ядра, и все они разные. Это ядро также выполняет основную работу операционной системы. Помимо ядра, есть много приложений, связанных с ядром, чтобы сделать весь пакет чем-то полезным — об этом чуть позже.
Задача ядра — общаться с аппаратным и программным обеспечением и максимально эффективно управлять ресурсами системы. Оно взаимодействует с оборудованием через драйверы, которые включены в ядро (или дополнительно установлены позже в виде модуля ядра). Таким образом, когда приложение хочет что-то сделать (скажем, изменить настройку громкости динамиков), оно может просто отправить этот запрос ядру, и ядро может использовать драйвер для динамиков, чтобы фактически изменить громкость.
Ядро активно участвует в управлении ресурсами. Необходимо убедиться, что для запуска приложения достаточно памяти, а также разместить приложение в нужном месте в памяти. Ядро пытается оптимизировать использование процессора, чтобы он мог выполнять задачи как можно быстрее. Оно также направлено на то, чтобы избежать взаимоблокировок, которые являются проблемами, которые полностью останавливают систему, когда одному приложению требуется ресурс, который использует другое приложение. Это довольно сложный «цирковой акт», чтобы координировать все эти вещи, но это нужно сделать, для этого и нужно ядро.
Что еще составляет операционную систему?
Как я упоминал ранее, операционные системы включают собственное ядро вместе с кучей других приложений. Только с ядром, практически невозможно что-либо сделать с операционной системой. Вам также понадобятся некоторые другие приложения, такие как оболочка. Оболочка отвечает за отображение приглашения, которое вы видите в терминалах или командных строках. Оболочки — гораздо более простой способ запуска приложений, навигации по папкам и многого другого. Все те задачи, которые вы можете выполнять в оболочке, поддерживаются другими приложениями, которые также должны быть связаны. Например, приложение tar необходимо, если вы работаете с tarballs в оболочке.
Затем операционные системы, в частности дистрибутивы Linux, продолжают объединять больше приложений, таких как среда рабочего стола, веб-браузер, офисный пакет и другие приложения, с которыми вы часто взаимодействуете напрямую. Итак, как вы можете видеть, ядро - это очень маленькая часть операционной системы, но, пожалуй, самая важная.
История Linux
Как долго существует ядро Linux? Впервые оно было создано финским студентом по имени Линус Торвальдс в 1991 году. Он отправил электронное письмо в список рассылки со словами: «Привет всем, кто использует Minix! Я делаю (бесплатную) операционную систему для клонов AT на базе процессоров 386 (486). Это просто хобби, а не что-то большое и профессиональное вроде GNU». За более чем два десятилетия, операционная система для хобби, превратилась в основную часть программного обеспечения, которое теперь используется для миллионов устройств по всему миру.
В течение этого времени, Линус решил лицензировать ядро, используя лицензию GPL, что означало, ядро имеет открытый исходный код. Люди могут свободно просматривать код, изменять его в соответствии со своими потребностями, а затем распространять его среди других (по той же лицензии).
Теперь вы знаете о ядре Linux
Итак, теперь, когда кто-нибудь спросит вас, что такое ядро Linux, вы сможете рассказать им об этом! Если у вас есть другие вопросы о ядре Linux, задайте их в комментариях, а я постараюсь на них ответить.