Купить компьютер с Windows в Украине

Новое в Windows 7: система предотвращения сбоев в памяти

Как правило, мы не публикуем статьи с русскоязычных блогов Microsoft, но в этот раз мы, пожалуй, нарушим данное правило, поскольку Петр Диденко, веб-евангелист Microsoft, рассказал в своем блоге о маленькой (и незаметной для глаз пользователей) функции Windows 7, которая позволяет обеспечит стабильную работу системы. Наличие таких функций под капотом системы делают работу в ней удобной и приятной.

Продолжая серию текстов про свои любимые фичи в Windows 7, сегодня я хочу рассказать о чём-то совсем глубинном, что пользователь никогда не увидит, но от чего, тем не менее, станет счастливее сам того не зная. Короче говоря, это часть новой системы поддержки надёжности Windows.

Функция Fault Tolerant Heap (FTH), к сожалению, слишком кратко описана в базе знаний MSDN, но она очень важна. Так как я не уверен точно, что в архитектуре FTH секретно, а что нет, то я буду очень осторожен, за что прошу меня сразу извинить.

Итак, вы если вы программист, вы наверняка знаете о таком понятии как "heap" – область в памяти, в которой находится особая структура данных, поверх которой реализована динамическая память приложений. Как работает "heap" можно кратко прочитать в той же Википедии или в MSDN.

С работой "heap" связана масса проблем, так как неправильная работа с памятью может вызывать множество разнообразных проблем: переполнение буфера при чтении/записи, неправильное освобождение памяти в процессе работы/при выходе, освобождение неправильного участка памяти, неправильное размещение памяти после предварительного освобождения и так далее… Короче, все эти сложные слова для пользователя значат, что программы у него чаще "падают" из-за "кривой" работы их с памятью. "Падений" программ из-за кривой работы с "heap" очень много – десятки процентов от общего числа проблем.

Проанализировав существующие сообщения об ошибках на примере Vista, в Microsoft решили написать такую подсистему, применяемую в настольной Windows 7, которая позволяет автоматически определять программы, которые "падают" из-за "heap" и применять к ним автоматизированные методики предотвращения возникновения heap-ошибок превентивно! То есть, программе создают такие условия, в которых она не падает или падает реже. FTH "знает" большое количество способов решения проблем в "heap" и интеллектуально их применяет.

Информация о "падениях" собирается и анализируется, периодически через WER происходит связь с центральной базой знаний (кто знает, FTH использует Dr. Watson), куда отправляется статистика о проблемах и успешных их решениях, а также различная служебная диагностика проблем с программами, не содержащая персональных данных.

FTH является расширением Windows Diagnostics Instrumentation (WDI), а также тонким механизмом, работающим поверх оригинального NT heap, перенаправляющим некоторые запросы. В расчёт приняты необходимости наносить минимальный вред общей производительности.

FTH включается системой автоматически для избранных приложений, которые "падают" и которым FTH может помочь – система анализирует данные о сбоях и принимает соответствующие решения. Система может выключить FTH, если приложение, например, почему-то перестало падать или включить через некоторое время снова, если падения возобновились.

FTH работает тогда, когда это реально требуется нестабильным приложениям и не пытается помогать тем программам, которым помочь не получается – FTH позволяет им падать и падать сколько угодно.

FTH – не панацея, но средство, которое незаметно для пользователя помогает избежать падений некоторых программ или уменьшить число ошибок. FTH не имеет API, его можно только включить или выключить. FTH также не имеет пользовательского интерфейса. Он просто есть.

Если ваша программа падает, то Windows попробует понять, является ли проблемой "кривая" работа этой программы с "heap", и решит, присматривать ли за ней с помощью FTH или нет. FTH может помочь сделать так, что 1) программа будет падать реже или совсем перестанет 2) расскажет об этом в Центр, в базу данных об ошибках 3) возможно разработчик программы увидит эту проблему и её исправит 4) с очередным апдейтом программы проблема будет решена 5) счастье.

Эта одна из очень крутых фишек Windows 7, работу которой конечный пользователь никогда не увидит, но она очень важна. Собственно, когда вы думаете "за что я плачу при апгрейде ОС???" – вспомните про множество таких вот прекрасных функций.

Для информации: большинство проблем с падением программ из-за проблем с динамически распределяемой памятью, согласно статистике, найдено в сторонних приложениях.

Источник: http://thevista.ru/

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
1 Star2 Stars3 Stars4 Stars5 Stars (Нет оценок)
Загрузка ... Загрузка ...

Оставить комментарий

CAPTCHA image