Внедрение графических кодеров/декодеров в ядро?

Internal structure and you change requests/suggestions
Post Reply
Kolibrius
Posts: 26
Joined: Wed Sep 22, 2021 9:36 pm

Внедрение графических кодеров/декодеров в ядро?

Post by Kolibrius »

Честно говоря я не знаю как работают драйверы в системе.
Но, что если внедрить декодеры/кодеры bmp, gif, png, jpg и других форматов в ядро?
Но допустим не прям в ядро, а в виде драйверов, чтобы форматы можно было пристыковывать/отстыковывать при надобности.
И выделить какую нибудь функцию ядра которая взаимодействовала бы с этими драйверами через ядро.

Что-то вроде:

Code: Select all

lea esi,[png_img]
lea edi,[rgb_img]
mov eax,func
mov ebx,' png'
mcall 
Есть ли смысл в таком решении?
User avatar
dunkaist
Mentor
Posts: 728
Joined: Mon Oct 19, 2009 10:58 am
Been thanked: 2 times

Re: Внедрение графических кодеров/декодеров в ядро?

Post by dunkaist »

Are you aware of libimg? What are benefits of putting it into the kernel?
User avatar
Boppan
Posts: 63
Joined: Mon Aug 26, 2019 10:14 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Boppan »

Насколько мне известно, кодэки обычно реализуются на уровне прикладных библиотек. Есть ньюансы при реализации их аппаратного ускорения, но, скорее всего, это реализуется через какое-то общение с драйвером (точно не в курсе).
Kolibrius
Posts: 26
Joined: Wed Sep 22, 2021 9:36 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Kolibrius »

Я где-то видел пример использования libimg возможно в wiki... Если кто скинет ссылку будет замечательно.
Ну что сказать, чтобы её использовать потребуется наверно 200-300 байт машинного кода. Плюс программисту нужно в уме держать как эту библиотеку вызвать, обработать ошибку если ее нет... Колибри вроде как ассемблерная ось, зачем такие сложности? Я думаю в ядре нужно сделать некую универсальную точку входа для всех библиотек графического конвертирования или драйверов (что будет экономический выгоднее) в виде одной некоторой функции которая сама будет искать библиотеки из определенной папки и возиться с ними, если библиотеки нет возвращать ошибку и т.д. Вызов такой функции будет занимать 20-30 байт машинного кода и будет прозрачен для программиста и легок в применении.

На счет драйверов или библиотек, механизм должен быть расширяемый. Поэтому должно быть что-то вроде папки в которую скинуты все кодеры/декодеры, и если в снимке системы нужно освободить место, эти драйверы легко можно было-бы отсоединить или присоединить, по мере необходимости простым удалением из папки например или копированием в папку.
Ray
Posts: 126
Joined: Sun Aug 09, 2015 3:41 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Ray »

В ядре этого точно не нужно. Кури libimg
Kolibrius
Posts: 26
Joined: Wed Sep 22, 2021 9:36 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Kolibrius »

Умник [url=http://board.kolibrios.org/viewtopic.php?f=33&t=3202&start=30#p63380]Ray[/url] wrote:Спасибо за совет, языков программирования я знаю немало и так (в том числе и любимый кое-кем Паскаль, хотя и не писал на нем уже 100 лет).
Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.
User avatar
dunkaist
Mentor
Posts: 728
Joined: Mon Oct 19, 2009 10:58 am
Been thanked: 2 times

Re: Внедрение графических кодеров/декодеров в ядро?

Post by dunkaist »

There exists a dynamic library loader by Coldy. Search the board or contact him for details.

If you find the current way of library loading inconvenient, it is still not a reason to put application libraries to the kernel.
Kolibrius
Posts: 26
Joined: Wed Sep 22, 2021 9:36 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Kolibrius »

dunkaist wrote:If you find the current way of library loading inconvenient, it is still not a reason to put application libraries to the kernel.
Можно написать макрос и всё будет вполне удобно, просто работа с библиотекой будет занимать много места в программе, весь смысл ассемблерного компактного кода пропадает.

Впрочем пусть будет все как есть.
Ray
Posts: 126
Joined: Sun Aug 09, 2015 3:41 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Ray »

Kolibrius wrote:Умник Ray писал(а):
Спасибо за совет, языков программирования я знаю немало и так (в том числе и любимый кое-кем Паскаль, хотя и не писал на нем уже 100 лет).
И что в том сообщении тебя так задело? Тебя же там не было. А замечания были про откровенно кривые названия с грамматическими ошибками на английском.
Kolibrius wrote:Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.
Чел, не поверишь твоё мнение относительно ядра тут тоже никем не ценится. А вот про то, что эта идея г пихать всё в ядро иди учиться в своей школе, вместе с твоим Паскалём.
Kolibrius
Posts: 26
Joined: Wed Sep 22, 2021 9:36 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Kolibrius »

Ray wrote:иди учиться в своей школе, вместе с твоим Паскалём.
Тебе как школьнику будет виднее, куда тебе идти со своим Паскалем. Тем более твой "сленг" явно уровня школьника.
Правильно Pathoswithin про тебя тогда сказал, ты любитель по умничать и ничего полезного не делать. Он тебя еще тогда раскусил. Ты обычный балабол. И я с ним полностью согласен. Да и мнение твое тут никогда не ценилось.
Doczom
Posts: 116
Joined: Tue Nov 03, 2020 5:47 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Doczom »

не надо тут разводить споры, по библиотекам и их загрузке, я вот как то не пойму, вам жалко пару сотен байт для загрузки библиотеки и неизвестно сколько байт(допустим 100) на таблицу импорта? я понимаю если бы размер существенно менялся по сравнению с вызовом функции, но в более больших проектах это не сыграет никак, ну какой толк от сотни двух сэкономленных байт если логика больше килобайта, да и использовать ядро как библиотеку не самый лучший вариант, так как переключение контекста очень трудоёмкая операция и в итоге программы начнут тормозить.(да и в чём проблема просто сделать call [console.init] например)
Ray
Posts: 126
Joined: Sun Aug 09, 2015 3:41 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Ray »

Kolibrius wrote:Я где-то видел пример использования libimg возможно в wiki... Если кто скинет ссылку будет замечательно.
Ray wrote:Кури libimg
Kolibrius wrote:Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.
Попросил ссылку, я её скинул, после чего ты влетаешь на агрессии. Много ли ты полезного сделал? Создал 3 темы как ты хочешь USB 3. Ну и кто тут малолетний балабол? Иди учи свой Паскаль.
Last edited by Ray on Mon Oct 25, 2021 3:33 am, edited 1 time in total.
Ray
Posts: 126
Joined: Sun Aug 09, 2015 3:41 pm

Re: Внедрение графических кодеров/декодеров в ядро?

Post by Ray »

Doczom wrote:не надо тут разводить споры, по библиотекам и их загрузке, я вот как то не пойму, вам жалко пару сотен байт для загрузки библиотеки и неизвестно сколько байт(допустим 100) на таблицу импорта? я понимаю если бы размер существенно менялся по сравнению с вызовом функции, но в более больших проектах это не сыграет никак, ну какой толк от сотни двух сэкономленных байт если логика больше килобайта, да и использовать ядро как библиотеку не самый лучший вариант, так как переключение контекста очень трудоёмкая операция и в итоге программы начнут тормозить.(да и в чём проблема просто сделать call [console.init] например)
Согласен полностью
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests