<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Основы Windows on Sysadminium</title><link>https://blog.sysadminium.ru/docs/windows/basics/</link><description>Recent content in Основы Windows on Sysadminium</description><generator>Hugo</generator><language>ru-ru</language><lastBuildDate>Mon, 04 Oct 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.sysadminium.ru/docs/windows/basics/index.xml" rel="self" type="application/rss+xml"/><item><title>Идентификаторы безопасности SID</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-sid/</link><pubDate>Mon, 04 Oct 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-sid/</guid><description>&lt;h2 id="идентификаторы-безопасности"&gt;Идентификаторы безопасности&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Идентификаторы безопасности&lt;/strong&gt; — это уникальные номера пользователей, групп, доменов, служб и компьютеров. То есть у тех объектов, которые могут получать доступ к другим объектам, таким как: файлы, драйверы, разделы дисков, реестр.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SID&lt;/strong&gt; представляет собой число переменной длины, которое состоит из:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;номера версии идентификатора;&lt;/li&gt;
&lt;li&gt;идентификатора полномочий, который показывает максимальный уровень полномочий. Для группы «&lt;strong&gt;Все&lt;/strong&gt;» равно 1. Для конкретной учетной записи или группы равно 5;&lt;/li&gt;
&lt;li&gt;несколько чисел подчиненных полномочий;&lt;/li&gt;
&lt;li&gt;значения &lt;strong&gt;RID&lt;/strong&gt;, которое гарантирует уникальность.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SID&lt;/strong&gt; всегда начинается с &lt;strong&gt;&amp;ldquo;S&amp;rdquo;&lt;/strong&gt;, например: &lt;code&gt;S-1-5-21-1463437245-1224812800-863842198-1128&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Системные компоненты безопасности</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-security-components/</link><pubDate>Fri, 01 Oct 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-security-components/</guid><description>&lt;h2 id="монитор-безопасности-srm"&gt;Монитор безопасности (SRM)&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/windows-kernel-mode-security-reference-monitor"
 
 target="_blank" rel="noopener noreferrer"&gt;
 SRM (Security reference monitor)
&lt;/a&gt;
 находится в исполняющей системе &lt;code&gt;ntoskrnl.exe&lt;/code&gt;, это значит, что он работает в режиме ядра. Коротко говоря, этот монитор отвечает за проверку того, может ли один объект получить доступ к другому объекту.&lt;/p&gt;
&lt;p&gt;А также этот монитор использует специальный драйвер &lt;code&gt;Ksecdd.sys&lt;/code&gt; который работает в режиме ядра. Именно он реализует систему вызовов &lt;strong&gt;ALPC&lt;/strong&gt;, которая используется для обмена между &lt;strong&gt;CRM&lt;/strong&gt; (режим ядра) и &lt;strong&gt;LSASS&lt;/strong&gt; (пользовательский режим).&lt;/p&gt;</description></item><item><title>Диспетчер электропитания</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-power-manager/</link><pubDate>Thu, 30 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-power-manager/</guid><description>&lt;h2 id="режимы-эл-питания"&gt;Режимы эл. питания&lt;/h2&gt;
&lt;p&gt;Управлению питанием требуется аппаратная поддержка, отвечающая требованиям &lt;a href="https://ru.wikipedia.org/wiki/ACPI"
 
 target="_blank" rel="noopener noreferrer"&gt;
 ACPI
&lt;/a&gt;
 (Advansed Configuration and Power Interface). Этот стандарт определяет шесть уровней энергопотребления:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;S0&lt;/strong&gt; — максимальное;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S1&lt;/strong&gt; — режим экономии;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S2&lt;/strong&gt; — режим сна при котором процессор работает;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S3&lt;/strong&gt; — режим сна при котором процессор отключается;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S4&lt;/strong&gt; — режим гибернации. Ток подается только на кнопку включения, система может запуститься с помощью файла гибернации. При запуске используется программа &lt;strong&gt;Winresume.exe&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S5&lt;/strong&gt; — система выключена.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Из состояний &lt;strong&gt;S1-S3&lt;/strong&gt;, в случае необходимости, система может быстро перейти в состояние &lt;strong&gt;S0&lt;/strong&gt;. Но для перехода из режима &lt;strong&gt;S4&lt;/strong&gt; на это требуется больше времени.&lt;/p&gt;</description></item><item><title>PnP диспетчер</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-pnp-dispatcher/</link><pubDate>Wed, 29 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-pnp-dispatcher/</guid><description>&lt;h2 id="pnp-диспетчер"&gt;&lt;strong&gt;PnP-диспетчер&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;PnP-диспетчер&lt;/strong&gt; является основным компонентом Windows, который позволяет распознавать подключаемое оборудование и производить с ним некоторые действия.&lt;/p&gt;
&lt;p&gt;Поддержка технологии PnP основывается на промышленных стандартах подключаемых к шинам устройств. Например в стандарте USB заложен способ самоидентификации устройств подключенных к шине USB.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PnP-диспетчер&lt;/strong&gt; реализует следующие возможности:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Распознает устройства подключенные при загрузке системы, а также при подключении нового оборудования и при его отключении.&lt;/li&gt;
&lt;li&gt;Собирает об устройствах информацию и на её основе выделяет ресурсы для каждого устройства. Ресурсами могут быть: прерывания, диапазон адресов ввода / вывода, регистры ввода / вывода, ресурсы шины и так далее.&lt;/li&gt;
&lt;li&gt;Загружает соответствующие драйвера в систему. Если драйвер есть в системе, он будет загружен. Если подходящего драйвера нет, пользователя попросят указать местоположение драйвера, для его установки.&lt;/li&gt;
&lt;li&gt;Поддерживает сетевые устройства, например принтеры или проекторы. Для этого специальные драйверы шины распознают сеть как шину, и подключают к этой шине сетевые устройства.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Помимо того что система поддерживает PnP, сами драйверы должны поддерживать эту технологию. Если в системе будет драйвер без поддержки PnP, то он может помешать работе всей системе. Так как PnP-диспетчер занимается распределением ресурсов для оборудования и нечего не знает про не PnP-драйвер, то могут возникнуть конфликты. Кроме того, драйверы без поддержки PnP могут помешать системе перейти в спящий режим или режим гибернации.&lt;/p&gt;</description></item><item><title>Подсистема ввода вывода</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-io-subsystem/</link><pubDate>Wed, 29 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-io-subsystem/</guid><description>&lt;h2 id="компоненты-подсистемы-ввода--вывода"&gt;Компоненты подсистемы ввода / вывода&lt;/h2&gt;
&lt;p&gt;Как вы помните, &lt;strong&gt;подсистема ввода / вывода&lt;/strong&gt; работает в &lt;strong&gt;режиме ядра&lt;/strong&gt;. В этой подсистеме работают три диспетчера, которые я опишу ниже.&lt;/p&gt;
&lt;p&gt;Во-первых, это &lt;strong&gt;диспетчер ввода / вывода&lt;/strong&gt;. Он обеспечивает связь приложений с устройствами. То есть приложения напрямую с оборудованием не работают. Они лишь могут отправлять запросы этому диспетчеру. А уже он, в свою очередь, передает эти запросы драйверам. Такие запросы называются &lt;strong&gt;IRP&lt;/strong&gt; и они могут помещаться в специальный буфер запросов.&lt;/p&gt;</description></item><item><title>Службы Windows</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-services/</link><pubDate>Tue, 28 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-services/</guid><description>&lt;h2 id="основная-информация"&gt;Основная информация&lt;/h2&gt;
&lt;p&gt;Из статьи &lt;a href="https://blog.sysadminium.ru/docs/windows/basics/windows-system-processes/"
 
 target="_blank" rel="noopener noreferrer"&gt;
 &amp;ldquo;Системные процессы Windows&amp;rdquo;
&lt;/a&gt;
 вы должны помнить что за запуск и остановку служб отвечает системный процесс &lt;code&gt;Services.exe&lt;/code&gt; — диспетчер служб. Именно он запускает дочерние процессы &lt;code&gt;Svhost.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Почти все системные службы запускаются одним и тем же исполняемым файлом — &lt;code&gt;svhost.exe&lt;/code&gt;. Но при запуске этому файлу передаются разные параметры командной строки, и для каждой службы они будут разными. Это видно на следующем изображении:&lt;/p&gt;
&lt;p&gt;&lt;img src="Pasted_image_20260526120006.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Параметры вызова исполняемого файла &lt;code&gt;svhost.exe&lt;/code&gt; для конкретной службы определяется значением из реестра. Ключ реестра при этом следующий — &lt;code&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\имя_службы&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Системные процессы Windows</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-system-processes/</link><pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-system-processes/</guid><description>&lt;h2 id="системные-процессы"&gt;Системные процессы&lt;/h2&gt;
&lt;h3 id="idle"&gt;Idle&lt;/h3&gt;
&lt;p&gt;Этот процесс служит для учета времени бездействия процессора. Другими словами, пока процессор бездействует, он обслуживает потоки этого процесса.&lt;/p&gt;
&lt;p&gt;Процесс &lt;strong&gt;Idle&lt;/strong&gt; всегда имеет идентификатор 0. Он содержит по одному потоку на каждое ядро. При этом каждый поток работает на отдельном ядре.&lt;/p&gt;
&lt;p&gt;Так как этот процесс имеет наименьший приоритет в системе, то выполняться его потоки на процессоре будут только тогда, когда другие потоки будут бездействовать.&lt;/p&gt;
&lt;h3 id="system"&gt;System&lt;/h3&gt;
&lt;p&gt;Этот процесс содержит много потоков, которые работают в режиме ядра. Он не является полноценным процессом Windows, так как для него нет исполняемого файла. Потоки в этом процессе создаются самим ядром или драйверами при запуске системы.&lt;/p&gt;</description></item><item><title>Основные системные файлы</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-system-files/</link><pubDate>Thu, 23 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-system-files/</guid><description>&lt;h2 id="системные-файлы"&gt;Системные файлы&lt;/h2&gt;
&lt;p&gt;Весь код операционной системы располагается в нескольких бинарных файлов, которые мы рассмотрим в этой статье. Все системные файлы находятся в каталоге &lt;code&gt;%systemroot%\System32&lt;/code&gt;. Это очень важные файлы, а это значит, что без них система не сможет выполнять свои функции.&lt;/p&gt;
&lt;p&gt;Следует помнить что удаление или порча любого из указанных файлов может повредить вашу систему!&lt;/p&gt;
&lt;h2 id="список-файлов"&gt;Список файлов&lt;/h2&gt;
&lt;p&gt;В самом главном файле «&lt;a href="https://ru.wikipedia.org/wiki/Ntoskrnl.exe"
 
 target="_blank" rel="noopener noreferrer"&gt;
 Ntoskrnl.exe
&lt;/a&gt;
» находится &lt;strong&gt;код ядра&lt;/strong&gt; и всех компонентов &lt;strong&gt;исполнительной системы&lt;/strong&gt;. Да, ядро и исполнительная система находятся в одном файле, но логически их разделяют.&lt;/p&gt;</description></item><item><title>Драйверы Windows</title><link>https://blog.sysadminium.ru/docs/windows/basics/windows-drivers/</link><pubDate>Wed, 22 Sep 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/windows-drivers/</guid><description>&lt;h2 id="драйверы"&gt;Драйверы&lt;/h2&gt;
&lt;p&gt;Все привыкли что драйверы это прослойка между оборудованием и операционной системой. И отчасти это верно. Но они могут и не относится к физическому устройству, например есть драйвер файловой системы.&lt;/p&gt;
&lt;p&gt;Драйверы представляют собой файлы &lt;strong&gt;.sys&lt;/strong&gt; и обеспечивают интерфейс между &lt;strong&gt;вводом/выводом&lt;/strong&gt; и соответствующим оборудованием или модулем ядра. Драйверы в основном написаны на языке &lt;strong&gt;C&lt;/strong&gt; или &lt;strong&gt;C++&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Можно выделить следующие типы драйверов:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Драйвера физических устройств&lt;/strong&gt;. Они необходимы для работы обычных устройств. Например принтеров, сканеров и другого оборудования.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Фильтры файловой системы&lt;/strong&gt;. Необходимы, например, для создания программных RAID или шифрования дисков.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://docs.microsoft.com/ru-ru/windows/win32/fileio/network-redirectors"
 
 target="_blank" rel="noopener noreferrer"&gt;
 Сетевые перенаправители
&lt;/a&gt;
&lt;/strong&gt;. Это драйверы файловой системы, которые передают запросы по сети на другую машину. В качестве клиента в сетевой операции ввода/вывода отправляет запросы на сервер и обрабатывает ответы. Как сервер получает запросы ввода/вывода и обрабатывает их. Таким образом они позволяют приложению получать доступ к ресурсам на удаленных серверах и управлять ими, как если бы они находились на локальном компьютере.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Драйвера потоков.&lt;/strong&gt; Необходимы для поддержки сетевых протоколов, например TCP/IP.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Потоковые драйвера-фильтры ядра&lt;/strong&gt;. Они могут объединятся в цепочки для обработки потоков данных. Например для записи или воспроизведения аудио и видио.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Программные драйвера.&lt;/strong&gt; Модули ядра, работающие только в режиме ядра. Например многие программы из &lt;strong&gt;&lt;a href="https://docs.microsoft.com/en-us/sysinternals/downloads/"
 
 target="_blank" rel="noopener noreferrer"&gt;
 Sysinternals
&lt;/a&gt;
&lt;/strong&gt; (Process Explorer, Process Monitor) устанавливают, а затем используют такие модули.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Еще можно разделить их на работающие в &lt;strong&gt;пользовательском режиме&lt;/strong&gt; и в &lt;strong&gt;режиме ядра&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Планирование потоков Windows</title><link>https://blog.sysadminium.ru/docs/windows/basics/planirovanie_potokov_windows/</link><pubDate>Fri, 30 Jul 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/planirovanie_potokov_windows/</guid><description>&lt;h2 id="планирование-потоков-в-системе"&gt;Планирование потоков в системе&lt;/h2&gt;
&lt;p&gt;В Windows всегда выполняется хотя бы один поток с самым высоким приоритетом. Если в системе много ядер, то Windows делит все ядра на группы по 64 ядра. Каждому процессу даётся доступ к определённой группе ядер. Следовательно потоки этих процессов могут видеть только свою группу ядер.&lt;/p&gt;
&lt;p&gt;Поток выполняется на процессоре определённое время, затем уступает место другому потоку. Кстати, максимальное время на которое поток может занять процессор называется &lt;strong&gt;квантом&lt;/strong&gt;. Причем время кванта можно настроить, выбрав короткие или длинные кванты. Как это сделать, я покажу ниже в этой статье, так что читайте дальше.&lt;/p&gt;</description></item><item><title>Процессы, потоки и задания Windows</title><link>https://blog.sysadminium.ru/docs/windows/basics/processy_windows/</link><pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/windows/basics/processy_windows/</guid><description>&lt;h2 id="процессы"&gt;Процессы&lt;/h2&gt;
&lt;p&gt;Процесс стоит воспринимать как контейнер с набором ресурсов для выполнения программы. То есть запускаем мы программу, для неё выделяется часть ресурсов компьютера и эта программа работает с этими ресурсами.&lt;/p&gt;
&lt;p&gt;Процессы нужны операционной системе для многозадачности, так как программы работают в своих процессах и не мешают друг другу, при этом по очереди обрабатываются процессором.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows процессы состоят из следующего&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Закрытое виртуальное адресное пространство, то есть выделенная для процесса часть оперативной памяти, которая называется виртуальной.&lt;/li&gt;
&lt;li&gt;Исполняемая программа выполняя свой код, помещает его в виртуальную память.&lt;/li&gt;
&lt;li&gt;Список открытых дескрипторов. Процесс может открывать или создавать объекты, например файлы или другие процессы. Эти объекты нумеруются, и их номера называют дескрипторами. Ссылаться на объект по дескриптору быстрее, чем по имени.&lt;/li&gt;
&lt;li&gt;Контекст безопасности. Сюда входит пользователь процесса, группа, привилегии, сеанс и другое.&lt;/li&gt;
&lt;li&gt;Идентификатор процесса, то есть его уникальный номер.&lt;/li&gt;
&lt;li&gt;Программный поток (как минимум один или несколько). Чтобы процесс хоть что-то делал, в нем должен существовать программный поток. Если потока нет, значит что-то пошло не так, возможно процесс не смог корректно завершиться, или стартовать.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;У процессов есть еще очень много свойств которые вы можете посмотреть в «&lt;strong&gt;Диспетчере задач&lt;/strong&gt;» или «&lt;strong&gt;Process Explorer&lt;/strong&gt;«.&lt;/p&gt;</description></item></channel></rss>