Stanislav писал(а):
да, да размеется, но если мне надо прочитать один байт - я читаю один байт из потока ввода, связанного с определенным файлом - и говорю: я прочитал один байт с диска.
ну вот видите, "читаю один байт из потока", а говорю "...с диска", хитрец вы этакий. А с диска вы прочли сектор. Изначальная цитата "побайтово читает диск", что невозможно. Просто эта фраза должна была подчеркнуть низкоуровневое чтение. Но ниже биоса, только команды контроллера, а там один байт за одну операцию чтения прочесть нельзя. сектор можно, дорожку можно, а байт нельзя.
Stanislav писал(а):
да, да размеется, но если мне надо прочитать один байт - я читаю один байт из потока ввода, связанного с определенным файлом - и говорю: я прочитал один байт с диска.
ну вот видите, "читаю один байт из потока", а говорю "...с диска", хитрец вы этакий. А с диска вы прочли сектор. Изначальная цитата "побайтово читает диск", что невозможно. Просто эта фраза должна была подчеркнуть низкоуровневое чтение. Но ниже биоса, только команды контроллера, а там один байт за одну операцию чтения прочесть нельзя. сектор можно, дорожку можно, а байт нельзя.
Да не я хитрец! Я с диска ничего не читаю. Читает контроллер! Но плюньте мне в лицо (на шашлыках), если изначально этот прочитанный байт не лежал на диске!
Изначальная цитата, что "программа побайтово читает диск", написана не совсем корректно (нет ничего глупее, чем побайтово анализировать файловую систему - все работает немного не так ). Низкоуровневое чтение невозможно из-под Виндов: Винды будут против. Раньше Нортон загружал ДОС для работы с дисками - можно читать БИОСом или по портам. Сейчас Нортом грузит обрезанные Винды тоже. Вот почему я написал - зависит от того кто и при каких условиях читает.
Stanislav писал(а):Низкоуровневое чтение невозможно из-под Виндов: Винды будут против.
Вас кто-то обманул. В виндах есть соответствующие API для посекторного доступа к диску и прочих низкоуровневых вещей.
Низкоуровневый доступ - имется в виду непосредственное общение с контроллером диска, а не обращение к АПИ Виндовз.
Ничего оно вам не даст сегодня такое общение. Времена low-level format, паркования головок специальной программной перед выключением и подобных вещей требующих тесного общения с контроллером давно прошли и уже не вернутся. Ничего более "низкоуровевого" чем "прочитать сектор" в рамках стандарта PATA/SATA от современных дисков добиться невозможно, хоть из винды хоть напрямую от контроллера, по крайней мере без специального сервисного программного обеспечения производителя работающего только конкретно с этой моделью и не отдающегося в свободный доступ.
На форуме ixbt.com есть большой тред по поводу того как устроены и функционируют современные диски, вплоть до осцилограм реальных секторов с данными и формата servo tracks, описания как происходит low level format на фабрике, процесса позиционирования и удержания головок на дорожках и тд. Полюбопытсвуйте если интересно, многие заблуждения и вопросы возможно отпадут.
Stanislav писал(а):Низкоуровневое чтение невозможно из-под Виндов: Винды будут против.
Вас кто-то обманул. В виндах есть соответствующие API для посекторного доступа к диску и прочих низкоуровневых вещей.
Низкоуровневый доступ - имется в виду непосредственное общение с контроллером диска, а не обращение к АПИ Виндовз.
Ничего оно вам не даст сегодня такое общение. Времена low-level format, паркования головок специальной программной перед выключением и подобных вещей требующих тесного общения с контроллером давно прошли и уже не вернутся. Ничего более "низкоуровевого" чем "прочитать сектор" в рамках стандарта PATA/SATA от современных дисков добиться невозможно, хоть из винды хоть напрямую от контроллера, по крайней мере без специального сервисного программного обеспечения производителя работающего только конкретно с этой моделью и не отдающегося в свободный доступ.
На форуме ixbt.com есть большой тред по поводу того как устроены и функционируют современные диски, вплоть до осцилограм реальных секторов с данными и формата servo tracks, описания как происходит low level format на фабрике, процесса позиционирования и удержания головок на дорожках и тд. Полюбопытсвуйте если интересно, многие заблуждения и вопросы возможно отпадут.
-Maxim
Ну это вопрос вообще и не про диски, а про Винды - в контексте данного топика - разница между прямым чтением и чтением через АПИ примерно такая же как в работе С++ и С#/Джава - доступ менеджируемый. Вы же не хотите во время анализа диска, чтобы какая-то контра изменила состояние диска, который вы уже проанализировали? Не зря же Нортон грузит некую сильно кастомизированную версию Виндов для работы с дисками.
Stanislav писал(а):Ну это вопрос вообще и не про диски, а про Винды - в контексте данного топика - разница между прямым чтением и чтением через АПИ примерно такая же как в работе С++ и С#/Джава - доступ менеджируемый. Вы же не хотите во время анализа диска, чтобы какая-то контра изменила состояние диска, который вы уже проанализировали? Не зря же Нортон грузит некую сильно кастомизированную версию Виндов для работы с дисками.
Да фигня это все. Виндам просто надо сказать через соответвующий API "не трогай этот диск", и все будет хорошо, для этого он естественно должен быть отмонтирован. А грузит оно для того чтобы можно было анализировать системный диск, а вовсе не для того что вы написали.
Stanislav писал(а):Ну это вопрос вообще и не про диски, а про Винды - в контексте данного топика - разница между прямым чтением и чтением через АПИ примерно такая же как в работе С++ и С#/Джава - доступ менеджируемый. Вы же не хотите во время анализа диска, чтобы какая-то контра изменила состояние диска, который вы уже проанализировали? Не зря же Нортон грузит некую сильно кастомизированную версию Виндов для работы с дисками.
Да фигня это все. Виндам просто надо сказать через соответвующий API "не трогай этот диск", и все будет хорошо, для этого он естественно должен быть отмонтирован. А грузит оно для того чтобы можно было анализировать системный диск, а вовсе не для того что вы написали.
-Maxim
Да, да... "не трогай этот диск" - а она отвечает - "а хрен - это диск используется"