sound, SB, AC97 и другое

Drivers for sound cards
  • Понятно, спасибо.
  • Serge wrote:Колибри не умеет определять наличие COM и считает что они есть всегда, поэтому ставит на irq 3 и 4 свои обработчики.
    А это не есть хорошо. То есть можно сказать, что ядро статично? И вообще кто работает с устройствами? Ядро аппаратно зависимо?
  • schooler

    Зависимо не то слово. Драйверы для многих устройств намертво зашиты в ядро.
  • Serge
    Теперь спрашиваю как у "Kernel Developer" - можно ли избавиться от устройств в ядре? Т.е. сделать его аппаратно независимым, ведь это сильно мешает разработке (человек может просто написать драйвер, зная как это делать, чем лезть в ядро и что-то менять) или для этого легче переписать ядро?
    Мой вопрос может показаться неправельным, я еще плохо ознакомился с подробностями построения ядра Kolibri
  • schooler

    Можно. В ядре остаются драйверы клавиатуры, fdd, hdd и сетевых устройств. Работа по перемещению последних во внешние модули уже ведётся.
  • Serge wrote:Работа по перемещению последних во внешние модули уже ведётся
    Следовательно, должна быть некая драйверная модель.
    Познакомиться бы.
    Не ну понятно, что если "он" есть, то при запуске его подключат.
    Но это же далеко не все вопросы...
    А если их есть несколько? Можно ли динамически подключить? А отключить и подключить другой? А выстраиваются ли они в некую иерархию? А насколько это "безопасно"?
    И т.д., и т.п..

    Возможно, что ответов на все вопросы еще и нет физически, но мысли-то какие-то есть ведь.
    Last edited by Galkov on Sat May 02, 2009 2:21 pm, edited 1 time in total.
  • Serge wrote:schooler

    Можно. В ядре остаются драйверы клавиатуры, fdd, hdd и сетевых устройств. Работа по перемещению последних во внешние модули уже ведётся.
    ИМХО нужно сделать ядро полностью аппаратно независимым, убрать вообще из него работу с устройствами, только с помощью функций драйверов, абстрагировать от аппаратной архитектуры
  • schooler тебе стоит вмотреть в сторону микроядер. А как ты например представляешь себе вынесение драйвера таймера? или смысл в вытаскивании драйвера клавиатуры? Да и самому не смешно, ассемблер и "полностью аппаратно независимое ядро"?
  • >или смысл в вытаскивании драйвера клавиатуры?
    Например, будет у нас usb-клавиатура без Legacy-Mode
    >Да и самому не смешно, ассемблер и "полностью аппаратно независимое ядро"?
    Нет, совсем не смешно.
    >А как ты например представляешь себе вынесение драйвера таймера?
    А почему бы и нет? Ядро вызовет функцию инициализации драйвером таймера, в случае прерывания драйвер вызовет некоторую функцию ядра. Своего рода объектно-ориентированный подход. Конечно, это даст проблемы с производительностью из-за постоянных переключений контекста, однако ядро в текущем состоянии приходится переписывать при сколь-нибудь значительном изменении в устройстве компьютера.
    Чтобы реализовать работу с новым устройством фактически нужно переписывать ядро, что отпугивает многих разработчиков драйверов.
  • Чтобы реализовать работу с новым устройством, вовсе не нужно переписывать ядро, потому что загружаемые драйверы существуют и работают.
    Ушёл к умным, знающим и культурным людям.
  • schooler а когда загружать его? он например нужен драйверу IDE, а дравер тянеш с винта, без драйвера IDE...
  • >schooler а когда загружать его? он например нужен драйверу IDE, а дравер тянеш с винта, без драйвера IDE...
    Загрузчик может, используя средства BIOS, загрузить все необходимое (в том числе и само ядро) в ram-диск и передать ядру информацию. Если я правильно понимаю, сейчас как раз загрузчик и загружает содержимое дискеты в память и передает ядру управление.
    В любом случае использование драйвера IDE некорректно до загрузки всей системы, поэтому нужно использовать функции BIOS
    Тогда ядро будет полностью аппаратно независимо и сможет работать везде, соответственно определяется четкое разделение между различными компонентами системы. Система Kolibri имеет малую приспосабливаемость к внешним изменениям
  • Так это тоже по суте статическое подключение до загрузки... А на ходу как? Да и не все можно до заргузки подключить, например устройства usb или на шине smbus которая на агп видеокарте...
  • >А на ходу как?
    А можно винт на ходу менять? ;)
    Если система загрузилась - все необходимое уже лежит в памяти, а если новое устройство - можно прочитать с винта.

    >Да и не все можно до заргузки подключить, например устройства usb или на шине smbus которая на агп видеокарте...
    Почему нельзя? Загрузить в память можно все, что угодно. Потом можно дать ядру команду на включение этого.
    Установка (загрузка) системы как раз и заключается в определении установщиком (загрузчиком) начальной конфигурации компьютера и сохранение всего этого на винт (рамдиск).

    Хотя это уже не про Kolibri, действительно нужно смотреть в сторону микроядер.
  • Who is online

    Users browsing this forum: No registered users and 1 guest