Microbyte » 25 апр 2007, 11:05
2 Yaleks:
С технической точки зрения на флешку может плохо влиять только swap Винды, хотя это не аксиома. Плохо влиять в данном случае - это укорачивать срок ее жизни.
Кэширование наоборот продлевает срок, т.к. все данные по открытым HANDLE'ам файлов в стандартном режиме физически записываются реже, накапливаясь в оперативке и сбрасываясь в запись только при плановом задании самой системы.
Другими словами, ты можешь вызвать уже 15 ф-ий записи, а Винда исполнит их общим скопом когда ей будет удобно, при этом перезаписанные тобой данные физически запишутся всего один раз.
НО здесь есть подводный камень. При внезапном сбое питания еще не записанные данные будут потеряны, т.к. плановая запись Винды может отложиться и на 5-10 сек (личный опыт), а то и более.
Есть 3 выхода из этой ситуации: Либо открывать файлы с флагом FILE_FLAG_NO_BUFFERING, либо после критически важной записи делать FlushFileBuffers(HANDLE HFile), или же получать прямой доступ к файлу, но тогда придется оперировать адресами и блоками данных строго кратными размеру сектора.
Что касается применения Винды в игровых решениях, то имхо - это только Win XPE. При грамотном сборе системы и не менее грамонтных настройках Винда вообще не будет сама ничего изменять: не будет ни своппинга, ни кэширования, ни правки реестра, ни логов, одним словом НИЧЕГО, пока ты сам этого не захочешь. При этом образ такой системы, достаточный для выполнения DirectX приложений, будет занимать места от 50 до 100 Мб (при правильном подходе разумеется).
По использованию DOM Flash могу сказать следующее: за все время эксплуатации не выявлено ни одного сбоя связанного с перезаписью. При тестировании записи истории игр в кольцевом режиме объемом 500 000 игр, 100 полных проходов кольца проходят без единой ошибки. Если перевести в твои абсолютные величины, то получается что история одной игры записалась 50 000 000 раз.
На счет свободного места, Андрей прав. Только вот количество возможных прямых ремаппингов зависит от контроллера флешки, и такие "аппаратные" ремэпы осуществляеются не из свободной, а из резервной области, специально оставленной изготовителем. Дальнейшие переразметки это плоды деятельности ОС и файловой системы.
Стоит отметить, что под свободным местом понимается не размеченная область, которая не входит ни в один раздел.
Компания "Микробайт"
+7 (495) 798-9333