Вы зашли как: Гость
Опрос
Ваш следующий смартфон будет на
Реклама
Главная > ВоГТУ PR победа. Студенты ЧГУ и ВоГТУ стали победителями всероссийского конкурса работ по связям с общественностью «Хрустальный апельсин». Их проекты в разных направлениях PR-работы были высоко оценены жюри.
07.10.2008 08:44 | Zloy Kak Pё$

Люди часто, когда смотрят на установленную Windows Vista или Windows Server 2008, спрашивают "Почему папка WinSxS такая большая?". Чтобы ответить на этот вопрос сначала я должен рассказать о компонетизации и том, каким образом она присутствует в Windows Vista.

Одним из самых больших изменений в Windows Vista по сравнению с предыдущими версиями Windows стал переход от ОС, описываемой INF-файлами, к компонентизации. Компонент в Windows - это один или несколько бинарных файлов, файл-каталог, и XML-файл, в котором описано, каким образом все это должно быть установлено. От связанных ключей реестра и служб вплоть до того, какие настройки безопасности и прав должны быть у файлов. Компоненты группируются в логические единицы, а эти единицы используются для создания разных редакций Windows.

Все компоненты операционной системы находятся в папке WinSxS. Фактически мы можем назвать эту папку хранилищем компонентов. Каждый компонент имеет уникальное имя, которое включает в себя номер версии, язык локализации и процессорную архитектуру, для которой он был собран. Папка WinSxS - единственное место в системе, где находятся компоненты, а все остальные экземпляры, которые вы можете найти в системе - это отражения, всего лишь жесткие ссылки на системное хранилище. Позвольте мне повторить последнее утверждение - в операционной системе есть только один экземпляр (или полная копия данных)каждой версии каждого файла и этот экземпляр находится в папке WinSxS. Итак, если смотреть на вопрос с такой перспективы, то папка WinSxS содержит в себе абсолютно всю ОС. Это также объясняет, почему когда вы проводите операции типа проверки системных файлов (System File Checker, SFC), установки дополнительных ролей или функций, система не запрашивает диск.

Это объясняет, почему размер папки большой с самого начала, но не объясняет, почему он со временем увеличивается. Ответ - это обслуживание. В предыдущих версиях Windows минимальным компонентом обслуживания был файл, а в Windows Vista это компонент. Когда мы обновляем определенный бинарный файл, то мы выпускаем новую версию всего компонента, и она, наряду с предыдущей версией, хранится в папке WinSxS. Более новая версия компонента интегрируется в систему, но старая версия, которая находится в хранилище, изменениям не подвергается. Это является еще одной причиной того, почему хранилище компонентов имеет такой большой размер.

Не каждый компонент, который находится в хранилище, является применимым, в смысле, что не каждый компонент должен быть спроектирован на систему. Например, в системах, где доступен, но не установлен IIS, компоненты IIS доступны в хранилище компонентов, но они проецируются в какую-либо локацию в системе, где могли бы быть использованы. Если вы знакомы с тем, как многоотраслевое обслуживание работало в предыдущих версиях Windows, то вам будет понятно, что у нас есть разные версии компонентов для каждой области распространения и уровня пакета сервисных обновлений, и все они также хранятся в папке WinSxS, даже в том случае, если они сейчас не применимы. Таким образом, Post SP1 GDR-пакет, который содержит в себе обновление для одного компонента, в итоге в папку WinSxS установит четыре версии этого компонента, а для некоторых компонентов х64-редакций ОС это число можно удвоиться.

Итак, теперь, когда вы знаете, почему хранилище может вырасти до таких больших размеров, вы наверняка спросите, почему мы не удаляем старые версии компонентов. Если говорить коротко - то причина этому надежность. Хранилище компонентов наряду с другой информацией в системе позволяет нам определить в любое указанное время какую именно версию компонента лучше всего спроектировать в систему. Это значит, что если вы удалите обновление безопасности, то мы можем установить следующую более новую версию компонента - у нас больше нет проблемы "неисправного удаления". Это также значит, что если вы решите установить опциональную функцию, то мы не просто можем выбрать RTM-версию компонента, а проверить самую новую версию компонента, доступную в системе. Так как каждый компонент в системе подвержен изменениям, то это, в свою очередь, может вызвать изменения в других компонентах. Но так как отношения между всеми компонентами в системе описаны, то мы можем отвечать на эти изменения так, как мы не могли в предыдущих версиях ОС.

Единственный способ безопасно уменьшить размер папки WinSxS - уменьшить набор возможных действий, которые система может провести, а самый простой способ сделать это - удалить пакеты, из которых первоначально устанавливались компоненты. Это может быть сделано путем удаления замененных компонентов, которые установлены у вас в системе. Первый пакет сервисных обновлений содержит файл VSP1CLN.EXE - инструмент, который сделает пакет SP1 перманентным (неудаляемым из вашей системы) и удалит все RTM-версии замененных компонентов. Это единственно возможный вариант, так как сделав первый пакет сервисных обновлений перманентным мы сможем гарантировать, что нам никогда не понадобятся RTM-версии компонентов.

Итак, да, папка WinSXS очень большая и со временем она будет увеличиваться. Я надеюсь, что данная статья помогла вам понять, почему так происходит и что вы можете с этим сделать. Заметьте, что структура обслуживания Windows и способ хранения в будущем будут меняться.

Джозеф Конвей (Joseph Conway),
старший инженер поддержки Microsoft Enterprise Platforms Support


Источник: http://blogs.technet.com/askcore/
Перевод: Zloy Kak Pё$

Комментарии

Не в сети

Главной задачей WinSxS все таки является решение так называемой проблемы DLL Hell (http://en.wikipedia.org/wiki/DLL_hell), жаль что об этом ни слова не сказано.
А так хорошая статья

07.10.2008 09:50
Не в сети

Прикольно. Я и представления не имел, как это работает. Вообще хорошо, что они обо всём этом рассказывают. Таким образом на них будет меньше наездов, а у пользователей будет меньше вопросов и проблем.
Кстати, в тексте ошибочка. В конце

Заметьте, что структура обслуживания Windows и способ хранения должны будут изменится. писал:

07.10.2008 10:14
Не в сети

ProVal, спасибо, подправил
Надеюсь, что эта статья позволит избежать глупых вопросов в форуме типа "А как удалить папку WINSxS?"

07.10.2008 10:24
Не в сети

Н-да. у меня эта папка на 7 Гб. Попробую удалить RTM-версии компонентов.

07.10.2008 12:52
Не в сети

Ошибка в статье: "Единственный способ безопасно уменьшить размер папки WinSxS - уменьшить набор возможных действий, которые которые система может провести..."

07.10.2008 14:59
Не в сети

Почему папка side-by-side такая большая? Ответ майкрософта: потому что там храним всякий мусор. Мы сами не знаем насколько надежен наш SP1, вдруг вам придется использовать компоненты из RTM? И вообще, нам наш мусор жалко, пусть полежит, лишние десяток гигов на вашем винте не наша проблема.

07.10.2008 17:38
Не в сети

Вопроса у меня 2:
1. Где мой предыдущий коммент?
2. Как всё-таки очистить папку WinSxS от мусора? Серьёзно.

На 2-й вопрос МС так и не дало ответа. Да, барахла там полно, это мы поняла. И ненужного в том числе. Они не решили проблему "DLL hell", а простоспрятали подальше. Почему нет административных утилит для "зачистки"? Там хранится всё, начиная со времён царя Гороха и не удаляется, даже если приложение уже давно убрано с компа и забыто. А на 64-битной Висте, так там просто застрелиться можно от размера этой "папки".

Эхх, МС, МС...

07.10.2008 18:49
Не в сети

BlackTigerAP, какой коммент. Ничего не было.
А удалить мусор можно с помощью VSP1CLN.EXE из состава SP1. Все остальные способы нелегальны.

07.10.2008 19:52
Не в сети

Был, был пост... После "dominusego". Ну, да ладно.

"vsp1cln" чистит только пост-СП мусор, это около 700 мегов, а остальное?

08.10.2008 02:09
Не в сети

Жду SP2 чтобы ещё раз почистить =)

19.10.2008 02:27
Не в сети

Отлично в метро читается, даже с кпк

24.07.2010 00:47
Не в сети

Ничего такого классного раньше не читал.

24.07.2010 12:35
Не в сети

Я думаю вам стоит начать обучать маму интернет-маркетингу

03.08.2010 04:50
Не в сети

Всё одобряю =)))

05.08.2010 01:56
Не в сети

Вы сами это придумали? Если да, то неплохо получилось

03.09.2010 22:17
Не в сети

Эдсел окончательно решил, что автомобиль пойдет в серийное производство под названием «Continental» вместе с новой серией Lincoln Zephyr, представляя собой самую дорогую модель этой серии. Его цена в 2840 долларов была для того времени одной из самых высоких в Америке.

11.09.2010 04:13
Не в сети

Без особого преувеличения можно точно сказать, что пост тему раскрыл на все 100 процентов.

27.09.2010 03:51
Не в сети

просто четко и доступно

08.10.2010 11:13
Не в сети

Расскажу подруге, будет восхищаться?

04.01.2011 08:04
Не в сети

Лучше быть не может

08.01.2011 05:03
Не в сети

Статья очень понравилась.

04.02.2011 14:32
Не в сети

Занимательно, жду следующего поста!

18.02.2011 21:08
Не в сети

Зачёт!

01.05.2011 18:30
Не в сети

А Вы слышали что в Москве вчера сильным ветром повалило бронзовый памятник Ленину? Ужас а не погодка…

02.05.2011 15:34
Не в сети

Любопытно! Надеюсь продолжение будет не менее интересным

05.05.2011 10:15
Для возможности комментировать войдите в 1 клик через

По теме

Обсуждай Windows 10 Technical Preview на форумах проекта
Акции MSFT
47.97 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Примем Тебя в команду сайта
Мы на Facebook
Теперь и ВКонтакте
Все права принадлежат © MSInsider.ru и TheVista.ru, 2014
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 1.1 (Страница создана за 0.363 секунд (Общее время SQL: 0.141 секунд - SQL запросов: 52 - Среднее время SQL: 0.00272 секунд))