Здравствуйте, Pavel Dvorkin, Вы писали:
m2l>>1. Более быстрые устройства могут использоваться в качестве буфера доступа к более медленым;
PD>Вот о таком в Windows не слышал.
И правильно. Потому что изврат это и полумеры.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Так и в NTFS не определено, что там ниже. Там потенциально может быть все, что угодно. Например, драйвер томов, который реализует RAID-5.
Разве ж я спорю?
m2l>>Одна ФС может располагаться поверх нескольких "томов" или устройств без разметки разделов. При этом, что пришло в голорву на всидку:
PD>Есть и Windows. RAID5, stripped.
Нет нету. В Windows это как раз на разных уровнях абстракции. Драйвер реализующий программный рейд предоставляет ФС монолитное блочное устройство. В zfs/btrfs эти два уровня слиты в один.
m2l>>1. Более быстрые устройства могут использоваться в качестве буфера доступа к более медленым;
PD>Вот о таком в Windows не слышал.
Вообщето ReadyBoost ближайщий аналог. Разница только что в одном случае устройство должно быть частью файловой системы, а для ReadyBoost наоборот не должно.
m2l>>2. Запись динамически балансируеться между устройствами по их пропускной способности;
PD>Кем ? Вот это основной вопрос. Драйвером ФС (ZFS etc.). или все же драйвером блочного устройства ? В Windows это есть, но занимается этим драйвер физического диска или драйвер томов. Например, если ниже зеркало, то драйвер томов при чтении может решить , с какой половины зеркала читать, чтобы было быстрее, и передать запрос драйверу физического диска, указав ему, с какого диска читать и по какому номеру логического сектора(ов)
Драйвером файловой системы. В Windows этого нет. Я написал про балансировку записи, а не чтения. И мне интересно какой драйвер томов "может рашить" вместо одновременного чтения одинакового объема разных кусков со всех дисков? Или это теоретическое допушение?
m2l>>3. Выбирает размер своих секторов в зависимости от размера секторов устройств включенных в ФС;
PD>Видимо, под своим сектором ты понимаешь здесь не сектор HDD, который всегда 512 байт, а нечто иное. Если это единица размещения файла, то в NTFS это называется кластером. Об этом речь ? Если да, то уточни — это при создании ФС или же во время работы динамически. Первое, очевидно, есть в NTFS , о втором не слышал, если такое там есть — дай ссылку, если можешь, было бы интересно узнать.
Под сектором я понимаю сектор устройства хранения, который
не всегда 512 байт. Открываем первую попавшую под руку
seagate Archive HDD Data Sheet и смотрим в табличке параметр "Sector (Media/Fmat)". Ты просто немного отстал от современных жеских дисков.
m2l>>4. Динамическая репликация/востановление при возникновении событий подключения/отключения и ошибок ввода/вывода на блочном устройстве;
PD>Э нет, минуту. При возникновении ошибок об этом в Windows узнает драйвер физического диска, и, конечно, сообщит об этом драйверу NTFS. Тот должен предпринять меры, например, произвести горячую замену кластера, но для этого он в своих таблицах делает изменения, но для записи их опять обращается к драйверу физического диска.
Это теоретизирования или есть первоисточник? И что значит "горячая замена кластера"?
И мне интересно, а каким ioctl в винде драйвер блочного устройства передает изменение его состояния драйверу фс? Я что-то такого механизма не помню.
m2l>>С каких пор IOCTL_DISK_GET_DRIVE_GEOMETRY_EX/IOCTL_DISK_GET_CACHE_INFORMATION/IOCTL_DISK_GET_DISK_ATTRIBUTESIOCTL_DISK_GET_CLUSTER_INFO и т.д. противоречат Руссиновичу?
PD>Да никак они не противоречат. Они даже из 3 кольца доступны, можешь из своего приложения заняться изменением геометрии разделов. Только вот поступит этот DeviceIOControl , естественно, в диспетчер ввода -вывода после перехода в 0 кольцо, а тот перенаправит его не драйверу NTFS, которому до DRIVE_GEOMETRY и дела нет, а драйверу физического диска, который и займется всей этой геометрией. Ты можешь спокойно сделать этот вызов для диска, на котором вообще нет никакой файловой системы, что , кстати, и делает инсталлятор Windows.
Ты думаешь, что драйвер ntfs при монтировании тома не вызвает к примеру IOCTL_DISK_GET_DISK_ATTRIBUTES?
По твойму если файловая система не шлет SCSI команды прямо в шину — то она не знает особеностей блочного устройства поверх которого работает?
Здравствуйте, Kolesiki, Вы писали:
K>Типичный ДОС 6 ставился мной лично... из зазипованного каталога MSDOS. Просто форматил хард с флагом "системный" и распаковывал архив. Всё, готова чистая, безвирусная система.
Нормальный стелс ты так не вылечишь. Особенно Protected Mode реинкарнации, когда вся ОС работает под пристальным наблюдением вируса, не имея никаких средств к его обнаружению.
K>Вирусы — сами видите, от ФС они ну вообще никак не зависят! Дырявое Вендо пропускает всё, что нужно ФБР.
Ты на количество дыр в других ОС посмотри сначала. Вот тебе
ленукс. И это только ядро.
Знаешь кто это сказал ?
UNIX, and every system like it, can NEVER be "secure". It doesn't matter how many layers of anti-virus software, "internet worm protection", "firewall" or any other buzzword -- systems like UNIX (including all versions of Linux, Macintosh OSX, and all versions of WinXP) will NEVER be secure.