Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Носители информации > Анатомия чтения дискеты


Автор: triclosan 23.12.2010, 22:49
Приветствую! 

Хочу попросить помощи в ликвидации белых пятен в вопросе считывания данных с дискеты (да и с жесткого диска, как я понимаю технология сходна).

Сформулирую так, какую минимальную единицу информации можно считать с диска? Навскидку, казалось, что байт, но тем не менее низкоуровневое чтение в литературе называют посекторным, означает ли это, что если, например, при помощи WinAPI функций я читаю какой-нибудь байт с диска реально считывающая головка привода читает весь сектор, а API отдает мне лишь значение запрошенного байта?   

Спасибо. 

Автор: Sartorius 24.12.2010, 00:15
 Физически меньше сектора (512 байт в большинстве систем) прочитать нельзя. В добавок система AFAIK читает с опережением. Т.е. сразу пачку секторов
http://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B0%D1%8E%D1%89%D0%B5%D0%B5_%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B5

Автор: triclosan 24.12.2010, 01:24
Таким образом, если мой искомый байт находится в неком секторе, который поврежден (но область непосредственной локации нужного байта не повреждена) я не смогу его (байт) считать?

Автор: Sartorius 24.12.2010, 12:49
Без специальных железок нет.

Автор: triclosan 24.12.2010, 13:40
Что имеется в виду? Хитрые дисководы, позволяющие читать меньше, чем  сектор?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)