OSDev

для всех
Текущее время: 27 апр 2024, 16:02

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 14:28 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
А эмулятор справится с таким образом? Ведь для него он будет выглядеть, как огромный файл.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 14:29 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Я имел ввиду атрибут "Compress", который есть в диалоге "Свойства". А Sparse это где?

Сам я не пробовал такой большой диск. Для VMware образ не выглядит как большой файл, если использовать режим поблочного роста, там начальный размер файла 2ГБ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 14:36 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Himik писал(а):
А Sparse это где?
В самой NTFS такая возможность есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 16:35 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
phantom-84 писал(а):
А эмулятор справится с таким образом?

Вот уж не знаю. Пока не проверишь - не поймёшь.

Himik писал(а):
А Sparse это где?

Sparse-файлы получаются автоматически. При записи на диск ОС проверяет, что пишешь, и если видит большое количество нулевых секторов, их на диск не пишет, а в размещении файла (data run list) помещает соответствующие идентификаторы пустых блоков.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 11:23 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Отчитываюсь.
Большинство БИОСов не работает с LBA48! Старшие 32 бита просто игнорируются. Из протестированных только одна мамка (самая свежая, которая закуплена в комплект к тому же винчестеру) действительно работает с запросами LBA48.
Но т.к. большинство протестированных мамок достаточно старые, я думаю, что ситуация не так плоха. Вполне возможно, что многие из последних мамок будут работать с запросами INT13 LBA48.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 13:09 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Я вас не обрадую. Моя новейшая мать на X79 тоже не поддерживает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 13:44 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Забили в связи с внедрением UEFI?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 15:09 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Да, просто забили в связи с неактуальностью (в свое время), да так и не переписали. Хотя, если я не ошибаюсь, где-то проскакивало требование к системному разделу EFI, чтобы он не располагался "слишком высоко".

Yoda, то что такие случаи точно будут, я почти не сомневался. Вопрос в том, как BIOS'ы реагируют на появление большого номера. Если ругаются, то это еще ничего, а если молча проглатывают, обнуляя старшие 32 бита, то это уже хуже. В последнем случае, как вариант, можно делать что-то такое: "Загружаемый файл/каталог частично или полностью лежит за пределами пространства 2 тб. Продолжить (Y/N)?" Еще можно попробовать проверять количество секторов на устройстве, возвращаемое функцией 48h (кстати интересно, какое значение возвращают в этом поле BIOS'ы для больших дисков).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 15:32 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Я думаю, стоит рассчитывать на худший случай и предполагать, что биос отбрасывает старшие 32 бита.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 25 апр 2012, 23:26 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
phantom-84 писал(а):
Вопрос в том, как BIOS'ы реагируют на появление большого номера. Если ругаются, то это еще ничего, а если молча проглатывают, обнуляя старшие 32 бита, то это уже хуже.

Все БИОСы, которые отказались работать с LBA48, ведут себя по наихудшему сценарию: просто игнорируют старшие 32 бита (обнуляют). Bochs выдаёт ошибку (и это правильно!), правда я пока не пробовал работать внутри Бокса с дисками больше 2 TiB, но в Боксе это и не актуально.

phantom-84 писал(а):
можно делать что-то такое: "Загружаемый файл/каталог частично или полностью лежит за пределами пространства 2 тб. Продолжить (Y/N)?" Еще можно попробовать проверять количество секторов на устройстве, возвращаемое функцией 48h (кстати интересно, какое значение возвращают в этом поле BIOS'ы для больших дисков).

Функцию 48h не проверял. Да и по большому счёту чем она поможет? Варианта два - либо int13 LBA48 работает, тогда legacy загрузка с диска возможна, либо не работает, тогда упс.

Я думаю, возможна определённая корреляция - UEFI-системы могут поддерживать также и LBA48 доступ по INT13.
grindars, а ваша мамка UEFI поддерживает?

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

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


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

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