ROS Blog Use cases for ReactOS

Материал из Русский WINE
Перейти к: навигация, поиск

Сценарии использования ReactOS

Оригинал статьи - http://www.reactos.org/node/661

Дата публикации оригинальной статьи - 26.05.2013

Автор оригинальной статьи - Цзылян Гуо


Многие видят в ReactOS преемника Windows XP, способ оставаться в стороне от всех тех изменений, которые Microsoft внесла в Windows 8. Это, конечно, несколько идеализированное видение проекта, поскольку для достижения этой цели необходимо чтобы система достигла гораздо более законченного состояния. Однако существуют и другие сценарии применения ReactOS, к которым система готова куда больше, правда большинство из них скорее относятся к применению системы в бизнесе, нежели в пользовательском сегменте.

Тонкий клиент удалённого рабочего стола

В ReactOS уже имеется работоспособный клиент удалённого рабочего стола, однако он требует существенной доработки для обеспечения совместимости с обновлёнными протоколами безопасности, используемыми в новых версиях Windows. Наличие возможности подключения к удалённому рабочему столу позволит обеспечить запуск приложений на удалённом сервере, а не в самой ReactOS. При этом значительно уменьшается количество используемых системой компонентов, поскольку при таком сценарии работы ReactOS требуется лишь стабильный сетевой стек и подсистема win32, корректно поддерживающая все направляемые ей команды прорисовки и вывода на экран.

Клиент POS

Клиенты POS (Point of Sale, точка продажи) представляют собой заблокированные компьютеры, предназначенные для запуска только одного приложения. Они используются практически повсеместно, от кассовых аппаратов до банкоматов. По большей части они работают лишь с одним приложением, им по сути не нужно уметь работать с широким спектром пользовательского программного обеспечения. Большая часть пользовательских функции в таких системах также заблокирована, это сделано для уменьшения вреда от возможного вмешательства неквалифицированного персонала и исключения случайного повреждения системы. Этот сценарий может быть расширен, например, промышленными автоматизированными системами, для работы которых необходим лишь заранее определённый набор приложений и драйверов. Эти системы не предназначены, например, для просмотра вебсайтов, да и вообще могут быть не подключены к сети Интернет, что опять же упрощает разработку ОС для них.

Хост-система для удалённых приложений

Это уже кое-что новое, и это стало возможным с распространением широкополосного доступа к глобальной сети. Основная суть состоит в предоставлении хостинга одному или группе приложений, которые будут доступны удалённо. Маркетологи обычно называют это "облаком". Разработчики и системные администраторы называют это сетевым взаимодействием. Сложность организации таких сетей всегда была связана со стоимостью лицензий на ПО. Для запуска приложений для Windows, пользователям нужна копия Windows OS. Политика лицензирования Microsoft не предусматривает подобное совместное использование, и компаниям, которые хотели бы создать такую хост-систему для запуска приложений, приходится приобретать отдельную лицензию для каждого пользователя. Однако, в условиях ограниченного набора приложений, ReactOS вполне может выступать в роли замены Windows, что позволит запускать одну или несколько копий операционной системы в зависимости от необходимостей этих компаний. Подобный сценарий работы также применим к узлам вычислительной сети, в которых научное программное обеспечение, работающее только в Windows, может параллельно выполнять вычислительные задачи для увеличения скорости обработки данных, будучи при этом запущено одновременно на нескольких компьютерах. Обычно в таких случаях используют компьютеры на Windows, которые занимаются обработкой данных во время простоя, однако если необходимо создать что-то наподобие Amazon EC2, опять же потребуются лицензии на Windows для каждого узла в отдельности. Хотя это и приемлемо, однако всё равно будет стоить дороже, чем организация выделенных узлов под управлением ReactOS.

Исследования и разработка

Одной из проблем, доставляющих Microsoft немало головной боли, является необходимость обеспечения обратной совместимости огромным количеством приложений, многие из которых написаны в те времена, когда программисты намного более беспечно относились к вопросам обеспечения безопасности и корректности своих приложений. В результате, Microsoft приходится опасаться сломать совместимость с чем-либо каждый раз, когда назревает необходимость внести улучшения в какой-либо API или фреймворк. Большинство других проектов и компаний даже и не пытаются поддерживать в своих продуктах столь высокий уровень совместимости. Взять, например, Apple, которая забрасывает поддержку технологий практически каждый раз, когда появляется новая, более совершенная и удобная, по их мнению, технология. И опять же, ReactOS может предложить интересную альтернативу. Поскольку проект в значительной степени заинтересован в обеспечении обратной совместимости, мы не подвержены риску потери совместимости при оптимизации компонентов системы в той же степени, что Microsoft. В конце концов, у нас просто нет многих тысяч клиентов, которые были бы готовы сжечь нас на костре если мы вдруг нечаянно что-то сломаем в своей системе, равно как у нас нет и акционеров, готовых отрубить нам головы в том случае, если сделанные нами в новых версиях системы изменения по какой бы то ни было причине не снискают восторженных отзывов у наших пользователей. С другой стороны, сообщество open source также может выступить с жёсткой критикой в адрес проекта, но это отнюдь не неразрешимая проблема. Однако главным нашим преимуществом является то, что ReactOS может оптимизировать и изменять компоненты так, как не сможет или не захочет Microsoft из-за риска потери совместимости. Более того, ReactOS теоретически сможет выступать в роли "строгой" реализации архитектуры NT и Win32 API, представляя собой проверочную среду, в которой разработчики смогут проверить, не пытаются ли их приложения использовать какие-либо недокументированные функции, и нет ли ошибок в использовании документированных. Это принесёт пользу многим людям, не только разработчикам, но и простым пользователям. Теоретически (а может и по иронии) это может быть полезным и самой Microsoft. Как упоминалось выше, Microsoft практически не имеет права на риск при внесении изменений и улучшений в свои фреймворки, и, вследствие этого, крайне консервативно относится даже к вопросу о необходимости их реализации. Однако это также означает, что у таких улучшений даже нет шанса быть протестированными на компьютерах конечных пользователей, и их разработчики не смогут узнать, действительно ли эти улучшения могут чем-либо навредить совместимости системы. Если же такие изменения или улучшения будут добавлены и выпущены в составе ReactOS, то мы легко сможем получить от наших пользователей отзывы о наличии или отсутствии тех или иных проблем в системе. Все накопленные нами знания и опыт разработки были бы публично доступны и любой человек мог бы ими свободно воспользоваться, к примеру, разработчикам WINE такая информация наверняка бы оказалась полезной. Кроме того, ReactOS может выступать в роли своеобразной "тестовой площадки", позволяющей улучшить удобство работы с Windows, что, несомненно, пойдет всем только на пользу.

Переводы блогов
MonsteraБезопасное программированиеИнтеллектуальная собственность: Идеология vs ПрактичностьИнтеллектуальная собственность: ОсновыОб ОС для настольных компьютеров...Перспектива: Microsoft и игрыПерспектива: Разработчики вне экосистемы MicrosoftПерспектива: Разработчики и MicrosoftСценарии использования ReactOSЦена прогресса