Время на прочтение8 мин
Количество просмотров54K
Всё то время, которое я работаю в Microsoft, я занимаюсь созданием инструментов для Linux-разработчиков. Я приступила к работе в августе 2016 года, после выпуска из Виргинского университета, где изучала информатику и менеджмент. Во время учёбы я программировала, в основном, на C++. Моей основной операционной системой была Linux.
Может показаться, что мой опыт не вполне соответствует тому, что может понадобиться Microsoft, но в то время компания претерпевала сильнейший сдвиг, как в плане технологий, так и в плане культуры. Компания переходила в новое состояние, в котором ей были важны все операционные системы, включая Linux.
Моя работа в Microsoft началась в команде Linux. Я занималась там продуктом SQL Server. Мне предложили присоединиться к этой команде, надеясь на то, что я принесу в неё мой опыт в сфере Linux. Я была под огромным впечатлением от того, что я, хотя только что отучилась, могу представлять ценность для команды из-за моего опыта.
Несколько лет назад идея о разработке разновидности SQL Server для Linux тянула бы лишь на первоапрельскую шутку, но в 2016 году это было совершенно реально. Я присоединилась к команде вскоре после того, как они выпустили первую версию продукта. Я занялась улучшением инструментария SQL Server, в частности, предназначенного для администраторов. Этот инструментарий был нацелен на управления Linux-серверами и приложениями. Использование SQL Server на Linux требовало приведения инструментов командной строки к тому виду, к которому привыкли пользователи Linux.
Кроме того, мне выпала возможность спроектировать первую версию графического интерфейса SQL Server для Linux. Я начинала работу с форка Visual Studio Code, который сегодня называется Azure Data Studio. Это — приложение, основанное на Electron, которое, независимо от операционной системы, может работать с любыми видами SQL Server.
Я многое узнала, занимаясь SQL Server для Linux в мой первый год работы в Microsoft. В эти знания я могу включить и освоение подхода к управлению разработкой и сопровождением проектов, основанного на комбинации технологий и бизнес-мышления.
Команда WSL, Chocolatey и Boxstarter на Microsoft Build 2018
В августе 2017 я присоединилась к команде WSL (Windows Subsystem for Linux, подсистема Windows для Linux) в качестве руководителя проекта. Впервые я услышала о WSL во время анонса на конференции Microsoft Build 2016. Соответствующее видео с Channel 9, «Running Bash on Ubuntu on Windows!», сразу после выпуска стало вирусным. Оно явно интересовало аудиторию сильнее, чем многие другие анонсы, сделанные на конференции. О технологии WSL кратко, буквально в течение пары минут, рассказали в рамках озвучивания основных тезисов конференции. Однако публика от этого прямо-таки сошла с ума, не говоря уже о журналистах. Был момент, когда команда, занимающаяся поддержкой Channel9, опасалась, что большая заинтересованность пользователей этим видеоклипом объяснялась, на самом деле, DDoS-атакой! Представитель компании Microsoft, запускающий Bash на Ubuntu, работающей внутри Windows… Это действо мгновенно стало хитом.
Первой командой, обнаружившей потребность пользователей в WSL, была та, которая работала над Windows Console. В ходе разработки им снова и снова приходилось слышать о том, что людям хочется чего-то, подобного Bash из Linux. В итоге команда пришла к следующей мысли: «Зачем делать что-то, напоминающее Bash, если можно просто сделать так, чтобы оболочка Bash запускалась прямо на Windows?».
Нельзя сказать, что сделать это было легко. Создание WSL потребовало комбинации глубокого знания Windows, которым обладала команда разработчиков ядра системы, и технологии, разработанной в Microsoft Research, которая называется пикопроцесс (picoprocess). Интересно то, что пикопроцессы, кроме того, являются той самой технологией, благодаря которой оказывается возможной работа SQL Server на Linux.
Пикопроцесс должен был обеспечивать работу немодифицированной реализации Linux в режиме пользователя. Команда, которая занимается ядром Windows, занялась разработкой шимов, предназначенных для соединения системных вызовов Linux с Windows. Другими словами, благодаря WSL стало возможно запускать код, скомпилированный для Linux, на ядре Windows NT. При этом не нужно было ни перекомпилировать код, ни пользоваться виртуальными машинами.
Мы не создали тогда лишь собственного дистрибутива Linux. Дело в том, что существовало множество таких дистрибутивов. Первой разновидностью Linux, доступной в WSL, стала Ubuntu. Мы связались со специалистами из Canonical для того чтобы узнать, захочется ли им помочь нам в работе над WSL. Они отнеслись к нашей идее с энтузиазмом. Это привело к тому, что Ubuntu появилась в Microsoft Store. Кстати, предыдущее предложение, само по себе, звучит достаточно необычно. Сейчас в Microsoft Store можно насчитать уже 6 дистрибутивов. Интересно, в каких ещё магазинах приложений, имеющихся в неких операционных системах, есть другие операционные системы?
Сейчас в Microsoft Store имеется 6 дистрибутивов Linux, которые можно использовать в WSL
Код, который мы тогда написали, представлял собой Linux-совместимые системные вызовы ядра, служащие интерфейсом между процессами Linux и ядром Windows. В Linux имеется около 340 системных вызовов. Вопрос был в том, чтобы решить, какие системные вызовы нужно реализовывать первыми. Как и в случае с любой операционной системой, в Linux новые системные вызовы добавляются по мере выхода новых версий ОС, но старые вызовы никогда не удаляются, что обеспечивает обратную совместимость. Сначала была реализована обработка некоего набора системных вызовов, а всё остальное было обёрнуто в события наподобие «ещё не реализовано». Это позволило команде WSL приступить к анализу того, какие именно системные вызовы нужны пользователям Linux.
Ответ на вопрос о том, какие системные вызовы нужно реализовывать в первую очередь, означал необходимость налаживания связи с теми людьми, которые пользовались бы WSL. Сообщение об этой технологии на конференции Build было направлено именно на то, чтобы люди начали пользоваться WSL и дали обратную связь. Для того чтобы обзавестись WSL, нужно было быть участником программы предварительной оценки Windows (Windows Insider Program). Подключиться к этой программе может кто угодно. Можно подумать, что участниками программы были только те, кому интересна Windows, но тогда, среди более чем десяти миллионов подписчиков, присутствовали люди с самыми разными интересами. Их интересовала не только Windows, но и, например, игры, и новые возможности Bluetooth, и WSL.
Одной из групп пользователей, заинтересованной в том, чтобы оболочка Bash работала на Windows, были веб-разработчики, занимающиеся созданием веб-приложений, запускающихся на Linux-серверах. Весь процесс по сборке их приложений часто представлял собой последовательность Bash-команд. Кроме того, если кто-то решит обратиться за помощью в сфере разработки веб-приложений, скажем, на Stack Overflow, большинство примеров кода, которые он сможет найти, будет предназначено для запуска на Linux. Это не особенно хорошо для тех, кто, в качестве компьютера для веб-разработки, использует Windows. Часто подобным разработчикам легче всего просто перейти на платформу Mac. На macOS подобные примеры кода запускаются без всяких проблем.
За первые пару недель присутствия WSL в Windows один корпоративный пользователь смог запустить XEyes. Эта программа выполнялась в оконной системе X11, работающей в WSL. XEyes — простая программа. Она выводит мультяшные глаза, которые следят за курсором мыши. Но эта демонстрация взорвала социальные сети.
Программа XEyes работает на Windows через WSL
Мы много обсуждали то, как именно мы хотим собирать отзывы пользователей о WSL. Традиционным инструментом, применяемым для сбора отзывов, был UserVoice. У нас был UserVoice-сайт, предназначенный для WSL, на котором набрались сотни идей и тысячи голосований по разным вопросам. Настоящий вопрос встал перед нами тогда, когда речь зашла о том, использовать ли нам GitHub. Так как одной из первых групп пользователей, заинтересованных в WSL, были веб-разработчики, вопрос о GitHub был очень важным. Но WSL не была опенсорсным проектом. Размещение подобного проекта на GitHub выглядит странно. Мы решили пойти разработчикам навстречу и создали на GitHub страницу для сообщений о проблемах, для отзывов и обсуждений. С тех пор мы получили тысячи сообщений, касающихся множества вопросов, связанных с использованием Linux в Windows.
Тысячи людей оставили сообщения об ошибках в GitHub-репозитории WSL. Каждое подобное сообщение было рассмотрено и обсуждено командой WSL, по каждому из них были даны комментарии. После этого принималось решение о дальнейших действиях. Если для того, чтобы реализовать некую возможность или исправить какую-то ошибку, нужно было написать новый код — этот код создавался и добавлялся в проект WSL, после чего попадал во все сборки Windows, распространяемые по программе Windows Insider. Весь цикл, от получения сообщения об ошибке, до её исправления, занимал не особенно много времени — порядка пары недель.
В итоге, благодаря оперативной реакции команды WSL на обращения пользователей, можно было говорить о том, что сообщество принимает участие в процессе создания WSL. Люди сообщали о проблемах или о своих пожеланиях через UserVoice или GitHub, команда всё это рассматривала и вносила в проект изменения, которые затем появлялись в сборках проекта Windows Insider.
Когда я вошла в команду WSL в роли руководителя проекта, я сосредоточила свои усилия на том, чтобы вывести WSL из состояния бета-версии. Жалобы пользователей, в основном, касались совместимости и производительности. Но, по-моему, если пользователи беспокоятся о таких вещах, это значит, что они используют нашу разработку всерьёз. О производительности заботятся лишь те, кто решает с помощью некоей программной системы какие-то большие задачи. В результате, хотя нам многое ещё нужно было сделать, делали мы это не просто так, а ради того, чтобы люди получили возможность решать больше задач с помощью WSL, и ради того, чтобы они смогли решать свои задачи быстрее.
По мере того, как возможности WSL начали расширяться, мы приложили усилия к тому, чтобы приблизить WSL к разработчикам, а не только к тем пользователям, которые традиционно работают, применяя экосистему Microsoft. Очень интересно было посещать мероприятия наподобие PyCon и OSCON. Разработчики, которые там присутствовали, были удивлены тому, что участие в этих мероприятиях принимают и представители Microsoft. Разработчики с недоверием относились к идее запуска Linux в среде Windows. На этих мероприятиях я показывала SQL Server, WSL и Visual Studio Code.
Демонстрация WSL на различных мероприятиях
Я отвечала на их скептические замечания предложением попробовать то, что я им демонстрировала. Когда сомневающиеся начинали выполнять собственные команды, небольшие скрипты и сниппеты, я всегда встречалась с бурной реакцией на происходящее: «Постойте, а это и правда Linux. Как вы это сделали? Почему я об этом не знал?». Часто они приходили к выводу о том, что мы создали нечто, соответствующее их потребностям, нечто такое, что выглядит весьма интересно.
Мы учли жалобы пользователей, касающиеся совместимости и производительности WSL, и выпустили новую архитектуру системы — WSL 2. Она обеспечивает полную совместимость благодаря включению в Windows ядра Linux и даёт 20-кратный прирост скорости. Я получила интереснейшие впечатления, создавая основу WSL 2 и наблюдая за анонсом этой технологии на конференции Build, которая прошла в мае 2019 года. Сегодня проект WSL уже перерос бета-версию и добрался до версии 2.
Кроме того, я работала в Microsoft с другими командами, стремясь к тому, чтобы WSL можно было использовать и с их продуктами. Одним из значительных примеров подобного использования WSL можно назвать Visual Studio Code. Это — самая популярная среда для работы с кодом, используемая при разработке JavaScript и Node.js-проектов. Я заинтересовалась Visual Studio Code тогда, когда я поняла, что разработчики, использующие этот редактор, могут получить значительные преимущества от WSL. Поначалу речь не шла о необходимости писать огромные объёмы кода. Основной задачей было упрощение отладки Node.js-программ, выполняемых в среде WSL. Это дало бы разработчикам возможность разрабатывать программы, рассчитанные на Linux-версию Node.js, на Windows-компьютере с использованием WSL. Отладка таких программ выглядела бы точно так же, как их отладка в Linux.
Первая попытка интеграции Visual Studio Code с WSL и Node.js
После того, как подобное оказалось возможным для JavaScript и Node.js, к нам стало поступать множество запросов на то, чтобы нечто похожее было сделано и для других языков, скажем, для C++ и Python. Меня восхитил этот пример интеграции WSL и VS Code, я обнаружила, что мне всё это чрезвычайно интересно. Это привело меня к моей новой роли в сфере создания инструментов для Linux-разработчиков. Сейчас я уделяю основное внимание инструментам для C++-разработчиков в VS Code. В этой работе я, конечно, ориентируюсь на Linux. Приятно было видеть демонстрацию системы Visual Studio Code Remote Development на мероприятии PyCon в этом году, когда было выпущено соответствующее расширение WSL. Тогда же было представлено и расширение для C++, разработкой которого занималась моя команда.
Несмотря на то, что я провела в Microsoft не так уж и много времени, меня радует то, что мне удалось поучаствовать в создании множества инструментов для Linux-разработчиков. Это и базы данных, и поддержка Linux в Windows, и средства для написания и отладки кода. Я планирую и дальше заниматься Linux и создавать инструменты, которыми с удовольствием будут пользоваться разработчики во всём мире.
Уважаемые читатели! Пользуетесь ли вы WSL?
Компания Microsoft анонсировала, что уже в июне 2019 г. Windows 10 выйдет со встроенным ядром Linux. Нет, это не шутка и сегодня не 1 апреля. Windows действительно будет подставляться с настоящим ядром Linux. Конечно, ядро Linux не будет использоваться для «управления» системой, оно будет поставляться как часть компонента WSL 2.
Прежде чем перейти к описанию будущих нововведений, стоит сказать пару слов о том, что же такое вообще WSL.
Что такое WSL 1
WSL 1 появился в августе 2016 г.
WSL 1 (Windows Subsystem for Linux) — это специальный компонент системы Windows, который представляет собой программный интерфейс (слой) для запуска Linux приложений внутри Windows 10 и Windows Server 2019, как если бы они работали внутри Linux.
То есть WSL 1 позволяет запускать бинарные файлы, предназначенные для Linux, внутри Windows без использования виртуализации. В чем-то подобное решение можно сравнить с Wine.
WSL 1 позволяет запускать командную оболочку Bash, использовать нативные Linux утилиты (такие как sed, awk), интерпретаторы языков программирования (Ruby, Python и т.д.) и даже некоторые графические приложения с использованием X11.
WSL 1 является собственной разработкой Microsoft и не содержит в себе исходных кодов ядра Linux.
Основные недостатки WSL 1 заключались в падении производительности при использовании файловой системы, а также в крайне ограниченном количестве поддерживаемых Linux-приложений. Но при этом WSL 1 показывала относительно высокую общую производительность.
WSL 2 и ядро Linux внутри Windows
6 мая 2019 Microsoft анонсировала выход абсолютно новой версии WSL 2.
WSL 2 имеет кардинально новую архитектуру для запуска Linux-приложений. Вместо использования слоя для адаптации системных вызовов теперь используется совершенно новый бэкэнд на основе виртуальной машины. Но, как заявляет Microsoft, здесь используется другой архитектурный подход, поэтому его нельзя сравнивать с классическими виртуальными машинами, которые, как правило, крайне требовательны к ресурсам и работают обособленно от домашней операционной системы.
Microsoft заявляет, что WSL 2 обеспечивает увеличение скорости выполнения некоторых операций в двадцать раз по сравнению с WSL 1.
WSL 2 значительно расширяет количество Linux-приложений, которые можно запустить внутри Windows. Например, заявлена поддержка Docker. Поддерживаются только 64-разрядные приложения.
Одним из основных компонентов WSL 2 является настоящее ядро Linux, которое позволит обеспечить полную совместимость системных вызовов между Linux и Windows.
Где Microsoft берет ядро Linux
Microsoft использует обычную стабильную версию ядра Linux, доступную на Kernel.org. Первые сборки будут основаны на LTS-версии ядра 4.19.
В ядро вносятся изменения, чтобы обеспечить совместимость с WSL 2, снизить потребление ресурсов, увеличить время загрузки. Также из ядра удаляются некоторые неиспользуемые компоненты и драйвера.
Исходный код измененного ядра будет открыт (Open Source) и вскоре появится на GitHub.
Заявлено, что ядро Linux можно будет обновлять. То есть пользователи будут получать свежие исправления и улучшения ядра Linux.
Это все-таки виртуальная машина или нет?
WSL 2 использует новейшую технологию виртуализации для запуска ядра Linux внутри облегченной виртуальной машины. WSL 2 является виртуальной машиной, но лишена основных недостатков виртуальных машин и имеет архитектурные особенности, отличающие ее от традиционных виртуальных машин.
Обычно, когда речь заходит о виртуальных машинах, то подразумевается некоторая изолированная от домашней системы среда, которая отъедает большую часть программных и аппаратных ресурсов, чтобы обеспечить функционирование гостевой системы. Сюда же можно добавить и, зачастую, медленную работу гостевой системы, долгую загрузку и требование некоторого опыта для настройки.
По заявлениям Microsoft технология WSL 2 лишена этих недостатков. Она будет иметь те же преимущества, что и WSL 1: высокую интеграцию между Windows и Linux, быстрое время загрузки, низкое потребление ресурсов и отсутствие необходимости выполнять настройку виртуальной машины.
Подводя итог, можно сказать, что WSL 2 использует виртуальную машину, но с пользовательской точки зрения работа в Linux из под Windows будет выполняться так, как если вы работаете с приложениями Linux прямо внутри Windows.
Насколько быстро работает WSL 2
Microsoft указывает на то, что WSL 2 работает существенно быстрее WSL 1.
Тесты распаковки zip-архивов показали 20-кратный прирост производительности.
Использование операций git clone, npm install и cmake показали 2-5-кратный прирост производительности.
Полная совместимость с системными вызовами Linux
Linux-приложения используют системные вызовы для выполнения многих функций — доступа к файловой системе, управления памятью, создания процессов и так далее. В WSL 1 использовался отдельный программный слой, который интерпретировал системные вызовы и позволял им работать с ядром Windows. Реализация подобного функционала крайне сложная и трудоемкая задача. Поэтому Microsoft принял решение отказаться от такого подхода.
В WSL 2 включено собственное ядро Linux, которое, естественно, включает все системные вызовы и позволяет Linux-приложениям функционировать, независимо от дополнительных программных интерфейсов (слоев).
Какие дистрибутивы будут поддерживаться
В настоящее время компания Canonical выразила готовность сотрудничества с Microsoft и анонсировала полную поддержку Ubuntu внутри WSL 2.
Ожидается также поддержка Debian, Kali Linux, SUSE и openSUSE, которые уже доступны для WSL 1.
Microsoft любит Linux ❤
В 2018 году Microsoft использовала Linux для создания операционной системы Azure Sphere, поэтому знакома с ней не понаслышке.
Но сейчас — это первый случай, когда ядро Linux будет поставляться вместе с Windows. И, как пишут на сайте Microsoft, это истинное свидетельство того, как сильно Microsoft любит Linux.
Когда можно будет протестировать
Первые сборки WSL 2 будут доступны в конце июня 2019 г. в тестовых версиях Windows 10 Insider.
Пока рано говорить о том, насколько стабильно будет работать WSL 2, и насколько правдивыми окажутся обещания Microsoft.
Детище Microsoft
Microsoft Corporation,
широко известная как Microsoft,
— американская многонациональная технологическая компания, основанная
Биллом Гейтсом и Полом Алленом 4 апреля 1975 года. Штаб-квартира компании
расположена в Редмонде, штат Вашингтон.
Компания впервые стала известна благодаря разработке и
продаже дисковой операционной системы Microsoft (MS-DOS), которая использовалась
в персональных компьютерах IBM.
Однако 1985 году Microsoft
выпустила Windows,
которая быстро стала доминирующей операционной системой для персональных
компьютеров и сделала ее лидером рынка.
На протяжении 1990-х и 2000-х годов Microsoft продолжала доминировать на
рынке персональных компьютеров именно благодаря своей операционной системе Windows и пакету программного
обеспечения Office.
Сейчас Microsoft
является одной из крупнейших технологических компаний в мире с рыночной
капитализацией более 2 триллионов долларов. В компании работает более 181 000
сотрудников по всему миру, а ее деятельность осуществляется в более чем 190
странах.
С чего все началось
История операционной системы Windows началась в начале 1980-х
годов, когда соучредитель компании Microsoft Билл Гейтс осознал потенциал
графических пользовательских интерфейсов (GUI) в вычислительной технике. Он
представлял себе удобную операционную систему, которая могла бы работать на
IBM-совместимых персональных компьютерах.
В 1983 году компания Microsoft начала разработку
операционной системы на основе графического интерфейса пользователя под
названием Windows, которая должна была работать поверх существующей
операционной системы MS-DOS. Первая версия, Windows 1.0, была выпущена в 1985
году и имела простой интерфейс с плиточными окнами, выпадающими меню и системой
навигации с помощью мыши.
Windows 2.0 была выпущена в 1987 году и содержала
значительные усовершенствования, включая возможность перекрытия окон и улучшенные
графические возможности. За ней последовала Windows 3.0 в 1990 году, которая
стала первой широко успешной версией Windows, было продано более 10 миллионов
копий.
Windows 95 была выпущена в 1995 году и стала важной вехой в
истории операционной системы Windows. В ней появились знаковое меню «Пуск» и
панель задач, которые стали неотъемлемой частью пользовательского интерфейса
Windows. Она также отличалась повышенной производительностью и стабильностью, а
также поддержкой оборудования Plug and Play.
Последующие версии Windows: Windows 98, Windows 2000 и
Windows NT — продолжали развивать эти улучшения и добавляли
новые функции, такие как подключение к Интернету и улучшенные мультимедийные
возможности.
В 2001 году компания Microsoft выпустила Windows XP, которая
представляла собой значительную переработку операционной системы и ввела ряд
новых функций, включая переработанный пользовательский интерфейс, улучшенную
производительность и встроенную поддержку беспроводных сетей.
С тех пор Microsoft продолжает выпускать новые версии
Windows, включая Windows Vista, Windows 7, Windows 8, Windows 10 и Windows 11.
Каждая новая версия привносит новые функции и улучшения.
Сегодня Windows — самая распространенная операционная
система в мире, насчитывающая более 1,3 миллиарда активных пользователей.
Развитие пользовательского интерфейса
За прошедшие годы интерфейс Windows претерпел множество
изменений, предлагая пользователям все больше удобств.
Windows 1.0 (1985): Первая версия Windows имела простой
графический интерфейс пользователя (GUI), который позволял пользователям
использовать мышь для навигации по меню и открытия программ.
Windows 95 (1995): В этой версии появилось знаковое меню «Пуск»,
которое позволяло пользователям быстро открывать программы и файлы. В ней также
появилась панель задач, которая отображала запущенные программы и позволяла
пользователям переключаться между ними.
Windows XP (2001): В Windows XP были переработаны меню «Пуск»
и панель задач, которые имели более современный вид. В ней также были
представлены визуальные стили, которые позволяли пользователям настраивать
внешний вид операционной системы.
Windows Vista (2006): В Vista был значительно переработан
пользовательский интерфейс с новой темой Aero, включающей полупрозрачные окна и
анимацию. В ней также появилась боковая панель, которая позволяла пользователям
добавлять и настраивать гаджеты.
Windows 7 (2009): Windows 7 усовершенствовала тему Aero,
представленную в Vista, улучшила производительность и добавила новые функции,
такие как Jump Lists, которые обеспечивали быстрый доступ к часто используемым
файлам.
Windows 8 (2012): Windows 8 существенно отличается от
предыдущих версий Windows, представляя собой интерфейс, ориентированный на
сенсорное управление и оптимизированный для планшетов и других сенсорных
устройств. Меню «Пуск» было заменено полноэкранным экраном «Пуск» с живыми
плитками, отображающими информацию и обновления приложений.
Windows 10 (2015): Windows 10 объединила традиционный
интерфейс рабочего стола с сенсорно-ориентированным дизайном Windows 8, вновь
представив меню «Пуск» и добавив новые функции, такие как Task View и
виртуальные рабочие столы. В ней также была представлена система Fluent Design
System, которая обеспечивает более современный и последовательный внешний вид и
ощущение на различных устройствах и в приложениях.
Windows 11 (2021): появился новый вариант многозадачности с
большим количеством окон, обновленный проводник имеет современный и более
чистый вид с новыми элементами дизайна пользовательского интерфейса, появились
макеты прикрепления с двумя колонками для упрощения многозадачности. Также Windows
11 поддерживает анимированный фон экрана блокировки на компьютерах, оснащенных
акселерометром.
Провалы и неудачи
Хотя у каждой версии Windows есть свои сильные и слабые
стороны, некоторые считаются неудачными и провалились в продажах. Обычно к ним
относят следующие версии:
Windows ME (Millennium Edition): выпущенная в 2000 году,
Windows ME страдала от проблем со стабильностью и совместимостью, ее
критиковали за низкую производительность, частые сбои и отсутствие новых
функций. Она не была хорошо принята критиками и потребителями, и считается
одной из худших версий Windows.
Windows Vista: хотя Vista внесла несколько значительных
улучшений по сравнению со своей предшественницей, Windows XP, она также
страдала от проблем с производительностью и совместимостью, а также от высоких
системных требований. Vista критиковали за медлительность, ошибки и отсутствие
новых интересных функций, что заставило многих пользователей отказаться от нее
или перейти на Windows XP.
Windows 8: Ориентируясь на удобные сенсорные интерфейсы и
мобильные устройства, Windows 8 значительно отличалась от предыдущих версий
Windows и столкнулась с критикой со стороны пользователей, которые сочли новый
интерфейс запутанным и сложным в использовании на настольных компьютерах и
ноутбуках. Отказ от традиционного меню «Пуск» и ставка на начальный экран также
вызвали критику.
Стоит отметить, что даже в этих версиях были свои сильные
стороны и были представлены некоторые инновационные функции, но они не были
приняты пользователями.
Особенности системы
Операционная система Windows имеет различные особенности,
которые делают ее популярной и широко используемой. Вот некоторые из них:
Пользовательский интерфейс: Windows предоставляет
графический интерфейс пользователя (GUI), который прост в использовании и
настраивается. Пользователи могут легко перемещаться по различным приложениям и
настройкам.
Многозадачность: Windows позволяет пользователям запускать
несколько приложений одновременно, что облегчает переключение между различными
программами.
Управление файлами: Windows имеет мощную систему управления
файлами, которая позволяет легко организовывать, искать и извлекать файлы.
Совместимость: Windows совместима с широким спектром
аппаратного и программного обеспечения, что облегчает поиск совместимых
устройств и приложений.
Безопасность: Windows имеет встроенные функции безопасности,
такие как антивирус и брандмауэр, которые помогают защитить пользователей от
вредоносных программ и других угроз безопасности.
Регулярные обновления: Windows регулярно обновляется для
повышения производительности, исправления ошибок и добавления новых функций.
Универсальные приложения: Windows имеет платформу
универсальных приложений, которая позволяет разработчикам создавать приложения,
которые могут работать на различных устройствах, включая ПК, планшеты и
смартфоны.
Cortana: Cortana — это персональный цифровой помощник,
который может помочь пользователям в решении различных задач, таких как
установка напоминаний, планирование встреч и поиск информации в Интернете.
Microsoft Store: Microsoft Store — это цифровой магазин, где
пользователи могут загружать приложения, игры и другой контент.
Игры: Windows также является популярной платформой для игр,
поддерживая DirectX и другие игровые технологии.
Модели распространения
Microsoft использует различные модели коммерческого
распространения своей операционной системы Windows, включая:
Розничная торговля: Windows можно приобрести в розничных
магазинах в виде коробочных пакетов программного обеспечения, включающих
установочные диски и лицензионные ключи.
OEM (Original Equipment Manufacturer): Windows
предустановлена на компьютерах и устройствах, продаваемых такими
производителями, как Dell, HP и Lenovo. Эти производители приобретают лицензии
на Windows у Microsoft и устанавливают операционную систему на свои устройства,
прежде чем продавать их потребителям.
Объемное лицензирование: Эта модель предназначена для
предприятий и организаций, которым необходимо установить Windows на несколько
компьютеров. Microsoft предлагает лицензии на объем, которые позволяют
организациям устанавливать Windows на определенное количество устройств, как
правило, по более низкой цене за лицензию, чем розничные или OEM-лицензии.
Подписка: Microsoft предлагает модель Windows на основе
подписки под названием Microsoft 365, которая включает доступ к операционной
системе, приложениям Microsoft Office и другим облачным сервисам. Эта модель
предназначена для предприятий и частных лиц, которые хотят вносить ежемесячную
или ежегодную плату за доступ к программному обеспечению и услугам Microsoft.
В целом, модели коммерческого распространения Windows
позволяют Microsoft охватить широкий круг клиентов, от индивидуальных
потребителей до крупных организаций, предлагая различные варианты ценообразования
и лицензирования.
В России сейчас есть определенные затруднения с покупкой
лицензий, но они преодолимы.
Альтернативы – преимущества и недостатки
Windows, Linux и MacOS — три популярные операционные
системы, используемые частными лицами и предприятиями по всему миру. Каждая из
них имеет свои уникальные особенности и характеристики, которые отличают ее от
других. Вот некоторые ключевые различия между Windows, Linux и MacOS, а также
их преимущества и недостатки.
Пользовательский интерфейс:
Одно из самых значительных различий между тремя
операционными системами — это пользовательский интерфейс. Windows известна
своим простым и легким в использовании интерфейсом, который делает ее удобной
для начинающих пользователей. Linux, с другой стороны, предлагает настраиваемый
интерфейс, который может быть настроен по вкусу пользователя. MacOS имеет
изящный и минималистичный интерфейс, в котором основное внимание уделяется
эстетике и простоте использования.
Открытый исходный код против закрытого:
Linux — это операционная система с открытым исходным кодом,
что означает, что исходный код доступен для всех желающих, его можно свободно
просматривать, изменять и распространять. Windows и MacOS являются
операционными системами с закрытым исходным кодом, что означает, что исходный
код недоступен для общественности.
Доступность программного обеспечения:
Windows имеет самую большую библиотеку программного
обеспечения и поддержку, так как это самая распространенная операционная
система в мире. MacOS имеет меньшую библиотеку программного обеспечения, но она
предлагает высококачественное программное обеспечение, оптимизированное для
этой платформы. Linux имеет обширную коллекцию программного обеспечения с
открытым исходным кодом, но найти совместимое с ней коммерческое программное
обеспечение может быть сложнее.
Безопасность:
Windows считается наиболее уязвимой для вирусов и
вредоносных программ, что делает ее частой мишенью для хакеров. MacOS известна
как более безопасная, чем Windows, но и она не полностью защищена от угроз
безопасности. Linux — самая безопасная из трех систем, с меньшим количеством
уязвимостей в безопасности благодаря своей природе с открытым исходным кодом,
что позволяет чаще получать исправления и обновления.
Совместимость оборудования:
Windows совместима с широким спектром аппаратного
обеспечения, что делает ее популярной среди геймеров и пользователей, которым
требуется высококлассное оборудование. MacOS имеет ограниченный спектр
аппаратных возможностей, поскольку она доступна только на устройствах Apple.
Linux имеет ограниченную совместимость с оборудованием, но популярен для работы
на старых машинах и серверах.
Преимущества Windows:
Большая библиотека программного обеспечения и поддержка
Удобный интерфейс
Совместимость с широким спектром аппаратных средств
Широко используется и знакома многим пользователям
Недостатки Windows:
Уязвимость к вирусам и вредоносным программам
Закрытый исходный код
Ограниченные возможности настройки
Преимущества MacOS:
Изящный и минималистичный интерфейс
Высококачественное программное обеспечение
Повышенная безопасность по сравнению с Windows
Интеграция с устройствами Apple
Недостатки MacOS:
Ограниченная совместимость с аппаратным обеспечением
Меньшая библиотека программного обеспечения
Закрытый исходный код
Преимущества Linux:
Код с открытым исходным кодом
Высоко настраиваемый интерфейс
Более безопасный, чем Windows и
MacOS
Свободен в использовании и распространении
Недостатки Linux:
Ограниченная совместимость с коммерческим программным
обеспечением
Может быть более сложным для начинающих пользователей
Ограниченная совместимость с аппаратным обеспечением
Перспективы развития Windows
Основываясь на отраслевых тенденциях, можно сделать
предположения о направлениях развития Windows.
Интеграция облака: Microsoft продвигает интеграцию облака с
Windows, облегчая пользователям доступ к облачным службам прямо с рабочего
стола. Сюда входят такие функции, как интеграция OneDrive, поддержка Azure
Active Directory и Windows Virtual Desktop.
Безопасность: В связи с ростом числа кибератак компания
Microsoft уделяет большое внимание повышению безопасности Windows. Сюда входят
такие функции, как распознавание лица Windows Hello, улучшенная биометрическая
аутентификация и интеграция с Microsoft Defender for Endpoint.
Интеграция искусственного интеллекта: Microsoft работает над
интеграцией искусственного интеллекта в Windows, чтобы обеспечить более
интеллектуальный и персонализированный опыт для пользователей. Сюда входят
такие функции, как Cortana, виртуальный помощник на базе ИИ, который может
помочь пользователям в решении задач, и платформа Windows AI, которая
предоставляет разработчикам инструменты для создания интеллектуальных
приложений.
Интеграция между устройствами: Microsoft работает над
созданием более унифицированного опыта работы на различных устройствах, включая
ПК с Windows, планшеты и смартфоны. Это включает в себя такие функции, как
приложение Your Phone, которое позволяет пользователям получать доступ к своему
смартфону с ПК, и Windows Timeline, которая обеспечивает временную шкалу
действий на разных устройствах.
Пользовательский интерфейс: Microsoft вносит изменения в
пользовательский интерфейс Windows, чтобы сделать его более современным и
удобным. Сюда входит внедрение системы Fluent Design System, которая
обеспечивает более плавный и интуитивно понятный интерфейс, а также добавление
темного режима, который снижает напряжение глаз и увеличивает время автономной
работы на устройствах с OLED-экранами.
Это лишь несколько примеров направлений развития Windows.
Microsoft постоянно развивает и адаптирует Windows для удовлетворения
меняющихся потребностей пользователей и технологического ландшафта.
|
Microsoft встроила в Windows 10 полноценное Linux-ядро в составе специализированной подсистемы для запуска Linux приложений и даже целых дистрибутивов. В отличие от собственного ядра Windows, используемое ядро Linux сохранит открытость исходного кода. Microsoft собирается выпускать регулярные обновления для него с целью поддержания актуальности.
Linux в Windows
Корпорация Microsoft сообщила о разработке собственной модификации полноценного ядра Linux, который она интегрирует в состав ОС Windows 10. За все время существования OC семейства Windows это первый подобный случай – Microsoft создала прецедент, о чем сообщила в своем официальном блоге.
Сама Windows 10 по-прежнему будет базироваться на собственном ядре, тогда как ядро Linux станет частью WSL 2.0 – подсистемы Windows Subsystem for Linux второго поколения. Точные сроки интеграции Linux Kernel в Windows 10 софтверный гигант не раскрывает, но в тестовых сборках оконной ОС, доступных для участников программы Windows Insider, его появление ожидается уже в июне 2019 г.
Что такое WSL
Первое поколение Windows Subsystem for Linux было анонсировано в апреле 2016 г. и вошло в состав финальной сборки Windows 10 в августе 2016 г. Это своего рода эмулятор для запуска бинарных файлов Linux непосредственно в среде Windows (WSL есть в Windows 10 и Windows Server 2019), релиз которого способствовал появлению в дальнейшем дистрибутивов Ubuntu, Fedora и Suse в фирменном магазине приложений Microsoft Store. После установки, к примеру, Ubuntu пользователь получает возможность запускать скрипты Bash, пользоваться инструментами командной строки Linux, такими как awk и grep, а также использовать Python Ruby и Git непосредственно внутри Windows. В марте 2018 г. список доступных дистрибутивов пополнил Kali Linux.
Windows Subsystem for Linux
Появлению WSL 2.0 предшествовал выход из строя оригинальной WSL 1 – в марте 2019 г. Microsoft выпустила кумулятивное обновление KB4489868, установка которого приводила к серьезным сбоям в работе Windows Subsystem for Linux. В частности, после его установки пользователи сталкивались с ошибкой остановки при попытке запуска клиента Secure Shell (SSH) из-под WSL с переадресацией в командной строке (ssh –A).
Технические особенности
Подсистема Windows Subsystem for Linux второго поколения базируется на ядре Linux Kernel версии 4.19 с долгосрочной поддержкой (LTS – Long Term Support). Эту же версию Microsoft использует в облачных сервисах Azure, а самая актуальная версия ядра по состоянию на 8 мая 2019 г. – это версия 5.1 (без LTS), вышедшая 5 мая 2019 г.
По заявлениям Microsoft, ядро останется полностью открытым, а информацию обо всех изменениях, которые уже внесены в него и которые будут добавлены в будущем, софтверный гигант предоставит сообществу девелоперов Linux. Все необходимые данные Microsoft разместит на сервисе GitHub, приобретенном им в 2018 г. По мере выхода исправлений для Linux 4.19 Microsoft будет оперативно внедрять их в собственную версию ядра, а сразу после релиза следующей версии Linux Kernel с долгосрочной поддержкой она будет интегрирована в состав WSL 2.0.
Глава Microsoft рассказывает о возможностях WSL 2.0
Несмотря на переход к использованию полноценного Linux-ядра, WSL 2.0 по-прежнему не включает бинарные файлы пользовательского пространства. Данное решение дает пользователям возможность самостоятельно выбирать необходимый им дистрибутив, причем загружать его можно будет из любых источников, а не только из Microsoft Store.
Преимущества WSL 2.0
Переход от эмулятора к полноценному ядру Linux в WSL 2.0, по задумке Microsoft, должен обеспечить прирост производительности в Linux-приложениях, запущенных непосредственно под Windows 10. Также это прямым образом повлияет на оптимизацию использования оперативной памяти, уменьшит время загрузки самой подсистемы и приложений и ускорит работу ввода-вывода файловой системы. К преимуществам разработчики отнесли также возможность запуска Docker-контейнеров напрямую, то есть уже без использования виртуальной машины.
Между тем, реальный прирост производительности уже установлен. Внутренние тесты бета-версии WSL 2.0 в Microsoft показали 20-кратное увеличение скорости работы при распаковке архивов tarball и 5-кратный рост производительности при использовании git clone, npm install и cmake.
Linux из командной строки
Одновременно с показом WSL 2.0 Microsoft сообщила об изменениях, внесенных в командную строку. Фактически, была представлена полностью новая командная строка Windows Terminal, позиционирующаяся в качестве ПО с открытым исходным кодом.
Новая командная строка Windows Terminal
В Windows Terminal Microsoft объединила функции PowerShell и CMD с доступом к Linux-командам через Windows Subsystem for Linux, а также добавила поддержку вкладок, шрифтов, тем оформления, расширений, эмоджи (смайликов) и рендеринга с помощью графических ускорителей.
Релиз стабильной версии Windows Terminal 1.0 предварительно запланирован на IV квартал 2019 г. Microsoft собирается выпускать регулярные обновления для этой утилиты, расширяющие и дополняющие ее возможности.
- Как сопровождать СУБД на множестве серверов баз данных