Дисковый кэш.
-
Чтение /bdX/ ядро->bios->usb->флешка. Когда ты вынимаешь флешку биос её теряет до перезагрузки.
Так ведь находит же и без перезагрузки.
То есть можно вынуть флешку, снова её вставить и потом пролистать 500Мб файл ? А если флешку не вставлять снова файлы читаются ?.
Last edited by Serge on Sun Apr 03, 2011 12:23 am, edited 1 time in total.
Ага можно. Причём флешка при этом активно сигнализирует о чтении световым индикатором.
Upd:
Если флешку не вставлять, то читаются только те файлы, что были до этого прочитаны при вставленной флешке, по-видимому они читаются из кэша.
Upd:
Если флешку не вставлять, то читаются только те файлы, что были до этого прочитаны при вставленной флешке, по-видимому они читаются из кэша.
Last edited by Asper on Sun Apr 03, 2011 12:47 am, edited 1 time in total.
Очень интересная биос.
Проверял на Thinkpad R51 (EHCI+UHCI), не помню сейчас названия BIOS. Завтра проверю на M4A78-VN и eBox-3300MX (EHCI+OHCI).
Могу предположить что каталоги остаются в кеше. И ядро не видит новых файлов.
Вот-вот и я так думаю. Причём я не нашёл никакой возможности обновить кэш без перезагрузки.
Чтение большого файла может перезаписать кеш. В теории. Но я не знаю какой там алгоритм работы.
Хм... надо будет попробовать (в понедельник).
Кеш не более 1 Мб на физическое устройство, если никто не менял пропорции. Для надежной очистки нужно реализовать функцию сброса кеша, однако с точки зрения безопасности это еще одна уязвимость. Не фатальная конечно - просто может снизить производительность работы с устройством.
Как уже многим наверное известно, пишу программу для просмотра iso-образов. Обращение к файловой системе на bd-диске дает падение программы. Запускаю программу еще раз - теперь список файлов на диске получается, но обращение к файлу снова вызывает падение программы. Запускаю в третий раз - теперь файл открывается отлично.
Это могут быть проблемы с кэшем, или лучше еще раз пристально посмотреть на код работы с ФС?
Это могут быть проблемы с кэшем, или лучше еще раз пристально посмотреть на код работы с ФС?
Для надежности надо гарантировать, что с HD устройствами код работает корректно, а потом уже разбираться с BD.
Упс, было старое ядро (1734). При обращении к hd все было хорошо, при обращении к hd после bd - тоже хорошо, при обращении к bd без hd - плохо (падало с eax 9b800 ebx f597 ecx 1 edx 0d8d0000 esi 0d8d0000 edi fb0e ebp 28 eip 74b1 esp 113c40 постоянно).
С последней сборкой таких проблем не наблюдается.
С последней сборкой таких проблем не наблюдается.
Судя по viewtopic.php?p=31693#p31693 , проблемы с BD вызваны использованием newlib - которая использует TLS и селектор fs - вместо menuetlibc.
Сделаем мир лучше!
Who is online
Users browsing this forum: No registered users and 16 guests