OSDev

для всех
Текущее время: 22 окт 2018, 11:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Пакеты
СообщениеДобавлено: 18 май 2012, 05:37 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Программируя драйверы я заметил, что все устройства используют пакеты для работы с данными, работают с данными в оперативной памяти не используя процессор. Процессор оформляет пакеты устройствам где указывает в основном размер данных и их адрес, также само устройство. У устройств пакеты по разному оформляются.
Такая система очень ускоряет работу ПК, отсюда и идея создать систему работы с пакетами максимально освобождающую процессор, т.е. данные направлять от устройства к устройству или сразу к конечному потребителю. Все устройства сообщают о готовности пакета прерыванием.
Сами устройства это Флешки, Диски, Сеть, Звук, Видео. Для флешек, дисков и звука драйвер один, а для сети и видео разные.
Для того, чтобы создать систему нужно написать драйвера для этих устройств и организовать работу по направлении данных из пакетов.
Впринципи получится целая система работающая с устройствами на которой и плееры и файловые операции и сетевой обмен, ..., а это как мне кажется 80% функционала ОС, тема очень большая и интересная.
Как вам кажется такое может быть.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакеты
СообщениеДобавлено: 18 май 2012, 12:07 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 290
Станислав писал(а):
Кстати почему у Винды для звука разные драйвера, хотя контроллер для них один


Контроллер интерфейса HDA - один, а кодеки (микросхемы, конвертирующие цифру в аналог и наоборот) - разные и несовместимые.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакеты
СообщениеДобавлено: 18 май 2012, 14:44 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
grindars писал(а):
Контроллер интерфейса HDA - один, а кодеки (микросхемы, конвертирующие цифру в аналог и наоборот) - разные и несовместимые.

В спецификациях было сказано о том, что в пространстве PCI производитель делает что хочет, а про кодеки там четкий алгоритм работы для всех моделей, хотя могу ошибаться.
Но в PCI я посмотрел какие BARы забиты, оказался первый и для ATI и для VIA.
Стандартный драйвер в виндовсе нормально со всеми звукавухами работает(я ни когда родной не ставлю) и даже в минуэтеОС один драйвер для HDA работает со всеми звукавухами на этом контроллере.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB