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

Если вы хотите остаться анонимным в сети и защитить свои данные, в этой статье мы рассмотрим самые безопасные дистрибутивы linux, которые помогут вам в этом.

Большинство из инструментов, перечисленных в этой статье можно использовать полностью бесплатно. Кроме них, есть и платные варианты, например, VPN, но эти бесплатные инструменты справляются со своей задачей гораздо лучше. Необходимость безопасности в интернете постоянно растет, всегда есть риск кибератаки и прослушивания со стороны спецслужб. Не удивительно, что сразу же было создано несколько дистрибутивов, объединяющих в себе инструменты, обеспечивающие максимальную анонимность в сети.

Эти дистрибутивы изначально были ориентированы на узких специалистов, но в последнее время они набрали большую популярность. В связи со спросом на такие системы со стороны пользователей они постоянно развиваются и добавляются новые, возможно, сейчас их существует больше двадцати, но мы рассмотрим только лучшие безопасные linux дистрибутивы.

Большинство из них используют для обеспечения анонимности программное обеспечение Tor, которое обеспечивает действительно высокий уровень анонимности, в отличие от VPN провайдеров, которые все еще знают ваш реальный IP адрес.

Но у VPN и сейчас есть множество преимуществ, что делает его лучшим вариантом в некоторых случаях. Если для вас важна скорость соединения или вы собираетесь передавать файлы по P2P, тут выиграет VPN.

Прежде чем рассматривать самые безопасные linux дистрибутивы, давайте поговорим о том, как обеспечивается анонимность Tor. Tor или The Onion Router это стандартный протокол шифрования, разработанный в ВМС США.

Программное обеспечение Tor работает с несколькими узлами, это и обеспечивает высокую надежность и анонимность. Данные при прохождении через случайный узел каждый раз перешифровываются и становятся полностью расшифрованными только на последнем узле. Разработчики Tor также отвечают за создание дистрибутива Tails, который рекомендует использовать Эдвард Сноуден.

Теперь вернемся к VPN. Обычно, это платные сервисы, найти хороший, бесплатный VPN очень сложно. Качество обслуживания VPN зависит от провайдера, но как правило, скорость работы серверов VPN намного быстрее, чем Tor.

1. Tails - анонимный LiveCD

Если вы хотите остаться неизвестным в интернете, Tails - отличный выбор. Его основная цель - следить, чтобы вы не оставили никаких цифровых следов во время веб-серфинга. Это один из наиболее часто используемых для обеспечения анонимности дистрибутивов, и единственный, где все интернет-соединения направляются через Tor.

Обычно Tails устанавливается на флешку, все данные хранятся в оперативной памяти, а после завершения работы стираются. Операционная система основана на Debian и поставляется с большим набором инструментов с открытым исходным кодом специально разработанных для обеспечения конфиденциальности. Здесь поддерживается подмена MAC адреса и камуфляж Windows, когда система выглядит очень похожей на Windows 8.

Tails использует устаревшую версию Gnome, которая выглядит некрасиво и минималистично без возможности дополнительной настройки и улучшения, поскольку файлы между сессиями не сохраняются. Возможно, для многих это неважно, ведь Tails выполняет свою работу. У дистрибутива есть отличная документация и вы можете прочитать ее на официальном сайте.

2. JonDo Live-DVD

JonDo Live-DVD - это коммерческое решение для анонимности в сети. Оно работает похожим образом на Tor, ваши данные тоже передаются через ряд смешанных серверов JonDonym. На каждом узле данные перешифровываются. Это отличная альтернатива для Tails, особенно если вы ищете что-то с менее ограниченным пользовательским интерфейсом.

Как и Tails, дистрибутив основан на Debian, а также включает в себя набор инструментов для обеспечения анонимности и наиболее часто используемые приложения.

JonDo Live-DVD это платный сервис, для коммерческого использования. Он ориентирован на использование в фирмах, а также быстрее чем Tails и тоже не поддерживает сохранение файлов.

Если вам нужно что-то совершенно другое, вам будет интересен Whonix. Здесь используется совсем другой подход. Это не LiveCD. Whonix работает в виртуальной машине VirtualBox, система изолирована от вашей основной системы, тем самым уменьшается риск подхватить вирусы или засветить свои данные в сети.

Whonix состоит из двух частей. Whonix Gatway выступает в качестве шлюза Tor, вторая - Whonix Workstation является полностью изолированной от сети и направляет все свои сетевые соединения через шлюз Tor.

Таким образом, здесь необходимо использовать две виртуальные машины, что может создать определенные проблемы, если у вас слабое оборудование. Но тем не менее она работает. Правда, это не самый безопасный дистрибутив Linux, как Live CD, поскольку там не сохраняются данные на жестком диске.

Whonix основан на Debian, но в качестве окружения рабочего стола используется KDE. Операционная система не подходит для повседневного использования и вы можете ее использовать только на виртуальной машине.

4. Qubes OS

Это еще один дистрибутив для обеспечения анонимности рекомендуемый Сноуденом. Qubes пытается исправить недостатки всех предыдущих дистрибутивов с недостаточно красивым и настраиваемым пользовательским интерфейсом. Это дистрибутив для повседневного использования, совмещающий в себе мощь Tor и Whonix.

Здесь совсем иной подход к анонимности. Идея Qubes - безопасность путем разделения. Это значит, что ваша цифровая жизнь будет разделена между изолированными виртуальными машинами. Любое приложение запускается в отдельной виртуальной среде.

Нужно отметить, что Qubes поставляется по умолчанию с флагманским ноутбуком от Purism. Этот ноутбук считается самым безопасным устройством для пользователей. И это правда, учитывая мощное программное обеспечения этого дистрибутива.

Если вам нужен удобный дистрибутив для повседневного использования со всей стандартной функциональностью и привычными приложениями, Qubes OS может стать отличным выбором. В отличие от выше перечисленных он может быть установлен на жесткий диск.

5. UPR (Ubuntu Privacy Remix)

UPR, это еще один устанавливаемый дистрибутив, ориентированный на безопасность. Он удобен для пользователей и обеспечивает изолированную среду, в которой конфиденциальные данные могут быть в безопасности.

Уже судя по имени, можно сказать, что он основан на Ubuntu. Дистрибутив предлагает безопасный серфинг в интернете и использование шифрованных флешек, для эффективной защиты ваших данных от несанкционированного доступа. Дистрибутив поставляется с предустановленными инструментами для шифрования, такими как GnuPG и TrueCrypt. UPR предназначен только для безопасного серфинга в интернете, а не для анонимности. Он отлично подойдет, если вы хотите установить систему на свой компьютер, а не использовать LiveCD. Если нужна еще и анонимность можно установить Tor или подключить VPN.

Выводы

Учитывая что Tails самый распространенный из всех упомянутых в этой статье, то можно решить что он самый безопасный. Но другие дистрибутивы тоже отлично служат своей цели. Так что тут все упирается только в личные предпочтения.

В наш век BYOD, когда почти половина организаций сообщают об утечке данных и взломе мобильных устройств, а 64% и вовсе не имеют политик BYOD (по данным фирмы Veracode), тема мобильной безопасности становится всё более актуальной для поставщиков решений, стремящихся защитить сети заказчиков.

Это возлагает бремя BYOD на ИТ-подразделения и VAR`ов, которые должны внедрить лучшие методы защиты на всём многообразии устройств.

Существуют, конечно, десятки разных моделей смартфонов и планшетов, но, по большому счету, дело сводится к четырем главным платформам мобильных ОС: iOS Apple, Android Google, BlackBerry и Windows Phone Microsoft.

IPhone и iPad получили широкое распространение в корпоративной среде, согласно опросу вендоров администрирования мобильных устройств (MDM), проведенному CRN при подготовке этой статьи. Теодора Тайтонис, вице-президент по мобильным технологиям в Veracode, считает, что успех Apple выстроен на ее жестком контроле над аппаратной платформой, ПО и экосистемой приложений наряду с продуманными дополнениями, такими как новые API управления контентом и приложениями в iOS 7.

Android, самая популярная мобильная ОС на планете, значительно продвинулась в корпоративном сегменте, хотя вендоры антивирусов приводят длинный перечень вредоносного ПО, перед которым Android-устройства порой пасуют. Samsung - главный вендор в сегменте Android - всячески подчеркивает свои расширения SAFE (Samsung Approved For Enterprise) и фирменную технологию защиты Knox, встроенную в некоторые модели, стремясь повысить привлекательность этой ОС для организаций.

Microsoft в своей Windows Phone 8 предлагает уникальные возможности, прежде всего интеграцию с Active Directory, позволяя вендорам MDM улучшить администрирование и назначать политики для групп пользователей. Есть еще, конечно, встроенная поддержка Active Sync. И эксперты по безопасности говорят, что Windows Phone 8 несравненно продвинулась в более надежной изоляции приложений (sandboxing).

Есть, наконец, BlackBerry, снискавшая (и всё еще сохраняющая) огромное уважение среди поставщиков решений за множество своих функций безопасности, таких как служба BBM и функции защиты в ее переоснащенном сервере администрирования BES 10. Теперь в этой ОС есть поддержка Exchange Active Sync и новая технология Balance, позволяющая организациям создать раздел в устройстве с BlackBerry 10, чтобы держать персональные и корпоративные данные и приложения отдельно.

«Потребители обычно тяготеют к более яркому на рынке мобильных устройств», - говорит Тайтонис из Veracode. Но это не всегда оказывается надежно защищенным. «Бремя BYOD лежит на конечном пользователе, который должен сделать правильный выбор смартфона или планшета и использовать их, соблюдая безопасность», - добавила она.

Что касается угроз безопасности и нарушений прайвеси мобильных устройств, то даже самые защищенные мобильные ОС не могут их исключить, если у пользователя нет элементарного здравого смысла, говорит она.

С этим согласен и Джерри Зигмонт, владелец реселлерской компании MacWorks, сотрудничающей с Apple. «Я не думаю, что есть какой-то один телефон, более защищенный, чем все другие», - сказал он. Тем не менее, он считает, что Apple и iOS 7 имеют некоторое преимущество перед Android, Windows Phone 8 и BlackBerry.

IOS: самая защищенная

Так считают эксперты мобильной безопасности и поставщики решений. У Apple преимущество, говорят они, потому что она держит в своих руках значительную часть всех составляющих - прикладной уровень (App Store), операционную систему (iOS) и сами устройства (iPhone/iPad), но не инфраструктуру (ее предоставляют операторы связи).

«iOS наиболее защищена, поскольку внимание к безопасности на уровне приложений ничуть не меньше, чем на уровне операционной системы», - говорит Айра Гроссман, директор по технологии клиентских устройств компании MCPc, крупного поставщика решений в США с собственной платформой Anyplace Workspace.

«Если приложения не защищены, то не имеет значения, насколько защищена операционная система, - говорит Гроссман. - Apple Store дает уровень безопасности, которого мы не имеем сегодня в стандартной витрине Android-приложений».

Но одно лишь то, что Apple строго следит за своей витриной App Store, еще не гарантирует преимущество перед конкурентами в безопасности приложений. По мнению Veracode, мобильные приложения Apple создают столько же потенциальных рисков, как и ее ближайшего конкурента, Android, если говорить о главных типах угроз.

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

«Apple продвинулась дальше всех в деле безопасности. Каждое приложение запускается отдельно (sandboxed), то есть хранение данных и память изолируются. И у нее больше всего контроля над установкой патчей», - сказал один эксперт по безопасности из MDM-фирмы, попросивший об анонимности.

Управление уровнем заплат и контроль за установкой обновлений - важное преимущество Apple перед Android, говорят многие вендоры MDM. Apple посылает свои собственные «заплаты» напрямую пользователям, и это означает, что найденные уязвимости устраняются в течение 24 часов. Это дает Apple преимущество, говорят они, так как Android полагается на операторов беспроводной связи, которые рассылают свои заплаты и обновления ОС для устранения «дыр» в безопасности. Что еще хуже, сегмент Android фрагментирован: разные аппаратные платформы и номера версий ОС могут порой требовать отдельной заплаты для каждой версии.

В отличие от Apple, Android-устройства используют мешанину разных вариантов этой ОС. К сожалению, операторы не спешат с рассылкой заплат на устройства. Даже вендоры MDM признаются, что с трудом охватывают все версии.

Android: прочное второе место

Но это не значит, что Android OS не защищена. Она имеет множество встроенных функций безопасности. Кроме того, производители Android-устройств, прежде всего Samsung, улучшили версии этой ОС дополнив их расширенными средствами защиты, такими как технология Knox (Samsung).

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

С учетом этого, Ожас Реже (Ojas Rege), вице-президент по стратегии компании MobileIron, вендора MDM, утверждает, что безопасность и возможности администрирования в Android почти равны таковым у Apple. «Ключ к безопасности - это архитектура с изоляцией приложений, где данные в корпоративном приложении не могут быть доступны для другого приложения. iOS обеспечивает наиболее строгую изоляцию. Но более защищенные версии Android, например, с технологией Knox Samsung, также не хуже».

BlackBerry: возможно ли второе рождение?

Популярной в определенных кругах остается также BlackBerry OS. Со своим BlackBerry Enterprise Server (BES) она включает сотни функций защиты для организаций.

«BlackBerry - самая защищенная. В этом единственная причина, почему она еще жива, - говорит Стивен Канторович, президент VAR-компании CelPro Associates. - Именно поэтому ее используют госорганы и даже президент Обама».

Если бы ностальгия и заслуженное уважение могли увеличивать долю рынка, то BlackBerry обошла бы Apple уже завтра, но увы! - многие в отрасли считают, что она неуклонно угасает. Как результат, наблюдается исход разработчиков, да и вендоры MDM тоже переключаются на другие платформы. Если судить по цифрам, то будущее BlackBerry выглядит блёклым. Реже из MobileIron говорит, что доля BlackBerry среди организаций, с которыми он работает, быстро падает.

Согласно недавнему исследованию MobileIron, половина из компаний, обеспечивающих администрирование смартфонов BlackBerry, говорят, что планируют прекратить поддержку в ближайшие 12 месяцев. В секторе финансовых услуг 44% мобильных устройств - это BlackBerry. Согласно опросу MobileIron, в ближайшие 12 месяцев эта цифра снизится до 30%.

Впрочем, главный управляющий BlackBerry Джон Чэнь (John Chen) позволил себе не согласиться с ниспровергателями. На Всемирном конгрессе мобильной связи в феврале он заявил собравшимся, что компания намерена вновь громко заявить о себе на рынке смартфонов с новой high-end моделью с QWERTY-клавиатурой под названием BlackBerry Classic, намеченной к выпуску в этом году.

В интервью журналу USA Today Чэнь так охарактеризовал эту модель: «Это усовершенствованная и расширенная версия одного из наших самых популярных и успешных продуктов, который назывался Bold. Она будет иметь клавиатуру и хороший сенсорный экран, очень быстрый Интернет, веб-браузер и средства мультимедиа. А кроме того, будет очень защищенной».

Чэнь не раз заявлял, что BlackBerry - самая защищенная платформа в том, что касается самого устройства и пересылки сообщений (как электронной почты, так и BBM), и безопасность - главное в планах разработки компании.

Windows Phone 8: сила, с которой нужно считаться

Исследование фирмы ComScore показывает, что Android и Apple вместе удерживают сегодня более 93% рынка (доля Android составляет 52%, у Apple 41%), а Windows Phone 8 и BlackBerry состязаются за очень отдаленное третье место, имея 3,4% и 2,9% соответственно.

Хотя доля рынка Microsoft составляет единицы процентов, ее преимуществом перед BlackBerry является тесная интеграция с корпоративной средой. «Windows Phone - центральная часть нашего предложения, поскольку мы думаем, что она имеет большой потенциал в корпоративном сегменте», - говорит Реже из MobileIron.

Эксперты в безопасности говорят, что в Windows Phone 8 значительно улучшена изоляция приложений. Но эта ОС поддерживает меньше политик MDM по сравнению с iOS, а это означает, что вендоры, такие как MobileIron, не могут предоставить такой же уровень контроля для этой ОС, говорит Реже.

«Windows Phone 8 вполне способна удовлетворить специалистов по работе с информацией, но не тех, кто должен соответствовать высокому уровню регулятивных требований и защищенности», - говорит Райан Смит, ведущий инженер по безопасности компании-стартапа Mojave Networks.

По этим причинам (и вследствие невысокого спроса) Windows Phone 8 стоит в конце списка у многих экспертов в безопасности. Но это не значит, что вендоры MDM не обеспечивают ее поддержку - у большинства она есть.

Если BlackBerry явно не хватает жизненной силы, то перед Windows Phone 8 раскрыт горизонт возможностей. Защищенность мобильных устройств - это ускользающая цель, говорит Смит. Опираясь на прочное присутствие в корпоративном сегменте и купленный бизнес смартфонов Nokia, Microsoft может изменить расклад сил в безопасности с новым выпуском своей мобильной ОС, сказал он.

Когда последний раз ваш телевизор внезапно отключался или требовал, чтобы вы срочно загрузили из Web какую-нибудь программную заплатку, исправляющую критическую ошибку? В конце концов, если у вас не совсем уж древний телевизор, то, по сути, он тот же компьютер - с центральным процессором, большим монитором, какой-то аналоговой электроникой для декодирования радиосигналов, парочкой специальных устройств ввода/вывода (пульт, встроенный дисковод для кассет или DVD-дисков) и с программным обеспечением, прописанным в оперативной памяти. Этот риторический вопрос возвращает нас к одной неприятной проблеме, о которой так не любят говорить в компьютерной индустрии. Почему телевизоры, DVD-проигрыватели, MP3-плейеры, сотовые телефоны и другие электронные устройства с программным обеспечением вполне надежны и хорошо защищены, а компьютеры - нет? Конечно, тому есть немало «объяснений»: компьютеры - это гибкие системы, пользователи могут менять программное обеспечение, отрасль информационных технологий еще недостаточно развита и так далее. Но, поскольку мы живем в эпоху, когда подавляющее большинство компьютерных пользователей мало сведущи в технических вопросах, то подобные «объяснения» им не кажутся убедительными.

Чего потребитель ждет от компьютера? Того же самого, что и от телевизора. Вы его покупаете, подключаете, и он прекрасно работает следующие десять лет. ИТ-специалистам следует принять во внимание эти ожидания и сделать компьютеры такими же надежными и защищенными, как телевизоры.

Самой слабым местом в плане надежности и защиты остается операционная система. Несмотря на то, что прикладные программы содержат немало дефектов, если бы операционная система была безошибочной, то некорректность прикладных программ не имела бы столь серьезных последствий, как сейчас, поэтому мы остановимся в данной статье именно на операционных системах.

Но прежде, чем перейти к деталям, несколько слов о связи между надежностью и защитой. Проблемы, возникающие в каждой из этих сфер, зачастую имеют общие корни: ошибки в программном обеспечении. Ошибка переполнения буфера может вызвать сбой в системе (проблема надежности), но она также позволяет хитроумно написанному вирусу проникнуть на компьютер (проблема защиты). Несмотря на то, что в данной статье мы, прежде всего, будем говорить о надежности, следует иметь в виду, что увеличение надежности может привести к усилению защиты.

Почему системы ненадежны?

Современные операционные системы имеют две особенности, из-за которых они теряют как в надежности, так и в защищенности. Во-первых, эти ОС огромны по размеру, а, во-вторых, в них очень плохо обеспечена изоляция ошибок. Ядро Linux имеет свыше 2,5 млн. строк кода, а ядро Windows XP как минимум в два раза больше.

Одно из исследований, посвященных изучению надежности программного обеспечения, показало, что программы содержат от 6 до 16 ошибок на каждые 1000 строк исполняемого кода. Согласно результатам другого исследования, частота ошибок в программах находится в пределах от 2 до 75 на каждые 1000 строк исполняемого кода , в зависимости от размера модуля. Даже если исходить из самой скромной оценки (6 ошибок на 1000 строк кода), ядро Linux, по всей видимости, содержит примерно 15 тыс. ошибок; Windows XP - как минимум в два раза больше.

Хуже того, как правило, около 70% операционной системы составляют драйверы устройств, уровень ошибок в которых в три-семь раз выше, чем в обычном коде , поэтому приведенная выше оценка числа ошибок в ОС, скорее всего, сильно занижена. Понятно, что найти и исправить все эти ошибки просто невозможно. Более того, при исправлении одних ошибок зачастую вносятся новые.

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

Этот факт приводит нас ко второй проблеме: изоляции ошибок. Ни один человек в мире не знает все о том, как функционирует авианосец, но подсистемы авианосца хорошо изолированы друг от друга, и его засорившийся туалет никак не повлияет на работу подсистемы запуска ракет.

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

Вернемся к аналогии с кораблем. Корпус современного судна разделен на множество отсеков. Если в одном из отсеков возникает течь, то затапливается только он, а не весь трюм. Современные операционные системы подобны кораблям, существовавшим до изобретения переборок: корабль может потопить любая пробоина.

К счастью, ситуация не столь бесперспективна. Разработчики стремятся создать более надежные операционные системы. Существует четыре различных подхода, которые применяются для того, чтобы в будущем сделать ОС более надежными и защищенными. Мы изложим их в нашей статье в «возрастающем» порядке, от менее радикальных к более радикальным.

Укрепленные операционные системы

Самый консервативный подход, Nooks , был разработан для того, чтобы увеличить надежность существующих операционных систем, таких как Windows и Linux. Технология Nooks поддерживает монолитную структуру ядра, в которой сотни или тысячи процедур связаны вместе в одном адресном пространстве и работают в режиме ядра. Этот подход сосредоточен на том, чтобы сделать драйверы устройств (основная причина всех проблем) менее опасными.

В частности, как показывает рис. 1, Nooks защищает ядро от некорректных драйверов устройств за счет того, что каждый драйвер заключается в оболочку и размещается на уровне защищенного программного обеспечения, который формирует домен упрощенной защиты. Такую технологию иногда называют «песочницей». Оболочка вокруг каждого драйвера тщательно отслеживает все взаимодействия между драйвером и ядром. Кроме того, данная технология может использоваться для других расширений ядра, таких как загружаемые операционные системы, но для простоты мы будем говорить о ней только применительно к драйверам.

Цели проекта Nooks заключаются в следующем:

  • защитить ядра от ошибок в драйверах;
  • обеспечить автоматическое восстановление в случае сбоя в драйвере;
  • сделать все это путем минимальных изменений в существующих драйверах и ядре.

Защита ядра от некорректных драйверов - не главная цель. Впервые технология Nooks была реализована на Linux, но эти идеи в равной степени применимы к другим унаследованным ядрам.

Изоляция

Основное средство, позволяющее уберечь структуры данных ядра от уничтожения некорректными драйверами - это карта страниц виртуальной памяти. При работе драйвера все внешние для него страницы переводятся в режим «открыты только для чтения», благодаря чему создается отдельный домен упрощенной защиты для каждого драйвера. Таким образом, драйвер может читать структуры данных ядра, которые ему необходимы, но любая попытка напрямую изменить структуры данных ядра вызовет исключение центрального процессора, которое перехватывает менеджер изоляции Nooks. Доступ к частной памяти драйвера, где хранятся стеки, куча, структуры частных данных и копии объектов ядра, разрешен на чтение и на запись.

Посредничество

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

Nooks предоставляет оболочки как для экспортируемых, так и для импортируемых функций. Теперь, когда ядро вызывает функцию драйвера или драйвер вызывает функцию ядра, вызов на самом деле направляется оболочке, которая проверяет корректность параметров и управляет вызовом. Несмотря на то, что суррогаты (stubs) оболочки (на рис. 1 они изображаются как линии, указывающие как внутрь, так и наружу драйвера) генерируются автоматически на основе прототипов функций, тело оболочки разработчикам приходится писать вручную. В целом группа Nooks написала 455 оболочек: 329 для функций, которые ядро экспортирует, и 126 - для функций, которые экспортируют драйверы устройств.

Когда драйвер пытается модифицировать объект ядра, его оболочка копирует объект в домен защиты драйвера, то есть в его частные страницы, открытые для чтения и записи. Затем драйвер меняет копию. Если запрос был выполнен успешно, менеджер изоляции копирует модифицированные объекты обратно в ядро. Таким образом, сбой в работе драйвера или ошибка во время вызова всегда оставляют объекты ядра в корректном состоянии. Операции контроля за импортируемыми объектами специфические для каждого объекта, в силу чего группе Nooks пришлось вручную писать код для контроля 43 классов объектов, которые используют драйверы Linux.

Восстановление

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

Эта технология позволяет восстановить систему, но работавшие в момент сбоя приложения могут оказаться в некорректном состоянии. В результате работы группа Nooks добавила концепцию дублирующих драйверов (shadow driver) для того, чтобы приложения могли выполняться корректно даже после сбоя драйвера.

Одним словом, во время нормальной работы дублирующий драйвер регистрирует взаимодействия между каждым драйвером и ядром, если это взаимодействие может потребоваться для восстановления. После перезапуска драйвера дублирующий драйвер передает перезапущенному драйверу все данные из журнала регистрации, например, повторяя вызов системы управления вводом/выводом (IOCTL) для того, чтобы установить параметры, такие как громкость звука. Ядру ничего не известно о процессе возвращения драйвера в то состояние, в котором находился старый драйвер. Как только этот процесс завершается, драйвер начинает обрабатывать новые запросы.

Ограничения

Несмотря на то, что, согласно экспериментам, Nooks может обнаруживать 99% фатальных ошибок драйвера и 55% не фатальных, он далеко не совершенен. Например, драйверы могут выполнять привилегированные команды, которые они выполнять не должны; они могут записывать данные в некорректные порты ввода/вывода и выполнять бесконечные циклы. Более того, группе Nooks большое количество оболочек пришлось написать вручную, и эти оболочки могут содержать ошибки. Наконец, при данном подходе невозможно запретить драйверам записывать данные в любое место памяти. Тем не менее это потенциально весьма полезный шаг к повышению надежности унаследованных ядер.

Паравиртуальные машины

Второй подход создан на основе концепции виртуальной машины. Эта концепция была разработана в конце 60-х годов. Идея заключается в том, чтобы использовать специальную управляющую программу, называемую монитором виртуальной машины, которая работает непосредственно с аппаратным обеспечением, а не с операционной системой. Виртуальная машина создает несколько экземпляров реальной машины. Каждый экземпляр может поддерживать работу любой программы, которая способна выполняться на данном аппаратном обеспечении.

Этот метод часто применяется для того, чтобы две или несколько операционных систем, скажем, Linux и Windows, могли работать на одной и той же машине одновременно, причем так, что каждая из ОС считает, что в ее распоряжении находится вся машина. Использование виртуальных машин имеет заслуженную репутацию средства, обеспечивающего хорошую изоляцию ошибок. В конце концов, если ни одна из виртуальных машин не подозревает о существовании других, проблемы, возникающие на одной машине, никак не могут распространиться на другие.

Была предпринята попытка адаптировать данную концепцию для организации защиты в одной операционной системе, а не между различными ОС . Более того, поскольку Pentium не полностью поддерживает виртуализацию, пришлось отступить от принципа запускать в виртуальной машине операционную систему без каких-либо ее изменений. Эта уступка позволяет вносить изменения в операционную систему для того, чтобы гарантировать, что она не может делать ничего, что невозможно виртуализировать. Для того чтобы данную технологию отличать от истинной виртуализации, ее называют паравиртуализацией .

В частности, в 90-х годах группа разработчиков из университета Карлсруэ создала микроядро L4 . Они смогли запустить слегка модифицированную версию Linux (L4Linux) на L4 в режиме, который можно называть видом виртуальной машины . Позже разработчики выяснили, что вместо того чтобы запускать только одну копию Linux на L4, они могут запускать несколько копий. Как показано на рис. 2 , эта мысль привела к идее использования одной из виртуальных машин Linux для работы прикладных программ, а другой или нескольких - для работы драйверов устройств.

Если драйверы устройств работают в одной или в нескольких виртуальных машинах, изолированных от основной виртуальной машины, где работает остальная операционная система и прикладные программы, то в случае сбоя в драйвере выходит из строя только его виртуальная машина, а не основная. Дополнительное преимущество такого подхода заключается в том, что драйверы устройств не нужно модифицировать, поскольку они видят обычную среду ядра Linux. Конечно, само ядро Linux придется менять для того, чтобы оно поддерживало паравиртуализацию, но это однократное изменение. Кроме того, нет необходимости повторять эту процедуру для каждого драйвера устройства.

Поскольку драйверы устройств работают на аппаратном обеспечении в режиме пользователя, основной вопрос заключается в том, как они будут выполнять ввод/вывод и обрабатывать прерывания. Физический ввод/вывод поддерживается за счет добавления примерно 3 тыс. строк кода к ядру Linux, на котором работают драйверы, благодаря чему драйверы могли использовать сервисы L4 для ввода/вывода вместо того, чтобы делать это самостоятельно. Дополнительные 5 тыс. строк кода поддерживают взаимодействия между тремя изолированными драйверами (диска, сети и шины PCI) и виртуальной машиной, в которой выполняются прикладные программы.

В принципе, этот подход должен обеспечить более высокую надежность, чем единая операционная система, поскольку в том случае, если в виртуальной машине, содержащей один или несколько драйверов, возникает сбой, то виртуальную машину можно перезапустить - и драйверы вернутся в свое исходное состояние. В отличие от Nooks при данном подходе не предпринимается никаких попыток вернуть драйверы в предыдущее состояние (то состояние, в котором они находились до того, как возник сбой). Таким образом, если аудиодрайвер выйдет из строя, он будет восстановлен со значением уровня звука по умолчанию, а не с тем, что было до того, как возник сбой.

Параметры производительности показывают, что накладные расходы при использовании паравиртуализованных машин составляют около 3-8%.

Мультисерверные операционные системы

Первые два подхода предусматривают модификацию унаследованных систем. Следующие два посвящены будущим системам.

Один из этих подходов напрямую касается сути проблемы: работы всей операционной системы как единой гигантской бинарной программы в режиме ядра. Вместо этого в данном случае предлагается иметь несколько небольших микроядер, работающих в режиме ядра, в то время как остальная часть операционной системы представляет собой набор полностью изолированных сервера и процессов драйвера, работающих в режиме пользователя. Эта идея была предложена 20 лет назад, но тогда она так и не была полностью воплощена из-за более низкой производительности мультисерверной ОС по сравнению с монолитным ядром. В 80-х годах производительность считалась самым важным показателем, а о надежности и защите даже не задумывались. Конечно, в свое время инженеры самолетов не задумывались о расходе топлива или о создании дверей кабины, способной выдерживать вооруженное нападение. Времена меняются, и представление людей о том, что действительно важно, меняются тоже.

Мультисерверная архитектура

Для того чтобы лучше понять, в чем состоит идея мультисерверной операционной системы, обратимся к современному примеру. Как показано на рис. 3 , в Minix 3, микроядро обрабатывает прерывания, предоставляет базовые механизмы для управления процессами, реализует взаимодействия между процессами и выполняет планирование процессов. Оно также предоставляет небольшой набор вызовов ядра для авторизованных драйверов и серверов, такие как чтение избранной части адресного пространства конкретного пользователя или запись в авторизованные порты ввода/вывода. Драйвер часов использует то же адресное пространство, что и микроядро, но он планируется как отдельный процесс. Ни один другой драйвер в режиме ядра не работает.

Над микроядром находится уровень драйверов устройств . Каждое устройство ввода/вывода имеет свой собственный драйвер, который функционирует как отдельный процесс в своем собственном частном адресном пространстве, защищенном с помощью аппаратного модуля управления памятью (MMU). Этот уровень включает в себя процессы драйверов для диска, терминала (клавиатуры и дисплея), Ethernet, принтера, аудио и так далее. Эти драйверы работают в режиме пользователя и не могут выполнять привилегированные команды или операции чтения и записи на портах ввода/вывода компьютера. Для того чтобы получить эти сервисы, драйверы должны обратиться к ядру. Хотя такая архитектура увеличивает накладные расходы, она значительно повышает надежность.

Над уровнем драйверов устройств находится уровень сервера. Сервер файлов представляет собой программу (4,5 тыс. строк исполняемого кода), которая принимает запросы от пользовательских процессов на системные вызовы Posix, касающиеся файлов, таких как, read, write, lseek и stat, и выполняет их. Кроме того, на этом уровне расположен менеджер процессов, который управляет процессами и памятью и выполняет вызовы Posix и другие системные вызовы, такие как fork, exec и brk.

Несколько необычной особенностью является сервер реинкарнации, который играет роль родительского процесса для всех остальных серверов и всех драйверов. Если в драйвере или в сервере возникает сбой, они завершают свою работу или не отвечают на периодически посылаемые команды ping, сервер реинкарнации удаляет эти процессы, если необходимо, а затем перезапускает их с копии на диске или из оперативной памяти. Таким образом можно перезапустить драйверы, но сейчас из серверов можно перезапустить только те, внутреннее состояние которых ограничено.

К числу других серверов относятся сетевой сервер, который содержит: полный стек TCP/IP; хранилище данных, простой сервер имен, который используют другие серверы; информационный сервер, который используется при отладке. Наконец, над серверным уровнем расположены пользовательские процессы. Единственное отличие между этой и другими системами Unix заключается в том, что библиотечные процедуры для чтения, записи и других системных вызовов выполняется посредством посылки сообщений серверам. За исключением данного отличия (скрытого в системных библиотеках) это обычные пользовательские процессы, которые могут использовать POSIX API.

Взаимодействия между процессами

Поскольку именно механизм взаимодействия между процессами (Interprocess Communication, IPC) позволяет всем процессам работать вместе, он критически важен в мультисерверной операционной системе. Однако так как все серверы и драйверы в Minix 3 выполняются как физически изолированные процессы, они не могут напрямую вызывать функции друг друга или совместно использовать структуры данных. Вместо этого Minix 3 поддерживает IPC за счет передачи сообщений фиксированной длины на так называемом принципе рандеву (когда и отправитель, и получатель готовы к обмену, система копирует сообщение непосредственно от отправителя к получателю). Кроме того, имеется механизм асинхронных уведомлений о событиях. События, которые не могут быть реализованы, в таблице процессов помечаются как отложенные.

Minix 3 элегантно объединяет прерывания с системой передачи сообщений. Обработчики прерываний используют механизм уведомлений для сигнализации о завершении ввода/вывода. Этот механизм позволяет обработчику устанавливать бит в битовой карте «отложенных прерываний», а затем продолжать работу без блокировки. Когда драйвер готов к получению прерывания, ядро преобразует его в обычное сообщение.

Характеристики надежности

Причин высокой надежности Minix 3 несколько. Во-первых, в ядре выполняется код размером не более 4 тыс. строк, поэтому, исходя из скромной оценки 6 ошибок на 1000 строк, общее число ошибок в ядре, скорее всего, около 24. Сравните это число с 15 тыс. ошибок в Linux и намного большим их количеством в Windows. Поскольку все драйверы устройств, за исключением часов, - это пользовательские процессы, никакой посторонний код никогда не будет работать в режиме ядра. Кроме того, небольшой размер ядра позволяет более эффективно проверить его корректность либо вручную, либо с помощью формальных методов.

Архитектура IPC в Minix 3 не требует поддержки очередей или буферизации сообщений, что избавляет от необходимости управления буфером в ядре. Более того, поскольку IPC - это мощная конструкция, IPC-возможности каждого сервера и драйвера строго ограничены. Для каждого процесса строго определены используемые примитивы IPC, доступные адресаты и уведомления о пользовательских событиях. Пользовательские процессы, например, могут взаимодействовать только по принципу рандеву или посылать сообщения только серверам Posix.

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

Драйверы и серверы в режиме пользователя не могут работать с привилегиями суперпользователя. Они не могут получать доступ к областям памяти, находящимся за пределами их собственных адресных пространств, за исключением вызовов ядра (проверку корректности которых выполняет ядро). Более того, битовые карты и диапазоны внутри таблицы процессов ядра управляют набором допустимых вызовов ядра, возможностей IPC и допустимых портов ввода/вывода для каждого процесса в отдельности. Например, ядро может не допустить, чтобы драйвер принтера записывал информацию в пользовательские адресные пространства, обращался к портам ввода/вывода диска или посылал сообщения аудиодрайверу. В традиционных монолитных системах любой драйвер может делать что угодно.

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

К числу других специфических особенностей, обеспечивающих более высокую надежность, самым важным является свойство самовосстановления. Если драйвер пытается сохранить данные по некорректному указателю, входит в бесконечный цикл или пытается выполнить другие некорректные операции, сервер реинкарнации автоматически заменит этот драйвер, причем, как правило, в этом случае не будут затронуты другие выполняемые процессы.

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

Параметры производительности

В течение десятилетий разработчики критиковали мультисерверные архитектуры, базирующиеся на принципе микроядер, за их более низкую по сравнению с монолитными архитектурами производительность. Однако различные проекты подтверждают, что модульная архитектура на самом деле может обеспечивать сравнимую производительность. Несмотря на тот факт, что Minix 3 не была оптимизирована по производительности, система работает достаточно быстро. Потери производительности, которые возникают из-за того, что драйверы работают в режиме пользователя, по сравнению с драйверами в режиме ядра составляют менее 10%, и система может создаваться, в том числе ядро, общие драйверы и все серверы (112 компиляций и 11 ссылок), менее чем за 6 с на машине с процессором Athlon/2,2 ГГц.

Тот факт, что мультисерверные архитектуры позволяют поддерживать достаточно надежную Unix-подобную среду при весьма небольших потерях производительности, делает такой подход практически приемлемым. Minix 3 для Pentium можно загрузить бесплатно на условиях лицензии Berkeley с сайта www.minix3.org . Сейчас разрабатываются версии для других архитектур и встроенных систем.

Защита на базе языка

Самый радикальный подход, что весьма неожиданно, предложили в Microsoft Research, отказавшись от операционной системы как единой программы, выполняющейся в режиме ядра, и некоторого набора пользовательских процессов, функционирующих в режиме пользователя. Вместо этого предлагается система, написанная на совершенно новых, обеспечивающих безопасность типов языках, которые избавлены от всех проблем с указателями и других ошибок, связанных с Си и C++. Как и предыдущие два подхода, этот подход был предложен несколько десятилетий назад и был реализован в компьютере Burroughs B5000. Тогда существовал только язык Алгол, и защита поддерживалась не с помощью MMU (которого вообще не было в машине), а благодаря тому, что компилятор Алгол просто не генерировал «опасный» код. Подход, предложенный Microsoft Research, адаптирует эту идею к условиям XXI века.

Общее описание

Эта система, получившая название Singularity, практически полностью написана на Sing#, новом языке, гарантирующим безопасность типов. Этот язык основан на C#, но дополнен примитивами передачи сообщений, семантика которых определяется формальными, описанными средствами языка контрактами. Поскольку язык жестко ограничивает системные и пользовательские процессы, все процессы могут работать вместе в едином виртуальном адресном пространстве. Это увеличивает как безопасность (поскольку компилятор не позволит одному процессу менять данные другого процесса), так и эффективность (поскольку это избавляет от перехватов вызовов ядра (kernel trap) и переключений контекста.

Более того, архитектура Singularity является гибкой, поскольку каждый процесс - это замкнутая сущность и поэтому она может иметь свой собственный код, структуры данных, структуру памяти, систему времени исполнения, библиотеки и сборщик мусора. MMU поддерживается, но он только распределяет страницы, а не устанавливает отдельный защищенный домен для каждого процесса.

Основной принцип архитектуры Singularity состоит в том, чтобы запретить динамические расширения процессов. Кроме того, эта архитектура не поддерживает загружаемые модули, такие как драйверы устройств и подключаемые элементы браузера, поскольку они могли бы внести посторонний и непроверенный код, который может повредить родительскому процессу. Вместо этого такие расширения должны работать как отдельные процессы, полностью изолированные и взаимодействующие с помощью стандартного механизма IPC.

Микроядро

Операционная система Singularity состоит из процесса микроядра и набора пользовательских процессов, которые обычно работают в общем виртуальном адресном пространстве. Микроядро контролирует доступ к аппаратному обеспечению, резервирует и освобождает память, создает, закрывает и планирует цепочки, поддерживает синхронизацию цепочек с помощью семафоров, поддерживает синхронизацию между процессами с помощью каналов, контролирует ввод/вывод. Каждый драйвер устройств работает как отдельный процесс.

Хотя большая часть микроядра написана на Sing#, отдельные компоненты созданы на C#, C++ или assembler и должны быть надежными, поскольку проверить их корректность невозможно. К надежному коду относятся уровень аппаратной абстракции и сборщик мусора. Уровень аппаратной абстракции скрывает низкоуровневое аппаратное обеспечение от системы, инкапсулируя такие концепции, как порты ввода/вывода, линии запросов на прерывания, каналы прямого доступа к памяти и таймеры для того, чтобы предоставить остальной части операционной системы интероперабельные абстракции.

Взаимодействие между процессами

Пользовательские процессы получают системные сервисы, посылая строго типизированные сообщения микроядру по двунаправленным каналам точка-точка. Фактически эти каналы используются для всех взаимодействий между процессами. В отличие от других систем передачи сообщений, имеющих библиотеку с функциями send и receive, Sing# полностью поддерживает каналы на уровне языка, в том числе формальные спецификации типизации и протоколов. Для того чтобы прояснить это, рассмотрим спецификацию канала.

contract C1 {

In message Request(int x) requires x > 0;

Out message Reply(int y);

Out message Error();

Request? -> Pending;

State Pending: one {

Reply! -> Start;

Error! -> Stopped;

State Stopped: ;

Этот контракт утверждает, что канал принимает три сообщения: Request, Reply и Error. Первый имеет в качестве параметра положительное целое, второй - целое, а третий параметров не имеет. Когда для доступа к серверу используется канал, сообщения Request передаются от клиента к серверу, а другие два сообщения пересылаются иным путем. Машина состояний описывает протокол для канала.

В состоянии Start клиент посылает сообщение Request, переводя канал в состояние Pending. Сервер может в ответ послать либо сообщение Reply, либо сообщение Error. Сообщение Reply переводит канал обратно в состояние Start, в котором взаимодействие может продолжаться. Сообщение Error переводит канал в состояние Stopped, завершая взаимодействие по каналу.

Куча

Если все данные, такие как блоки файлов, считываемые с диска, должны передаваться по каналам, система будет работать очень медленно, поэтому делается исключение из основного правила о том, что данные каждого процесса полностью частные и внутренние для этого процесса. Singularity поддерживает разделяемую кучу объектов, но каждый экземпляр каждого объекта в куче принадлежит одному процессу. Однако владение объектом можно передавать по каналу.

В качестве примера работы кучи рассмотрим ввод/вывод. Когда драйвер диска считывает блок данных, он помещает этот блок в кучу. Затем система передает дескриптор этого блока пользователю, запросившему данные, придерживаясь принципа «единственного владельца», но позволяя передавать данные с диска пользователю без создания дополнительных копий.

Файловая система

Singularity поддерживает единое иерархическое пространство имен для всех сервисов. Корневой сервер имен использует вершину дерева, но другие серверы имен могут монтироваться на своих собственных узлах. В частности, файловая система, которая представляет собой всего лишь процесс, монтируется на /fs, поэтому, например, имя /fs/users/linda/foo может быть файлом пользователя. Файлы реализуются как B-деревья, в которых номера блоков служат ключами. Когда пользовательский процесс запрашивает файл, файловая система отдает драйверу диска команду поместить запрашиваемые блоки в кучу. Владение затем передается так, как описано выше.

Проверка

Каждый компонент системы имеет метаданные, описывающие его зависимости, экспорты, ресурсы и поведение. Эти метаданные используются для проверки. Образ системы состоит из микроядра, драйверов и приложений, необходимых для работы системы, а также их метаданных. Внешние модули проверки (верификаторы) могут выполнять множество проверок в образе системы прежде, чем система будет его использовать, в частности для того, чтобы убедиться, что драйверы не конфликтуют по ресурсам. Проверка состоит из трех этапов:

  • компилятор проверяет безопасность типов, владение объектами, протоколы каналов и так далее;
  • компилятор генерирует Microsoft Intermediate Language, переносимый JVM-подобный байт-код, который может проверять верификатор;
  • MSIL компилируется в код x86 для базового компьютера, который может добавлять в код проверки времени исполнения (однако существующий компилятор этого не делает).

Добиться более высокой надежности можно с помощью средств, позволяющих обнаружить ошибки в самих верификаторах.

Каждая из четырех разных попыток повысить надежность операционной системы ставит своей целью не допустить, чтобы некорректные драйверы устройств вызывали сбой в системе.

В подходе Nooks каждый драйвер по отдельности заключен в программную оболочку для того, чтобы тщательно контролировать его взаимодействия с остальной операционной системой, но при таком подходе все драйверы находятся в ядре. В реализации подхода паравиртуальной машины эта идея получила дальнейшее развитие. В данном случае драйверы перенесены в одну или несколько машин, отделенных от главной машины, что еще больше ограничивает возможности драйверов. Оба эти подхода призваны увеличить надежность существующих (унаследованных) операционных систем.

Два других подхода заменяют унаследованные операционные системы на более надежные и защищенные. Мультисерверный подход предусматривает работу каждого драйвера и компонента операционной системы в отдельном пользовательском процессе и позволяет им взаимодействовать с помощью механизма IPC микроядра. Наконец, Singularity, самый радикальный подход, использует язык, обеспечивающий безопасность типов, единое адресное пространство и формальные контракты, которые строго ограничивают возможности каждого модуля.

Три из четырех исследовательских проектов - паравиртуализация на базе L4, Minix 3 и Singularity - используют микроядра. Пока не известно, какой из этих подходов в перспективе получит широкое распространение (если это не будет какое-то иное решение). Тем не менее интересно отметить, что микроядра, долгое время считавшиеся неприемлемыми из-за их более низкой производительности по сравнению с монолитными ядрами, могут снова вернуться в операционные системы из-за их потенциально более высокой надежности, что многие считают важнее производительности. Колесо истории повернулось.

Эндрю Таненбаум ([email protected]) - профессор информатики Vrije Universiteit (Амстердам, Голландия). Джоррит Хердер ([email protected]) - аспирант отделения компьютерных систем факультета информатики Vrije Universiteit. Хербер Бос ([email protected])- доцент отделения компьютерных систем факультета информатики Vrije Universiteit.

Литература
  1. V. Basili, B. Perricone, Software Errors and Complexity: An Empirical Investigation, Comm. ACM, Jan. 1984.
  2. T. Ostrand, E. Weyuker, The Distribution of Faults in a Large Industrial Software System, Proc. Int?l Symp. Software Testing and Analysis, ACM Press, 2002.
  3. A. Chou et al., An Empirical Study of Operating System Errors, Proc. 18th ACM Symp. Operating System Principles, ACM Press, 2001.
  4. M. Swift, B. Bershad, H. Levy, Improving the Reliability of Commodity Operating Systems, ACM Trans. Computer Systems, vol. 23, 2005.
  5. M. Swift et al., Recovering Device Drivers, Proc. 6th Symp. Operating System Design and Implementation, ACM Press, 2003.
  6. R. Goldberg, Architecture of Virtual Machines, Proc. Workshop Virtual Computer Systems, ACM Press, 1973.
  7. J. LeVasseur et al., Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines, Proc. 6th Symp. Operating System Design and Implementation, 2004.
  8. J. Liedtke, On Microkernel Construction, Proc. 15th ACM Symp. Operating System Principles, ACM Press, 1995.
  9. H. Hartig et al., The Performance of Microkernel-Based Systems, Proc. 16th ACM Symp. Operating System Principles, ACM Press, 1997.
  10. J.N. Herder et al., Modular System Programming in MINIX 3, Usenix; www.usenix.org/publications/login/2006-04/openpdfs/herder.pdf .

Andrew Tanenbaum, Jorrit Herder, Herbert Bos, Can We Make Operating Systems Reliable and Secure?, IEEE Computer, May, 2006. IEEE Computer Society, 2006, All rights reserved. Reprinted with permission.

О необходимости форсированного развития отечественного рынка ПО, обеспечения максимальной независимости от иностранных разработок в сфере высоких технологий и сохранения информационного суверенитета впервые на высшем уровне заговорили в 2014 году, когда санкции США и Евросоюза резко повысили риски, связанные с применением зарубежного софта в бизнесе и государственных организациях. Именно тогда в Министерстве связи и массовых коммуникаций РФ всерьёз озадачились решением этого стратегически значимого, по мнению чиновников, вопроса вместе со стимулированием спроса на национальные продукты и проработкой соответствующих мер поддержки отечественных разработчиков. Как результат — в кратчайшие сроки на законодательном уровне были утверждены ограничения на допуск иностранного ПО при осуществлении государственных и муниципальных закупок, а также правила формирования и ведения единого реестра российских программ. Всё это положительным образом отразилось на рынке программного обеспечения в России, который за последнее время пополнился множеством интересных проектов и разработок. В том числе и в области операционных систем.

«Альт Линукс СПТ» представляет собой унифицированный дистрибутив на базе Linux для серверов, рабочих станций и тонких клиентов со встроенными программными средствами защиты информации, который может быть использован для построения автоматизированных систем по класс 1В включительно и информационных систем персональных данных (ИСПДн) по класс 1К включительно. ОС позволяет одновременно хранить и обрабатывать на одном персональном компьютере или сервере конфиденциальные данные, обеспечивать многопользовательскую работу с разграничением доступа к информации, работать с виртуальными машинами, а также использовать средства централизованной авторизации. Выданный ФСТЭК России сертификат подтверждает соответствие продукта требованиям следующих руководящих документов: «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищённости от несанкционированного доступа к информации» — по 4 классу защищённости; «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню отсутствия недекларированных возможностей» — по 3-му уровню контроля и технических условий. Техническая поддержка пользователей «Альт Линукс СПТ » осуществляется компанией «Свободные программы и технологии» через партнёра-разработчика «Базальт СПО».

Разработчик: компания «Базальт СПО»

Платформа «Альт» — это набор Linux-дистрибутивов уровня предприятия, позволяющих развернуть корпоративную IT-инфраструктуру любого масштаба. В состав платформы входят три дистрибутива. Это универсальный «Альт Рабочая станция», включающий в себя операционную систему и набор приложений для полноценной работы. Второй — серверный дистрибутив «Альт Сервер», который может выступать контроллером домена Active Directory и содержит максимально полный набор служб и сред для создания корпоративной инфраструктуры (СУБД, почтовый и веб-сервер, средства аутентификации, группой работы, управления виртуальными машинами и мониторинга и прочие инструменты). Третий — «Альт Образование 8», ориентированный на повседневное использование при планировании, организации и проведении учебного процесса в учреждениях общего, среднего и высшего образования. Помимо этого, в серии продуктов компании «Базальт СПО» представлены упомянутый выше сертифицированный дистрибутив «Альт Линукс СПТ» и операционная система для домашних пользователей Simply Linux.

Разработчик: Национальный центр информатизации (входит в госкорпорацию «Ростех»)

Российский проект по созданию экосистемы программных продуктов на базе дистрибутива Linux, предназначенных для комплексной автоматизации рабочих мест и IT-инфраструктуры организаций и предприятий, в том числе в дата-центрах, на серверах и клиентских рабочих станциях. Платформа представлена в вариантах «ОСь.Офисная» и «ОСь.Серверная». Они различаются наборами включённого в дистрибутив прикладного ПО. Офисная редакция продукта содержит собственно операционную систему, средства защиты информации, пакет программ для работы с документами, почтовый клиент и браузер. В состав серверной версии включены операционная система, средства защиты информации, инструменты мониторинга и системного управления, сервер электронной почты и СУБД. В числе потенциальных пользователей платформы фигурируют федеральные и региональные органы власти, органы местного самоуправления, компании с государственным участием и государственные корпорации. Предполагается, что экосистема на основе «ОСи» в ближайшем будущем станет полноценной альтернативой западным аналогам.

Разработка научно-производственного объединения «РусБИТех», представленная в двух вариантах: Astra Linux Common Edition (общего назначения) и Astra Linux Special Edition (специального назначения). Особенности последней версии ОС: развитые средства обеспечения информационной безопасности обрабатываемых данных, механизм мандатного разграничения доступа и контроля замкнутости программной среды, встроенные инструменты маркировки документов, регистрации событий, контроля целостности данных, а также прочие обеспечивающие защиту информации компоненты. По заверениям разработчиков, Astra Linux Special Edition — единственная программная платформа, сертифицированная одновременно в системах сертификации средств защиты информации ФСТЭК России, ФСБ, Минобороны РФ и позволяющая обрабатывать в автоматизированных средствах всех министерств, ведомств и других учреждений Российской Федерации информацию ограниченного доступа, содержащую составляющие государственную тайну сведения с грифом не выше «совершенно секретно».

ROSA Linux

Разработчик: ООО «НТЦ ИТ РОСА»

Семейство операционных систем ROSA Linux включает внушительный набор решений, предназначенных для домашнего использования (версия ROSA Fresh) и применения в корпоративной среде (ROSA Enterprise Desktop), развёртывания инфраструктурных IT-служб организации (ROSA Enterprise Linux Server), обработки конфиденциальной информации и персональных данных (РОСА «Кобальт»), а также составляющих государственную тайну сведений (РОСА «Хром» и «Никель»). В основу перечисленных продуктов положены наработки Red Hat Enterprise Linux, Mandriva и CentOS с включением большого количества дополнительных компонентов — в том числе оригинальных, созданных программистами научно-технического центра информационных технологий «РОСА». В частности, в составе дистрибутивов ОС для корпоративного сегмента рынка представлены средства виртуализации, ПО для организации резервного копирования, инструменты для построения частных облаков, а также централизованного управления сетевыми ресурсами и системами хранения данных.

Разработчик: компания «Калкулэйт»

Calculate Linux представлен в редакциях Desktop, Directory Server, Scratch, Scratch Server и создан с прицелом на домашних пользователей и организации малого и среднего бизнеса, предпочитающие использовать ПО с открытым исходным кодом вместо проприетарных решений. Особенности платформы: полноценная работа в гетерогенных сетях, механизм перемещаемых профилей пользователей, инструментарий централизованного развёртывания программного обеспечения, простота администрирования, возможность установки на портативные USB-накопители и поддержка бинарных репозиториев обновлений Gentoo. Важно, что команда разработчиков доступна и открыта для любых замечаний, предложений и пожеланий пользовательской аудитории, о чем свидетельствует огромное количество способов принять участие в сообществе Calculate Linux и развитии платформы.

«Ульяновск. BSD»

Разработчик: Сергей Волков

Операционная система, которая построена на основе свободно распространяемой платформы FreeBSD и содержит необходимый набор прикладных программ для домашних пользователей и выполнения офисных задач. По словам единственного разработчика ОС Сергея Волкова, «Ульяновск.BSD» полностью адаптирована к потребностям именно русскоязычных пользователей. «Наша сборка максимально облегчена и идеально подходит для использования как на домашних компьютерах, так и на рабочих станциях сотрудников различных организаций, а также для использования в образовательных заведениях», — утверждает автор проекта, не вдаваясь в подробности того, чем конкретно скомпилированный им продукт отличается от оригинала. Солидности проекту добавляют не только наличие распространяемого на коммерческих условиях дистрибутива и платная техническая поддержка, но и запись в реестре российского ПО. Это означает, что программная платформа «Ульяновск.BSD» на законных основаниях может применяться государственными организациями в рамках проектов по внедрению импортозамещающих технологий.

Сертифицированная и защищённая операционная система, позволяющая обрабатывать информацию в соответствии с ФЗ № 152 «О персональных данных» и реализовывать системы обработки информации ограниченного доступа, не относящейся к государственной тайне. ICLinux включает средства удалённого администрирования, имеет встроенный межсетевой экран, сертифицированный на соответствие РД МЭ по 3-му классу защищённости, поддерживает RDP, X-Windows System, SSH, Telnet, VNC, VPN, NX, ICA и прочие протоколы. Также в активе платформы значатся совместимость со средствами аутентификации компании «Аладдин Р.Д.» и модульная архитектура, которая позволяет гибко настраивать операционную систему под требования заказчика.

«Альфа ОС» (Alfa OS)

Разработчик: компания ALFA Vision

Ещё один клон Linux, снабжённый пользовательским интерфейсом а-ля macOS с набором привычных офисных приложений и наполненный глубоким философским смыслом. Без шуток, на сайте разработчика в разделе «О компании», так и сказано: «Операционная система — это особое явление, точка, в которой сходятся технологические, эстетические и гуманитарные концепции. Вершина, которая видна со всех сторон. Чтобы она засияла, стала тем, чем должна быть, необходим самый разнообразный осмысленный опыт. И он у нас есть ». Сколько экспрессии в этих словах, какая подача информации! Согласитесь, не каждый может так выразительно преподнести свой продукт широкой аудитории. В настоящий момент «Альфа ОС» представлена в виде десктопной версии для x86-совместимых систем. В будущем компания ALFA Vision намерена выкатить на рынок мобильную и серверную редакции ОС, а также сборку дистрибутива для устройств на базе процессоров ARM.

Программная платформа, разработанная специально для вычислительных комплексов с архитектурой SPARC и «Эльбрус». Особенностью системы является кардинально переработанное ядро Linux, в котором были реализованы особые механизмы управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержка тегированных вычислений. «Нами была проделана фундаментальная работа по преобразованию ОС Linux в операционную систему, поддерживающую режим работы в реальном времени, для чего были реализованы актуальные оптимизации в ядре. В ходе работы в реальном времени можно устанавливать различные режимы обработки внешних прерываний, планирования вычислений, обменов с дисковыми накопителями и некоторые другие », — поясняют в компании «МЦСТ». Помимо этого, в ядро программной платформы «Эльбрус» встроен комплекс средств защиты информации от несанкционированного доступа, который позволяет использовать ОС для построения автоматизированных систем, отвечающих самым высоким требованиям информационной безопасности. Также в составе системы представлены средства архивации, планирования заданий, разработки ПО и прочие инструменты.

«Ред ОС»

Операционная система на основе ядра Linux, созданная с прицелом на обеспечение безопасности обрабатываемых данных. «Ред ОС» соответствует отечественным требованиям по защите информации, имеет преднастроенные конфигурации для каждой аппаратной архитектуры, использует алгоритмы ГОСТ 34.11-2012 в протоколах ssh и NX, а также поддерживает списки управления доступом. Помимо этого, ОС поддерживает сетевую аутентификацию с помощью подключаемых модулей аутентификации (PAM, Pluggable Authentication Modules) и имеет в своём составе специализированную подсистему распределённого аудита, которая позволяет отслеживать критичные события безопасности в корпоративной сети и предоставляет IT-администратору необходимые инструменты для оперативного реагирования на инциденты ИБ.

GosLinux («ГосЛинукс»)

Разработчик: компания «Ред Софт»

ОС GosLinux создана специально для нужд Федеральной службы судебных приставов Российской Федерации (ФССП России) и пригодна для использования во всех органах власти, государственных внебюджетных фондах и органах местного самоуправления. Платформа построена на базе дистрибутива CentOS 6.4, включающего наработки Red Hat Enterprise Linux. Система представлена в двух редакциях — для серверов и рабочих станций, содержит упрощённый графический интерфейс и набор преднастроенных средств защиты информации. Разработчик ОС — компания «Ред Софт», победившая в марте 2013 года в конкурсе на доработку, внедрение и сопровождение автоматизированных информационных систем ФССП России. В 2014 году система получила сертификат соответствия ФСТЭК России, подтверждающий, что «ГосЛинукс» имеет оценочный уровень доверия ОУД3 и соответствует требованиям руководящего документа Гостехкомиссии РФ по 4-му уровню контроля отсутствия недекларированных возможностей. Дистрибутив ОС GosLinux для органов государственной власти размещён в национальном фонде алгоритмов и программ по адресу nfap.minsvyaz.ru . В настоящий момент платформа GosLinux активно развёртывается во всех территориальных органах и подразделениях ФССП России. Также ОС передана на опытную эксплуатацию представителям властей Нижегородской, Волгоградской и Ярославской областей.

Разработчик: ООО «Алми»

Сайт продукта:

Ещё одна сборка Linux в нашем списке, которая определённо не страдает от недостатка хвалебных эпитетов в свой адрес со стороны разработчиков. «Уникальная, идеальная, простая, совмещающая в себе удобство операционной системы Windows, стабильность macOS и безопасность Linux » — такими возносящими AlterOS до небес фразами вдоль и поперёк прошит официальный сайт продукта. В чём именно заключается уникальность отечественной платформы, на сайте не сказано, зато представлена информация о трёх редакциях ОС: AlterOS «Волга» для государственного сектора, AlterOS «Амур» для корпоративного сегмента и AlterOS «Дон» для серверов. Сообщается о совместимости системы со множеством востребованных в бизнес-среде программных решений, в том числе с «1С» и «Консультант Плюс», а также отечественными средствами криптозащиты (например, «КриптоПро»). Отдельный акцент сделан на отсутствии в версии платформы для госорганизаций ПО, которое взаимодействует с иностранными серверами, — всё сделано по канонам максимального импортозамещения, заявляют разработчики.

Мобильная система Вооружённых Сил (МСВС)

Разработчик: Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере им. В. В. Соломатина (ВНИИНС)

Защищённая операционная система общего назначения, предназначенная для построения стационарных и мобильных защищённых автоматизированных систем в Вооружённых Силах Российской Федерации. Принята на снабжение в ВС РФ в 2002 году. В основу МСВС положены ядро и компоненты Linux, дополненные дискреционной, мандатной и ролевой моделями разграничения доступа к информации. Система функционирует на аппаратных платформах Intel (x86 и x86_64), SPARC («Эльбрус-90микро»), MIPS, PowerPC64, SPARC64 и сертифицирована по требованиям безопасности информации Министерства обороны РФ. Реализованные в МСВС средства защиты позволяют создавать на базе платформы автоматизированные системы, которые обрабатывают составляющие государственную тайну сведения, имеющие степень секретности «СС» (совершенно секретно).

«Заря»

Разработчик: ФГУП «Центральный научно-исследовательский институт экономики, информатики и систем управления» («ЦНИИ ЭИСУ», входит в «Объединённую приборостроительную корпорацию»)

Семейство программных платформ на ядре Linux, которые представляют собой альтернативу зарубежным ОС, применяемым сейчас в силовых ведомствах, госсекторе и на оборонных предприятиях. Настольная операционная система «Заря» совместима с большинством традиционных офисных приложений и программ. Серверная платформа «Заря-ЦОД» позволяет организовать сервер приложений или сервер базы данных. Для построения центров обработки данных она предлагает стандартный набор серверного ПО, средства виртуализации, а также возможность работы на так называемом «большом железе», включая мейнфреймы. Для встраиваемых систем, работающих без участия человека, которые должны обрабатывать информацию в режиме реального времени, разработана специальная ОС «Заря РВ». Система соответствует третьему классу защиты от несанкционированного доступа и второму уровню контроля отсутствия недекларированных возможностей. Платформа разработана по заказу Минобороны России и, как ожидается, будет востребована силовыми ведомствами, оборонным комплексом, а также коммерческими структурами, работающими с государственной тайной и персональными данными.

Операционная система для терминальных станций. Создана на базе Linux и содержит только необходимый набор инструментов для организации рабочих мест с использованием тонких клиентов. Все функции, выходящие за эти рамки, исключены из дистрибутива. Kraftway Terminal Linux поддерживает множество сетевых протоколов прикладного уровня (RDP, VNC, SSH, NX, XWindow, VMWare View PCoIP и др.), позволяет настраивать права доступа на проброс USB-носителей, обеспечивает возможность использования сетевых и локальных принтеров, содержит средства восстановления конфигурации ОС при перезагрузке, а также инструменты дистанционного группового управления терминальными станциями и администрирования рабочих мест. Особенность системы — высокая защищённость. Kraftway Terminal Linux поддерживает и аппаратные средства аутентификации пользователей: USB-ключи eToken PRO и eToken PRO Java от ЗАО «Аладдин Р.Д.», а также RuToken S и RuToken ЭЦП от ЗАО «Актив-софт». Обновление ОС может осуществляться администратором через локальную сеть или с USB-накопителя. Возможна настройка автообновления как с локального сервера заказчика, так и с сервера компании Kraftway.

WTware

Разработчик: Андрей Ковалёв

Ещё одна программная платформа для развёртывания в IT-инфраструктуре предприятия рабочих мест с использованием недорогих терминальных решений. В дистрибутив WTware включены службы для загрузки по сети, инструменты для работы с принтерами, сканерами штрихкодов и прочим периферийным оборудованием. Поддерживается перенаправление COM- и USB-портов, а также аутентификация по смарт-картам. Для подключения к серверу терминалов используется протокол RDP, а для оперативного разрешения возникающих при настройке операционной системы вопросов к дистрибутиву прилагается подробная документация. WTware распространяется на коммерческих условиях и лицензируется по количеству рабочих станций. Для мини-компьютера Raspberry Pi разработчиком предлагается бесплатная версия ОС.

KasperskyOS

Разработчик: «Лаборатория Касперского»

Безопасная операционная система, предназначенная для использования в критически важных инфраструктурах и устройствах. Платформа «Лаборатории Касперского» может быть задействована в автоматизированных системах управления технологическими процессами (АСУ ТП), телекоммуникационном оборудовании, медицинских аппаратах, автомобилях и прочих гаджетах из мира Интернета вещей. ОС создана с нуля и в силу своей архитектуры гарантирует высокий уровень информационной безопасности. Основной принцип работы KasperskyOS сводится к правилу «запрещено всё, что не разрешено». Это позволяет исключить возможность эксплуатирования как уже известных уязвимостей, так и тех, что будут обнаружены в будущем. При этом все политики безопасности, в том числе запреты на выполнение определённых процессов и действий, настраиваются в соответствии с потребностями организации. Платформа будет поставляться в качестве предустановленного программного обеспечения на различных типах оборудования, применяемого в индустриальных и корпоративных сетях. В настоящее время безопасная ОС «Лаборатории Касперского» внедрена в маршрутизирующий коммутатор уровня L3, разработанный компанией Kraftway.

Операционная система реального времени (ОСРВ), написанная программистами «АстроСофт» с нуля, без заимствований чужого кода, и предназначенная прежде всего для Интернета вещей и встроенных устройств. Кроме того, она подходит для робототехники, медицинского оборудования, систем «умного дома» и «умного города», потребительской электроники и пр. Впервые ОС реального времени «МАКС» (аббревиатура расшифровывается как «мультиагентная когерентная система») была продемонстрирована широкой аудитории в январе 2017 года. Платформа не только реализует всю классическую функциональность продуктов данного типа, но и обладает рядом уникальных возможностей по организации взаимодействия множества устройств, позволяющих упростить создание необходимых во встраиваемых системах механизмов: резервирование, горячая замена оборудования и др. Одна из особенностей «МАКС» — поддержка разделяемой памяти на уровне устройств. Данный механизм обеспечивает автоматическую, устойчивую к сбоям отдельных компонентов синхронизацию информации между узлами распределённой системы. ОСРВ «МАКС» включена в реестр отечественного программного обеспечения. Кроме этого, продукт зарегистрирован в Федеральной службе по интеллектуальной собственности (Роспатент) и в настоящее время проходит сертификацию в Федеральной службе по техническому и экспортному контролю (ФСТЭК России) по четвёртому уровню контроля недекларированных возможностей (НДВ).

В качестве заключения

Существует два подхода к созданию российского софта. Первый заключается в написании исходного кода продуктов с нуля, полностью силами отечественных специалистов. Второй вариант предполагает создание национального ПО на основе доработки заимствованных исходных кодов. Именно его и придерживаются работающие на ниве импортозамещения ПО российские софтверные компании. Наш топ-20 операционных систем с шильдиком «Сделано в России» — яркое тому подтверждение. Хорошо это или плохо — большой вопрос, предмет отдельного разговора.

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

Рейтинг операционных систем Windows

Корпорация Майкрософт выпустила в мир серию продуктов Windows. В зависимости от даты выпуска различают отдельные варианты программного обеспечения, которые способны продемонстрировать характерные перспективы по производительности работы. Стоит ознакомиться с каждым из доступных вариантов, чтобы изучить преимущества и недостатки.

  • Windows 8 (8.1);

Самая быстрая Windows определяется по техническим параметрам. Потребуется установить отличающиеся варианты ПО на компьютеры с одинаковой комплектацией, чтобы сравнить производительность программного обеспечения на одинаковой аппаратуре.

Базовыми участниками тестирования становятся специальные утилиты, которые помогают определить производительность отдельных аспектов работы: изображения, вычисления, загрузки и других операций. Исследования на данную тему проводились разными источниками, что позволяет просто подвести итог по существующему рейтингу.

От чего зависит быстрая работа Windows

Каждая версия программного пакета характеризуется продуманным уровнем изготовления. Производительность работы в большинстве зависит от локальных ресурсов компьютера – комплектации и параметров. Мощность оборудования способна сделать каждую ОС перспективной и производительной. Также остаются открытыми вопросы оптимизации – очистки памяти, удаления кэша и прочих хитростей. Чистота составления рейтинга быстрых ОС возможна только при сравнении работы системы при одинаковых мощностях оборудования.

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

Windows Vista вышла в 2007, гораздо позднее выхода XP. Виста не обрела предпочтения пользователей. Виста стала известной как медленная и нестабильная, поэтому занимает последнее место среди представленных разработок. Vista имеет симпатичный дизайн и продуманную концепцию, но для современного пользователя нет весомых преимуществ установки Виста.


Windows XP появилась в 2001 году и быстро распространилась. Предшественниками популярной XP были ME и 95. Прежние системы быстро вытеснились с рынка последующими инновациями. XP вариант считается подходящим для старых компьютеров со слабыми ресурсами. До сегодня XP устанавливают на устройства с небольшим объемом оперативной памяти и небольшой тактовой частотой процессора.


Популярность XP продлилась до 2012 года. В дальнейшем корпорация прекратила поддержку продукта, но отсутствие обновлений не сказывается на работоспособности и перспективности. Выход новых программных продуктов подвинул XP на четвертую позицию.

ОС под номером 7 разработана в 2009 году. Новый вариант быстро понравился пользователям, поэтому набрал популярность и был установлена на компьютеры. Версия 7 стала первой, которая вытеснила XP, предоставив обновленную альтернативу.


Новая система получила весомые программные усовершенствования, работала без сбоев и демонстрировала привлекательный дизайн. Конкуренция ОС с XP не оставляла сомнений – быстрая и производительная ОС не получала претензий. Новая разработка корпорации научилась самостоятельно работать с сетями, устанавливать драйвера для внешних систем и защищаться от вирусов.

Наличие обновленного функционала сделало Windows 7 популярной. Использование Windows 7 встречается даже сегодня. Реализованные преимущества программного продукта выносят ОС на третье место рейтинга и дают основание рекомендовать установку производительной Windows 7.

2: Windows 8 (8.1)

Выпуск Windows 8 произошел в 2012 году. Стандартный интерфейс организован под использование передвижных плиток. Кнопка «Пуск» была заменена стартовым экраном. Функционал настройки и группировки кнопок запуска понравился пользователям и расширил перспективы персонализации.


В Windows 8 появился магазин с приложениями и поддержка учетной записи Microsoft для объединения аккаунтов устройств. Windows 8 не получила популярности 7 версии, хоть составила интересую альтернативу. Рекомендуется установка ОС 8 для компьютеров со средним ресурсным запасом, поскольку потребности быстрой работы Windows 8 выше, чем для классической XP.

Выход варианта из первой позиции рейтинга произошел в 2015 году. Новая ОС объединила сильные стороны последних вариантов – 7 и 8. 10 быстро набрала популярности и была установлена вместо старых вариантов. Перспектива бесплатного обновления до 10 стала дополнительным козырем корпорации.


Windows 10 поддерживается устройствами: компьютерами, нетбуками, ноутбуками, планшетами и телефонами. Интерфейс ОС 8, рабочего стола и элементов управления кажется привычным и комфортными. Новизна решений обусловила мгновенную работу повседневных процессов, программ и игр. Разработчики внедрили функционал для подключения устройств на Windows 10 и Xbox One.

Улучшение функций безопасности делает Windows 10 устойчивой к вирусным атакам и вредоносным программам. Добавилась функция использования биометрических сведений и другие специфические функции. Сочетание перечисленных характеристик становится обоснованием уверенной первой позиции в рейтинге.