Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 8:05 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 23 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Sun Jan 18, 2009 11:26 pm 
Offline

Joined: Sun Mar 11, 2007 4:05 pm
Posts: 64
Есть еще маленький недостаток дело в том, что виртуальная файловая система посути отсутствует и передает код напрямую файловой системе того устройства к которому идет обращение. А та в свою очередь использует прямое чтение с диска используя свои функции. Так что NFTS не знает ничего о DMA с его кэшами. Тоже самое и для сд-дисков там ISO.

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

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

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

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

_________________
http://wiki.osdev.ru/


Top
   
PostPosted: Mon Jan 19, 2009 2:13 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Насчёт того, что вышеприведённое относится только к жёстким дискам, а код поддержки 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


Top
   
PostPosted: Wed Dec 23, 2009 1:49 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1328
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, оставляя это хлопотное дело драйверу
?

_________________
Узкий специалист подобен флюсу: полнота его - односторонняя.
Козьма Прутков


Top
   
PostPosted: Wed Dec 23, 2009 11:09 am 
Offline
Kernel Developer
User avatar

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


Top
   
PostPosted: Mon Sep 26, 2011 9:51 pm 
Надо бы эту информацию на WIKI перенести, а то каждый раз чертыхаясь ищу эту тему, когда вновь приходящие люди начинают фундаментальные вопросы задавать. Может кто перенесет?


Top
   
PostPosted: Mon Sep 26, 2011 11:39 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1328
Уже полтора года там

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


Top
   
PostPosted: Tue Sep 27, 2011 1:58 am 
Замечательно. Просто иногда начинаешь рефлексивно вспоминать что и где (не так уж часто новички задают фундаментальные вопросы) и никак не можешь вспомнить. Вроде еще не старый (в ноябре 32 года будет), но забываешь напрочь - хорошо хоть что-то в виде зацепки в голове остается.


Top
   
PostPosted: Tue Sep 27, 2011 1:48 pm 
Offline
User avatar

Joined: Tue Aug 25, 2009 4:45 pm
Posts: 794
Это, кстати, проблема связности вики. По-идее не должно быть страниц без ссылок на них, и даже больше чем одна, ну и все в таком роде. Я уже часто сталкивался с подобной проблемой.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 23 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited