LINUX.ORG.RU
 
Bsd-un

C++ в ядре Linux


0

0

Группа исследователей из университета г. Рейкъявик (Исландия) выпустила патч к ядру 2.6, позволяющий полноценное использование C++ в ядре. Поддерживаются исключения, динамические типы и глобальные объекты.

Разработка основана на коде GNU g++, но содержит также некоторые оптимизации, ускоряющее работы механизма исключений на порядок.

>>> netlab.ru.is


[#]  
Pi

Re: C++ в ядре Linux

>C++ runtime support for 2.6.9 (Last update 27 october 2004)

хоть убейте, но слова 'рантайм' и 'ядро ос' для меня не совместимы...

посмотрим во что это выльется, мож чё толковое получится

***** ()
[#]  

Re: C++ в ядре Linux

И даже в софт прокрались террористы ... Другим словом их не назовешь.

anonymous ()
[#]  

Re: C++ в ядре Linux

А для ocaml когда патч напишут?

anonymous ()
[#]  
V0ID

Re: C++ в ядре Linux

Мдэ, нет чтоб в сторону асма двигаться, визуал васика скоро всунут 8)

*** ()
[#]  
angel_il

Re: C++ в ядре Linux

Все, не собрать его теперь TCC-ой

*** ()
[#]  

Re: C++ в ядре Linux

А почему не для Java? Круто будет!

* ()
[#]  

Re: C++ в ядре Linux

M$ нам падлит, как пить дать M$ !

anonymous ()
[#]  

Re: C++ в ядре Linux

наконец-то я смогу использовать coutk вместо обрыдлого printk!

anonymous ()
[#] Ответ на: Re: C++ в ядре Linux от V0ID 28.10.2004 11:06:05  

Re: Re: C++ в ядре Linux

Батенька, вы сурьёзно? Вы хотите, чтобы разработка велась в 5 раз медленнее, код был непортируемым
и каждый баг было поймать в Х раз труднее? Флаг вам в руки. Напишите, только юзайте это сами.
Не хотел бы спровоцировать флейм, но ИМХО писать все подряд на АСМЕ это было ОК 30 лет назад.
АСМА в ядре должен быть разумный минимум, только там, где ведется низкоуровневая
работа с железом + некоторые оптимизации. Вон есть супернаворочанный и "суперстабильный" MenuetOS,
естественно само собой на АСМЕ. Там критических багов хватит лет на 10.
По теме: ОК!


* ()
[#]  

Re: C++ в ядре Linux

Как грицца, что делает кот когда ему нехрен делать: яйца лижет.

На кой фиг с++ в ядре нужно. Что там других проблем нет?

** ()
[#]  

Re: C++ в ядре Linux

ну во! теперь можно и гуйню туда засунуть будет!

anonymous ()
[#] Ответ на: Re: C++ в ядре Linux от anonymous 28.10.2004 12:50:13  

Re: Re: C++ в ядре Linux

Это да... qt туды, а затем и kde

anonymous ()
[#] Ответ на: Re: C++ в ядре Linux от qqqq 28.10.2004 12:27:18  

Re: Re: C++ в ядре Linux

C++ заметно упрощает понимание и сопровождение системы. В коде C++ проще разобраться и его проще модифицировать.

Для тех кто считает (до сих пор), что объекты - это тормоза, предлагаю изучить как они выглядят на низком уровне. Тест прост - заведите класс, сделайте вызов, потом транслируйте этот код в ASM и посмотрите что собой представляет объект и собственно вызов его метода. Затем попробуйте это для наследника и вызова виртуальной функции.

Для тех что считает, что концепция - говно. Рекомендую почитать литературу по ОО и наконец-то понять, что такое инкапсуляция & etc. Не трудно увидеть, что подобие этих приемов присутствует в хорошо спроектированной программе на C. Так что С++ - это просто более удобный инструмент.

anonymous ()
[#]  

Re: C++ в ядре Linux

Да чё там C++... Давайте на LISP-е перепишем. На нём Бог прогмает, значит одно авторитетное мнение у нас уже есть!

* ()
[#] Ответ на: Re: Re: C++ в ядре Linux от anonymous 28.10.2004 13:05:21  
init

Re: Re: Re: C++ в ядре Linux

> Для тех кто считает (до сих пор), что объекты - это тормоза, предлагаю изучить как они выглядят на низком уровне. Тест прост - заведите класс, сделайте вызов, потом транслируйте этот код в ASM и посмотрите что собой представляет объект и собственно вызов его метода. Затем попробуйте это для наследника и вызова виртуальной функции.

Действительно, и что это все пишут на c? c++ же удобнее и быстрее. Наверное все дураки просто..

***** ()
[#]  
realloc

Re: C++ в ядре Linux

Новость со слешдота, где в комментах много раз упоминается, что подобные идеи уже неоднократно всплывали в различных осевых проектах. В основном в учебных. И почему-то (дураки наверное потомучто, а иначе как?) от этих идей очень быстро отказывались.

*** ()
[#] Ответ на: Re: Re: Re: C++ в ядре Linux от init 28.10.2004 13:17:56  

Re: Re: Re: Re: C++ в ядре Linux

Дык енд юзверю пофигу на чем пишут, главное чтоб пахало , без багов и шустро. И нефиг спорить. Проведите иследование. Выделите пару "свободных" прогеров на обкатку с++ в ядре. Если дело действительно имеет положительные свойства - юзать в ядре. А не флеймить и п"здоболить в мэйл листах. Нам нужны конкретные резальтаты, а не мозгоплавление. Народ предпологает, а Линус Торвальдс распологает.

anonymous ()
[#]  

Re: C++ в ядре Linux

даешь php в ядро!

*** ()
[#] Ответ на: Re: C++ в ядре Linux от kelyar 28.10.2004 13:30:47  

Re: Re: C++ в ядре Linux

нихрена.. тока питон! потом можна будет пальцы топырить "вишь эти пробелы перед строчками!? это я их вставлял!!! я кул кернелхацкер!"

anonymous ()
[#] Ответ на: Re: Re: C++ в ядре Linux от anonymous 28.10.2004 13:05:21  

Re: Re: Re: C++ в ядре Linux

>> В коде C++ проще разобраться и его проще модифицировать Разбираться проще в коде, который хорошо написан. А это (умение качественно писать программы) не зависит от языка программирования. Ты, если пишешь, добавляй "имхо". Вот знаешь, мне например проще разбираться в проге на C, чем её аналоге на C++. Из всех проектов на C++ (относительно больших) лишь про некоторые я могу сказать - вот, действительно, здорово написано. Такие, пожалуй, можно пересчитать по пальцам. А вот почему-то действительно хороших программ на C куда больше.

* ()
[#] Ответ на: Re: C++ в ядре Linux от kelyar 28.10.2004 13:30:47  
ananas

Re: Re: C++ в ядре Linux

php - для ламирофф. perl - вот енто для риел хакиров

make CC=perlcc bzImage

***** ()
[#] Ответ на: Re: Re: C++ в ядре Linux от anonymous 28.10.2004 13:05:21  

Re: Re: Re: C++ в ядре Linux

c++ по любому более сложный инструмент, чем с. :) Так что... Лучше не рисковать. ;) А то, нахакают. %))

* ()
[#]  

Re: C++ в ядре Linux

Sledushim shagom budet jadro na Haskelu :) Nu ili nakrajniak CLisp!

anonymous ()
[#] Ответ на: Re: C++ в ядре Linux от realloc 28.10.2004 13:28:40  

Re: Re: C++ в ядре Linux

>И почему-то (дураки наверное потомучто, а иначе как?) от этих идей очень быстро отказывались.

Буш смеятся но именно по этому (что дураки) ;) . Как-то Линус уже отвечал на это вопрос.

PS: На самом деле (ImHO) проблема в наличае адекватных плюсовых инструментов (в основном это то, что у g++ живет в libstd++) для писания кода ядра и топик как раз про попытку такой инструментарий создать.

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

***** ()
[#]  

Re: C++ в ядре Linux

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

anonymous ()
[#]  

Re: C++ в ядре Linux

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

anonymous ()
[#]  

Re: C++ в ядре Linux

Ур-ра-аа! Даешь метапрограммирование в ядре!

()
[#]  

Re: C++ в ядре Linux

Маразм крепчал, деревья гнулись...

anonymous ()
[#]  
geek

Re: C++ в ядре Linux

"мы с не знаем, зато умеем с++, и нам очень хочется засунуть что-нибудь в ядро линуха. вот такие мы извращенцы"

** ()
[#] Ответ на: Re: C++ в ядре Linux от Oval 28.10.2004 15:31:47  

Re: Re: C++ в ядре Linux

А что такое метапрограммирование, почему оно будет именно в ядре, и с чего ты взял, что С++ удобен для этого метапрограммирования?

anonymous ()
[#] Ответ на: Re: Re: Re: C++ в ядре Linux от init 28.10.2004 13:17:56  

Re: Re: Re: Re: C++ в ядре Linux

>>Действительно, и что это все пишут на c? c++ же удобнее и быстрее. Наверное все дураки просто.

Ну допустим не все QNX например писан на C++ тормозом не считается

* ()
[#]  

Re: C++ в ядре Linux

Ну и что вы тут раскудахтались ?
C++ и ООП хорошо знаете ? Много ядреного кода написали ?

Люди полезную вещь делают, в отличии от вас.
Лиш бы обосрать, одним словом LOR :|

** ()
[#]  

Re: C++ в ядре Linux

Лучше б ADA прикрутили... там и типизация и рандеву ... надёжность.

anonymous ()
[#] Ответ на: Re: Re: C++ в ядре Linux от anonymous 28.10.2004 13:05:21  
jackill

Re: Re: Re: C++ в ядре Linux

>Для тех что считает, что концепция - говно.

Кстати, о концепциях. Алан Кокс считает, что потоками пользуются те, кто не умеет программировать конечные автоматы.

Как насчет многопоточной концепции?

***** ()
[#] Ответ на: Re: C++ в ядре Linux от ed 28.10.2004 16:53:21  

Re: Re: C++ в ядре Linux

Линус против С++ в ядре - для меня это достаточный аргумент.

anonymous ()
[#]  

Re: C++ в ядре Linux

Вспоминается случай с Торвальдсом, который божился перед Тененбаумом переписать Linux на C++. :-)))

anonymous ()
[#] Ответ на: Re: Re: C++ в ядре Linux от anonymous 28.10.2004 16:21:54  

Re: Re: Re: C++ в ядре Linux

>А что такое метапрограммирование, почему оно будет именно в ядре, и >с чего ты взял, что С++ удобен для этого метапрограммирования? Ты слишком часто задаешь вопросы. Попробуй найди ответ на первый и возможно остальные два тебя перестанут интересовать.

anonymous ()
[#]  

Re: C++ в ядре Linux

Это просто ни к чему ИМХО.

Винда со своими плюсами полна багов. Не хватало нам еще путанного, но "объектно-ориентированного" проектирования ядра.

В топку!

P.S. C -- это язык для системного программирования, а C++ -- для прикладного.

anonymous ()
[#]  

Re: C++ в ядре Linux

А я на bsd перешел, мне пох ;))

** ()
[#] Ответ на: Re: C++ в ядре Linux от anonymous 28.10.2004 18:08:27  

Re: Re: C++ в ядре Linux

Именно, думаю, что с С++ делать ось Just for Fun не получится, и может уменьшится число контрибуторов. Хотя это все равно решать тем, кто больше всех участвует в разработке. В лююом случае это будет дополнительной преградой в развитии Linux.

anonymous ()
[#]  
eXOR

Re: C++ в ядре Linux

Оч полезная штука. Жалко что в основную ветвь это дело не внесут.

***** ()
[#] Ответ на: Re: C++ в ядре Linux от anonymous 28.10.2004 17:55:08  

Re: Re: C++ в ядре Linux

Есть такая конторка, OSR (www.osr.com). Одна из авторитетнейших в области kernel-mode программирования для NT. Дык вот они грят, что скармливают весь свой сишный код компилятору C++, и он _всегда_ находит ошибки, которые пропускает сишный компилятор. Это они рекомендуют делать всем. Крутость с++ как раз в том, что у него офигенная обратная совместимость с си. Можно писать на с++ и без RTTI, исключений, полиморфизма и даже без классов и даже при этом иметь более качественный код, хотя бы благодаря более жесткой типизации плюсов. Для меня с++ - это прежде всего, жесткая типизация, автоматическое освобождение ресурсов через деструкторы локальных объектов и хороший коэфициент повторно используемого кода. Кстати, способ использования исключения и RTTI (что взаимосвязано) в NT было найдено народом очень давно, но вряд ли кто-нить это активно юзает, это как раз стремно. Да и MS не рекомендует, официально плюсы так и не поддерживаются в ядре :( Хотя сама MS уже давно пишет часть драйверов на плюсах. Я бы от официальной поддержки исключений в ядре не отказался бы, хотя бы код портировать было бы легче :) Кстати STL от SGI прекрасно работает, только что аллокатор свой прикрутил.

()
[#] Ответ на: Re: Re: C++ в ядре Linux от tazo 28.10.2004 18:31:20  

Re: Re: Re: C++ в ядре Linux

Угу. Только меня этот гемор с типизированием как-то раз порядком подз**бал. Компилил libxml++ и несколько раз огребал ошибки из-за того, что ф-ция требовала char*, а std::string::c_str() возвращал const char*.

Каждый язык хорош для тех целей, для которых изначально создавался. Что-то я не слышу о широком распространении kylix в мире Linux. Как-то все больше Qt да GTK+ попадаются...

anonymous ()
[#] Ответ на: Re: C++ в ядре Linux от anonymous 28.10.2004 18:08:27  

Re: Re: C++ в ядре Linux

>>Винда со своими плюсами полна багов. ядрышко то у винды в основном на С написано. А если мозг не позволяет писать нормальный код на любом языке, то надо что-то не с языками делать, а с головой

* ()
[#] Ответ на: Re: Re: C++ в ядре Linux от Pavel_and 28.10.2004 18:45:27  

Re: Re: Re: C++ в ядре Linux

Чу. Смотри bagtraq. Сплошь buffer overrun. Ошибка, которая при правильном программировании на плюсах в принципе невозможна. А на си сплошь и рядом. Ты скажи, сколько MS код чистили, сколько фиксов за пятнадцать лет? Если бы C++ стандартизировали бы в 80-х, ядро NT было бы менее глючное.

()
[#]  

Re: C++ в ядре Linux

Пожет, ещё и иксы на 40-е прерывание пустить, как в Menuet? Или на Бейсике написать?

** ()
[#] Ответ на: Re: Re: Re: C++ в ядре Linux от tazo 28.10.2004 18:57:50  

Re: Re: Re: Re: C++ в ядре Linux

> Ошибка, которая при правильном программировании на плюсах в принципе невозможна

При правильном программировании она невозможна нигде. А в С++ она возможна при неправильном программировании. С и С++ в этом отношении - близецы-братья.

anonymous ()
[#]  
alphex_kaanoken

Re: C++ в ядре Linux

абсолютно ненужная вещь - не должно быть в ядре плюсов - не нужны они там;

в топку данное изделие;

В сторону асма двигаться тоже не надо - бред. Лучше просто С.

*** ()
[#]  

Re: C++ в ядре Linux

может С++ в ярде и не надо (что интересно на это скажет Линус?), а вот забэкпортить эти их оптимизации обратно в g++ было бы недурно. Все-таки сокращение времени типовой операции с 18 до 2.1 мс это не хрен собачий.

Статью на их странице кто-нибудь читал? я имею в виду ту что в PDF

anonymous ()