Board.KolibriOS.org
http://board.kolibrios.org/

ВАЖНО!!! Ядро - концепция работы
http://board.kolibrios.org/viewtopic.php?f=35&t=1179
Page 2 of 2

Author:  Pavia [ Sun Jan 18, 2009 11:26 pm ]
Post subject:  Re: Ядро - концепция работы

Есть еще маленький недостаток дело в том, что виртуальная файловая система посути отсутствует и передает код напрямую файловой системе того устройства к которому идет обращение. А та в свою очередь использует прямое чтение с диска используя свои функции. Так что NFTS не знает ничего о DMA с его кэшами. Тоже самое и для сд-дисков там ISO.

Так что пост выше относиться по большей части к FAT 32 и жестким дискам.

Полное отсутствие структуры.

Это не препядствие для введение SATA, но прежде всего необхадимость ввести структуру и начать все переписывать. Так как в противном случии SATA будет рабоать местами.

PS. Возможно мои данные устарели.

Author:  diamond [ Mon Jan 19, 2009 2:13 am ]
Post subject:  Re: Ядро - концепция работы

Насчёт того, что вышеприведённое относится только к жёстким дискам, а код поддержки iso на CD/DVD напрямую обращается к физическому чтению с CD/DVD (аналогичная ситуация с FAT12 на дискетах) и совершенно никак не связан с жёсткими дисками, согласен. А вот то, что код поддержки NTFS ничего не знает о DMA, неверно и никогда (если брать временные рамки существования и того, и другого) не было верно - всё-таки для жёстких дисков некоторая абстракция есть и все вызовы от кода поддержки файловых систем NTFS и FAT32 проходят через две конкретные процедуры (hd_read/hd_write), уже внутри которых осуществляется перенаправление на нужные физические процедуры (PIO/DMA/V86).
Ну а вещи насчёт SATA и vfs обсуждаются здесь: viewtopic.php?f=1&t=1101

Author:  art_zh [ Wed Dec 23, 2009 1:49 am ]
Post subject:  Re: Ядро - концепция работы

diamond wrote:
...начальный кусок системных адресов [OS_BASE, OS_BASE + a), где OS_BASE = 0x80000000 (const.inc), маппится на начало физической памяти [0,a) "почти тривиально" - вычитанием OS_BASE; в этот кусок входит само ядро и все системные таблицы ...


А как маппится самая верхняя зона физической памяти, куда BIOS обычно конфигурирует адреса MMIO-блоков PCI-устройств (видеопамяти, аудио- и сетевых буферов, SATA, USB и т.п.)?

В init.inc этого нет. Возникают 2 наивных предположения:
1) используется еще более тривиальный маппинг (phys = virt) для всего пространства выше [0,a)
или
2) ядро вообще не производит инициализации страниц для MMIO, оставляя это хлопотное дело драйверу
?

Author:  diamond [ Wed Dec 23, 2009 11:09 am ]
Post subject:  Re: Ядро - концепция работы

art_zh
Второе. Для этих целей ядро экспортирует функцию MapIoMem (это имя для драйверов, реализация в map_io_mem из core/memory.inc), которая выделяет память ядра и маппит туда указанный диапазон физической памяти с указанными флагами. Как вариант, то же самое можно сделать через AllocKernelSpace и MapPage.

Author:  Mario [ Mon Sep 26, 2011 9:51 pm ]
Post subject:  Re: ВАЖНО!!! Ядро - концепция работы

Надо бы эту информацию на WIKI перенести, а то каждый раз чертыхаясь ищу эту тему, когда вновь приходящие люди начинают фундаментальные вопросы задавать. Может кто перенесет?

Author:  art_zh [ Mon Sep 26, 2011 11:39 pm ]
Post subject:  Re: ВАЖНО!!! Ядро - концепция работы

Уже полтора года там

http://wiki.kolibrios.org/wiki/Kernel/ru

Author:  Mario [ Tue Sep 27, 2011 1:58 am ]
Post subject:  Re: ВАЖНО!!! Ядро - концепция работы

Замечательно. Просто иногда начинаешь рефлексивно вспоминать что и где (не так уж часто новички задают фундаментальные вопросы) и никак не можешь вспомнить. Вроде еще не старый (в ноябре 32 года будет), но забываешь напрочь - хорошо хоть что-то в виде зацепки в голове остается.

Author:  XVilka [ Tue Sep 27, 2011 1:48 pm ]
Post subject:  Re: ВАЖНО!!! Ядро - концепция работы

Это, кстати, проблема связности вики. По-идее не должно быть страниц без ссылок на них, и даже больше чем одна, ну и все в таком роде. Я уже часто сталкивался с подобной проблемой.

Author:  Гордон Фримен [ Wed Apr 01, 2020 9:49 pm ]
Post subject:  Re: ВАЖНО!!! Ядро - концепция работы

Кто-то может написать статью про механизм распределения ОЗУ между приложениями в Колибри ОС?

Page 2 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/