Время на прочтение
16 мин
Количество просмотров 104K
Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Насколько глубоко мы погрузимся в тему?
Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.
Уровень прикладных программ. Здесь находятся все пользовательские приложения, это браузер, Microsoft Office, блокнот, а также веб-сервер IIS, SQL Server, различное middleware вроде Java и .Net и все скриптовые языки, будь то Ruby, PHP или Bat-файлы.
Уровень операционной системы. ОС можно рассматривать как:
- Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
- Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
- Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).
Операционная система разбита на слои и компоненты. В общем виде архитектура Windows 10 выглядит так. О ней мы поговорим подробно чуть позже.
Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.
Микросхемы выглядят как на картинке ниже и представляют собой мини-компьютер выполняющий простые программы для низкоуровневых задач, к примеру прочитать данные от клавиатуры и передать их дальше чтобы они достигли в конечном счёте процессора. Как правило реализованы в виде аналоговой непрограммируемой микросхемы или микроконтроллера, программируемого на языке С.
Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.
Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.
Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.
Микроархитектура это не то же самое что архитектура. Весь функционал CPU разделён на компоненты, которые работают сообща. Эти компоненты и их взаимодействие и есть микроархитектура. На блок-схеме ниже они представлены цветными прямоугольниками и квадратиками.
Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.
Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.
Цифровые схемы работают с данными на уровне нулей и единиц, а аналоговые полагаются на эксплуатирование законов физики. Они выполняют простейшие манипуляции над битами, такие как сдвиги, AND, OR, XOR. Через эти примитивы реализуются более сложные операции. На картинке ниже представлен аналоговый оператор AND реализованный через транзисторы. На выходе схемы ненулевое напряжение будет только если оно есть на обоих входных контактах (Вх1 и Вх2), иначе ноль вольт. Точно так же работает оператор && в C#. Цифровые схемы в конечном счёте основаны на аналоговых. Физически логические элементы в логических схемах могут быть реализованы не только электронными но и механическими, гидравлическими, оптическими и другими способами.
Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.
Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.
Основы Операционной Системы
Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям CPU, а роль “Пользователь” может вызывать не все команды процессора и не со всеми аргументами. Поверх этой ролевой модели по принципу клиент-серверной архитектуры построена операционная система, где сервер это ядро, которое и реализовывает функционал ОС, а клиент — это пользовательские программы. В мире Web клиент и сервер разделены физически — это два разных компьютера общающихся по сети. В ОС клиент и сервер живут на одной машине и на одном железе. У сервера есть некий API который позволяет клиентам изменять его состояние, к примеру Twitter API позволяет создавать посты, логиниться и загружать ленту твитов в мобильный клиент. У Windows есть Win API, только более громоздкий в виду более широкого круга задач, на сегодняшний день у винды примерно 330 000 API плюс API для UWP apps. Если концепции Твитера более менее всем понятны — пост, пользователь, фид — то концепции ОС могут потребовать некоторого углубления в её внутренности. Поэтому API Windows могут быть трудно понятными без понимания внутреннего устройства ОС.
На самом деле под ядром понимают три разные вещи. Ядро как весь код ОС. Ядро как подсистема которая отвечает за механизмы ОС, такие как планировщик потоков, переключение контекста, обработка прерываний, свап виртуальный памяти на физическую (Kernel) и ядро подсистемы для поддержки других ОС — CSRSS.exe (Windows), PSXSS.exe (POSIX), OS2SS.exe (OS/2) или WSL (Windows SubSystem for Linux). В данном контексте понимается первый смысл — весь код ОС.
Когда на экране появляется окно, то в серверной части ОС (режим ядра) появляется структура данных которая описывает это окно — его положение на экране, размеры, текст заголовка, оконная функция через которую ОС даёт приложению среагировать на события. Поскольку подсистем в ОС много, то и структур данных описывающих один объект может быть несколько, к примеру информация о пользовательском процессе есть в компонентах:
- Executive — здесь логика работы ОС. В этом слое проверяется что могут и не могут делать процессы. Здесь хранится инфа о родительском процессе, параметры старта процесса (Process Environment Block), привязанный аккаунт пользователя, имя exe файла процесса.
- Kernel — здесь реализованы механизмы ОС, такие как планировщик потоков. Здесь хранится сколько времени процесс проводит в режиме пользователя и ядра, к каким процессорам привязаны его потоки, базовый приоритет потоков процесса.
- Windowing subsystem — инфа о GDI объектах которые используются для рисования в окне. Это такие примитивы как кисти, pen и пр.
- DirectX — всё что имеет отношение к DirectX: шейдеры, поверхности, DX-объекты, счётчики производительности GPU, настройки памяти графической памяти.
- Подсистема Windows которая представлена процессом CSRSS.exe (Client Server Runtime SubSystem). Windows ранее поддерживал ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). В те времена возникла идея сделать и Windows такой же подсистемой, но эта было медленно и поэтому скоро часть CSRSS.exe перенесли в win32k.sys, который сейчас разбит на несколько файлов — win32k.sys, win32kbase.sys и win32kfull.sys. Здесь хранится информация о Process Group Data, Shutdown level, Session Data и пр.
Поддержка POSIX и OS/2 скорее была формальной, потому как для переноса программы с этих ОС нужно было найти исходный код и перекомпилировать его специальным образом чтобы получился exe-файл в котором все вызовы к API ОС перенаправлялись в PSXdll.dll (NETAPI.DLL и DOSCALLS.DLL для OS/2 и User32.dll для Windows приложений), которая была тонкой обёрткой над API Windows. Состояние некоторых API хранилось в процессе подсистемы PSXSS.exe (OS2SS.exe). Поскольку не все API можно сопоставить 1 к 1, то работала такая программа нестабильно. В Windows 10 была добавлена поддержка Linux и она работает совсем по-другому. Подсистема Linux хостится в режиме ядра и разница между Windows Subsystem for Linux и Linux примерно как между разными билдами. Специально для WSL был введён новый тип процессов — PICO-process.
Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, dll, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.
Более подробно о разделении на клиент-сервер
Разделение на клиент и сервер реализовано при помощи встроенной функциональности CPU, разделения памяти и программных проверок.
Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.
Я специально назвал регистр ЦПУ полем. Когда вы пишете программу на C#, то можете добавлять сколько угодно полей в свой класс и давать им понятные названия. У процессоров и микроконтроллеров поля называются регистрами. Когда вы проектируете железку то нужно уже на этом этапе понять сколько регистров (полей) надо, какого размера они должны быть и какой функционал на них возложить, чтобы этого хватало на все случаи жизни для всех мыслимых и немыслимых ситуаций. Представьте, что вам надо написать программу на C#-подобном языке программирования у которого в классе 16 предопределённых полей и вы не можете использовать локальные переменные. Т.е. одно и то же поле может использоваться для хранения залогиненного пользователя, отсортированного массива, временных данных или результата выполнения метода. Имена таких полей должны быть максимально общими, вместо tempData, funcResult будут странные имена EAX, AH, AL, DX и пр. Если бы вы писали на C# эмулятор процессора на архитектуре x86, то код мог бы выглядеть примерно так (DIV — divide, команда целочисленного деления):
Для иллюстрации я добавил проверку на режим ядра. Если происходит ошибка деления на ноль, то процессор уведомляет об этому ОС через прерывание (выбрасывает событие). Во время загрузки ОС предоставляет процессору одномерный массив указателей на функцию, который называется вектор прерываний, где каждому индексу соответствует какое-то событие к примеру деление на ноль. ОС знает архитектуру процессора на котором исполняется и может соответствующим образом упорядочить в массиве указатели на функции. CPU вызывает эту функцию и ОС свой код. К примеру Windows смотрит в реестре установлен ли отладчик и показывает сообщение о том что произошла ошибка и есть возможность запустить дебаггер чтобы посмотреть на место где она произошла. Прерывание называется прерыванием потому как оно вклинивается в нормальный ход выполнения программы и даёт возможность выполнится обработчику прерывания и только после его завершения процессор может вернуться к исполнению программы.
Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.
Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:
- С т. зр. CPU нет разницы между кодом и данными, что приводит к трудновыявляемым ошибкам и возможностям для взлома. Если регионы памяти пометить атрибутами по которым можно сказать, что здесь находится код, а здесь данные только для чтения, а сюда можно писать, то это решит указанные проблемы. Так же можно пометить страницы доступные только в режиме ядра.
- Поддержка виртуальной памяти процессором, который умеет копировать страницу виртуальной памяти в физическую. Физическая память RAM так же представлена в виде страниц по 4Кб. Кэш процессора считывает память из RAM страницами, потому как часто программа читает расположенные рядом данные.
- Кажется что процесс владеет всей доступной ему памятью, хотя реально его запросы на выделение динамической памяти (оператор new в С++) ОС удовлетворяет только когда процесс попытается прочитать/записать её. Exe-файл полностью не загружается в память, а отображается с диска и когда нужно исполнить код или считать данные они загружаются в память c диска. Эти механизмы основаны на страницах.
- Имитация эксклюзивного пользования RAM каждым процессом. Когда планировщик потоков назначает поток на выполнение он загружает в регистры процессора информацию о мапинге виртуальных страниц процесса в физические страницы и когда код потока пытается прочитать/записать какой-то адрес процессор правильно его транслирует. Помимо процессов на эмуляцию эксклюзивности пользования RAM полагаются сессии, которые содержат код и данные специфичные для отдельного пользователя, к примеру глобальная очередь сообщений. В Windows 10 есть контекст потока, процесса и сессии.
Windows 10 использует ячейки вначале ленты для пользовательского пространства, а в конце — для самого себя (пространство режима ядра), в котором и хранятся объекты описывающие состояние системы.
64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.
Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.
Программный способ разделения на клиент-сервер (режим ядра-режим пользователя) гораздо скучнее перечисленных выше механизмов. Процессы и потоки могут быть помечены специальными аттрибутами или же мы можем хранить список указателей на потоки/процессы и проверять их в коде. Если вы хоть раз делали авторизацию в веб-приложении, то хорошо понимаете о чём я говорю.
Из чего состоит Windows?
Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:
Давайте быстренько пробежимся по её компонентам снизу вверх:
- Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
- HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.
Что такое Advanced Configuration and Power Interface? До 1996 года когда вы выключали компьютер через UI, ОС сохраняла состояние системы и потом показывала сообщение что можно отключать питание нажав кнопку на корпусе.
В 1996м году появился стандарт ACPI, который реализовывался производителями материнской платы и позволял софту управлять питанием всей машины, т.е. Самостоятельно отключать питание на компьютере либо пробуждать его ото сна. ACPI так же позволяет контролировать питание отдельных компонентов, таких как CD drive, т.к. большую часть времени он не работает.
- Device Drivers — говорит само за себя. Драйвер это код скомпилированный в файл с расширением *.sys, он может содержать как код который работает со внешним устройством, так и к примеру код антивируса который сканирует процессы и системную память. Process Explorer от SysInternals так же полагается на драйвер для получения информации о процессах.
- Kernel — Kernel Mode Execution Environment, содержит обработчики прерываний, работа с таймерами, планировщик потоков, объекты синхронизации и пр. Здесь реализованы все механизмы ОС.
- Executive — Реализовывает логику работы ОС, можно сказать что это уровень бизнес-логики ОС.
- Windowing & Graphics — Система окон и DirectX для отрисовки всего что видно на экране.
- NtDll.dll — Эта библиотека выделена большим зелёным прямоугольником потому что загружается в память только один раз и потом отображается в память всех остальных процессов. В этой dll находится загрузчик программ, который отвечает за инициализацию запущенного процесса (в т.ч. загрузку dll) и потоков в нём. Nt понимается как Native, в том же смысле что и Native American. Т.е. это API ядра ОС, которое отделено от режима пользователя. Все функции экспортируемые из этой dll имеют префикс Nt (NtDestroyMenu). Некоторые Win API реализованы в режиме пользователя и они являются частью User32.dll. Как правило пользовательские приложения не используют напрямую функции из NtDll.dll, они обращаются к Nt* функциям через ещё один уровень абстракции (level of indirection) — subsystem dll такую как User32.dll или PSXdll.dll и DOSCALLS.DLL доступных в более старых версиях Windows. NtDll.dll предназначена в первую очередь для системных процессов (Session Management Sub System.exe, WindowsInititialize.exe и пр.), которые запускаются ещё во время загрузки ОС.
- SubSystem dlls — о них я уже сказал в предыдущем пункте. Все Windows приложения обращаются к ОС через User32.dll. Какие-то API реализованы в режиме пользователя и к примеру могут обращаться к системным процессам, другие же вызывают Nt* функции из NtDll.dll, к примеру CreateFile в конечном счёте вызывает NtCreateFile).
- Environment Subsystems — CSRSS.exe, подсистема Windows. Ранее тут были ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). Windows Subsystem for Linux реализована совершенно по-другому.
- System Processes — это процессы которые выполняют различные системные фунции, к примеру LSASS.exe (Local Security Authority SubSystem) который отвечает за аутентификацию пользователей и другие.
- Service Processes — Раньше сервисы Windows (например Plug and Play Manager) работали в своих процессах и были *.exe файлами. Со временем появился процесс SvcHost.exe который может хостить сразу несколько компонентов, реализованных в виде *.dll-файлов. Поэтому почти все системные компоненты и переехали в SvcHost’ы.
- User Processes — пользовательские процессы. Те самые которые мы используем каждый день — браузеры, игры, офисные программы и пр. Они полагаются на описанную в предыдущих пунктах инфраструктуру.
На этом первую часть закончу. В следующей посмотрим откуда начинается путь клавиши.
Часть 2
Когда встаёт вопрос как работает Windows, мы подразумеваем тот факт, что речь идёт о ОС семейства Microsoft различных поколений, в принципе работы которых, конечно, немало общего. Не будет ошибкой, если мы вычленим основные четыре функции любой современной операционной системы, и посмотрим, как Windows с ними справляется. В этой статье приводится формальное описание работы операционной системы семейств Windows, приводится список основных компонентов системы. Я покажу, как Windows управляет программами и работает с оборудованием и расскажу о понятиях процесс, поток и др. Статья не для профессионалов (разве можно описать как работает Windows в ЕДИНСТВЕННОЙ статье?) и поможет начинающему получить общее представление о принципе работы Windows.
ВНИМАНИЕ! СТАТЬЯ НЕ ЗАКОНЧЕНА. МАТЕРИАЛЫ ДОБАВЛЯЮТСЯ ПО МЕРЕ ФОРМИРОВАНИЯ ОКОНЧАТЕЛЬНОГО ИНТЕРФЕЙСА БЛОГА.СПАСИБО ЗА ПОНИМАНИЕ.
Чем занимается операционная система?
Любой работающий компьютер есть связка четырёх типов программного обеспечения: операционная система, программы и приложения, драйверы и BIOS Вот основные функции операционной системы, которые определяют её место среди прочих программных оболочек.
- управление оборудованием (включает в себя приём микрокода от BIOS чипа материнской платы, управление оперативной памятью, диагностику неисправностей и сочленение установленного оборудования и программ к нему)
- управление программами (включает в себя установку и удаление программ, запуск программ и участие работе «железных» компонентов от имени программ)
- управление файлами (всё, что можно создавать, перемещать и удалять на твердотельных накопителях)
- создание пользовательского интерфейса (графического или командного/текстового) для обеспечения или контроля всех или многих указанных выше функций
Компоненты Windows, или из чего Windows состоит
Как работает Windows блочно можно отобразить так:
Из схемы видно, что основными компонентами любой операционной системы являются три блока:
- шелл (программная оболочка\скорлупа)
- ядро системы
- данные конфигурации
- как Windows управляет программами
Как работает Windows: программная оболочка = Shell
Это часть операционной системы, которая завязана и с пользователем и с приложениями. Именно шелл позволяет нам запускать флешки, устанавливать программы, запускать word-вый документ и печатать в нём, сохраняя в любое дозволенное системой место, которое заметно проводнику. Shell — это и File Explorer (проводник Windows), и контрольная панель Пуск, и окна Свойства системы и Мой компьютер. Человек или пользователь знает шелл как различные инструменты пользовательского интерфейса, такие как диалоговые окна, ярлыки и иконки, контекстные меню дополнительных команд.
А для программ шелл это команды и процедуры, которые эти программы могут вызывать: печать информацию через принтер, читать данные из баз, отображать что-то на экране.
Сам шелл состоит из нескольких подсистем, которые управляются в пользовательском режиме. Такой режим означает, что эти подсистемы имеют очень ограниченный доступ к системной информации, и доступ к «железу» может осуществляться ТОЛЬКО через системные службы (службы самой Windows). Одна из таких подсистем — подсистема безопасности Win32 — обеспечивает вход в систему (регистрацию пользователя), сохранение и распространение его привилегий на файлы и папки, а также другие функции безопасности. Абсолютно все программы и приложения «здороваются с Windows» только через подсистему Win32.
Как работает Windows : Ядро
Как и в других ОС, отвечает за работу с оборудованием, которое внутри компьютера находится или во время работы к компьютеру «пристёгивается». Режим ядра полномочий имеет гораздо больше. Никакая программа, установленная в Windows, не имеет доступа к «железу» напрямую — только через шелл, который, в свою очередь, посылает все запросы к ядру. Такая система взаимодействия обеспечивает стабильную работу ОС. Это чем-то напоминает ресторан: перед тем как заказать блюдо, вам нужно позвать официанта (к шеф-повару и на саму кухню вас не пропустят).
Ядро состоит из двух компонентов:
- слой аппаратных абстракций HAL — hardware abstraction layer
— (ближайший к железу уровень) - уровень исполнительных служб (обеспечивает взаимодействие подсистем в пользовательском режиме со слоем аппаратных абстракций)
Что здесь нужно запомнить? Логика работы ясна уже из описания: исполнительные службы Windows работают с оборудованием при помощи самого HAL и драйверов для конкретного устройства. Такой принцип работы устанавливается незаметно для глаз пользователя в момент установки Windows на компьютер. В тот самый момент, когда мы видим строки состояния установки компонентов и служб/программ, и строится структура слоя HAL на основе процессора, который в материнской плате вашей машины установлен. То есть привычные процессы во время установки Windows предстают теперь в таком свете:
загрузка шелл пользовательского интерфейса
приглашение к компиляции HAL
То, что появится после установки ОС, перенести на другой компьютер один в один не получится: для нормальной работы в новой конфигурации до— или переустановка отдельных драйверов или целого их пакета неизбежна.
Как работает Windows: Данные конфигурации
Ну, а всем операционным системам нужно место, где данные о программах и оборудовании, а также настройках и предпочтении пользователя можно хранить. Нужно хранить информацию и о том, как пользователь хочет, чтобы Windows и программы выглядели, где хранить скачиваемое и создаваемое и т.д. Для всего этого (или для почти всего) Windows использует … правильно, реестр. Некая информация хранится в файлах инициализации (характерные файлы с расширением .ini и .inf).
И когда установленная программа запускается, перед появлением какого-либо окна она сначала посмотрит реестр и прочитает эти файлы, и только потом уже запуск приложения можно считать успешным.
Как Windows управляет программами?
Если программа установлена, мы подразумеваем, что её остов где-то хранится. Чаще всего это жёсткий диск или флешка. Когда пользователь запускает программу, некоторые из её файлов копируются в оперативную память. Так появляется процесс. практически в том виде, каком мы видим его в Диспетчере задач или Process Explorer. Процессом можно назвать программу, запущенную вместе с соответствующими системными службами и другими ресурсами. Ресурсы нередко включают в себя и другие программы, включая захват дополнительных ячеек оперативной памяти для временного хранения данных. Когда процесс делает запрос к системе по типу «Мне нужны ресурсы!», подразумевается, что программа обращается именно к подсистеме Win32. Так появляется поток данных. Поток — это единичная, выделенная задача (запустить или создать документ, вставить рисунок из буфера обмена, распечатать документ на принтере и т.д.). Схематично это выглядит так:
Как видите, потоков может быть несколько. Это называется многопоточность/мультипоточность: например, окна браузеров могут запускаться в нескольких вкладках или нескольких отдельных окнах. Выражаясь технически, в обоих случаях речь идёт о нескольких разных процессах браузер.exe.
Пока всё. Успехов вам.
Для рядовых пользователей работа с ПК под управлением Windows — это как полёт в самолёте. С одной стороны дико тошнит от багов и глюков, а с другой – выйти всё равно некуда. Zip File, мамкины хаЦкеры. С вами Денчик и нынче мы наконец-то обсудим верхние уровни устройства операционной системы Windows. Рассмотрим детально процесс загрузки, архитектурные особенности и нюансы. Ну и конечно же разберём потенциальные уязвимости, которые могут встречаться в операционных процессах данной системы. Если вам интересна данная тема и вы давненько хотите узнать, что же скрывается в неё под капотом. Тогда устраивайтесь по удобней, наливайте свежую порцию чего-нибудь по забористей и приготовьтесь к путешествию в полную Виндузятню. Погнали.
Но перед тем, как мы начнём обсуждение основной темы, я бы хотел рассказать вам о партнёрах данного выпуска, хостинг-провайдере FirstVDS. FirstVDS — это крупный хостинг-провайдер, который на рынке уже 20 лет. 6 декабря ребята начали отмечать юбилей, и в честь этого праздника запустили крутейшую акцию. Что же будет 6 декабря? Будут скидки, занимательная статистика для клиентов, розыгрыш техники Apple и игра FirstRunner. Игра FirstRunner была создана разработчиками специально к 20-летию FirstVDS. Участникам предлагается помочь Ферст Джону пробежать от медленного 2002 до сверхбыстрого 2022. Играйте, ищите пасхалки, входите в ТОП и получайте дополнительный подарки. Каждому клиенту, который поиграет в игру, выпадает возможность выиграть макбук, айфон, плейстейшн или сертификаты на баланс. FirstVDS будет ждать всех на странице акции с 6 по 13 декабря! Присоединяйтесь по ссылке в описании к видео.
Стандартное устройство машины
Ну а мы возвращаемся к основной теме нашего выпуска. Как вы помните, эталонно любая машина состоит у нас из процессора, исполняющего команды программ, быстрой памяти (ОЗУ), дискового пространства для долговременного хранения и подключения к сетке.
Касательно этих терминов вроде бы всё просто и очевидно, однако и по сей день многие ITшники называют «программами» то, что на поверку является приложением. Не путайте пожалуйста. Это совершенно разные вещи.
Окей. В целом картина выглядит следующим образом. На прикладном уровне находятся вышеупомянутые приложения. Они взаимодействуют непосредственно с операционной системой.
В данном случае под операционной системой я подразумеваю совокупность ядра (Kernel) и драйверов устройств. Последние соответственно относятся к самому нижнему, так называемому, железному уровню.
Сегодня мы будем акцентировать внимание на среднем, операционном уровне, который позволяет железу работать с протоколами, методами, периферийной историей и прочими интересными штуками.
Для того, чтобы не писать драйвера для каждого мало-мальски значимого устройства посредством ассемблера, умные дядьки придумали операционные системы.
Ключевые версии Windows
Если речь заходит о Windows, то тут можно выстроить поистине гигантский таймлайн из версий. Я специально включил в подборку не все, а только наиболее значимые версии мелкомягкой ОСи.
Из тех, с которыми вы ещё можете столкнуться тут Windows XP. Я буквально пару лет назад работал в крупной конторе, где 90% парка состояло из ХРюш и никого это особо не парило. Как говорится, лучшее, враг хорошего.
Windows Server 2003 был весьма прорывным и дико сложным для освоения на то время. Именно с него начинается эпоха сисадминства в России. Восьмой сервер в свою очередь был чутка дружелюбнее.
Однако почему-то дико тяжёлым и ел столько оперативы, что запустить его на одной физической тачке с Касперским было практически нереально.
А учитывая то, что SSDшников ещё не было от слова совсем, удовольствия админы получили изрядную порцию.
Седьмая Винда имела кучу проблем с совместимостью. Хотя со временем с помощью обнов и сервис-паков это исправили. Точно также Мелкомягкие допилили и Восьмой сервер выпустив R2 версию, которая, как по мне и по сей день является практически идеальным решением для мелких и средних контор.
Ну про остальные ОСи говорить в целом особо нечего, ибо вы и сами можете попробовать их в деле у себя дома или на рабочих местах.
По 16 серваку в связке с 10 виндой в роли клиента у меня кстати есть целый авторский видеокурс. Можете чекнуть как-нибудь на досуге, если любите иногда развиваться, а не только писю гонять.
Также для развития очень полезно ежедневно учить команды для оперативного взаимодействия с командной строкой системы.
Как показывает практика, если вы шарите, то набрать команду можно в разы быстрее, нежели тыкать мышью в иконки. Рекомендую.
Application Programming Interface (API)
Интерфейс программного взаимодействия или API позволяет одной программе взаимодействовать с другой. Например, приложению с Windows.
API также имеют разные версии. Для 32 разрядных ОС они одни, для 64 разрядных другие.
Если в теме, напишите в комментах по каким причина 32 разрядные операционки до сих пор существуют и почему в самом ближайшем будущем их исчезновение в принципе невозможно.
Даю подсказку. Это как-то связано с особенностями программ. Как вы помните, программа – это набор инструкций для выполнения. Тут всё логично. Однако давайте помимо программы введём ещё такое понятие, как процесс.
Процесс – это совокупность из загруженного и исполняемого набора инструкций и контейнера для ресурсов. Ни больше ни меньше.
Любой процесс обладает рядом особенностей. Наиболее важным для вас из этого списка является PID. Он же Process ID. Он же идентификатор процесса.
Давайте сразу рассмотрим пример. Как видно в таскменеджере, запущенная программа, в данном случае блокнот, может в момент работы создавать несколько разных процессов.
Один процесс может запускать целое дерево из созависимых процессов. И каждый процесс в этом дереве будет иметь равные права. Это же работает в обратную сторону.
Т.е. если вы хлопните какой-нибудь процесс Explorer, всё что так или иначе связано с интерфейсом у вас отвалится. Это в целом достаточно удобная штука. Также для расширенной работы с процессами рекомендую юзать Sysinternals.
Это такой набор расширенных системных инструментов Windows от Марка Руссиновича, позволяющий получить больше информации, чем при апеллировании стандартными инструментами.
Внутри процессов у нас существуют потоки исполнения (threads). Т.е. то, что Windows может запускать на ядре процессора на исполнение.
Также внутри работающего процесса есть как минимум один поток. Windows выделяет каждому потоку квант времени для выполнения на процессоре и быстро переключает исполняющиеся потоки.
Именно это и создаёт так называемую иллюзию «параллельности» работы приложений. Ключевая идея тут заключается в разделении задач на разные потоки, чтобы не было «подвисаний».
Например, один поток рисует графический интерфейс, а другой — выполняет сложную работу. Всё, как в жизни. От каждого по возможностям на благо общего дела.
Архитектура
Windows и приложения – это, как мы знаем исполняемый код, поэтому существует задача ограничения возможностей приложений. В современных процессорах (речь про x64) по дефолту определены 4 уровня привилегий.
Про UserMode мы с вами уже поговорили в общих чертах. Kernel же, являясь по сути ядром, даёт доступ к процессору и всей оперативной памяти.
Т.е. когда пользовательскому процессу необходимо выполнить операцию, требующую повышенных привилегий, например, блокнот хочет сохранить файл на диск.
Наш процесс самостоятельно вызывает соответствующий сервис в ядре. Там выполняется специальная команда, переводящая вызывающий поток в kernel mode, а после завершения возвращающая его обратно в user.
Именно поэтому все путные вирусы хотят заломиться именно в Kernel. Ибо доступ к железу возможен только на уровне ядра, а значит для какой-то реальной пакости требуются повышенные привилегии.
Память
Фундаментально вся память представляется, как непрерывная адресуемая последовательность байт, где операционная система занимает верхние адреса, к которым у пользовательских процессов доступа нет.
Поскольку процессов много, Windows распределяет между ними участки памяти так, что для процесса они как бы непрерывные, однако на самом деле это не так.
Т.е. в моменте процессор не видит этих пробелов. Для него есть только синенькие полосочки или только зелёненькие. Такие вот специфические особенности области видимости.
Если есть нужда посмотреть более детальную информацию о карте памяти процесса, то можно воспользоваться ещё одной утилитой от Руссиновича под названием VMMap.
Для примера я, как обычно, запустил стандартный блокнот. С помощью данной программы наглядно видно, что помимо самого файла notepad.exe (он будет в самом низу списка), загружается много dll файлов.
Библиотеки DLL
DLL (они же Dynamic-link library) – это специальный формат файлов, позволяющий хранить исполняемый код (т.е. инструкции), которые могут использоваться различного рода процессами.
Процессы подгружают библиотеки и используют описанные в ней функции. Поэтому если мы в VMMap’е прочекаем разные приложения, то увидим, что стандартные библиотеки используются одни и те же.
В основном это будут Кернелы. Именно эти библиотеки служат своеобразным слоем, который транслирует документированные вызовы функций в вызовы к сервисам Windows.
Глобально разделение на Kernel Mode и User Mode со стороны выглядит следующим образом. В самом низу мы видим вариант Мелкомягкого гипервизора. Эта деталь не является обязательной.
Если точнее, то она актуальна для ситуаций, когда на одном железе крутится несколько операционных систем. Само ядро, согласно схеме, находится над ХАЛом (набором общих инструкций).
При этом ядро загружается при старте машины и берёт управление на себя. А гипервизор, хоть и исполняется в 0-ом кольце, но при этом изолирует себя от ядра и может как бы «наблюдать» за всей ситуацией со стороны.
Или как говорят умные дядьки, осуществляет мониторинг. В самом User Mode выделяется 4 типа процессов: пользовательские — процессы, получаемые из обычных (т.е. устанавливаемых пользователем или предустановленных) приложений;
Сервисы (они же службы) — чаще всего процессы, которые выполняются в «фоновом режиме», например, службы печати, службы индексирования.
Environment Subsystems — поддержка различных окружений (ранее поддерживалось POSIX, сейчас только Windows). Поэтому обратной совместимости нет.
Ну и само-собой различного рода системные процыки. Уже упомянутый POSIX (Portable Operating System Interface) — это набор стандартов, предназначенный для организации совместимости между ОС.
Начиная с Windows 10, в состав операционки вошла подсистема WSL (Windows Subsystem for Linux). И как понятно из названия она предоставляет возможность запуска Linux-приложений из командной строки.
Вернее, так работала первая версия. WSL 2 уже представляет собой отдельную виртуалку на гипервизоре и даёт гораздо больше возможностей для сисадминов и безопасников в плане доступа к кишкам ОСи.
Ключевые файлы и драйвера
Теперь что касается ключевых файлов в системе. На слайде представлены основные каталоги, которые необходимо запомнить. Современные версии ОС Windows не позволяют как-либо работать с ними.
Однако во времена Windows 2000 вы могли удалить с компьютера папку system32 и тем самым провести небольшой саботаж. Папка окажется в корзине, восстановить вы её не сможете, винда зависнет, но при этом не выключится.
Короче, ад и Израиль. Благо, что мелкомягкие пофиксили этот забавный баг. Но сам факт существования такой вот хурмы заставляет задуматься о тщетности бытия.
Ладненько, помимо файлов есть ещё драйвера, которые представляют собою программный код, обеспечивающий поддержку той или иной функциональности устройств, протоколов и файл-систем.
Системные драйвера располагаются в каталоге System32\Drivers, а пользовательские — в произвольных каталогах, выбираемых в момент инсталляции.
Загрузка
Процесс загрузки компьютера начинается не с работы операционной системы Windows, а с работы встроенного ПО — BIOS.
BIOS зашит в материнскую плату и отвечает за базовую инициализацию оборудования и процедуру самотестирования (она же POST).
BIOS анализирует диски в установленном порядке для поиска MBR (Master Boot Record) — специальным образом оформленной области на диске.
Сам MBR загружает Boot Manager, который уже непосредственно и запускает ОС.
Для Windows это каталог %SystemDrive%\bootmgr (к слову в файловой системе он не отображается).
Ну а дальше Boot Manager загружает так называемый Windows Loader (файлик winload.exe), который уже будит наш Kernel, т.е. загружает ядро Винды.
Вот такой вот хитро**ный процесс. А вы это даже не цените. Давайте резюмирую. Сначала BIOS, затем Boot Manager, далее Loader и только затем ядро, а после уж и рабочий стол с пышногрудой девицей.
Есть ещё вариант с UEFI. Это такой интерфейс, пришедший на смену BIOS, который позволяет писать приложения, подписывать их и проверять конечную подпись.
Собственные UEFI есть у Samsung, ASUS и других популярных вендеров. Схематически работа этой истории выглядит следующим образом.
Да, возможно чутка сложнее, чем в случае с классическим BIOS, зато в разы дружелюбнее для конечного пользователя.
Помимо прочего есть ещё утилиты позволяющие модифицировать BOOT-систему. Например, bcdedit. Либо msconfig, если предпочитаете графический интерфейс. Если захотите поковырять, рекомендую делать это на виртуалке.
И последнее о чём мне бы хотелось сегодня поговорить – это процесс smss.exe. Данный процесс запускает ядро session manager subsystem.
Он же первый процесс в user mode. Который в свою очередь загружает цепочку процессов, отвечающих за выполнение дальнейшей процедуры инициализации.
Ее мы с вами подробно разберём в следующем видео из цикла информационная безопасность с нуля до джуна.
Так что, если не хочешь пропустить это дело и более детально изучить механизмы безопасности операционной системы Windows – обязательно подпишись на канал кликнув на колокольчик.
Не пойму правда, какого лешего ты не сделал этого раньше, но всё-таки дам шанс и возможность исправить карму по-братски, раз уж ты так напрягся и досмотрел ролик до этой минуты.
Окей, друзья. Нынче мы рассмотрели общую архитектуру ОС Windows и базовый процесс загрузки. Тот, что происходит непосредственно до загрузки ядра.
На следующей лекции мы с вами уже подробно поговорим о процессе загрузки и механизмах безопасности, предоставляемых данной операционной системой.
Не забываем сделать домашнее задание по теме лекции. Ссылочка, как обычно, будет закреплена в описании. Ну и если урок зашёл – не пожидитесь и отблагодарите жирнейшим лайкосиком.
Вам не напряжно пару раз по экранчику тапнуть, а мне дико приятно. Приятно осознавать, что работа над контентом происходит не зря и среди современных ITшников есть спрос на инфу с уклоном в ИБ.
Ладненько. С вами, как обычно, был Денчик. В заключении, по традиции, желаю всем удачи, успеха и самое главное, отличного настроения.
Берегите себя и данные своих пользователей. Не позволяйте криворуким ломать винду. Для этого регулярно делайте бэкапы на сервер с наиболее важных тачек. И будем вам счастье.
Помните, технологии – это весело. Во всяком случае, если речь идёт об IT. Тут без креативности, улыбки и хорошего чувства юмора в принципе никуда. Унынение – главный враг любого развития.
Капец, я, как всегда, под конец видео ударяюсь в никому не нужную диванную философию. Всё короче. До новых встреч, мои кайфные друже. Всем пока.
Обзор Windows 10. Большой обзор. Очень. Особенности, плюсы, минусы, нововведения, недоработки, сравнение с Windows 7 и Windows 8.1. Все самое интересное — все как вы любите.
Внешний вид
В Windows 10 Microsoft полноценно реализовала свой Design Language 2 (Microsoft Design Language 2) — продолжение современных принципов пользовательского интерфейса для Windows Phone и Windows 8. Ранее поклонники мобильной платформы восстали против этих изменений, но в течение последних нескольких месяцев новые шаги компании в направлении дизайна стали приниматься даже с энтузиазмом относительно новейших элементов дизайна.
Мне изначально понравилась концепция дизайна, недостаточно развито воплощённая в Windows 8.1 — даже отталкивающий новый Пуск меня заинтересовал. После использования Windows 10 на смартфоне и ноутбуке в течение длительного времени я увидел кардинальные перемены в интерфейсе пользователя по сравнению с Windows Phone 8.1 и Windows 8.1. Microsoft отошла от своих традиций — больше не будет больших шрифтов, выходящих за экран, горизонтальных меню в том виде, в каком мы их знаем, а также софтверный гигант начнёт применять в своих ОС новый тип меню — гамбургер. Такого поворота событий не ожидал никто.
С Windows 10 Microsoft продолжает постепенно «сглаживать» практически каждый элемент пользовательского интерфейса. Вся операционная система выглядит так, как будто по ней прошлись электронным утюгом. В Windows 10 почти нет трёхмерных элементов (есть только 3D-эффект анимации живых плиток, который таки внедрили в финальной версии) или больших теней (что исходит от классических окон сложно назвать тенями). Даже иконки были изменены и стали более минималистичными. Единственная часть ОС, в которой пока не видно существенных нововведений — Проводник, который никак не выделяется на общем фоне Windows 10. И даже если обновить иконки внутри этой файловой среды.
Устаревшие элементы в дизайне новой Windows 10 тоже всё еще можно обнаружить. Например, панель управления, которую обещали вырезать из Windows 10 и принести ей на замену новейшее плиточное приложение «Параметры». Но не тут-то было — классическая Панель управления ещё живёт, и даже по соседству с новыми сверхминималистичными Параметрами. Мало того, что классическая Панель управления имеет более продвинутые настройки, они почему-то не были перенесены все в новые Параметры. Я недоумеваю. Зачем мне две панели управления, старая (не новая) из которых может предоставить мне до сих пор больше возможностей, чем основное приложение настроек, установленное по умолчанию? Не понимаю.
К классической Панели управления можете добавить по факту и все остальные аналогичные системные сервисы — Диспетчер устройств, к примеру. Эти грубые артефакты отражают объём работы Microsoft — никакой объём работы Microsoft. Объём работы, который Microsoft просто отложила в долгий ящик и обновит может быть когда-нибудь в будущем, когда мир захватит Linux. Мне не ясна такая политика. Windows 10 — это крупнейшее обновление системы, но мельчайшие детали не получили никакой переработки, автоматически отправляя пользователей не в новый 2015, а в старейшие нулевые.
Другая непоследовательность кроется в мириадах конструкций меню для различных приложений. Это незначительная деталь и большинство наверняка просто не будет обращаться внимания или вообще не заметит, но это показывает, что Microsoft встречается с некоторыми противоречиями, в которых нужно разобраться.
Меню «Пуск»: возрождение
Начиная с выпуска Windows 95 пользователи компьютеров по всему миру используют знаменитое меню под названием «Пуск». Microsoft же взяла и просто похоронила этот любимый инструмент с релизом Windows 8, буквально заставляя пользователей использовать свою новую сенсорную концепцию привычного меню, которая работала стандартно в полноэкранном режиме. Последнее, к слову, было одним из самых непривычных в новейшем и переосмысленном Пуске.
Люди возмущены. Люди забыли о Windows.
Microsoft начала отступать от этого решения с обновлением Windows 8.1, когда было объявлено о дефолте и возвращении акцента обратно на рабочий стол. Технически Пуск тоже вернулся, но теперь в новом облике — в качестве стартового экрана для планшетов. Хотя это и помогло Microsoft перед выпуском Windows 10, этот двуединый подход стал причиной многих увольнений в подразделении, в результате чего у пользователей в общем сложилось очень плохое впечатление относительно работы Microsoft. Так и образовалась в дальнейшем негативная волна в сторону Windows 8.
Windows 10 избавляется от экрана Пуск. Он по-прежнему существует, но теперь в приглушенной форме для пользователей планшетных ПК, поэтому большинство пользователей обычных компьютеров встречают новое меню Пуск для Windows 10, которое является объединением старого из Windows 7 и нового из Windows 8.1. Таким образом, теперь вместо простого списка программ пользователи могут разместить живые плитки приложений, которые живут прямо внутри них. Это правильное решение, которое привело к компромиссу, потому что фанаты Windows 7 могут вообще убрать плитки и оставить только список программ, а ярые любители нового дизайна Windows 8 — закрепить тайлы приложений для быстрого доступа к ним.
Когда компания пытается сделать гибридный подход к своему продукту, то в конечном счете, как правило, производитель терпит неудачу. Неудача выходит потому, что функция получается принудительной и у пользователей не остается выбора, а значит потребитель начинает выражать недовольство. Новое меню Пуск в Windows 10 работает совершенно по-другому — и предоставляет пользователям выбор. Теперь многострадальный Пуск является действительно широко кастомизируемым и потребитель может настроить его полностью под себя. Вот несколько возможных сценариев работы нового Пуска:
- Пуск + плитки (по умолчанию): наиболее часто используемые приложения, список программ, ярлыки и живые плитки.
- Пуск: наиболее часто используемые приложения, список программ, ярлыки, отсутствие живых плиток.
- Пуск + плитки (полный экран): наиболее часто используемые приложения, список программ, ярлыки, живые плитки. И всё в полноэкранном режиме.
Также в Windows 10 есть быстрая кастомизация Пуска: пользователи могут просто захватить курсором край нового меню, чтобы изменить его размер по вертикали или горизонтали, пока Пуск не займёт столько места, сколько они хотят. Для больших экранов будет удобнее использовать полноэкранный режим, тогда как для 15.6-дюймовых экранов ноутбуков лучше подойдёт стандартный дизайн меню в окне с ярлыками программ и живыми плитками.
Все эти варианты дизайна нового меню Пуск в Windows 10 предназначены для различных групп людей, в том числе традиционалистов (тех, кому не пришлись по душе живые плитки) и тех, кто предпочитает опыт полного экрана аналогично Windows 8.1. Чтобы быть справедливой, Microsoft не делает второй вариант очень легко осуществимым. В ходе тестирования в новом Пуске был переключатель на полноэкранный режим, но в финальной версии Windows 10 его убрали и теперь он находится в Параметрах. Также, чтобы полностью избавится от живых плиток, нужно открепить каждое приложение из зоны, а не просто нажать одну кнопку.
В новом меню Пуск можно закрепить невероятное количество живых плиток. Однако, большинство пользователей, скорее всего, решит оставить по крайней мере некоторые часто используемые приложения — чтобы быстро их открывать. Да и почему бы нет вообще? Живые плитки в их нынешнем виде в действительности являются очень удобными и позволяют в считанные секунды узнавать информацию, на которую вы обычно тратите больше времени. Например, прогноз погоды или последние новости. Для этих целей вы открываете браузер, а далее сайты или приложения внутри него, тогда как в Windows 10 это один клик на Пуск и всё — вся необходимая информация обновлена и представлена в самом актуальном состоянии.
Режим планшета
Вы уже наверняка в курсе, что одной из новых функций Windows 10 является адаптация интерфейса для ПК и планшетов. Если вы владеете трансформерным устройством, то с Windows 10 сможете пользоваться новой операционной системой в двух режимах — в настольном, а также планшетном. Последний включается очень просто — через Центр уведомлений, речь о котором пойдёт далее. При нажатии на специальную кнопку интерфейс Windows 10 трансформируется в планшетный режим и все элементы ОС становятся больше, а также более удобными для сенсорного управления. Стоит отметить, что для планшетов на Windows 10 этот режим будет предустановленным, и это логично и правильно.
По сравнению с Windows 8.1 и уж тем более Windows 8 новое стартовое меню «Пуск» для планшетов в Windows 10 является намного более многофункциональным и оптимизированным. Однако, есть один интересный и спорный момент — в Windows 8.1 очень удобным был жест открытия всех приложений по свайпу снизу вверх. В Windows 10 Microsoft его удалила, заменив вообще горизонтальное меню вертикальным, изначально спрятанным за экран и открывающимся только по кнопке меню-гамбургера. Но, несмотря на это, новый режим планшета — лучше, чем в Windows 8.1. Он будет знаком пользователям Windows XP и Windows 7 и предлагает значительно более улучшенный пользовательский опыт.
Также спрятанное меню со списками приложений можно редактировать — например, вы можете добавить туда ссылки на самые часто используемые папки (Загрузки и Документы или что-нибудь ещё). Все они делают новый Пуск более персонализированным и удобным. Также отмечу, что теперь при включении планшетного режима размеры плиток сильно увеличиваются — это будет особенно полезно на маленьких планшетах с экраном диагональю 7 или 8 дюймов.
Центр уведомлений
Уведомления заехали еще в неудачную Windows 8 несколько лет тому назад. Тем не менее, то, что является новым Центром уведомлений в Windows 10, переехало из Windows Phone и является определённо лучшим решением. Концептуально Action Center в Windows 10 представляет из себя единое место для абсолютно всех уведомлений — ОС, приложения, функции, советы, работа с аксессуарами и так далее. Идея совершенно не нова, но этого действительно не хватало Windows. Любой, кто использует Android, iOS или Windows Phone, знает, что делает эта функция и почему её хочется использовать. Снова мы видим, как что-то переносится из мобильной ОС на ПК и настольные компьютеры.
Итак, давайте разобьем Центр уведомлений. Есть несколько основных направлений уведомлений: первые от приложений (электронная почта, Твиттер, ВКонтакте, Новости, Погода и другое), вторые для включения/отключения функций ОС и третьи для аксессуаров и сторонних устройств (наушники, смартфон, USB-накопитель, DVD-диск). Все они сортируются в зависимости от места, из которого отправлены.
Показываются уведомления в правом нижнем углу дисплея вашего компьютера. Впервые уведомления начали приходить в Windows 8, и они показывались, напротив, в правом верхнем углу. Эти уведомления кратко сообщают о каком-то событии, а при клике на него пользователь попадает прямиком в приложение или нужную папку. Если вы пропустите показ уведомления и не нажмете на него, то все они впоследствии собираются в Центре уведомлений, где вы можете просмотреть их позднее. В целом, Центр уведомлений фиксирует серьезную недоработку Windows 8 и Windows 8.1, которые имели систему уведомлений, но не обладали местом, где они собираются воедино, чтобы их можно было посмотреть каждую отдельно после пропуска.
Уведомления для каждого приложения также могут быть настроены индивидуальным образом. Этот вариант идеально подходит, если вы хотите, чтобы вас не беспокоили. Пользователи имеют три варианта конфигурации для всех приложений:
- Показать уведомления
- Показать уведомления типа баннер
- Воспроизведение звука при поступлении уведомления
Новый Центр уведомлений в Windows 10 — это хорошо продуманная конструкция, которая сильно имитирует таковую, доступную на платформе Windows Phone. Вы можете настроить Центр уведомлений так, чтобы он показывал уведомления при открытии, но не отображал их всплытие. Кроме того, вы можете изменить работу уведомлений таким образом, чтобы они всплывали, но «молчали», то есть не издавали звуковой сигнал. Всё очень просто и универсально.
Быстрые переключатели
В нижней части нового Центра уведомлений из Windows Phone переместились и быстрые переключатели, позволяющие быстро регулировать повседневные функции операционной системы. Пользователи могут нажать кнопку «Развернуть», чтобы открыть все доступные тумблеры, первые 4 из которых являются пользовательскими настройками. Например, если вы хотите иметь быстрый доступ к включению/отключению Bluetooth, то можете закрепить его выше всех и всегда знать, где он находится. И всё это не заходя в Параметры.
Остальные переключатели включают в себя яркость дисплея, экономию энергии аккумулятора, VPN, расположение, режим «В самолёте», режим «Не беспокоить», режим планшета, Wi-Fi сети, примечание (быстрое создание заметки), а также функцию «Подключиться» и, конечно, кнопку для открытия всех параметров. Удобно это тем, что, к примеру, вы можете мгновенно включить режим экономии энергии (Battery Saver) — он в ту же секунду отключит энергоёмкие приложения в фоновом режиме и сохранит энергию, чтобы продлить жизнь батареи вашего устройства.
Я думаю, что пользователи по достоинству оценят этот инструмент, потому что он работает без единой ошибки. Более того, он значительно упрощает работу с Windows 10.
Многозадачность
В Windows 10 для пользователей появились полноценные функции работы с несколькими окнами и виртуальными рабочими столами. Функции получили названия «Task View» (Представление задач) и «Snap Assist». Первая представляет из себя возможность открыть несколько рабочих столов и разместить на них различные приложения. Здесь принцип, грубо говоря, аналогичен рабочим столам на платформе Android — создав их несколько, на каждом могут располагаться только определённые приложения. Например, на одном столе приложения для работы, на втором — для развлечений и отдыха. Что касается второй функции, то она позволяет открывать одновременно до 4 окон, причём приложения могут быть как классическими, так и плиточными. Закрепив на левой стороне браузер, Windows 10 автоматически покажет остальные открытые окна, доступные для закрепления рядом. Всё происходит на автоматическом уровне и является очень лёгким в использовании.
Функции, конечно, не новы и давно есть в конкурентах Mac OS X и Linux-дистрибутивах, но они отлично работают и сделали многозадачность в Windows 10 такой, как она должна была быть ранее — ещё в Windows 8, потому что режим работы Snap появился именно в данном релизе популярной операционной системы. К слову, в Windows 10 представлена обновленная функция Snap с номером версии 2.0.
Голосовой ассистент Кортана
Голосовой ассистент Кортана — очередная уникальная особенность операционной системы нового поколения Windows 10. Пришёл тоже из Windows Phone, но по сравнению с мобильной версией Cortana для ПК — это куда более персонализированная и умная помощница, интегрированная в панель задач, но умеющая выполнять практически всё в рамках ОС. Так, Кортана в версии для компьютеров — это намного больше, чем просто инструмент поисковой системы. Название технологии взято из игровой франшизы Halo — от голографического искусственного интеллекта. Правда, многие представляли Cortana, как в играх, но Microsoft просто сделала анимированный бублик.
Тем не менее, несмотря на внешний вид электронного ассистента Windows 10, Кортана может быть очень полезной. Именно для компьютерной версии Windows 10 Microsoft отлично проработала Кортану и сделала её значительно лучшей, чем в Windows Phone. Ниже вы можете посмотреть, какие основные функции может выполнять голосовой ассистент в новой версии ОС.
- Погода: ваш город, другая часть планеты, погода на определённый день.
- Рейсы: задержки, время начала, время завершения, время езды до вокзала или аэропорта.
- Напоминания: простые напоминания или напоминания на основе определения местоположения.
- Уведомления: время до приезда домой, скорое совещание, календарные события и многое другое.
- Спорт: отслеживание результатов матчей любимых спортивных команд.
- Еда: рекомендации по еде и напиткам, рецепты и различная помощь.
- Электронная почта: отправка сообщений голосом, включая имя получателя, тему и текст письма.
- Рекомендации: новости, фильмы, развлеченческие мероприятия, концерты и так далее.
- Приложения: открытие практически всех приложений по команде «Эй, Кортана!» (Hey Cortana!).
Основные данные о пользователе находятся в настройках функции. Раздел «Notebook» или «Интересы» сами по себе находятся в облаке, но именно оттуда Кортана берёт основы для общения с пользователем или предоставления вышеописанной помощи. Облачное хранение данных обеспечивает контроль над информацией и полную конфиденциальность — за свои любимые фильмы или другие интересы можете не волноваться.
Технология тесно связана с вашей учетной записью Microsoft, поэтому если вы используете Кортану на Windows Phone в настоящее время с использованием MSA, то опыт работы на компьютере под управлением Windows 10 будет абсолютно таким же. И наоборот. Правда, для российских пользователей всё это пока пустые слова, потому что Cortana не понимает великий и могучий. Однако, Microsoft уже сообщила, что ведётся активная и серьёзная работа по поддержке русского языка. Основная проблема состоит в интеграции российских сервисов. Сразу после решения этой проблемы мы и сможем увидеть Кортану в панели задач с балалайкой и в шапке-ушанке. Или какие там в зарубежье ещё стереотипы?
Тем не менее, хоть русского языка пока нет, Кортана знает большинство самых распространённых по всему миру: технология доступна в США, Великобритании, Китае, Франции, Италии, Германии и Испании. Также популярная помощница от Microsoft на данный момент выходит и на другие рынки — в Японию, Австралию, Канаду и Индию. Пользователи последних стран получат возможность поработать с Cortana только в ранней версии по программе Windows Insider. Также позднее в текущем году появится поддержка Бразилии и Мексики.
Новый браузер Edge
Ни для кого не секрет, что браузер Internet Explorer сегодня — один из самых обсуждаемых в сети. Стандартный веб-обозреватель Windows является в основном предметом насмешек, поэтому Microsoft решила отправить всё это в прошлое и представить в Windows 10 совершенно новый браузер — современный, минималистичный и многофункциональный Edge. С новым Edge Microsoft просто переворачивает наше привычное представление о работе в Интернете. Словом, сам софтверный гигант называет Edge «совершенно новым браузером для новых свершений».
Конечно, в отличии от конкурентов типа Firefox от Mozilla, Chrome от Google или даже Opera, Edge еще не умеет использовать расширения и не имеет интегрированного блокировщика рекламы. На данный момент новый браузер для Windows 10 может показывать актуальные новости и рекомендации по играм и приложениям, погоду и предложить поиск на главной странице при открытии приложения. Среди функций есть удобный режим чтения, список чтения, аннотирование веб-страниц (создание веб-заметок), совместная работа с файлами, интеграция помощницы Кортаны, а также быстрый доступ «в один клик» буквально ко всему — избранным сайтам, сохраненным PDF-файлам и загрузкам. В целом, тягаться с нынешними гигантами на рынке браузеров Edge может, и ещё одним плюсом в его копилку является дизайн — тот же Chrome на его фоне выглядит далеко несвежо и даже не соответствует последним веяниям дизайна. Edge же имеет светлую и тёмную темы оформления, тонкие и большие элементы интерфейса и очень плоский, что сегодня модно.
Позднее в текущем году браузер Edge станет более функциональным и получит новые возможности. Самой главной из ожидающихся функций является поддержка расширений, и Microsoft Edge её получит. Не просто поддержку расширений, а даже перенос самых популярных и крутых расширений из Google Chrome.
Microsoft Edge — это глоток свежего воздуха. Продукт имеет недостатки, как и абсолютно всё на белом свете, но Edge точно превосходит Internet Explorer. Простота и дизайн — вот главные особенности нового веб-обозревателя в Windows 10. Также ожидайте позже отдельный материал на эту тему.
Приложения
Microsoft включила в Windows 10 широкий пакет фирменных универсальных приложений, каждый из которых в совокупности может предоставить практически всё, что нужно базовому пользователю. Хотите послушать музыку — добро пожаловаль в Groove. Запланировали просмотр кино — заходите в Кино и ТВ. Интересует погода на сегодня и ближайшую неделю — MSN Погода поможет вам. Фанат спорта и желаете следить за последними результатами матчей любимых команд — MSN Спорт вам не откажет. Не упускаете последних новостей — MSN Новости тоже. И таких сервисов в Windows 10 более двух десятков. Может не все они понадобятся пользователю, но точно каждый несёт определённую долю пользы, и с этим не поспоришь.
Из коробки новые пользователи, обновившиеся до Windows 10, смогут работать со следующими приложениями. Список на удивление действительно очень обширный:
- Карты
- Люди
- Фотографии
- Почта Outlook
- Календарь Outlook
- Музыка Groove
- Кино и ТВ
- OneDrive
- MSN Новости
- MSN Погода
- MSN Спорт
- MSN Финансы
- Будильники и часы
- Калькулятор
- Камера
- Запись голоса
- Xbox
- OneNote
- Edge
- Магазин
- Начало работы
- Диспетчер телефонов
Некоторые стандартные сервисы Windows 10 невероятно просты и просто поглощены минимализмом: такими являются Будильники и часы, Запись голоса и Камера. К примеру, Запись голоса и Камера имеют буквально пару функциональных кнопок, а вот с будильниками и часами в Windows наконец разобрались — теперь они полноценные и также включают в себя таймер с мировым временем. О них де факто рассказывать нечего, а вот более подробно можно поговорить об остальных сервисах, которые способны предоставить большое количество информации. Давайте пройдёмся именно по таким.
- Карты. Великолепный ландшафтный инструмент, который весьма точно определяет текущее местоположение пользователя. Можно выполнять поиск адресов или учреждений и давать указания для автомобиля, ходьбы или общественного транспорта. Имеется и функция трехмерного обзора городов. Также вы можете легко поделиться информацией со своими контактами, в том числе полные маршруты. Основные данные берутся из системы Bing, а работоспособность подкрепляется ещё и Кортаной — умным помощником. Вся информация мгновенно сохраняется и синхронизируется между всеми устройствами на Windows 10. Приложение в основном лучше ориентировано на мобильные устройства, но, тем не менее, Карты — универсальный сервис, поэтому он доступен как для ПК, так и для телефонов.
- Люди. Удобное приложение, которое объединяет пользовательские контакты из всех подключенных учетных записей (Яндекс, Google, Outlook, Mail.Ru, Rambler, QIP, iCloud, Facebook, Твиттер, ВКонтакте и так далее). Профиль подробный и может включать практически всю информацию: аватар, статус из социальной сети, адрес электронной почты, номера телефонов, организацию, должность, дату дня рождения и многое другое. На каждого контакта можно установить отдельные мелодии звонка и SMS. Также в Людях можно следить за обновлениями в социальных сетях благодаря интеграции сопутствующих учетных записей и создавать группы контактов (Семья, Друзья, Работа и тому подобные). Как и Карты сервис является универсальным, поэтому данные быстро синхронизируются и доступны с ПК и телефона.
- Фотографии. Обычный фотографический сервис для просмотра фотографий и загруженных изображений. Имеет функционал редактора и способен расшаривать фотографии по электронной почте или в социальные сети. Есть сортировка по альбомам и датам (день, месяц, год). Прост, интуитивно понятен и удобен в использовании. Фотографии — тоже универсальное приложение, поэтому доступно на компьютерах и телефонах. Благодаря интеграции облачной системы хранения данных OneDrive позволяет быстро сохранять и передавать между устройствами все или отдельные фотографии.
- Почта. Почтовый сервис Microsoft для Windows 10, выполненный в совершенно новом дизайне. Позволяет подключать учетные записи Gmail, Yahoo!, Outlook и другие совместимые. Тесно интегрировано с Календарем и является мощным инструментом для работы с электронной почтой. Интерфейс адаптируется к размеру экрана, благодаря чему в приложении удобно работать на любом устройстве. Вдобавок присутствует поддержка свайп-жестов, что будет удобно для быстрой сортировки или удаления писем. И ещё одна мелочь, которая приятна: пользователь может даже добавить собственное фоновое изображение для пустой панели, которая отображается при запуске Почты, когда ещё не выбрано письмо для открытия.
- Календарь. Простое приложение календаря для быстрого доступа к погоде на грядущие несколько дней, запланированные события, а также дни рождения. В приложение можно добавить аналогично Почте и многим другим стандартным сервисам в Windows 10 несколько аккаунтов, каждый из которых передаст всю сохраненную информацию в Почту Outlook. Интерфейс приложения, как и в Почте, тоже адаптируется автоматически в зависимости от форм-фактора — это удобно. Единственный минус — на большом экране зачем-то отображается два календаря на текущий месяц — один занимает почти половину экрана, тогда как второй — можно сказать оставшуюся часть.
- Музыка Groove. Новый музыкальный стриминговый сервис Microsoft, созданный специально для Windows 10. Красивый, удобный и быстрый — определённо лучше, чем Xbox Music. Microsoft решила создать новый бренд и лишить приложение какой-либо связи с Xbox — это правильный шаг, потому что многие, включая меня, мало понимали смысл этого названия. Основные особенности Groove образуют целый список: универсальный дизайн, доступ к музыке и 40 миллионам песен (по подписке Groove Music Pass за 10 долларов в месяц) с любого устройства (поддержка Android, Windows 10 Mobile, Windows 10, Xbox и в Интернете), оффлайн-режим, плейлисты и скачивание песен и альбомов, фильтры контента и персональные радиостанции. Звучит все это очень классно, но в России пока, к сожалению, недоступно.
- Кино и ТВ. Новый сервис для просмотра любимого видео. Тоже включает в себя подписку, с помощью которой можно смотреть популярные фильмы и телевизионные сериалы. Но можно и оффлайн — просто укажите папку с видеоконтентом и приложение автоматически добавит все файлы. Кино и ТВ поддерживает самые распространённые видеоформаты, включая MKV. Нативной поддержки последнего в Windows многие ждали — и дождались. Что касается подписки, то для пользователей России она, как и в случае с Музыкой Groove, тоже недоступна.
- Приложения MSN. Дизайн этих приложений был переписан с нуля, чтобы сделать их универсальными для ПК под управлением Windows 10 и мобильных устройств, базирующихся на Windows 10 Mobile. Основное нововведение — навигация в стиле меню-гамбургера, упрощающая сервисы и делающая их интуитивно понятными. Новости предлагают общую информацию из других источников или новости по отдельным темам, добавленным пользователем. Погода показывает максимально подробные данные (город, температура, скорость ветра, видимость, уровень влажности, давление, точка росы, погода по часам, время восхода, время заката и уровни осадок, влажности, ветра) о погоде — текущей или будущей, и может сразу предоставить функционал карт. В распоряжении Финансов — рынки, список отслеживания (интересующие вас акции и т. д.), валюты, ипотечный калькулятор, мировые рынки и последние новости из области.
- Диспетчер телефонов. Совершенно новый сервис в операционной системе, предназначенный для работы с подключенными к компьютеру смартфонами. Поддерживаются три самых популярных мобильных платформы — Windows 10 Mobile, Android и iOS. Идеальная совместимость, конечно, только у мобильной версии десятки, а вот у Android и iOS — просто отличная. Тем не менее, какой бы ОС вы не пользовались, Диспетчер телефонов обладает достаточным функционалом для работы с файлами. Как пишет Microsoft, приложение поможет «синхронизировать любимое содержимое» на смартфон или ПК — это могут быть как фотографии и видео, так и другие файлы. Весь функционал сервиса становится доступным при подключении устройства — тогда же начинается и отображение информации о нём: количество внутренней памяти и памяти карты SD, а также уровень заряда и наименование телефона или планшета.
- Начало работы. Очень полезное стандартное приложение Windows 10. В основном направлено на новых пользователей и поможет им освоить новую операционную систему буквально от и до. Если вы не можете удобно настроить Windows 10, то данное приложение поможет вам в этом. Настроить можно практически всё: параметры, соединения, начальный экран, Windows Hello, Microsoft Edge, приложение Xbox, офисный пакет Office, персонализацию, синхронизацию содержимого, приложения и уведомления, Континуум и сенсорный ввод. В отличии от версии аналогичного приложения в Windows 8, Начало работы в Windows 10 — это большое обновление и теперь действительно полезное. Приложение описывает каждую функцию Windows 10 в подробностях, поэтому после ознакомления с ними вы точно больше не растеряетесь.
Магазин
Так же, как и Windows 8, последняя версия ОС Windows включает в себя новый Windows Store, или Магазин. Новый универсальный Магазин в Windows 10 — это не что иное, как старый магазин из Windows 8, но в новой обёртке. В основном обновление, конечно, лучше, но версия магазина в Windows 10 ещё не идеальна. Если вкратце, то новый Магазин получил новый дизайн и новую систему поиска. Возможно, вы сейчас подумали «Это всё?», на что я отвечу вам отрицательно. Самым главным изменением является универсальность — теперь Магазин Windows 10 единый для всего: приложений (включая Win32), игр, музыки, фильмов и ТВ-сериалов. Более того, приложения и игры в новом Магазине теперь показываются как для ПК, так и для телефонов.
Новый Магазин в Windows 10 имеет четыре основных раздела — Домашняя страница, Приложения, Игры, Музыка и Фильмы и ТВ. Главная страница, открывающаяся при запуске, показывает все популярные приложения и игры, а также рекомендуемые приложения и подборки по категориям. В целом, домашняя страница нового Магазина идеальна — она содержит всё, что нужно. Вы можете мгновенно пробежаться от лучших бесплатных приложений до топа платных игр или подборки лучших приложений для спорта. Всё, в чем вы можете быть заинтересованы, вы найдёте в новом Магазине.
Страница с приложениями стандартна. При переходе на нее в верхней ленте показываются популярные приложения — они приводятся в отдельном красивом интерфейсе. После этой горизонтальной ленты Магазин показывает рекомендации — приложения, выбранные Microsoft специально для вас. Система рекомендаций Microsoft достаточно умная и показывает действительно возможные интересы пользователя, но таки она пока не является совершенной. При переходе на страницу какого-либо конкретного приложения она предоставит вам стандартную информацию: программное обеспечение, скриншоты, рейтинги, комментарии, общую информацию о производителе и другие подобные приложения, которые тоже были оценены пользователями.
Традиционно на странице приложений вы найдете и лучшие приложения по рейтингу, приложения по категориям или различные отдельные выборки. С категорией «Игры» всё аналогично, включая рекомендации. Честно говоря, мне не совсем понятна эта система, но для меня она и не особенно важна. Я сам, например, чаще использую поиск или свою библиотеку, где хранятся ранее установленные приложения. Мне так удобнее.
Что касается Музыки и Фильмов и ТВ, то в России эти страницы нового Магазина Windows 10 недоступны для пользователей. Тем не менее, я могу рассказать, что Microsoft там показывает. На этих страницах в Магазине в значительной степени показываются новый музыкальный контент, а также топ фильмов. Из других функций — прослушивание демо-версий аудиозаписей и, конечно, просмотр трейлеров.
Поисковая система Магазина наконец-то стала искать по запросу. Если вы не помните, то поиск в Windows Store в Windows 8 имел одну серьезную проблему — в большинстве случаев пользователю выдавались результаты, совершенно никак не связанные с запросом. Новый Windows Store при поиске показывает вам то, что вы хотите найти — и приложения, которые имеют отношение к поисковому запросу. Больше никакого невиданного людьми ужаса. Алгоритмы были обновлены и теперь в поиске вы не найдете лишнего мусора.
Даже если вы все равно остаетесь недовольным результатами поиска нового Магазина в Windows 10, появились также некоторые опции, которые позволяют уточнить их. Microsoft добавила возможность фильтровать приложения по категориям, а также подкатегориям. Например, если вы ищете «Гадкий я» — игру, то Магазин может показать вам и треки из фильма, однако вы можете просто выбрать, чтобы искать только в категории «Игры». Также если вы хотите снова улучшить результаты, то можете просто выбрать другую суб-категорию — например, «Семья и дети».
Последнее, что стоит отметить в случае с новым Магазином Windows 10 — обновления. Обновления в универсальном Windows Store происходят на автоматическом уровне — это одновременно и удобно, и нет (для меня, к примеру). Вообще у меня приложения сами не обновляются, хотя галка стоит — я делаю это самостоятельно, но сейчас не об этом. Вдобавок к автоматике новый Магазин может обновлять не только приложения и игры, но и компоненты операционной системы для обеспечения практически полной автономности. Microsoft ранее сообщила, что через новый Магазин пользователи смогут обновлять как Win32-приложения, так и драйвера для ОС. Пока это не сильно заметно, но с будущими обновлениями наверняка такой функционал будет внедрен.
Новый Windows Store определённо и несомненно лучше, чем старый Windows Store. Вот так.
Настройки
В Windows 10 разработчики компании Microsoft сделали первые шаги в сторону уничтожения классической Панели управления, которая является одной из ключевых частей Windows. Если вы ждали этого, то я вас расстрою — она не ушла! Но и не удивляйтесь, если софтверный гигант уберёт обычную Панель управления окончательно с одним из следующих обновлений. Так почему Microsoft убивает классическую Панель управления и что является заменой этому элементу? Встречайте новое плиточное приложение «Параметры».
Windows 10 включает в себя новое приложение настроек, которые позволяет настроить практически все возможности системы и кардинально отличается от такового в Windows 8 и Windows 8.1. Вы можете настроить буквально всё — меню «Пуск», работу Windows Hello, фоновые приложения и так далее. Теперь всё это подаётся в минимализме и проще для восприятия. Наряду с новыми возможностями новое приложение «Параметры» также включает в себя гораздо более организованный пользовательский интерфейс. По приложению довольно легко перемещаться, потому что оно разделено на категории, и это лучшее решение, когда дело доходит до навигации.
К сожалению, старая Панель управления все еще несёт в себе значительную пользу — в ней по-прежнему есть те настройки операционной системы, которые недоступны для изменения в новом приложении Windows 10. Например, если вы хотите управлять Устройствами и принтерами, то вам необходимо открыть старую-добрую Панель управления — в новых «Параметрах» вы этого не найдёте. Почему с релизом финальной версии Windows 10 Microsoft не убрала классический элемент управления ОС неизвестно, но, бесспорно, Панель управления такая, какой мы её помним, уже в прошлом.
Новое приложение «Параметры» красивое, минималистичное и функциональное — это скажет каждый. Мне оно нравится, и я уже забыл о Панели управления. Но тот факт, что Microsoft ещё не переместила все настройки в «Параметры» и полностью на убрала Панель управления — раздражает и напрягает. Вероятно, из-за того, что пользователи старых поколений Windows привыкли к Панели управления, Microsoft будет убирать её из системы постепенно. Пишите в комментариях, каким приложением пользуетесь вы в Windows 10!
Windows + Xbox
Так как я не имею игровой приставки Xbox One на момент написания обзора в наличии, я не смог протестировать связку Windows 10 + Xbox и главную функцию нового одноимённого игрового сервиса Microsoft — запись действий с экрана ПК. Несмотря на это, я могу описать вам в подробностях функционал приложения Xbox на Windows 10, а также рассказать о том, что вообще представляет из себя этот сервис для последней версии десктопной платформы софтверного гиганта.
Итак, вместе с Windows 10 корпорация Microsoft представляет новое приложение Xbox с большим количеством интересных функций. Если у вас есть последнее поколение игровой приставки Xbox, то Microsoft отмечает для вас одну из причин обновиться до Windows 10 — стриминг игр с Xbox One на компьютер. На бумаге всё звучит довольно классно и круто, но в действительности новая функция — сплошное разочарование.
Система очень проста в использовании. Запустите новое приложение Xbox на своём компьютере под управлением Windows 10, которое подключается прямиком к вашему аккаунту Microsoft и учетной записи Xbox Live, и включите потоковую передачу изображения. Далее подключите контроллер Xbox через порт USB к компьютеру. Всё готово! Теперь вы можете следить за процессом и играть в популярные Xbox-тайтлы на своём ПК. На самом деле картинка просто передаётся с Xbox на компьютер, и центром управления в данном случае является ПК, а не сама игровая приставка.
Да, функция имеет смысл, но если в целом — зачем это нужно? Почему Microsoft считает, что пользователям будет удобно и лучше играть в Xbox-игры на ПК с маленьким дисплеем (13-15 дюймов, например), а не на большом телевизоре, благодаря своим размерам который может заполонить половину вашей стены в гостиной. Более того, технология в настоящее время находится не на финальной стадии, а только на раннем этапе. Таким образом, Microsoft путём лжи называет стриминг Xbox-игр инновацией в Windows 10, но на самом деле это не так. Итог — у этой функции будет весьма ограниченная аудитория.
А что по поводу приложения Xbox для Windows 10, то здесь уже дела обстоят намного лучше. Разработчики Microsoft решили объединить всё в один сервис, поэтому теперь Xbox — это социально-игровое приложение с доступом практически ко всем возможностям платформы. Для максимального удобства я опишу их в виде списка.
- Главная страница. Главная страница включает в себя ленту действий (последние новости от друзей, сыгранные ими игры, достижения и записи их клипов) и рекомендации пользователей, которых вы могли бы добавить в друзья.
- Мои игры. Думаю, здесь всё понятно. Этот раздел приложения позволяет вам просматривать все установленные на Xbox и ПК с Windows 10 игры, в которые вы играете. Там же можно быстро добавить новые игры или начать гейминг.
- Сообщения. Вы можете общаться с друзьями и другими игроками в Сообщениях. Если у вас есть добавленные игроки, то вы можете отправлять им тексты, изображения и аудиозаписи.
- Оповещения. Здесь вы увидите действия игроков: их оценки «Нравится», комментарии, а также публикации элементов вашей ленты действий и добавление вас в списки своих друзей. Всё просто.
- Достижения. На этой странице вы можете просматривать собственные достижения в играх. Это могут быть как игры из Магазина, так и тайтлы из Steam. Например, у меня хорошая репутация, а Asphalt 8: На взлёт я прошел на половину (50%).Здесь же вы можете получить быстрый доступ к настройке профиля и своим действиям и клипам.
- DVR для игр. Это тот самый раздел приложения Xbox на Windows 10, который хранит ваши игровые клипы и снимки экрана. Вы можете смотреть их на своём ПК и в качестве публикаций в ленте действий. Еще можно зайти в Сообщества и смотреть клипы других игроков. Чтобы сделать клип или снимок, во время игры нажмите Windows + G.
- Магазин. Клик на данный раздел сразу открывает новый Магазин Windows 10.
- Подключиться. С помощью этой функции вы можете добавить устройство, а точнее подключиться к консоли Xbox One. Для успешного добавления нужно ввести IP-адрес устройства в специальном окне, которое откроется сразу же, как только вы войдете в раздел.
- Настройки. Тут вы можете полностью настроить новое приложение Xbox. Включить или отключить работу живой плитки и уведомлений, обновить список игр, изменить настройки конфиденциальности и настроить под себя горячие клавиши для функции DVR.
Континуум
Как указывалось выше, новый режим работы интерфейса Windows 10 Континуум является одной из новых и инновационных функций, которая предназначена, прежде всего, для устройств типа 2-в-1 — гибридов и трансформеров с физическими способами ввода и сенсорным экраном. В своей сущности Континуум позволяет ОС представлять два возможных сценария работы для пользователей — в качестве планшета и настольной версии и наоборот.
Windows 10 в режиме планшета отказывается от мыши и начинает отображение всех элементов в полноэкранном режиме — специально для сенсорных экранов. На панели задач голосовой ассистент Cortana превращается из целой интерактивной поисковой строки в логотип с кружочком(строка появляется при открытии). Также рядом находятся ещё две клавиши — знакомая по Windows Phone «Назад» со стрелкой, а также представление задач (виртуальных рабочих столов). Последняя позволяет быстро управлять запущенными приложениями. Меню Пуск при этом также становится больше в режиме планшета — вместе с живыми плитками. Это не совсем так экспансивно, как было в Windows 8.1, которая имела бесконечную горизонтальную ленту тайлов. Вместо этого, Microsoft просто спрятала все необходимое в меню-гамбургер, и если вам нужно больше приложений — вы можете нажать на специальную клавишу в верхнем левом углу.
Конечно, разработчики Microsoft не забыли и о некоторых полезных жестах. Например, свайп влево открывает Центр уведомлений, а жест вправо — доступ к функции Task View (Представление задач). Свайп вниз закрывает открытое приложение — этот жест вернулся из Windows 8.1. Видимо, пользователи признали его достаточно удобным на сенсорном экране, поэтому он вернулся в новой Windows 10. Все они в целом очень просты и легко запоминаются, и, используя их, вы сможете упростить работу с десяткой.
Самой важной частью технологии можно назвать Континуум в версии для телефонов. Если Microsoft полноценно реализует эту функцию в Windows 10 Mobile, то новые флагманские смартфоны Lumia станут по факту полноценными ПК с десяткой на борту. Дело в том, что универсальные приложения сами адаптируются под диагональ экрана. Вместе с мощным аппаратным обеспечением Microsoft хочет воплотить технологию, которую не удалось воплотить Canonical со смартфоном Ubuntu Edge — подключение компактного устройства к традиционными способам ввода и большому монитору и дальнейшее превращение в такой себе персональный компьютер.
Более того, работать эта технология сможет на беспроводном уровне — по протоколу Bluetooth или с помощью технологии Miracast. Никаких проводов — это же идеально.
Но есть и несколько странностей. Почему режим получил название «Континуум», если в Центре уведомлений его можно одним кликом активировать как режим планшета? Почему не все элементы пользовательского интерфейса адаптируются к сенсорному экрану? Например, в Магазине аватар пользователя и разделы приложения даже после активациии Континуума остаются такими же маленькими — очевидно, попасть по ним пальцем, а не стилусом, будет непросто. Почему на стартовом экране Microsoft влепила меню-гамбургер и спрятала туда все приложения — разве это удобно каждый раз открывать этот элемент, чтобы получить к чему-то доступ? Не думаю. С другой стороны, делается акцент на возможности закрепления живых плиток часто используемых приложений, поэтому здесь всё как-то неоднозначно.
Windows 10: итог
Я участвую в программе предварительной оценки Windows Insider практически с самого начала её пути, то есть с осени прошлого года. Таким образом, я провёл значительное количество времени с Windows 10 и это — неописуемый опыт. Я помню, какой была Windows 10 на первых этапах разработки и теперь, когда пользуюсь финальной версией продукта могу заявить — Microsoft постаралась на славу. Это похвально. В настоящее время я работаю с Windows 10 на своём ноутбуке Dell Inspiron 3521 и операционная система функционирует без каких-либо серьёзных проблем. В целом, я в восторге от Windows 10 — это красивый, современный и действительно инновационный продукт.
В моём любимом удобном виде списков хочу описать хорошие и плохие моменты Windows 10. Думаю, многие со мной согласятся.
Хорошо:
- Windows Insider. Microsoft проделала замечательную работу по фиксации ошибок и налаживании того беспорядка, который пришёл с Windows 8 и Windows 8.1. И вместо того, чтобы гадать над чем-то снова новым и снова уникальным, Microsoft пошла по пути краудсорсинга. Чего хотят пользователи в новой версии ОС? Пусть сообщат об этом непосредственно разработчикам Microsoft и по насчитыванию большого количества голосов за введение той или иной функции или дизайнерского элемента они введут это в продукт. Инсайдеры помогли Microsoft, а Microsoft помогла им. Windows 10 стала совместным плодом трудов, поэтому операционная система подходит не для всех, но для каждого.
- Гибкие новые возможности. Кортана, новое меню Пуск, Центр уведомлений, новый браузер Edge, Windows Hello, общий новый дизайн операционной системы — всё это делает Windows 10 продуктом, который идёт в ногу со временем. После перехода на Windows 10 теперь мне не то что трудно будет вернуться на Windows 8.1 — я этого не хочу и не буду этого делать. Универсальные приложения, интеграция с другими службами Microsoft, функционал Xbox, увлекательные потребительские особенности — это реальные функции, которые позволят работать каждый день просто и без труда, везде и в любое время.
- Windows 10 как сервис. Новый подход к развитию знакомой и привычной всем операционной системы стал одной из самых неожиданных неожиданностей. Подход к Windows 10, как к услуге в корне отличается от всего того, что было в прошлом. Windows 10, в отличии от старых поколений ОС, будет развиваться постоянно, особенно с дальнейшим продолжением программы Windows Insider. Это значит, что Windows 10 будет просто становится лучше и лучше. Даже те функции, которые сейчас отсуствуют в Windows 10 — поверьте, они появятся, но всему своё время.
- Универсальность. Наконец-то Windows — это единый продукт для всего. Windows 10 будет работать на телефонах, планшетах, компьютерах, гибридных и трансформеных устройствах, носимых устройствах, игровой приставке Xbox One, очках дополненной реальности HoloLens и даже в области интернета вещей, то есть на мини-компьютерах, которые даже не имеют дисплея. Windows 10 — самая большая платформа для запуска. Потенциал является полноценно массовым, поэтому не удивляйтесь, если через пару лет вы будете работать с Windows 10 на каждом углу.
Плохо:
- Неготовность продукта. Несмотря на то, что финальная Windows 10 вышла в массы, её нельзя назвать финальным продуктом. В обновлении можно заметить довольно много спорных моментов и компонентов, которые не получили должного апдейта. Все это в совокупности не позволяет назвать Windows 10 кардинально новой системой. Та же до сих пор не убитая классическая Панель управления или старейшие иконки из Windows 98 — кто будет этому рад в технологическом 2015, когда в мире царит минимализм? Конечно, это вопрос времени, потому что, как я уже писал выше, Windows 10 — это теперь сервис. Теперь следует ожидать устойчивый поток обновлений и нового программного обеспечения в Магазине.
Подведя итог, могу с уверенностью заявить, что компания Microsoft наконец-то нашла свой истинный путь — снова, и ребята только начали. Добро пожаловать в эпоху Windows 10, люди!
Windows Lite, Santorini, ModernPC, Windows Core OS, Windows 10X. Вероятно, с многими из этих названий вы уже встречались. Но какая между ними связь?
На самом деле всё довольно просто. Windows Lite, Santorini и ModernPC являются кодовыми названиями недавно представленной Windows 10X. Они использовались внутри Microsoft на разных этапах разработки.
Windows 10X — новая операционная система от Microsoft, построенная на базе проекта Windows Core OS. В настоящее время система предназначена исключительно для складных и двухэкранных устройств, но в будущем это может измениться.
Windows Core OS
Многие задаются вопросами, почему почти каждое обновление для Windows 10 вызывает проблемы или почему так медленно внедряются элементы Fluent Design, которые демонстрировались на различных конференциях. И дело в том, что развивать существующую Windows 10 не так-то просто. В ней используется множество разных технологий и компонентов, некоторым из которых уже около 25 лет. Любое изменение в старом коде может привести к непредсказуемым последствиям.
Решить эту проблему призван проект Windows Core OS — современная модульная платформа, разработанная с использованием передовых технологий. Именно он ляжет в основу новых операционных систем Microsoft для совершенно разных типов устройств. Первым выпущенным устройством под управлением Windows Core OS стала гарнитура дополненной реальности HoloLens 2. В разработке находится новая система для Xbox Series X, а также Windows 10X, о которой мы поговорим далее.
Фактически, Windows Core OS представляет собой современную универсальную платформу, основанную на Universal Windows Platform (UWP). Она лишена устаревшего кода, устаревших интерфейсов графической оболочки и нативной поддержки Win32-приложений. Впрочем, классические приложения по-прежнему будут запускаться, но уже в рамках отдельного контейнера, в который были вынесены все необходимые компоненты.
Windows Core OS является своего рода фундаментом для создания новых операционных систем семейства Windows. Её главной особенностью является модульная конструкция, благодаря которой компания может относительно быстро создавать современные версии Windows для различных форм-факторов.
Рассмотрим архитектуру Windows Core OS на примере Windows 10X. В основе системы лежит OneCore — единое ядро, которое используется во всех существующих версиях Windows 10, предназначенных для ПК, Xbox, HoloLens, Surface Hub, IoT и других. На самом деле перед нами всё то же ядро Windows NT, но под другим названием.
Следующим слоем Windows Core OS является Composable Shell — модульная оболочка, которая может адаптироваться под устройства различных видом и форм-факторов. Его компонентами как раз и являются оболочки, то есть пользовательский интерфейс и опыт использования, создаваемые под устройства разных видов.
CShell можно назвать набором технологий, фундаментом для создания адаптивных оболочек. Теоретически, операционная система может содержать несколько оболочек-компонентов, которые активируются в зависимости от задачи или потребностей пользователя. Например, в Windows 10 можно было бы переключиться с классического рабочего стола на дашборд Xbox One.
Заключительным слоем операционной системы на базе Windows Core OS является набор компонентов. Сюда относится поддержка сотовой сети, контейнера для запуска классических Win32-приложений и многое другое. Модульность позволяет собирать операционные системы как конструктор, поскольку все компоненты и функции совместимы между системами на базе Windows Core OS.
В настоящее время компоненты разных версий систем Windows 10 чаще всего не совместимы между собой. Из-за этого одна и та же функция для разных систем создаётся инженерами отдельно, что заметно невооружённым взглядом. Прекрасным примером является меню «Пуск» в Windows 10 и Windows 10 Mobile. Хоть Microsoft и старалась, чтобы эти функции выглядели одинаковыми, пользователи наверняка замечали различия между двумя вариантами «Пуска».
Таким образом, модульная конструкция Windows Core OS существенно облегчает разработку операционных систем.
Вернёмся непосредственно к Windows 10X. Как мы уже выяснили, это новая операционная система от Microsoft, построенная на базе проекта Windows Core OS и предназначенная исключительно для складных и двух экранных устройств, таких как Surface Neo.
На самом деле это искусственное ограничение, и Windows 10X прекрасно работает на классических устройствах, будь то ноутбуки или планшеты. Вопрос лишь в том, что пользовательский интерфейс пока не оптимизирован для подобных девайсов, а значит использовать систему вряд ли будет комфортно.
Но Microsoft работает в этом направлении. Проект под кодовым названием Pegasus призван адаптировать Windows 10X для классических форм-факторов. Работа над ним будет завершена лишь в 2021 или 2022 году, тогда как первые складные устройства на Windows 10X поступят в продажу уже в конце 2020 года. А пока же можно опробовать систему в эмуляторе.
Windows 10X — это нечто большее, чем просто косметическая модернизация системы для устройств с двумя экранами. Это новая, современная версия Windows, которая была перестроена с нуля с акцентом на производительность и современные вычисления. Она не подвержена замедлению с течением времени из-за установки большого количества программ. Она имеет современный пользовательский интерфейс и более быструю и менее навязчивую систему Windows Update.
Microsoft обещает, что функциональные обновления для Windows 10X будут устанавливаться менее чем за 90 секунд, во время которых вы не сможете использовать своё устройство. Это стало возможным благодаря отделению операционной системы от файлов приложений и пользовательских данных. Установка функционального обновления производится на отдельный раздел диска, с которого и запустится система после перезагрузки.
Пользовательский интерфейс
Windows 10X получил новый адаптивный пользовательский интерфейс, построенный с использованием современных технологий. Он автоматически видоизменяется в зависимости от положения устройства. Это особенно важно для складных устройств, поскольку они могут использоваться в различных режимах, например, в качестве планшета, ноутбука или палатки.
Пользовательский интерфейс Windows 10X выполнен в стиле Fluent Design. Все элементы смотрятся гармонично и современно, чего не скажешь о текущей Windows 10. Сохранилась поддержка тёмной и светлой темы оформления. Поскольку сейчас Windows 10X предназначена только для складных и двухэкранных устройств, интерфейс системы оптимизирован с учётом особенностей использования таких девайсов.
Одним из наиболее заметных изменений является новое меню «Пуск». Microsoft отказалась от привычных живых плиток в пользу более упрощённого вида. В таком варианте оно больше похоже на средство запуска задач или лаунчер, нежели на привычное меню из прошлых версий Windows. В верхней части расположилась поисковая строка, которая может выполнять поиск как по самой системе, так и в интернете. В центре находится сетка установленных приложений, а в нижней части — динамически обновляющаяся область рекомендаций, где отображаются последние документы и посещённые веб-сайты.
Windows 10X получила новую адаптивную панель задач, которая также может изменяться в зависимости от форм-фактора или предпочтений пользователя. В маркетинговых материалах кнопка «Пуск», закреплённые и запущенные приложения располагаются по центру панели задач. Но никто не запрещает включить выравнивание иконок по левому краю как в обычной Windows 10. При использовании сенсорного экрана панель задач сворачивается в тонкую полоску, а вызвать её можно простым свайпом вверх от нижней границы экрана.
Меню «Пуск» и панель задач дополняет новый «Центр уведомлений», в котором большее внимание уделяется быстрым настройкам. К слову, в Windows 10X этот раздел визуально отделён от области уведомлений.
В Windows 10X приложения по умолчанию открываются в полноэкранном режиме на конкретном экране устройства. При желании, приложение можно перетащить таким образом, чтобы оно растянулось на оба экрана. А вот оконной режим в системе не предусмотрен, по крайней мере сейчас. Microsoft считает, что экраны складных устройств слишком малы и использовать приложения в окнах будет не слишком комфортно. Но компания может изменить своё решение в зависимости от мнения разработчиков приложений.
Ушёл в прошлое и привычный «Рабочий стол». Если кликнуть правой кнопкой мыши по рабочему столу, то вам будет предложена возможность изменить фоновое изображение. Никаких ярлыков приложений и пользовательских файлов. Но важно отметить, что речь идёт именно о версии системы для складных устройств, где привычный «Рабочий стол» является излишним. В системе для классических форм-факторов (вспомним проект Pegasus, о котором упоминалось ранее) размещение ярлыков и файлов на «Рабочем столе» могут вернуть.
Устаревший «Проводник» будет заменён современным файловым менеджером, с помощью которого будет осуществляться доступ к пользовательским каталогам. Но ниже вы можете видеть скриншот версии «Проводника» от Windows 10 Mobile, а речь не о ней. Новый «Проводник» для Windows 10X находится в разработке и даже присутствует в эмуляторе, однако запустить его пока невозможно.
По всей видимости, в Windows 10X будут присутствовать динамические обои, которые будут изменяться в зависимости от времени суток и, например, погоды. Ниже вы можете видеть пример таких обоев в утреннем, дневном, вечернем и ночном варианте. Также вы можете заметить динамические облака, которые то появляются, то исчезают.
Изменился и внешний вид этапа первоначальной настройки операционной системы. Как и прежде, вам будет предложено выбрать язык и войти в систему с помощью учётной записи Microsoft. А вот голосовой помощник Cortana, по всей видимости, больше не будет присутствовать на этом этапе установки системы. Проще говоря, нас будет ожидать традиционный этап первоначальной настройки системы.
Ещё одно новшество Windows 10X — Wonder Bar. Это своего рода сенсорная панель, которая отображается либо как часть программной клавиатуры ОС, либо над или под аппаратной клавиатурой, наложенной поверх одного из экранов. Wonder Bar включает в себя программный трекпад, а также область для выбора GIF-файлов и смайликов. Microsoft ожидает, что на этой панели будет отображаться дополнительная информация из приложений. Например, Netflix сможет выводить видео в режиме «картинка в картинке» внутри Wonder Bar, а «Калькулятор» — отображать компактную версию приложения.
Контейнеризация
Контейнеризация выполняемых приложений — одна из важнейших функций Windows 10X. И именно ей будет посвящена заключительная часть нашей статьи.
Что такое контейнер? Это своего рода оболочка из программного кода, внутри которой выполняются приложения. Такой подход необходим для обеспечения более стабильной работы операционной системы и повышения уровня безопасности.
В Windows 10X абсолютно все приложения выполняются в контейнерах. Разработчикам не требуется вносить какие-либо изменения в код своего программного обеспечения. Дело в том, что контейнеризация является неотъемлемой частью архитектуры операционной системы. Сами контейнеры изолированы и отделены от системы, что позволяет лучше контролировать их поведение.
На самом деле обычные потребители могут даже не знать про контейнеризацию в Windows 10X, так как практически все приложения будут работать в новой системе. Причём и устанавливать их можно из любого источника, а не только из магазина Microsoft Store.
В настоящее время в Windows 10X присутствует три типа контейнеров: контейнер UWP, контейнер MSIX и контейнер Win32.
UWP-приложения являются родными и наиболее оптимизированными для систем на базе Windows Core OS, какой и является Windows 10X. Они обеспечивают минимальную нагрузку на систему и наилучшую производительность. Каждое UWP-приложение выполняется в своём собственном контейнере, благодаря чему достигается отличный уровень безопасности и конфиденциальности.
С классическими Win32-приложениями и MSIX всё несколько сложнее. Эти приложения созданы для настольных компьютеров, и, как правило, они являются более мощными, чем UWP-приложения. Но в то же время они менее производительные и оказывают большее влияние на время автономной работы устройств.
Исправить эту проблему призван контейнер Win32. Он представляет собой среду, в котором будут запускаться классические 32- и 64-битные приложения Win32, WinForms, WPF, Electron и другие. Фактически, внутри контейнера находится облегчённая версия обычной Windows 10 со всеми устаревшими компонентами.
Контейнер Win32 не связан с эмуляцией программного обеспечения. Принцип его работы аналогичен подсистеме Windows для Linux второго поколения. Контейнер работает на базе упрощённой служебной виртуальной машины. Она, в отличие от традиционной виртуальной машины, не замедляется с течением времени и потребляет не так много ресурсов. При этом достигается высокий уровень интеграции между Windows 10X и контейнера Win32.
В отличие от UWP-приложений, существует лишь один контейнер Win32, внутри которого будут выполняться все классические приложения.
Если в Windows 10X не запущены какие-либо классические приложения, то работа контейнера Win32 приостанавливается. Если запущенные приложения есть, но все окна находятся в свёрнутом состоянии, то контейнер сокращает потребление ресурсов устройства. Если же какое-либо классическое приложение активно используется, то контейнер выделяет больше ресурсов для повышения производительности работы приложения.
Однако есть и несколько побочных эффектов при контейнеризации классических приложений. Во-первых, они не смогут работать в фоновом режиме. Во-вторых, фоновые задачи будут работать только до момента приостановки работы контейнера. В-третьих, приложения не смогут автоматически запускаться при запуске операционной системы. Впрочем, некоторые из этих проблем могут быть решены в будущем.
Что же касается MSIX-приложений, то они также выполняются в контейнере. Только этот контейнер выполняется внутри контейнера Win32, как вы можете видеть на схеме. Это означает, что все вышеперечисленные ограничения контейнера Win32 будут применяться и к контейнерам MSIX.
Контейнеры Win32 и MSIX избавляют от необходимости в антивирусном программном обеспечении для Windows 10X, что также положительно скажется на производительности и времени автономной работы устройств.
Практически все классические приложения будут совместимы с Windows 10X и будут корректно работать внутри контейнера Win32. Эти приложения по-прежнему будут получать полный доступ к устройствам ввода, DirectX, аудио, медиа, сетевому подключению и печати.
И всё же есть некоторые типы приложений, которые не будут работать в Windows 10X. В частности, пользователи не смогут вручную устанавливать драйверы для устройств. Они будут загружаться автоматически из Windows Update. Также не будут работать программы, предназначенные для форматирования и разделения жёсткого диска на разделы.
Если приложения будут обращаться к функциям, которые отсутствуют в Windows 10X, то это не приведёт к сбоям в работе. Приложения также не смогут повлиять на основную операционную систему, так как все вызовы остаются внутри контейнера.
Рассмотрим ещё одну схему. Как уже говорилось ранее, контейнер Win32 сложнее, чем может показаться на первый взгляд. Он включает в себя ядро, драйверы, набор необходимых файлов и даже реестр.
Приложения, работающие внутри контейнера, полностью изолированы от операционной системы. Они не имеют прямого доступа к системным ресурсам, таким как сетевое подключение, микрофон, клавиатура, мышь и так далее. Windows 10X взаимодействует с классическими при помощи высокопроизводительных RDP-клиентов, которые позволяют обращаться к системным ресурсам, принимать ввод данных и выводить информацию на экран устройства. Для каждого запущенного классического приложения создаётся отдельный RDP-клиент.
Классические приложения внутри контейнера Win32 могут взаимодействовать друг с другом, с файловой системой и реестром так же, как в обычной Windows 10.
Что же касается конфиденциальности, то и здесь не всё так просто, как может показаться. UWP-приложения в Windows 10X могут получать доступ к камере, микрофону, местоположению, библиотекам пользователя в соответствии с разрешениями. Если пользователь разрешил приложению обращаться, например, к микрофону, то операционная система предоставит такую возможность.
В случае с классическими приложениями внутри контейнера Win32 всё несколько сложнее. Пользователь также может управлять разрешениями на доступ к камере, микрофону и так далее, однако эти разрешения будут распространяться на весь контейнер Win32. Проще говоря, если разрешить доступ к камере, то все приложения внутри контейнера смогут её использовать. Если запретить, то, соответственно, ни одно приложение в контейнере не получит к ней доступ.
Заключение
Мы постарались максимально подробно и точно рассказать вам обо всём, что сейчас известно Windows 10X. Но нам предстоит ещё многое узнать о новой операционной системе. С нетерпением ждём конференцию разработчиков Build 2020, которая пройдёт в мае этого года.