![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
изменение размера сектора
Fabo © (2004-09-01 13:36:00)Как можно длину какого-нибудь сектора жесткого диска менять с 512 байтов на другую?
Shiza (2004-09-09 10:33:00) [21]>Кому кроме тебя это надо? :)
"Я хотел помочь людям!" (цитата из мультфилма "Прометей")
Мы немного отклонились от темы. У кого-нибудь есть идеи (в виде строк кода) как изменить размер сектора? Или мы ещё рассуждаем можно его изменить или нет?
И ещё. Коль мы затронули тему АТА, то не лишим будет напомнить, что к винчестеру можно обращатся двумя путями: через 13int (сектор, головка, цилиндр), или как в случае с АТА через порты ввода-вывода (LBA). В каком русле будем плыть дальше?
Cobalt (2004-09-09 00:45:00) [22]2 Dimaxx (09.09.04 00:11) [48]
" - Какая-то у тебя, дядя Фёдор, колбаса неправильная" ;)
Сомневаюсь, что тут именно патент от MS как-то повлиял :)
файловая система MSDOS не поддерживала права доступа к файлам, потому её и не использовали в Линукс как "родную". А он появился ещё до появления NTFS, поэтому её тоже не использовал. а решил пойти своим путём
Игорь Шевченко (2004-09-09 00:29:00) [23]Alex Konshin © (08.09.04 23:34) [44]
Я увидел в примере про Long Sectors вариант с 524-байтными секторами и фразы:
"The purpose of the long logical sector feature set is to allow additional data words per sector for server
applications. Sectors with 520 or 528 bytes are typical."
"Devices that implement the Long Logical Sector Feature set are not backward compatible with applications
that use 256 word logical sectors, e.g. desktop and laptop system."
То есть, физически можно разметить так, что сектор, адресуемый по LBA имеет размер больше, чем 512 байт.
А кстати, что есть packet и non-packet device ? :)
Dimaxx (2004-09-09 00:11:00) [24]2 Shiza:
>Интересно, зачем это системе логический сектор, если есть кластер?
Ответ на этот вопрос ищи в ответе на другой вопрос: "А зачем в Линухе используется своя файловая система?" Да потому что кластерный метод запатентован Мелкософтом и за его использование нужно платить немалое бабло! Или я неправ? А Линухам надо было уйти от использования мелкософтовских разработок.
Anatoly Podgoretsky (2004-09-09 00:09:00) [25]В дополнение, размер сектора в 512 байт на дискетах появился не сразу, вроде на 3.5 дюйма или на 360 кб, сейчас не помню, но дискеты малой емкость имели в основном 128 байт.
Anatoly Podgoretsky (2004-09-09 00:07:00) [26]Alex Konshin © (08.09.04 20:53) [42]
Нет, есть два варианта работы
1. с секторами, адресуются доржка, головка, сектор (эмулируется, а на старых винчестерах и гибких дисках физически)
2. родной, абсолютные адреса (LBA)
И еще по размерам секторов, наиболее распространены три размера
128 байт, в основном в рам дисках
512 байт, исторически сложилось так у ИБМ, хотя стандартные контролеры поддерживают 128, 256, 512 и 1024 (не могу сказать про современные винчестеры, хотя там говорить о реальном размере сектора и количестве дорожек можно только гадая) и это не относится к остальным не родным файловым системам.
2048 CDFS
Anatoly Podgoretsky (2004-09-08 23:59:00) [27]Alex Konshin © (08.09.04 23:34) [44]
Толк от них идет с СРМ, в ней был всего выделен всего один байт под количество секторов, а как только размеры дискет подросли, то им ничего не осталось, как сделать блоки из секторов (кластеры). А если учесть, что DOS 1.0 это CPM, то понятно откуда там кластеры, хоть потом и было FAT12
То есть единственная пользы, это меньшее количество блоков в таблице размещения файлов, сама работа усложняется, а место не рационально используется.
Alex Konshin (2004-09-08 23:34:00) [28]Кластеры - адресуемые блоки, используемые многими файловыми системами. Размер кластера всегда кратен размеру сектора. файловая система использует кластеры для более эффективного управления дисковым пространством: кластеры, размер которых превышает размер сектора, позволяют разбить диск на блоки меньшей длины - управлять такими блоками легче, чем секторами.
Соломон, Руссинович: "Внутреннее устройство Windows 2000", глава "Файловые системы".
Так что в Windows кластер - это логическое понятие файловой системы.
Так вот судя по документу "длинные сектора" это несколько секторов по 512 объединенных в одну физическую запись, в одном из вариантов даже с одной контрольной суммой на все сектора. То есть, если бы я был разработчиком Windows, так я бы эти самые кластеры реализовывал именно как "длинные сектора", а иначе какой из них толк?
За документ большое спасибо, обязательно прочитаю, только вот я сразу в этих 366 страницах запутался и не нашел ответа про размер сектора :)
Ну я тоже его через строчку читал, я все-таки не такой уж гуру в этом - мне это никогда не было нужно. Но я же привел номера разделов, где об этом говорится. Возможно, что там еще что-то по этому поводу есть, но это первое, что попалось на глаза.
Игорь Шевченко (2004-09-08 21:49:00) [29]Alex Konshin © (08.09.04 20:53) [42]
> Как раз-таки дисковод IMHO работает именно с кластерами,
> точнее с тем, что в Windows называется кластером.
Секторы - аппаратно адресуемые блоки носителя.
Кластеры - адресуемые блоки, используемые многими файловыми системами. Размер кластера всегда кратен размеру сектора. файловая система использует кластеры для более эффективного управления дисковым пространством: кластеры, размер которых превышает размер сектора, позволяют разбить диск на блоки меньшей длины - управлять такими блоками легче, чем секторами.
Соломон, Руссинович: "Внутреннее устройство Windows 2000", глава "Файловые системы".
Так что в Windows кластер - это логическое понятие файловой системы.
За документ большое спасибо, обязательно прочитаю, только вот я сразу в этих 366 страницах запутался и не нашел ответа про размер сектора :)
Alex Konshin (2004-09-08 20:53:00) [30]Как раз-таки дисковод IMHO работает именно с кластерами, точнее с тем, что в Windows называется кластером. Не, я допускаю, что я могу заблуждаться, но мне кажется, что "длинные сектора" и есть кластеры. Там есть два их варианта, и в обном из них контрольные сумма одна на весь "длинный сектор". Ну чем не кластер? Можно, конечно, покопаться и узнать это, но лень... Кому кроме тебя это надо? :)
И ещё. Господа, обсуждение почему-то не очень активное. Я думаю это всё-таки из-за того, что некоторым людям легче сказать нельзя, чем покопаться в интернете, книгах или в голове.
Так ты документ-то все-таки прочти. Это ж на самом деле и есть самая правда, это описание стандарта ATA, все остальное - выдумки писателей.
Shiza (2004-09-08 12:46:00) [31]>А понятие "кластер" - все-таки физическое.
Извинте конечно, я не специалист в этом вопросе, но во всех книгах которыя я читал, кластер - "логическое" понятие. Для дисковода нет такого понятия как кластер. Дисковод работает с цилиндрами, головками, дорожками, секторами, но не с кластерами.
Итак, размер сектора может быть больше 512 байт. А как же его такого-этакого изменить программными средствами? Я почему-то склонен думать что нельзя, но..."что скажет стая?"
И ещё. Господа, обсуждение почему-то не очень активное. Я думаю это всё-таки из-за того, что некоторым людям легче сказать нельзя, чем покопаться в интернете, книгах или в голове.
Alex Konshin (2004-09-07 20:05:00) [32]Не, ну вы точно не читатели.
Там же в документе написано, что можно сделать сектор больше 512, но делается это для того, чтобы прикладные программы могли записать туда некую служебную информацию. Почему я говорю "служебную"? А потому что некоторые команды чтения-записи все равно будут читать-писать 512 байт.
А понятие "кластер" - все-таки физическое. И в документе описано, как он может выглядеть при нестандартном размере сектора.
Этот документ описывает ATA версию 8, т.е. ту, что еще пока не реализуется. Если хотите, можете почитать описания свех остальных версий ATA на том же сайте. Уверен, что по subj там будет то же самое.
Shiza (2004-09-07 16:03:00) [33]http://www.athena.vvsu.ru/glax/disk/hdd.HTML
от туда же:
"Теперь Вы знаете, что на жестком диске имеются цилиндры, головки и сектора. Все эти параметры для каждого жесткого диска есть в BIOS. Вы знаете также, что размер сектора жесткого диска не фиксирован, как это было раньше.
В настоящее время эти величины используются только для совместимости с DOS, поскольку они не имеют отношения к физической геометрии диска."
Так что, всё-таки можно? :)
Shiza (2004-09-07 15:53:00) [34]Полазив по Интеренту, я пришёл к следующему выводу. Размер сектора жёсткого диска может быть больше 512 байт, но изменить его программными средствами нельзя. Размер сектора зависит от жёсткого диска.
Игорь Шевченко (2004-09-07 15:45:00) [35]"В ходе выполнения процедуры так называемого низкоуровневого форматирования (low-level formatting) на носитель записывается информация, которая определяет разметку носителя на цилиндры и секторы. Структура формата включает в себя различную служебную информацию: байты синхронизации, идентификационные заголовки, байты контроля четности и т. д. В современных винчестерах такая информация записывается однократно при изготовлении винчестера. Повреждение этой информации при самостоятельном низкоуровневом форматировании пользователем чревато полной неработоспособностью диска и необходимостью восстановления этой информации в заводских условиях"
http://www.athena.vvsu.ru/glax/disk/hdd.HTML
Желающие изменить размер сектора на диске могут проэкспериментировать. У меня лишнего винчестера нету, так что я от экспериментов устраняюсь.
Shiza (2004-09-07 12:44:00) [36]>Ну вы почитайте документ-то.
С моим знанием английского такие документы читать рановато наверное :), но почитав абзацы 4.21 - 4.23, я встретил такие понятия как "Long PhysicalSector" и "Long LogicalSector". Даже с моим знанием английского понятно что это понятия разные, и Physical- есть физический, а Logical- есть логический сектор.
Следовательно физический размер сектора может быть нестандартным (512 байт)... но не утверждаю, а предполагаю...
А вы со мной согласны?
Игорь Шевченко (2004-09-07 11:25:00) [37]
> Когда диск отформатирован под NTFS, то 13int не работает.
> Почему?
Работает
> если есть кластер?
Кластер есть логическое понятие. Сектор есть физическое понятие.
> Думаю автор не просто так вставил "MS-DOS", как думаете?
Думаю, что или надо спросить у автора или не выдергивать фразу из контекста.
Shiza (2004-09-07 10:06:00) [38]вВопрос такой родился:
Когда диск отформатирован под NTFS, то 13int не работает. Почему?
>В Линухе размер сектора логическое понятие.То есть файловая система использует именно этот размер, а физический - все равно останется 512 байт.
Интересно, зачем это системе логический сектор, если есть кластер?
И ещё. Вот цитата из книги Фаронова В. В.: "С физической точки зрения все секторы одинаковы - как уже говорилось, их емкость в MS-DOSвсегда равна 512 байтам".
Думаю автор не просто так вставил "MS-DOS", как думаете?
Игорь Шевченко (2004-09-07 10:03:00) [39]
> У нее тоже есть FAT (вернее MFAT), только немного не такая
Еще вернее - MFT, которая вовсе не FAT
Dimaxx (2004-09-06 23:28:00) [40]Пардон, забыл...
Меняется там все равно размер кластера, а не сектора. Он как был полкило, так и останется...