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

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

System

Путь: Процесс не создается за счет исполняемого файла
Родительский процесс: Нет
Количество экземпляров: Один
Время запуска: Запуск системы

Здесь многословить не стоит: этот процесс отвечает за выполнение ядра операционной системы, других процессов и драйверов устройств, поэтому в основном под ним запускаются файлы .sys и некоторые важные для системы библиотеки. В обязанности System входит контроль за управлением оперативной и виртуальной памятью, объектами файловой системы.

smss.exe

Путь: %SystemRoot%\System32\smss.exe
Родительский процесс: System
Количество экземпляров: Один и дочерний, который запускается после создания сеанса
Время запуска: Через несколько секунд после запуска первого экземпляра

Session Manager Subsystem - диспетчер, отвечающий за создание новых сеансов, запуск процессов csrss.exe и winlogon.exe, отвечающих за графический интерфейс и вход в систему, а также за инициализацию переменных окружения. Первый экземпляр создает сеанс нуля и дочерний экземпляр, и как только дочерний экземпляр инициализирует новый сеанс, запуская csrss.exe и wininit.exe для сеанса 0 или winlogon.exe для сеанса 1, дочерний экземпляр завершается.

Если обнаружены проблемы с файловой системой, первостепенной функцией smss.exe является запуск системной утилиты для проверки диска - autochk.
После выполнения этих задач smss.exe переходит в пассивный режим.

Немного о сеансе 0 и сеансе 1

Сеанс 0 и сеанс 1 - это разные типы сеансов Windows, которые используются для запуска процессов.
Сеанс 0 создается при запуске системы, и в нем в фоновом режиме работают службы и процессы Windows.
Сеанс 1 создается для пользовательских процессов.

Chkdsk и autochk - что это вообще, и зачем? А разница в чем?

На самом деле, autochk - это версия chkdsk, которая запускается автоматически smss.exe при обнаруженных проблемах с диском. А разница их в том, что chkdsk можно запустить в среде Windows напрямую из командной строки, а autochk - нет.
Да и autochk работает только с NTFS, что не скажешь про chkdsk - он, в дополнение к NTFS, поддерживает FAT и exFAT.

Кстати!
По сути, chkdsk тоже может запускаться smss.exe, но это зависит от того, что указано в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\SessionManager (здесь хранится информация, предназначенная для Диспетчеpa сеансов ) в параметре BootExecute). При запуске chkdsk Диспетчер сеансов использует параметр /r , что позволяет утилите производить поиск повреждённых секторов (наряду с ошибками файловой системы).

csrss.exe

Путь: %SystemRoot%\System32\csrss.exe
Родительский процесс: smss.exe, который завершает работу перед запуском csrss.exe
Количество экземпляров: Два или больше
Время запуска: Через несколько секунд после запуска первых двух экземпляров - для сеанса 0 и сеанса 1

Client/Server Run-Time Subsystem - подсистема выполнения "клиент/сервер" обеспечивает пользовательский режим подсистемы Windows. Csrss.exe отвечает за импорт многих DLL-библиотек, которые предоставляют WinAPI (kernel32.dll, user32.dll, ws_2_32.dll и другие), а также за обработку графического интерфейса завершения работы системы.
Процесс запускается для каждого сеанса, а именно 0 и 1, дополнительные сеансы создаются при помощи удаленного рабочего стола или за счет быстрого переключения между пользователями.

Что интересно для Windows Server

Можно проверить количество активных сеансов, введя query SESSION в командной строке. Так можно проверить, соответствует ли количество сеансов количеству запущенных csrss.exe.

И еще..

До Windows 7 csrss.exe обеспечивал старт окна консоли, но теперь этим занимается conhost.exe.

wininit.exe

Путь: %SystemRoot%\System32\wininit.exe
Родительский процесс: smss.exe, который завершает работу перед запуском wininit.exe
Количество экземпляров: Один
Время запуска: Через несколько секунд после запуска системы

После получения управления от процесса smss.exe, wininit.exe помечает себя как критический, что позволяет ему избегать нежелательного отключения при аварийном завершении сеанса или входа систему в гибернацию. Целью Windows Initialisation (wininit.exe) является запуск ключевых фоновых процессов в рамках сеанса нуля. Он запускает:

  • services.exe - Диспетчер управления службами

  • lsass.exe - Сервер проверки подлинности локальной системы безопасности

  • lsaiso.exe - для систем с включенной Credential Guard.

Дополнительно на протяжении всего сеанса работы системы wininit.exe отвечает за создание и наполнение папки TEMP. Перед выключением wininit.exe снова "активизируется" - теперь уже для корректного завершения запущенных процессов. .

Кстати!

До Windows 10 lsm.exe (Диспетчер локальных сеансов) также запускался с помощью wininit.exe. Начиная с Windows 10, эта функция перенесена в lsm.dll, которая размещена в svchost.exe.

services.exe

Путь: %SystemRoot%\System32\services.exe
Родительский процесс: wininit.exe
Количество экземпляров: Один
Время запуска: Через несколько секунд после запуска системы

В функции services.exe входит реализация Унифицированного диспетчера фоновых процессов (UBPM), который отвечает за фоновую работу таких компонентов, как Диспетчер управления службами (SCM) и Планировщик задач (Task Sheduler). Словом, services.exe отвечает за управление службами, а также за контроль за взаимодействием служб, обеспечивая их безопасную и эффективную работу.

UBPM: немного для тех, кто видит первый раз

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

Кстати!

До Windows 10, как только пользователь успешно вошел в систему в интерактивном режиме, services.exe считал загрузку успешной и устанавливал для последнего удачного набора элементов управления HKLM\SYSTEM\Select\LastKnownGood значение CurrentControlSet.

А LastKnownGood - что это вообще?

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

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

svchost.exe

Путь: %SystemRoot%\system32\svchost.exe
Родительский процесс: services.exe (чаще всего)
Количество экземпляров: Несколько (обычно не менее 10)
Время запуска: В течение нескольких секунд после загрузки, однако службы могут запускаться в течение работы системы, что приводит к появлению новых экземпляров svchost.exe.

svchost.exe (в Диспетчере задач прописывается как Служба узла) - универсальный хост-процесс для служб Windows, использующийся для запуска служебных DLL. В системе запускается несколько экземпляров svchost.exe, и каждая служба работает в своем собственном процессе svchost, что позволяет изолировать ошибки в работе одной службы от других, хотя в системах с ОЗУ менее 3,5 ГБ службы приходится группировать (см. ниже). Ну а в системах с оперативной памятью более 3,5 ГБ можно увидеть даже более 50 экземпляров svchost.exe.

Злоумышленники часто пользуются преимуществом наличия большого количества процессов svchost.exe, и могут воспользоваться этим, чтобы разместить какую-либо вредоносную DLL в качестве службы, либо запустить вредоносный процесс с именем svchost.exe или что-то типа scvhost.exe, svhost.exe и так далее.
Хотя, как известно, так можно сделать с любым процессом, но с svchost.exe это происходит почаще.

Кстати!

До Windows 10 версии 1703 экземпляры svchost.exe по умолчанию запускались в системе с уникальным параметром -k, благодаря которому была возможна группировка похожих служб. Типичные параметры -k включают:

  • DcomLaunch - служба, которая запускает компоненты COM и DCOM, благодаря которым программы взаимодействуют между собой на удаленных компьютерах

  • RPCSS - служба RPC (удаленный вызов процедур), благодаря которой программы взаимодействуют между собой через сеть.

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

  • LocalServiceNoNetwork - локальная служба, идентичная LocalServiceNetworkRestricted, но не имеющая доступа к сети.

  • netsvcs - группа служб Windows, благодаря которым выполняются задачи, связанные с сетью.

  • NetworkService - служба, которая позволяет выполнять задачи на удаленных хостах, и имеет доступ к сети для обмена данными.

Здесь можно почитать о разделении служб SvcHost.

RuntimeBroker.exe

Путь: %SystemRoot%\System32\RuntimeBroker.exe
Родительский процесс: svchost.exe
Количество экземпляров: Один или больше
Время запуска: Может быть разным

Работающий в системах Windows, начиная с Windows 8, RuntimeBroker.exe действует как прокси между ограниченными приложениями универсальной платформы Windows (UWP) и набором функций и процедур Windows API. В целях безопасности приложения UWP должны иметь ограниченные возможности взаимодействия с оборудованием, файловой системой и другими процессами, поэтому процессы-брокеры а-ля RuntimeBroker.exe используются для обеспечения требуемого уровня доступа для таких приложений.

Обычно для каждого приложения UWP существует один файл RuntimeBroker.exe. Например, запуск сalculator.exe приведет к запуску соответствующего процесса RuntimeBroker.exe.

И такое было: об утечках памяти, связанных с RuntimeBroker

Когда процесс RuntimeBroker еще был в новинку, пользователи во время работы с системой начали замечать, что RuntimeBroker.exe нещадно занимает аж более 500 МБ памяти, что несвойственно для него.
Оказывается, ошибка заключалась в следующем: каждый вызов метода TileUpdater.GetScheduledTileNotifications приводила к тому, что RuntimeBroker выделял память без ее дальнейшего высвобождения. Чаще всего с этим сталкивались пользователи, у которых было установлено приложение «The Time» для измерения времени - оно постоянно обновляло информацию на плитке.

Об этом казусе в Windows 8 можно почитать тут.

Про метод TileUpdater.GetScheduledTileNotifications

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

Те самые "плитки" в Windows 8
Те самые "плитки" в Windows 8

taskhostw.exe

Путь: %SystemRoot%\System32\taskhostw.exe
Родительский процесс: svchost.exe
Количество экземпляров: Один или больше
Время запуска: Может быть разным

Процесс Task Host Window отвечает за выполнение различных задач Windows.
С началом работы, taskhostw.exe начинает выполнять задачи, которые были назначены ему системой, а в течение работы системы выполняет непрерывный цикл прослушивания триггерных событий. Примеры триггерных событий, которые могут инициировать задачу, могут включать в себя:

  • Определенное расписание задач

  • Вход пользователя в систему

  • Запуск системы

  • Событие журнала Windows

  • Блокировка/ разблокировка рабочей станции и т.д.

Двое из ларца: В чем разница между Task Host Window и Task Scheduler?

Task Host Window отвечает за выполнение различных системных задач, например, запуск служб и выполнение запросов на исполнение программ. Taskhostw.exe может использоваться для запуска службы обновления Windows, перехода компьютера в режим сна или ожидания после определенного времени и так далее.

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

lsass.exe

Путь: %SystemRoot%\System32\lsass.exe
Родительский процесс: wininit.exe
Количество экземпляров: Один
Время запуска: В течение нескольких секунд после загрузки

Local Security Authentication Subsystem Service (Служба проверки подлинности локальной системы безопасности) отвечает за аутентификацию пользователей путем вызова соответствующего пакета аутентификации, указанного в HKLM\SYSTEM\CurrentControlSet\Control\Lsa. Обычно это Kerberos для учетных записей домена или MSV1_0 для локальных учетных записей. Помимо аутентификации пользователей, lsass.exe также отвечает за реализацию локальной политики безопасности (например, политики паролей и политики аудита), а также за запись событий в журнал событий безопасности.

Что любят котята: Mimikatz и LSASS

Многим известно, что злоумышленники могут использовать Mimikatz, зачастую для перехвата учетных данных в операционной системе, и делают они это за счет перехвата данных процесса lsass.exe.
Все просто: работает Mimikatz на уровне ядра и внедряется в процесс LSASS или использует метод DLL-injection. Кража учетных данных происходит либо за счет получения доступа к памяти процесса, в котором лежат заветные креды, либо за счет перехвата вызова функций до шифрования учетных данных.
Также Mimikatz не пренебрегает использованием стандартных функций Win32 LsaProtectMemory и LsaUnprotectMemory, которые используются для шифрования и расшифровки некоторых участков памяти с чувствительной информацией.

Чуть больше об lsass.exe можно прочитать тут.
И о любви котят к LSASS - тут.

winlogon.exe

Путь: %SystemRoot%\System32\winlogon.exe
Родительский процесс: smss.exe, который завершает работу перед запуском winlogon.exe
Количество экземпляров: Один или больше
Время запуска: В течение нескольких секунд после загрузки первого экземпляра, дополнительные экземпляры запускаются по мере создания новых сеансов (подключение с удаленного рабочего стола и быстрое переключение пользователей)

Winlogon обрабатывает интерактивный вход и выход пользователей из системы. Он запускает LogonUI.exe, который использует поставщика учетных данных для сбора учетных данных пользователя, а затем передает учетные данные lsass.exe для проверки.
После аутентификации пользователя Winlogon загружает NTUSER.DAT пользователя в HKCU, настраивает окружение пользователя, включая его рабочий стол, настройки реестра и т.д., и запускает оболочку пользователя explorer.exe через userinit.exe.

Совсем чуть-чуть об logonUI.exe

Да, название говорит само за себя: logonUI.exe отвечает за отображение экрана входа пользователя и за взаимодействие с пользователем при входе в систему. Если просто, то вывод того самого экрана входа и поля для ввода учетных данных - старания logonUI.exe.

..И об userinit.exe

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

Кстати!

Обработка команд из CTRL+ALT+DEL, между прочим, тоже входит в обязанности winlogon.exe.
А тут можно почитать о Winlogon еще и узнать чуть больше - и про его состояния, и про GINA, и про все-все.

explorer.exe

Путь: %SystemRoot%\explorer.exe
Родительский процесс: userinit.exe, который завершает работу
Количество экземпляров: Один или больше, если включена опция Запускать окна с папками в отдельном процессе
Время запуска: Интерактивный вход пользователя

По своей сути, explorer.exe предоставляет пользователям доступ к файлам, хотя одновременно это файловый браузер через проводник Windows (тот самый Диспетчер файлов) и пользовательский интерфейс, предоставляющий такие функции, как:

  • Рабочий стол пользователя

  • Меню "Пуск"

  • Панель задач

  • Панель управления

  • Запуск приложений через ассоциации расширений файлов и файлы ярлыков

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

Запуск приложений через ассоциации расширений файлов

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

Также и с ярлыками - при щелчке запускается связанные с ними ресурсы.

Explorer.exe — это пользовательский интерфейс по умолчанию, указанный в значении реестра HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell, хотя Windows может работать и с другим интерфейсом, например, с cmd.exe.
Следует заметить, что легитимный explorer.exe находится в каталоге %SystemRoot%, а не %SystemRoot%\System32.

Explorer - это же браузер, нет?

В старые добрые времена, когда на системах еще стоял Internet Explorer, запуск этого браузера инициировал процесс iexplore.exe, и с каждой новой вкладкой создавался новый экземпляр этого процесса. Сейчас остался только explorer.exe, который ни в коем случае не связан с браузером.
Вместо Internet Explorer на наших системах стоит MS Edge, который имеет процесс msedge.exe, исполняемый файл которого лежит в \Program Files (x86)\Microsoft\Edge\Application\.

ctfmon.exe

Путь: %SystemRoot%\System32\ctfmon.exe
Родительский процесс: Зависит от того, какой процесс запустил ctfmon.exe
Количество экземпляров: Один
Время запуска: При входе в систему

Процесс ctfmon.exe или, как привыкли его видеть, CTF-загрузчик, управляет функциями рукописного и сенсорного ввода, распознавания голоса и переключения языка на панели задач. Также процесс отслеживает активные программы и настраивает языковые параметры для обеспечения поддержки многоязычного ввода.
Ctfmon.exe может быть запущен разными процессами, и это напрямую зависит от того, какие функции ввода или языка используются в системе. Примеры родительских процессов и причины запуска:

  • svchost.exe - использование рукописного ввода или распознавания речи

  • winword.exe, excel.exe и т.д. - использование программ пакета Microsoft Office

  • searchUI.exe - использование поиска на панели задач или приложения из магазина Windows 10

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

Комментарии (24)


  1. NutsUnderline
    08.01.2024 10:16
    +3

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


    1. exc3pti0n Автор
      08.01.2024 10:16
      +1

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


    1. saege5b
      08.01.2024 10:16

      Работает? - Не трожъ!


      1. NutsUnderline
        08.01.2024 10:16

        ну вот как бы да, но вот мне непонятно две вещи: 1) а оно точно работает (и на кого) 2)почему на 7ке мне 4ГБ оперативки норм, а в 10ке 5гигов уже при старте уже занято непонятно чем

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


        1. exc3pti0n Автор
          08.01.2024 10:16

          наверно, это куча служб на автозапуске. все же, думаю, это проказничает куча экземпляров svchost.exe, потому что в win7 это было более оптимизировано) винда считает, что если много оперативы, можно разгуляться))

          тут, кстати, можно об этом почитать https://learn.microsoft.com/ru-ru/windows/application-management/svchost-service-refactoring


        1. romxx
          08.01.2024 10:16
          +8

          очему на 7ке мне 4ГБ оперативки норм, а в 10ке 5гигов уже при старте уже занято непонятно чем

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


          1. nixtonixto
            08.01.2024 10:16

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


          1. NutsUnderline
            08.01.2024 10:16

            повторяю вопрос. чем именно занята память? Даже судя по этому описанию куча процессов память занимают не для того что мне нужно, а для чего то своего


            1. dartraiden
              08.01.2024 10:16
              +2

              повторяю вопрос. чем именно занята память?

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

              Ориентируйтесь в первую очередь на документацию Microsoft, пусть её порой и непросто найти.


              1. NutsUnderline
                08.01.2024 10:16
                +2

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


          1. DrZlodberg
            08.01.2024 10:16
            +1

            Да-да... А потом сидишь и думаешь: почему на машине с 20Гб оперативки внезапно всё наглухо повисло, а индикатор использования свопа упёрся в потолок. А потом оказывается, что при обработке видео система заняла под кэш 18Гб и выдавила в своп всё остальное, пока своп не закончился (монитор показывает, что это именно кэш, а не данные программы). Справедливости ради - под вындой такого не наблюдал. Как отучить это делать линукс - так и не понял.


      1. stopsp
        08.01.2024 10:16

        del


  1. AVX
    08.01.2024 10:16

    Поразительно, но даже названия процессов имеют свой.... как бы назвать... неповторимый набор вызываемых чувств, когда видишь это название. Какие-то ассоциируются с вирусной эпидемией (которые маскировались под svchost, например), какие-то с проблемами переключения раскладки (привет ctfmon, да, и вирусы тоже под него маскировались). Плюс специфичные баги в определённых обстоятельствах вызывают яркие воспоминания (привет, winlogon, зависающий иногда после завершения терминального приложения).

    А в целом, очень много хотелось выделить для цитирования и комментирования - но мне что-то стало лень :) В основном хотел кучу ругательств в сторону М$ про то, что "запускаются через n секунд..." - да блин, ещё пару лет назад я из интереса смотрел сколько у меня линукс запускается (спасибо systemd за удобные инструменты) - так без оптимизаций было 6-10сек. А после того как много чего оптимизировал, время старта стало около 3 секунд. И это без nvme, на ssd sata. Да, я прямо после этого мог запустить например браузер и пользоваться.

    Работающий в системах Windows, начиная с Windows 8, RuntimeBroker.exe действует как прокси между ограниченными приложениями универсальной платформы Windows (UWP) и набором функций и процедур Windows API. В целях безопасности приложения UWP должны иметь ограниченные возможности взаимодействия с оборудованием, файловой системой и другими процессами, поэтому процессы-брокеры а-ля RuntimeBroker.exe используются для обеспечения требуемого уровня доступа для таких приложений. Обычно для каждого приложения UWP существует один файл RuntimeBroker.exe. Например, запуск сalculator.exe приведет к запуску соответствующего процесса RuntimeBroker.exe.

    это вообще ни в какие рамки не лезет - чтобы мне запустить сраный calc.exe, я должен ждать лишние секунды?? Я уж молчу про календарь в десятке - он похоже ещё и в инет куда-то пытается лазить (не смотрел), и отображается только когда пор таймауту видит что нет подключения - буквально секунд 10 проходит. Что может делать простой календарь чтобы отобразить один месяц? Мне например бывает проще свернуть рдп с подключением к рабочему компу с вин10, и на своём глянуть тот же календарь - даже с учётом переключения быстрее получается.

    Короче - мастдай. (ладно, вин7 / 2008r2 пусть будут)


    1. posledam
      08.01.2024 10:16

      После старта я могу полноценно пользоваться системой быстрее, чем отхлебну чай из кружки. Ничего не лагает, не тормозит, чего только не запущено и прекрасно работает в фоне (WSL, виртуалки, СУБД, сервисы, контейнеры россыпью, IDE по несколько штук, отладчики, профайлеры, мониторинг, локальная графана и ELK), да ещё и забываю иногда, что запустил тяжёлую игру и она болтается в фоне.

      Но да, винда мастай. Сто пудово! :)


      1. AVX
        08.01.2024 10:16

        Надо сравнивать в одинаковых конфигурациях (или сходных). А то может у вас проц последнего поколения с десятками ядер и SSD на NVME...
        Для каждой задачи свой инструмент, конечно, но я уже не один раз вижу утверждения что в виндах зашиты таймауты, после которых что-то там делается. Не ожидание ответа службы, программы, получения каких-то данных.. нет, тупо отсчёт времени, и идёт дальше. В одной из статей (тут на хабре кстати) было рассмотрено, как винда ведёт себя при ПКМ для отображения какой-то менюшки - там сотни тысяч ненужных циклов, и баг, который (на тот момент) так и не пофиксили. Может и сейчас куча таких багов существуют, просто компы заметно мощнее, и сглаживают это всё. А на самом деле, может всё работало бы и на компах 15-летней давности и летало бы как самолёт.

        P.S. вот только недавно столкнулся с интересным явлением - новый комп стартовал (от нажатия на кнопку питания) до полного запуска быстрее чем запускался монитор. То есть стоит комп выключенный, монитор в режиме ожидания, комп запускаем, он включается, уже и музыка прошла, и что там в автозапуске запустилось даже, и спустя секунды 2 монитор начинает показывать изображение. Надо уже учитывать насколько быстрый монитор - может ли он запуститься мгновенно (менее секунды). Да там и скорость всего остального уже влияет - успеет ли подняться сетевое соединение (линк, отработать DHCP, присвоиться IP, и т.д.), сколько будет ответ от DNS, какова скорость интернета и т.д. - а то может скорость старта и вообще не важна, если загрузку любой страницы надо ждать ещё полминуты.
        Но вот базовые вещи в работе ОС (для пользователя) - отклик на нажатия клавиш, клики мышкой и т.д. должны быть быстрыми на любом железе, которое считается поддерживаемым, иначе это мучение начинается. Ну и сравнить вин10 и вин7 на одном и том же железе - на вин7 калькулятор мгновенно запускается, на вин10 надо ждать чего-то. Даже notepad.exe и тот ощутимую задержку даёт при запуске в вин10.


        1. posledam
          08.01.2024 10:16
          +3

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

          Ну разве что, потребовалась бы сборка под Xcode, но тут уж ничего не поделаешь, это искусственные ограничения вендора.


        1. dartraiden
          08.01.2024 10:16

          Отключите анимации и всё будет быстрее


    1. DrZlodberg
      08.01.2024 10:16
      +2

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

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

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


      1. Didimus
        08.01.2024 10:16
        -1

        Десятка постоянно в памяти кэшируется.


        1. DrZlodberg
          08.01.2024 10:16
          +1

          Мммм... В какой памяти, если мы про чистую загрузку? Не из гибернации.


          1. Didimus
            08.01.2024 10:16
            -1

            Она, вроде, отжирает себе под это дело флэшки, диски ссд. Но я не знаю точно


  1. BoNi
    08.01.2024 10:16

    Мне одному глаз режут перлы типа:

    Родительский процесс: smss.exe, который завершает работу перед запуском csrss.exe

    ?


  1. Bant1kHub
    08.01.2024 10:16
    +1

    Автору большой респект! Разжевал всё!
    В данный момент прошёл(только что закончил) на HackTheBox раздел Active Directory, понял там так себе, но тут - досконально, вертикально, горизонтально, от А до Я - всё рассказано)


    1. exc3pti0n Автор
      08.01.2024 10:16

      Спасибо!