О работе ПК на примере Windows 10 и клавиатуры ч. 1

image

Меня зовут Андрей Артемьев, я работаю в 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 выглядит так. О ней мы поговорим подробно чуть позже.

image

Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.

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

image


Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.

Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.

image

Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.

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

image image

Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.

Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.

image

Цифровые схемы работают с данными на уровне нулей и единиц, а аналоговые полагаются на эксплуатирование законов физики. Они выполняют простейшие манипуляции над битами, такие как сдвиги, AND, OR, XOR. Через эти примитивы реализуются более сложные операции. На картинке ниже представлен аналоговый оператор AND реализованный через транзисторы. На выходе схемы ненулевое напряжение будет только если оно есть на обоих входных контактах (Вх1 и Вх2), иначе ноль вольт. Точно так же работает оператор && в C#. Цифровые схемы в конечном счёте основаны на аналоговых. Физически логические элементы в логических схемах могут быть реализованы не только электронными но и механическими, гидравлическими, оптическими и другими способами.

image

Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
image

image
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.

image

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

Основы Операционной Системы


Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям 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, команда целочисленного деления):

image

Для иллюстрации я добавил проверку на режим ядра. Если происходит ошибка деления на ноль, то процессор уведомляет об этому ОС через прерывание (выбрасывает событие). Во время загрузки ОС предоставляет процессору одномерный массив указателей на функцию, который называется вектор прерываний, где каждому индексу соответствует какое-то событие к примеру деление на ноль. ОС знает архитектуру процессора на котором исполняется и может соответствующим образом упорядочить в массиве указатели на функции. 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 использует ячейки вначале ленты для пользовательского пространства, а в конце — для самого себя (пространство режима ядра), в котором и хранятся объекты описывающие состояние системы.
image image
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++. В укрупнённом виде Винда выглядит так:

image

Давайте быстренько пробежимся по её компонентам снизу вверх:

  • Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
  • HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.

    Что такое Advanced Configuration and Power Interface? До 1996 года когда вы выключали компьютер через UI, ОС сохраняла состояние системы и потом показывала сообщение что можно отключать питание нажав кнопку на корпусе.
    image

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

  • Device Drivers — говорит само за себя. Драйвер это код скомпилированный в файл с расширением *.sys, он может содержать как код который работает со внешним устройством, так и к примеру код антивируса который сканирует процессы и системную память. Process Explorer от SysInternals так же полагается на драйвер для получения информации о процессах.
  • KernelKernel 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
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 412

    +5
    Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge.

    Вопрос не по сути статьи, но всё же: вы работаете в российском отделении Майкрософт?
    Мой вопрос вот в чём: ведётся ли в России в Майкрософт реальная разработка продуктов или же местное отделение занимается только продажами и сопровождением?
      +14
      Я работаю в Редмонде, США. Я могу ошибаться, но насколько знаю ведётся, но не в таких количествах как в штаб-квартире. Подробности лучше узнать у тех кто там сейчас работает.
        +4

        Ведётся, например я работаю в Москве и занимаюсь проектом Azure Notification Hubs.

        +2
        Андрей, а скажите — сколько (примерно) процентов мощности компьютера тратится на бесполезную для пользователя работу (сбор и отправка телеметрии и т.п.).
        И насколько возросла эта величина при переходе Windows 7 -> Windows 10?
          +9
          Такими данными я не располагаю. Телеметрия играет важную роль, потому как по ней мы можем видеть статистику регрессий и ошибок, которые оперативно устраняем. По телеметрии можно сказать какая функциональность более популярна, какая менее и отсюда видеть дальнейшее развитие Windows. Выгода для пользователя от телеметрии отсрочена по времени, потому как в будущих обновлениях он получит более стабильную и быструю ОС.
          Новый функционал скорее всего будет иметь ошибки, потому как любому софту нужно пройти проверку временем.
          Телеметрия не должна занимать большой объём ресурсов, так что если у вас комп работает медленно, то проблема скорее всего в другом и нужно самостоятельно делать диагностику компьютера, но это уже отдельная тема. Если вы можете воспроизвести проблему, то:
          1. Нажмите WinKey+F
          2. Опишите как воспроизвести проблему, по английски желательно
          3. На 4м шаге (Add More Details) нажмите «Recreate my problem» — и воспроизведите проблему.
          4. Теперь Submit. К нам в систему придёт уведомление вместе с диагностической информацией.
          • НЛО прилетело и опубликовало эту надпись здесь
              +3
              потому как в будущих обновлениях он получит более стабильную и быструю ОС.

              Заплатив за это своей приватностью и безопасностью.

              Так ведь и не получит же. Каждая следующая ОС и медленнее, и нестабильнее.
                +1
                потому как в будущих обновлениях он получит более стабильную и быструю ОС.

                Так ведь и не получит же. Каждая следующая ОС и медленнее, и нестабильнее.


                После WinXP была существенная регрессия в WinVista и небольшая регрессия в Win8.0
                С тех пор наблюдаю только рост стабильности. По всем WinVista -> Win7 -> Win8.1 -> Win10
                  +2
                  По поводу «роста стабильности» — сравните количество жалоб на проблемы после очередного обновления Win10 с количеством жалоб после обновления XP/Win7.

                  И скорость безусловно падает, но это происходит со всеми версиями без исключения. Те, кто говорит о более высокой скорости новой версии, или сравнивают свежеустановленную с замусоренной, или попутно с обновлением системы обновили и железо, или столкнулись со специфической конфигурацией железа/софта, в которой старая система была сильно неоптимальной.
                    0
                    По поводу «роста стабильности» — сравните количество жалоб на проблемы после очередного обновления Win10 с количеством жалоб после обновления XP/Win7.


                    Жалоб где? В интернете?
                    В связи со значительно большим охватом аудитории интеретом в 2002 (WinXP вышла) и в 2015 (год выпуска Win10)?

                    И скорость безусловно падает, но это происходит со всеми версиями без исключения.


                    Не всегда.

                    Еще на довольно старом железе был удивлен более высокой скоростью работы WinXP по сравнению Win95. Хотя на большем количестве железа — было наоборот.

                    Ну а конкретно сейчас WinVista -> Win7 -> Win10 — скорость однозначно выше.
                    На том же железе.
                    В том числе и для свежеустановленного.
                    Проверено неоднократно.

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

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

                      Каким образом Вы измеряли скорость работы системы? Очень интересно, как можно получить ускорение при объективном увеличении и объема модулей, и количества выполняемых операций, и количества слоев абстракции. А в Win10 добавился еще и гипервизор.

                      Почему у меня результаты всегда и везде строго обратные?
                        –1
                        Почему у меня результаты всегда и везде строго обратные?

                        Если железо изначально недостаточное — то почему бы и нет.
                        Я всегда любил хорошее железо.
                          0
                          Что такое «хорошее железо»? Если значимые для производительности функции железа поддерживаются обеими версиями системы, за счет чего более тяжелая и сложная система может работать быстрее?

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


                            За счет оптимизации.
                            Например, не секрет, что процедура загрузки ОС Windows существенно переработана.
                              0
                              Она переработана в основном в плане зависимостей, чтобы GUI и возможность регистрации пользователя становились доступными раньше. Загрузка и инициализация к этому моменту не завершаются — они продолжаются заметное время после входа в систему. Чудес не бывает. :)
                                0
                                Она переработана в основном в плане зависимостей, чтобы GUI и возможность регистрации пользователя становились доступными раньше. Загрузка и инициализация к этому моменту не завершаются — они продолжаются заметное время после входа в систему. Чудес не бывает. :)


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


                                    А я вообще не выключаю.
                                    В новых версиях великолепно работает просыпание.

                                      0
                                      Я тоже не выключаю. Но мы говорили не о своих собственных предпочтениях, а об объективных свойствах систем.
                                        0
                                        Я тоже не выключаю. Но мы говорили не о своих собственных предпочтениях, а об объективных свойствах систем.


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

                                        Я совсем не ожидаю, что из Винды выкинут весь старый код и перепишут все с нуля.
                                          0
                                          Лично я пока говорил исключительно о скорости работы (в данном случае — загрузки). Вы плавно перевели стрелки на удобство для пользователя. Удобнее стало только в том, что непрерывное время ожидания полной готовности системы разбилось на интервалы, между которыми стало возможно что-то делать. Чуда не произошло — общее время загрузки закономерно растет от версии к версии.
                                        +1

                                        Ну так себе. У меня игровая машина с windows иногда почему-то сама просыпается.

                                          +1
                                          Но бесит не это, бесит то, что нельзя посмотреть логи(журналы) и выяснить — что стало причиной пробуждения. И никакие мануалы на technet не дают ответа на этот вопрос…
                                            0
                                            Я не уверен, всегда ли это получается, но я находил причину просыпания из гибернации ноута HP. Виновником было что-то связанное со звуком Realtek. Только не помню в подробностях, но способ нашел путем гугления. И был журнал, в котором видно, что в такое-то время Realtek пробудил ноут.
                            0
                            Очень интересно, как можно получить ускорение при объективном увеличении и объема модулей, и количества выполняемых операций, и количества слоев абстракции. А в Win10 добавился еще и гипервизор.

                            Так же как и в любом другом ПО — переписав узкие места.
                            Самое большое торможение, как правило, в довольно небольшом количестве мест кода.
                              0
                              Узкие места, как правило, влияют лишь на отдельные параметры производительности. Какие именно глобальные узкие места были в 2k, XP, 7 или 8, и в каких версиях они были переписаны?
                                0
                                Какие именно глобальные узкие места были в 2k, XP, 7 или 8, и в каких версиях они были переписаны?

                                Это вопрос к разработчику — он как раз автор статьи, может, знает.

                                Я наблюдаю только следствия.
                                И где именно запятую в коде поставили разработчики MS знать не могу.
                                  +2

                                  Узкое место вин10 — проводник. Попробуйте походить по папкам в вин 10 и вин хр. в ХР папки открываются моментально, в 10 есть задержка.
                                  И это место становится всё уже и уже.
                                  То же с поиском. Двадцать лет прошло, а поиск всё ещё работает тупым перебором файлов на диске. Есть какая-то индексация, которая почему-то не работает, или мне ни разу не удалось её нормально запустить.

                                    0
                                    Узкое место вин10 — проводник. Попробуйте походить по папкам в вин 10 и вин хр.


                                    Я писал только про улучшения по скорости WinVista -> Win7 -> Win8.1 -> Win10.

                                    WinXP заведомо исключил, ибо она существенно попроще по интерфейсу.
                                      +2
                                      WinXP заведомо исключил, ибо она существенно попроще по интерфейсу.

                                      Да ладно? В проводнике не появилось ничего, чего не было в XP (или это нельзя было воспроизвести дополнениями).
                                      0
                                      В Win10 полно узких мест. Например, откройте страницу установленных приложений (Apps and Features) и начните в поле поиска набирать что-нибудь, начинающееся на «w» или «v». По динамике перестройки списка видно, какое чудовищное количество операций при этом выполняется.
                                        0
                                        Я помню в свойствах VPN соединения нельзя было отключить в 10ке «Default gateway», когда она только вышла и весь трафик шёл через VPN. Какими-то хитрыми правками реестра кажется отключалось, но чинить это вроде бы микрософт не собирался… и объявил это фичей.
                                        Хотя может быть передумал уже
                                          0

                                          Кажется начиная с Windows 8.0 VPN можно создать с помощью PowerShell. Там можно указать опцию SplitTunneling и трафик будет делиться.

                                      0
                                      Какие именно глобальные узкие места были в 2k, XP, 7 или 8, и в каких версиях они были переписаны?

                                      В книгах «Внутреннее устройство Microsoft Windows» приведено множество примеров подобных оптимизаций. Перечитывать их для вас не буду, но вот первое попавшееся:
                                      Наконец, в Windows Server 2003 улучшена сихронизация переключения контекста потоков, так как теперь оно синхронизируется с применением спин-блокировки, индивидуальной для каждого потока, а в Windows 2000 и Windows XP переключение контекста синхронизировалось захватом общесистемной спин-блокировки обмена контекста.
                                        0
                                        Вы действительно не понимаете, что подобные оптимизации дают «органолептически ощутимый» эффект только на многопоточных и высоконагруженных приложениях, или просто больше было не на что сослаться? :)
                                          0
                                          Я не помню все оптимизации из книги, о чём и написал. Прочтите её, многое узнаете. Можно сразу несколько изданий, их содержание всё таки меняется.
                                            +2
                                            Я эти книги читаю регулярно. А еще я делаю системный софт и драйверы ядра. Это дает мне возможность видеть, что практически все оптимизации касаются глубоко внутренних алгоритмов, без чего высоконагруженные системы не в состоянии эффективно справляться со своими задачами.

                                            Практически во всех остальных системных компонентах (в первую очередь в GUI) используется код от плохого до ужасного (чем выше по уровню — тем хуже). Он там может изящно выглядеть, быть очень объектно- или событийно-ориентированным, но объем и накладные расходы там чудовищны. И никто не будет его оптимизировать, поскольку убедить пользователей почаще менять железо гораздо проще.
                                              0
                                              Согласен с вами, и не понимаю, о чём вообще спор. Оптимизации, исправления и улучшения есть? Есть, вы сами это признали, притом как раз в глобальных местах типа ядра. А то, что GUI не улучшают — так про это вы не писали. GUI не глобальная вещь.
                                                0
                                                Когда говорят «система стала работать быстрее», в большинстве случаев имеют в виду именно GUI настольных выпусков. А они, за редким исключением, от версии к версии работают медленнее, и иллюзия ускорения чаще всего возникает благодаря одновременному обновлению железа и/или установке чистой системы взамен набитой мусором.
                                                +1

                                                Тоесть если оставить ядро, а гуй сменить на самопальный, то работать в целом будет лучше, чем на старой системе и быстрее, чем на новой?

                                                  +1
                                                  Скорее да, чем нет. Хотя и в ядре тормоза тоже добавляются, но не так оголтело, как на верхних уровнях, поскольку для оценки производительности ядерных подсистем есть множество объективных тестов, в которых тормоза сразу же становятся видны.
                                      0
                                      А в Win10 добавился еще и гипервизор.

                                      Зачем его запускать, если он не нужен?
                                        0
                                        Внутриядерный гипервизор (Patch Guard, Device Guard и т.п.) не спрашивает, когда ему запускаться. :)
                                          0
                                          Внутриядерный гипервизор (Patch Guard, Device Guard и т.п.) не спрашивает, когда ему запускаться. :)


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

                                          А уж тем более при аппаратной поддержке, которая давно имеется.
                                            0
                                            В любой винде изрядное количество UI, которые и запускаются, и работают на порядки медленнее пользовательской реакции. В том числе достаточно элементарные, тормозящие по тем же причинам, что и пресловутое чтение одного и того же сотню тысяч раз подряд.
                                    0
                                    Количество пользователей Windows сильно выросло. Сейчас 1.5 миллиарда устройств на разных Windows. Аудитория пользователей становится всё более массовой и специально для массового технически не подготовленного пользователя сделали Windows Light, он же Windows 10x. С ростом пользователей растёт и количество уникальных конфигураций машин и количество жалоб.
                                      +1
                                      По поводу «роста стабильности» — сравните количество жалоб на проблемы после очередного обновления Win10 с количеством жалоб после обновления XP/Win7

                                      Ой, а поделитесь пожалуйста этой статистикой. Никогда ранее не общался с ответственным за это человеком.
                                      А то обычно в интернете только газификация луж в стиле: «вот раньше технари решали все проблемы сами, а сейчас инфантильные меллиниалы выросли и только в твиттер гадят о своих проблемах».
                                      Хотелось бы видеть объективные цифры из багтреккеров.
                                        0
                                        Увы, объективные цифры мне недоступны. Но сообщений типа «большое количество пользователей Windows столкнулось с проблемами в результате последнего обновления» (и соответствующих обсуждений) стало больше. Именно не отдельных проблем, а достаточно массовых.
                                          0
                                          Сообщений действительно стало больше. Но я в силу профессиональных обязанностей на протяжении последних 10-15 лет читаю список исправленных и новых проблем под каждым выпускаемым патчем и субъективно не заметил увеличения количества проблем.
                                          Known bugs были под каждым патчем начиная с 2003 винды. Это норма при разработке ПО. Просто это никогда не считалось новостью.
                                          Но сейчас блоггер — это же профессия, и важна частота и громкость написания заголовков, а не погружение в тему (например сравнительный анализ исправленных/известных проблем по сравнению с тем же месяцем прошлого года. Но новости из этого будет высосать совсем сложно, потому что сильных отклонений не будет).
                                            +1
                                            Норма — это известные ошибки, вызывающие локальные, устранимые известными же средствами проблемы у небольшой доли пользователей.

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

                                            Если MS взял на себя право устанавливать пользователю обновления не только без его явного согласия, но и против его явного несогласия — ему неплохо бы взять на себя заодно и обязанность по устранению всех возникших проблем своими силами. А то ведь выгоду получает прежде всего MS, а проблемы целиком ложатся на пользователей.
                                  +1
                                  Телеметрия должна быть отключаемая. А еще лучше делать отдельные тестовые сборки с телеметрией и удалить ее из обычных.
                                  Действительно, существует же debug версия Windows.
                                  +1
                                  Выгода для пользователя от телеметрии отсрочена по времени, потому как в будущих обновлениях он получит более стабильную и быструю ОС.

                                  Разница между нажатием кнопки «Послать отчёт об ошибке» и «посылаем в фоне всё, до чего можем дотянуться» очевидна, правда? Причем, первый вариант был/есть во всех версиях Windows, а вот второй появился массово только в Windows 10 и его добавили некоторые обновления для 7 и 8.х. Стало быть, вопрос очевиден: зачем оно тут? Вопрос риторический, ибо и так понятно зачем.

                                  И я в курсе за лень/нежелание пользователей сообщать об ошибках. Про это уже была тут статья от другого работника M$. Но ведь у M$ и так достаточно большой штат тестеров. Неужели настали тяжелые времена и нужно сократить расходы на тестеров, задействуя бесплатно обычных пользователей?
                                    0
                                    Но ведь у M$ и так достаточно большой штат тестеров. Неужели настали тяжелые времена и нужно сократить расходы на тестеров, задействуя бесплатно обычных пользователей?

                                    Как там, в 2013-м? Давно уже сократили и переложили.
                                      +1
                                      Быстрый гуглёж на тему сокращения штата тестировщиков в M$ показывает дату от 2015 и далее. Опять же, вышеупомянутая мной статья говорит за второе полугодие 2014. Но это всё речь за внутриштатных сотрудников. А ведь были ещё и внештатные, вроде как. В любом случае:
                                      1. В 2013 всё пучком.
                                      2. Сокращение попадают в аккурат с выходом 10, что как бы намекает.
                                      0
                                      В мире уже почти 1 млрд Windows 10 машин, все аппаратные и программные конфигурации в тестовой лаборатории воспроизвести невозможно.

                                      Когда в обновлении ОС имеются потенциально опасные изменения, они включаются не сразу, а постепенно. Такие изменения выглядят примерно так:
                                      if (Features::TheNewFeatureEnabled()) {
                                         // new code
                                      } else {
                                        // old code
                                      }
                                      

                                      Если новый код работал нормально у небольшой фокус-группы, он постепенно распространяется на всё большее число машин. Если всё хорошо, то в следующем обновлении старый код вместе с if-конструкцией удаляется. Так что телеметрия это не только маркетинговые данные, к слову я не знаю всё содержание телеметрии.
                                    +1
                                    Ну или мне можете в личку написать о том как происходит проблема.
                                      –1
                                      Телеметрию, виндовс дефендер и прочий паразитный софт можно отключить через «Пуск->Edit group policy».
                                        +1
                                        Что лучше ставить вместо дефендера?
                                          +3
                                          У меня новый макбук. На нем стоит Windows 10. Пока не застопил телеметрии и дефендеры вентилятор жужал как бешеный. Сейчас тишина и спокойная работа. В моем случае, например, единственный выход который нашел — ничего не ставить.
                                            +1
                                            Ну вообще эти компоненты не должны создавать такую нагрузку, по крайней мере постоянно. Мне вот стрёмно без антивируса пользоваться компом.

                                            Если будете испытывать такую проблему то будем признательны если нажмёте Win+F, заполните описание проблемы и нажмёте кнопочку воспроизвести проблему, а после воспроизведение — submit.
                                              +4
                                              Мне как разработчику антивирус создает больше проблем, чем приносит пользы. Много раз было так, что я тратил кучу времени на поиск непонятной проблемы в работе софта, а оказывалось, что это Антивирус после запуска блокировал DLL, после чего программа тупа висела и ничего не делала, что там делал Антивирус одному ему известно. То же самое с Windows Defender. Свою новую прогу запустил на ноуте жены под Win10: ничего не происходит. Запускаю еще раз, еще раз… ничего не происходит… через 5 минут появилось окно. Оказалось, что какой-то Windows «Defender» в это время отправлял файл программы куда-то на проверку. Программа тупа была в подвешенном состоянии. Таких проблем в последнее время наблюдаю все больше и больше. Про свой Макбук я уже написал. Пока не поотключал все сервисы связанные с безопасностью, вентилятор жужал как пылесос.
                                                0
                                                А что программа делала если не секрет?
                                                  0
                                                  Программа по сути движок Хрома с оберткой под .net (CEF Chromium), в котором загружалась страница с определенного IP адресса и отображалась.
                                                    +1
                                                    Компиляцию C++ программ в Visual Studio — defender замедляет сильно.
                                                    При сборке большого проекта (очень много файлов было), если он был включен — у меня сборка занимала минут 30, без него 10.
                                                    i5, Haswell, Ram 32Gb, SSD evo860
                                                    Может быть архитектура процессора была не нова, и на более современных эффект его влияния был бы меньше.
                                                      +1

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

                                                    0
                                                    кстати, когда качаешь большой аддон к танкам от protanki, то комп может зависнуть на очень долго. Файл-то большой, пока Defender весь его проверит, пока отправит сэмпл, а при этом часть винды тупо висит в залипшем состоянии.
                                                    +2
                                                    Вообще, если такое поведение антивируса (отправлять в облако на проверку) — дефолтное, и никаких подтверждений от пользователя не спрашивается, то это ещё большая дыра в безопасности, чем вся телеметрия вместе взятая…
                                                      0
                                                      С Касперским такая же неприятность вышла — когда к ним файл АНБ попал.
                                                      –1
                                                      Много раз было так, что я тратил кучу времени на поиск непонятной проблемы в работе софта, а оказывалось, что это Антивирус после запуска блокировал DLL, после чего программа тупа висела и ничего не делала, что там делал Антивирус одному ему известно.

                                                      А пробовали включать каталоги с программой в исключения?
                                                        +3

                                                        А пробовали найти где добавляются исключения?
                                                        -Все параметры
                                                        -Обновление и безопасность
                                                        -Безопасность виндовс
                                                        -Защита от вирусов и угроз
                                                        (в этом месте для чего-то открывается новое окно настроек
                                                        -Управление настройками
                                                        -крутим глубоко вниз
                                                        -добавление или удаление исключений
                                                        -добавить исключение.


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

                                                          –2
                                                          И, да, через время исключения странным образом могут пропасть. Не отследил зависимости, пока продолжаю наблюдение.

                                                          ОС Windows единая для всех типов пользователей.
                                                          А большинство пользователей — уровней «домохозяйки». От них убрали, и это совершенно правильно, подальше, чтобы те сами себе не навредили.

                                                          Для IT-шника не есть проблема поднастроить ОС под себя. Он же специалист?

                                                          Некоторое ПО умеет само добавлять исключения в Defender.
                                                          Например, ПО семейства JetBrains IDE.

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

                                                          А еще есть Group Policy
                                                        +1
                                                        По поводу «блокировал DLL» вспомнилось, что в десятках (не помню, сразу или по мере развития) за каким-то чертом отключили сообщение об аварийном завершении приложения. Если что-то вдруг внезапно и тихо закрылось, без логов не поймешь, кто виноват.

                                                        А еще бывает, когда приложение падает именно на процедуре закрывания окна/окон — тогда пользователю вообще никак не видно, что оно завершается аварийно, и он долго может считать, что все завершилось корректно, и начнет что-то подозревать лишь после того, как базы успеют побиться безвозвратно.
                                                      0
                                                      У меня новый макбук. На нем стоит Windows 10.

                                                      Нечестивец, грешник.

                                                        0
                                                        Просто я очень люблю Windows, а по долгу службы приходится иногда под Мак программки писать. Вот и приходится брать Макбук, а поверх винду ставить. Пока это единственный рабочий вариант усидеться на двух стульях.
                                                      0
                                                      Сторонний фаервол типа Comodo (вообще, можно любой фаервол приложений, т.е. с возможностью блокировки доступа отдельным процессам) и никаких антивирусов, браузер должен защищаться через блокировщики контента, а непроверенный софт можно просто не ставить…
                                                        +1
                                                        >> Что лучше ставить вместо дефендера?
                                                        Чем меньше в системе сомнительного софта, тем безопаснее и стабильнее работает система, так что лучше ничего не ставить вместо дефендера.
                                                        Если приходится дело иметь с виндой, то лучше держать ее в виртуалке/облаке и не хранить в ней приватную информацию, пароли, ключи.
                                                          +2
                                                          Ничего. Нет, серьёзно. Антивирус не нужен человеку, который понимает. как работает компьютер.
                                                          0
                                                          Действительно, полностью можно отключить?
                                                          Подскажите, где можно про это прочитать?
                                                            +1
                                                            Я использую утилиту DoNotSpy10, но не уверен, что она полностью выключает телеметрию.
                                                              0
                                                              Она же просто за вас включает и выключает стандартные настройки Windows. Просто не надо самому лазить по бесчисленным менюшкам. Насколько мне известно, больше она ничего не делает.
                                                                +1
                                                                Никакими стандартными настройками в интерфейсе не отключить процесс «Antimalware service», если конечно не считать удобным user-friendly интерфейсом редактор реестра. А WinAeroTweacker у меня его вырубил.
                                                                +1

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

                                                                  0
                                                                  А это случайно не нарушение прав?
                                                                  Одному тут пригрозили уголовным делом за отключение обновлений.
                                                                    0
                                                                    Процитирую, к чему апеллируют по ссылке
                                                                    6. Обновление Программное обеспечение периодически проверяет наличие системных обновлений и обновлений для приложений, а также скачивает и устанавливает их для вас. Вы можете получать обновления только от Microsoft или через авторизованные источники, и Microsoft может потребоваться обновить вашу систему, чтобы предоставить вам эти обновления. Принимая условия настоящего соглашения, вы даете согласие на получение автоматических обновлений такого типа без каких-либо дополнительных уведомлений.

                                                                    Это разве не может трактоваться как «Я разрешаю ОС ставить автоматом обновления», при этом явного запрета на отключения нету. Или как это работает?
                                                                      0

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

                                                                        0
                                                                        Я правильно вас понял, что вы тоже считаете этот пункт не поводом для уголовного дела?
                                                                          0

                                                                          Правильно. Но я не юрист, я говорю с позиции здравого смысла. А с юридической стороны здравый смысл далеко не на первом месте.

                                                                            0
                                                                            Насколько я помню, на других ресурсах этот маразм уже разбирали. Суть в том, что это модератор, который строго говоря к Microsoft отношения не имеет, ни за что не отвечает и озвучивает лишь своё мнение, а не Microsoft'овское. Большинство людей сошлось на том, что даже с юридической точки зрения он озвучил полнеший бред.
                                                                              0
                                                                              То что он отношения к МС не имеет это и так понятно. Этот пост, вроде, даже в сми публиковали, емнип)
                                                                                0

                                                                                Тем не менее, вопрошающий забанен до сих пор.

                                                                                  0
                                                                                  А вот это уже тупость какая-то.
                                                              +2
                                                              Телеметрия и подобные вещи отъедают исчезающе малую долю производительности. На порядки больше уходит из-за неоптимальной многослойности взаимодействия верхних уровней кода с нижними. Посмотрите в Process Monitor, сколько одинаковых, повторяющихся запросов к одним и тем же ресурсам делается при самых простейших операциях, начиная с подготовки PE-файла к загрузке в память. В Resource Monitor посмотрите, сколько будет считано с диска и записано на него при запуске, например, Computer Management Console и подобных средств (просто для запуска, не доходя до конкретных операций).
                                                                +3
                                                                Почему для открытия меню Windows читает один файл сто тысяч раз
                                                                Кстати, очень помогло удаление папки \Users\%username%\AppData\Roaming\Microsoft\Windows\Recent и создание вместо неё файла с таким же именем с аттрибутом readonly.

                                                                Или, скажем, стандартное приложение «Фотографии», весящее 350 МБ, открывающееся 15 секунд (а мне же просто фотку глянуть!) и по функциональности, как бы помягче, далеко от IrfanView весом в 23 МБ.
                                                                  +2
                                                                  Я бы сказал, что не
                                                                  далеко от IrfanView
                                                                  , а просто пропась между ними
                                                                    +1

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

                                                                      0
                                                                      Paint.NET клевый на замену обычному паинту.
                                                                        +1

                                                                        Как раз таки нет. С паинт.нет так и не сдружился. Для простых действий он слишком сложен, а для сложных слишком прост. Я сильно обрадовался, когда паинт не стали заменять паинтнетом.

                                                                        0
                                                                        Из встроенных програм только калькулятор не приходилось заменять.

                                                                        А я и его заменил, уж очень убого выглядит метрошная версия. Калькулятор из ReactOS оказался как раз.
                                                                      0
                                                                      и создание вместо неё файла с таким же именем с аттрибутом readonly.

                                                                      Последние файлы отключаются через обычный интерфейс, и в этом каталоге будет пусто.
                                                                  +10
                                                                  Резистор и конденсатор раньше не относились к полупроводниковым устройствам.
                                                                  image
                                                                    +3

                                                                    В качестве электролита в танталовых конденсаторах используется диоксид марганца. Данный оксид является твёрдотельным полупроводниковым материалом.

                                                                      –1
                                                                      Может немного не в тему, но конденсаторы используются в платах RAM для представления нулей и единиц, где конденсатор заряжен = 1 и разряжен = 0. Из их последовательностей и формируются байты.
                                                                        0
                                                                        Действительно, конденсаторы являются частью интегральных микросхем.
                                                                        Меня сбило изображение отдельной детали.
                                                                          +1
                                                                          В электронике принято проводить линию раздела по активным элементам: т.е. полупроводниковые элементы это такие, в которых управление потоками энергии выполняется полупроводниковыми элементами. Конденсаторы и резисторы не входят в группу«активные элементы» независимо от их устройства и к группе «полупроводниковые элементы» не относятся.
                                                                            +1
                                                                            К «полупроводниковым приборам» не относятся. А к «элементам полупроводниковых микросхем» — вполне.
                                                                          +1
                                                                          Да и сейчас не относятся. Даже если входят в состав интегральной схемы и сделаны из кремния. Для их функционирования не используется специфика полупроводников: либо проводник (с каким-то удельным сопротивлением), либо изолятор (с каким-то током утечки и пробивным напряжением). А вовсе не ширина запрещенной зоны, легирование, pn-переходы и т.п.
                                                                          0
                                                                          Несколько вопросов не по теме, но по Вин 10 с надеждой получить ответ отличный от догадок:

                                                                          1) Вин 10, два аккаунта пользователей — А (главный с паролем) и Б (без пароля).
                                                                          1.1) Пользователь аккаунта Б выключает компютер.
                                                                          Вопрос: как пользователю А включить свой компьютер, чтобы сразу же не попасть в аккаунт Б?

                                                                          1.2) Пользователь А выключает компьютер.
                                                                          Пользователь Б включает компьютер и логинится в аккаунт Б.
                                                                          Вопрос: каким хреном под аккаунтом А запускаются приложения из автостарта, без захода в этот аккаунт?

                                                                          2) Почему иногда при включении своего компьютера, винда выдает какое-то говно-окно, с полностью не нужной инфой, блокирую доступ к аккаунту, пока я не разберусь с говном в окне? В настройках снят флажок с «Показывать новинки винды».

                                                                          3) Почему в Вин10 присутствуют баги еще с ХР(как минимум в оболочке)?

                                                                          4) Что по мнению Майкрософт должно происходить на начальном экране логина при нажатии на кнопку Win на клавиатуре? Открываться шторка чтобы попасть на ввод пароля/пина, нет? )

                                                                          5) Почему Вин 10 может включить Мой Персональный Компьютер для обновления, но выключить не может? Т.е. компьютер может так проработать без присмотра несколько месяцев…
                                                                            +2
                                                                            Сразу отвечу на №3. Баги могут присуствовать по 3м причинам:
                                                                            1. О них не знают
                                                                            2. Они низкоприоритетные и на них пока не выделяют ресурсы
                                                                            3. Это фича ))

                                                                            Можешь мне написать про эти баги и я обращу на них внимание тех кто занимается ими.
                                                                              +2
                                                                              — Например, из последних что вылезли, бывает иногда какое-то окно ведет себя как «Поверх всех окон», хотя в нем такого функционала нету, и клики по другим окнам не активируют их.

                                                                              — На панели задач иногда «зависает» контекстное меню — весит пока в него не кликнешь.

                                                                              — Иногда пропадает один из языков раскладки до перезагрузки(эксклюзив Вин10).

                                                                              P.S. Вообще, уже приловчился жить с ними и всего сразу и не напишу. Да и Вин10 последним временем не плохо себя ведет.
                                                                                +1
                                                                                — Иногда пропадает один из языков раскладки до перезагрузки(эксклюзив Вин10).

                                                                                А иногда появляется лишняя раскладка, какая-нибудь азербайджанская, и это при том, что сам языковой пакет азербайджанского языка в системе не установлен.
                                                                                  +1
                                                                                  Подтверждаю, бывает появляется украинская. Лечится ее добавлением и удалением. Но через некоторое время опять может появится.
                                                                                    –1
                                                                                    Вы, случайно, не в Крыму находитесь?
                                                                                    +1
                                                                                    У меня все время такое было. Исходя из наблюдений, он появляется, если запускаешь програму с этим языковим пакетом. Например GOG на русском при включении добавлял мне отдельную рускую раскладку.
                                                                                      0
                                                                                      У меня при использовании удалённых рабочих столов периодически добавляется в русская раскладка для английского языка. Хорошо что лечится перезагрузкой.
                                                                                    0
                                                                                    Например, из последних что вылезли, бывает иногда какое-то окно ведет себя как «Поверх всех окон», хотя в нем такого функционала нету, и клики по другим окнам не активируют их.

                                                                                    Модальное окно?
                                                                                      0
                                                                                      У меня такое происходило с окном любого приложения(например Хром, Фотошоп и т.п.). По ощущениям что, если в момент открытия приложения/появления окна Х переключиться на какое-то другое, то окно Х появится поверх и не захочет перекрываться другими, пока не переключишься на него и свернешь/развернешь.
                                                                                        0
                                                                                        Мне кажется это поведение из-за какого-то стороннего приложения.
                                                                                  0
                                                                                  №2. Это окно с просьбой настроить PIN или распознавание лица? Что показывается в нём?
                                                                                    0
                                                                                    Это окно с нововведениями в Вин 10.

                                                                                    Странно что это кто-то решил форсировать это окно каждому пользователю, прерывая вход в аккаунт.
                                                                                    Первый раз я подумал что произошло что-то серьезное так как раньше таких окон не было замечено.
                                                                                    Подгорело уже когда уже была снята галка «Показывать нововведния» и когда надо было что-то по-быстрому посмотреть на компе, а Майкрософт решил что мне надо сначала узнать о нововведениях в винде ))
                                                                                    0
                                                                                    №4 Это как я понимаю больше про юзабилити. Тут лучше отправить предложение либо проголосовать за эту фичу. Сделать это можно через Feedback Hub, открывается через Win+F.
                                                                                      0
                                                                                      Да, про юзабилити. Удивило, что эксклюзивная кнопка Win не работает на этом экране, хотя я ее там инстинктивно жму.

                                                                                      Фидбек Хаба нету у меня, но надо бы отправить фич-риквест.
                                                                                    0
                                                                                    №5. В настройках питания выставлен уход в сон после определённого времени? И для питания от сети и от батареи?
                                                                                      0
                                                                                      Питание от сети, макс производительность, сон через час.
                                                                                      Но несколько раз замечал компьютер утром включенным в дни обновлений.

                                                                                      Кстати, как определить что включает комп?
                                                                                      Когда-то устанавливал какую-то программу и она делала как-то так что комп после отправки в сон включался обратно автоматически. Но програма давно удалена, задача из планировщика тоже.
                                                                                        0
                                                                                        Кстати, как определить что включает комп?

                                                                                        powercfg -lastwake
                                                                                          +1

                                                                                          О чем это говорит?


                                                                                          Ноутбук периодически включается сам. И это грустно, когда он в закрытом состоянии. Ещё грустнее станет, если это произойдёт когда он будет в сумке.

                                                                                            0
                                                                                            Возможно скапитаню, но что у Вас выставлено в Power Options -> Sleep -> Allow wake timers?
                                                                                              0

                                                                                              Только важные таймеры пробуждения.
                                                                                              Отключил. А как узнать что такого важного пробудило компьютер? В планировщике задача по обновлению стоит с наивысшим приоритетом, в час ночи и в 12 дня с обычным приоритетом адоб GCInvoker.
                                                                                              В них проблема?

                                                                                      +2
                                                                                      По моему 1.2 возникает из за супер новой и супер удобной функции.
                                                                                      Винда, используя ваши учётные данные которые она запомнила, сама запустит под вашей учёткой программы, которые были запущенный в прошлый раз. Неважно что вас рядом может и не быть.
                                                                                      image

                                                                                      А по поводу 1.1 Помню я делал пароль юзеру Б и включал опцию «не требовать пароль при входе» тогда хоть юзер Б и логинился автоматически, но и я в случае чего мог при включении компа зажать кнопку шифт и тогда автовход не срабатывал, нужно было ткнуть мышкой в нужного юзера. Но такое ощущение что в последних сборках десятки эта фича перестала работать.
                                                                                        +1
                                                                                        включал опцию «не требовать пароль при входе»
                                                                                        Эту опцию удалили в последних билдах. Впрочем, удалили из GUI, через реестр всё осталось. Ну и, справедливости ради, это реально небезопасная штука, когда пароль лежит на харде. Как и всякие сторонние утилиты типа EncryptedRunAs (поскольку это «encrypted» вскрывается).
                                                                                          +2
                                                                                          это реально небезопасная штука, когда пароль лежит на харде

                                                                                          Конечно, гораздо безопаснее, когда пароль в облаке
                                                                                            0
                                                                                            Пароль должен храниться в голове.
                                                                                            0
                                                                                            А Bitlocker защищает от чтения данных на диске? Он включен когда эта опция доступна?
                                                                                              0
                                                                                              Bitlocker защищает во время холодного хранения.
                                                                                              Если том смонтирован, то доступен всем.
                                                                                                0
                                                                                                Нет, не всем.
                                                                                                  0
                                                                                                  Прошу развернуть ответ
                                                                                                    0
                                                                                                    Есть у нас сервер бухгалтерский, два раздела, один шифрован битлокером, пароля у админов нет, есть только у бухов — там база SQL.
                                                                                                    Так вот когда я по RDP захожу на сервер с кредами локального админа — я на раздел попасть не могу из своей сессии — раздел при этом доступен SQL серверу полностью и приложение работает нормально, раздел расшифровывается одним из сотрудников и запускает серверное приложение.
                                                                                                      0
                                                                                                      Может это NTFS подсистема?
                                                                                                      Действительно, в битлокер можно добавить SID Protector. Но он нужен для только разблокировки тома.
                                                                                                        0
                                                                                                        BitLocker только на NTFS и можно поставить и явно видно замочек на диске и спрашивает пароль.
                                                                                                        0
                                                                                                        Если даже вы локальный админ, это вовсе не значит, что у вас автоматически есть доступ к любому файлу. Например, MSSQL автоматически переназначает права на файл базы и директорию, где он лежит, оставляя полный доступ только себе.
                                                                                                        Зато локальный админ, как правило, имеет возможность переназначить права и получить доступ. По идее, терминальная сессия не должна это как-то ограничивать
                                                                                                  0
                                                                                                  Bitlocker в конфигурации по умолчанию (когда ключ хранится в TPM) защищает от сценария «некто загрузился с LiveCD или вытащил диск и подключил к своей машине». Если машиной пользуется один человек, то можно настроить Bitlocker на запрос пароля (тогда-то и появляется соблазн настроить автовход в систему). Но лучше таки оставить битлокеру именно функцию защиты от вышеописанных атак (т.е. он будет расшифровывать накопитель совершенно прозрачно, не запрашивая никаких паролей), а вход в учётную запись защитить паролем, который сохранять в своей голове.
                                                                                                  0
                                                                                                  это реально небезопасная штука, когда пароль лежит на харде
                                                                                                  И пусть себе лежит, он и так на мониторе написан, на всякий случай. Безопасность обеспечивается групповыми политиками.
                                                                                                    0
                                                                                                    Эту опцию удалили в последних билдах

                                                                                                    1909, только что проверил, всё на месте, вызывается через control userpasswords2
                                                                                                      0
                                                                                                      Инсайдерских билдах, имелось в виду. Которые между 1909 и будущей 2004.

                                                                                                      Впрочем, я копнул глубже и выяснилось, что этот чекбокс не пропал с концами а его видимость поставили в зависимость от включённости Windows Hello.
                                                                                                        +1
                                                                                                        это прискорбно
                                                                                                  +6
                                                                                                  2) Почему иногда при включении своего компьютера, винда выдает какое-то говно-окно, с полностью не нужной инфой, блокирую доступ к аккаунту, пока я не разберусь с говном в окне?

                                                                                                  Без обид, но это классический «подземный стук».
                                                                                                  «Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит».

                                                                                                  ¯\_(ツ)_/¯
                                                                                                    0
                                                                                                    ИМХО, суть вопроса не о причинах «подземного стука», а вообще о пользе модалок поверх логин-скрина.
                                                                                                    0
                                                                                                    №5 В смысле просто так включить? Не вывод из ждущего режима а просто включение? ПК же не работает?
                                                                                                      0
                                                                                                      1.1 Win+R --> netplwiz --> Advanced --> Secure Sign-in
                                                                                                      +2
                                                                                                      если бы статья была про линукс, то наверно резисторы и конденсаторы стали бы «полупроводниковыми» или даже «проводниковыми».
                                                                                                      ps.
                                                                                                      они есть и полупроводниковые
                                                                                                      ps2.
                                                                                                      это для ответа выше
                                                                                                        +1

                                                                                                        Конденсаторы бывают из металлизированных плёнок или рулонов (стопок) фольги с диэлектриком (пластик, керамика, слюда), резисторы — углеродистыми или металлоксидными. Полупроводниковых среди них — мизерная доля.
                                                                                                        А на картинке какой-то глупый дизайнер "электронные компоненты" назвал по своему хотению "semiconductor" (полупроводниковыми).


                                                                                                        P.S. по теме статьи — посмотрите, как далеко упрятали смену переключателя языка ввода в "индусском коде" win10 против winXP (3 клика в интуитивно понятных местах Ru-En):


                                                                                                        "Изменение сочетания клавиш для изменения языка ввода в Windows 10
                                                                                                        С выходом каждой новой версии Windows 10 шаги, необходимые для смены сочетания клавиш немного меняются. В первом разделе инструкции пошагово о смене в последних версиях — Windows 10 1903 May 2019 Update и предыдущих, 1809 и 1803. Шаги для того, чтобы поменять клавиши для изменения языка ввода Windows 10 будут следующими:


                                                                                                        В Windows 10 1903 и 1809 откройте Параметры (клавиши Win+I) — Устройства — Ввод. В Windows 10 1803 — Параметры — Время и язык — регион и язык.
                                                                                                        Нажмите по пункту Дополнительные параметры клавиатуры ближе к концу страницы настроек. Открыть дополнительные параметры клавиатуры.
                                                                                                        В следующем окне нажмите Параметры языковой панели. Открыть параметры языковой панели.
                                                                                                        Перейдите на вкладку «Переключение клавиатуры» и нажмите «Сменить сочетание клавиш». Изменение параметров переключения клавиатуры.
                                                                                                        Укажите нужное сочетание клавиш для переключения языка ввода и примените настройки."


                                                                                                        При этом сам диалог настроек выглядит очень похожим на Windows XP, но запрятан как "смерть Кащея".

                                                                                                          +4

                                                                                                          Это не только с языком. Попробуйте вручную ввести айпи компьютера. В икспи окно подключения можно было вызвать кликнув на значке соединения в трее.
                                                                                                          В вин10 же нужно:
                                                                                                          -Пкм на значке,
                                                                                                          -выбрать центр управления сетями


                                                                                                          • тыкнуть на нужное подключение, либо зайти дальше в изменение параметров адаптера и тыкнуть там.

                                                                                                          Меня давно интересует вопрос, почему с каждой версией винды, настройки уходят куда-то вглубь? Они и так разбросаны где попало, а тут ещё и по разному называются каждый раз.
                                                                                                          Панель управления… Почему панель управления всё неудобнее и неудобнее? Создаётся впечатление, что МС планомерно избавляется от неё. Таки вопрос — почему и зачем?
                                                                                                          В вин10 в панель управления можно попасть… Не просто туда попасть. Открываем пуск, отстаём огромный список с огромными значками, дальше вспоминаем "панель управления", это служебное, спец возможности, или администрирование? Или может стандартные? Потыкали по всем папочкам, нашли. Вид по категориям, ну совсем не удобен.
                                                                                                          За вид со значками менеджеров-программистов, которые это "пропустили в реализацию", стоит как минимум уволить, а как максимум сжечь на костре. Скажите, почему нельзя было сделать нормальную сортировку по имени? А не это убожество с построчной сортировкой.
                                                                                                          Если правильно помню, когда-то был возможен вид таблицей, зачем это убрали?
                                                                                                          А кто дизайнер меню пуск? Вообще, проводились когда-нибудь опросы, мол, на сколько удобнее стало пользоваться пуском?
                                                                                                          Это всё можно исправить сторонними утилитами, м в этом проблема. Винду во все времена после установки приходилось допиливать до нормальной работоспособности.
                                                                                                          В 10 многое стало проще, например установка драйверов — это божественно — установил ос, включил интернет, всё, драйвера сами ставятся. Почему нельзя такие улучшения делать в системе в целом?
                                                                                                          Очень хотелось бы услышать ответ разработчиков.

                                                                                                            0
                                                                                                            В вин10 в панель управления можно попасть… Не просто туда попасть.

                                                                                                            <win+r>
                                                                                                            control


                                                                                                              0
                                                                                                              Благодарю, запомню. Но это немного не то. Бывает так, что клавиатура не доступна (не подключена, далеко, темно), да и привык я мышкой работать.
                                                                                                              Так-то можно и все нужные настройки через <win+r> открывать, но это костыли.
                                                                                                              Вот, если бы её можно было в пуск впилить, туда, где шестерёнка «параметры», это таки удобнее.
                                                                                                                0

                                                                                                                "Панель управления" планомерно выпиливается из системы. На смену приходит "шестеренка". С каждой версией винды там се больше параметров и ИМХО структурированы они лучше чем в панели управления. К тому же есть поиск опций, если не помните в каком она разделе.

                                                                                                                  +3

                                                                                                                  Это прекрасно, что панель выпиливаются, а на смену ей грядут "всё настройки в одном месте".
                                                                                                                  Проблема в том, что шестерёнка работает ну очень криво и медленно и не удобно, а панель всё глубже и неудобнее.
                                                                                                                  Есть тысячи твикеров для виндовс, в них настройки расположены понятно и удобно. Почему МС не наймет наконец десять тысяч первого сотрудника, которым будет разработчик ui?
                                                                                                                  В России сотни людей, готовых забесплатно слать багрепорты и тестировать новые фичи, предлагать полезные улучшения, но воз и ныне там. Вместо полезных функций и удобного интерфейса мы имеем то, что имеем.

                                                                                                                    0
                                                                                                                    А если помню где и хочу, чтобы там оставалось?
                                                                                                                    «Для вашего удобства мы убрали руль, а педали газ и тормоз поменяли местами».

                                                                                                                    В России сотни людей, готовых забесплатно слать багрепорты и тестировать новые фичи, предлагать полезные улучшения, но воз и ныне там. Вместо полезных функций и удобного интерфейса мы имеем то, что имеем.
                                                                                                                    Нажмите Win+F. Или у вас тоже не нажимается, как и у меня?
                                                                                                                    0
                                                                                                                    более того — открыв панель управления, вы можете на любом апплете щёлкнуть правой кнопкой мыши и создать на рабочем столе ярлык, который потом можно поместить в любое удобное место
                                                                                                                      0

                                                                                                                      Я могу даже написать программу, в которой будут все нужные мне ярлыки, но это не выход, когда приходится работать на компьютере, где нет программы, ярлыков, юсб и интернета. Зачем усложнять то, что и так работало раньше? Захотели больших изменений, ну сделали так, чтобы было удобнее, люди сами перейдут на новые настройки, а про архаичную панель управления забудут.
                                                                                                                      А тут новые настройки убоги, часть из них всё равно отправляет на окна приложений панели управления, часть из них запрятана (кстати, только сейчас понял, это наверное для того, чтобы люди научились пользоваться поиском настроек).

                                                                                                                      0
                                                                                                                      Пкм на Пуске, Control Panel.
                                                                                                                        0
                                                                                                                        Давно устарело.
                                                                                                                          0
                                                                                                                          «Давно» это когда? Использую 1809 только потому что не предлагает дальнейшего обновления, там все есть.
                                                                                                                            0
                                                                                                                            У меня сейчас самая старая из десяток — 1803, в ней Control Panel из Start Menu уже выпилена.

                                                                                                                            У Вас, скорее всего, еще более ранняя версия, впоследствии обновленная до 1809.
                                                                                                                              0
                                                                                                                              Сомневаюсь, что наполнение контекстного меню (не самого start menu) зависит от версии системы, с которой я обновлялся.
                                                                                                                                0
                                                                                                                                Так и я про контекстное (через правую кнопку) меню. И я бы тоже сомневался, если бы в стоящих передо мной четырех версиях (1803, 1809, 1903, 1909) хоть одна имела в этом меню Control Panel.
                                                                                                                                  0

                                                                                                                                  нет этой кнопки

                                                                                                                                    0
                                                                                                                                    Параметры — не оно? У знакомого на 1909 открывает старую панель управления.
                                                                                                                                      0

                                                                                                                                      открывает новомодные параметры. Я помню, когда-то давно там была кнопка панели управления. Только я ставлю альтернативный пуск вместо этого… подобия, так сказать, поэтому контекстное меню недоступно.

                                                                                                                                        0
                                                                                                                                        «Параметры» — это Settings, та самая шестеренка.

                                                                                                                                        Возможно, где-то есть скрытая настройка, чтобы открывать по этой ссылке старую панель, но в панели десятки нет пунктов Display, Location and Other Sensors, Notification Area Icons, Parental Control, Performance Information and Tools, Personalization.
                                                                                                                        0
                                                                                                                        В вин10 в панель управления можно попасть… Не просто туда попасть. Открываем пуск, отстаём огромный список с огромными значками, дальше вспоминаем «панель управления», это служебное, спец возможности, или администрирование? Или может стандартные? Потыкали по всем папочкам, нашли.

                                                                                                                        Использую для этого Win+R -> control -> Enter.
                                                                                                                        P.S. я буду обновлять комменты
                                                                                                                        0
                                                                                                                        весь этот путь проходится гораздо быстрее:
                                                                                                                        ЛКМ значок языка — настройки языка — «выберите метод ввода...» — «сочетания клавиш...»

                                                                                                                        меня больше подбешивают не самые короткие пути к более используемым компонентам — «центр управления сетями» и «устройства и принтеры», к которым раньше был доступ в два клика из раскрывающегося меню
                                                                                                                        хорошо, что пока на них можно делать ярлыки из панели управления и таскать с собой на флэшке
                                                                                                                          +1

                                                                                                                          Это всё прекрасно. Допустим, в виндовс семь, можно по правому клику на значок языка сразу попасть в это окно. и это было удобно:



                                                                                                                          И что мы видим сейчас?
                                                                                                                          "гениайльные" уй-дизайнеры микрософт показывают нам окно на весь экран, в котором в самом верху стоит смена языка, добавление языка. Я ведь каждый день по несколько раз меняю язык системы и закачиваю новые…
                                                                                                                          В очередной раз из быстрых настроек того, что нужно, мы лазим по лабиринтам "параметров". И самое главное — где гарантия, что
                                                                                                                          ЛКМ значок языка — настройки языка — «выберите метод ввода...» — «сочетания клавиш...»
                                                                                                                          будет находиться там же в следующей версии системы? С тенденцией запихивать самые удобные настройки поглубже, скорее всего путь изменится.

                                                                                                                            0
                                                                                                                            я понимаю ваше возмущение и разделяю его, просто поделился шорткатом
                                                                                                                      +3

                                                                                                                      Почему в винде до сих пор нет переключения языка например по capslock?

                                                                                                                        0
                                                                                                                        Я уже не в первый раз про это слышу. Откуда такое требование? Смотрите LowLevelKeyboardHook, чтобы добавить такой функционал.
                                                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                            +2
                                                                                                                            CapsLock — это основная клавиша для взаимодействия с читалкой экрана. Её можно выключить или поменять назначение, в Интернете полно информации как это сделать без написания своей программы.
                                                                                                                            • НЛО прилетело и опубликовало эту надпись здесь