itmo_conspects

Лекция 2. Архитектура, управление и конфигурация Windows

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

Архитектура Windows

Изначально, проект Multics, прародитель Unix, ставил цель сделать ОС для многих пользователей, поэтому в Multics было 8 колец защиты (или привилегий). Кольцо 0 было наиболее привилегированным и использовалось для ядра или супервизора системы, а остальные 7 колец использовались для других подсистем, служб супервизора и пользовательских приложений. Чем больше номер кольца, тем менее возможностей взаимодействия с устройствами ПК имел процесс

Операционная система Windows же разрабатывалась для IBM-PC-совместимых компьютеров, то есть компьютеров с процессором архитектуры x86. Компания Intel, разработавшая архитектуру x86 и процессор Intel 80286, аппаратно реализовала 4 кольца привилегий в процессоре:

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

На практике ранние версии Windows (3.x, 95, 98 и Millennium Edition) использовали 2 кольца - 0 и 3. Затем при создании Windows NT учитывалось, что операционная система будет работать на процессорах не только архитектуры x86, но MIPS, Alpha и PowerPC, которые имеют только 2 кольца привилегий: привилегированный и пользовательский режимы. Также, Поэтому кольца 1 и 2 в системе Windows (как и в других системах, таких как Linux и macOS) не используются


Современное ядро Windows NT имеет гибридную архитектуру, хотя изначально OS/2 планировалась как система с микроядерной архитектурой. Из-за этого некоторые существенные компоненты работают в пользовательском режиме

Архитектура Windows

В пользовательском режиме работают:

Отличия пользовательских приложений и процесс служб от системных процессов и подсистем окружения являются в использовании разных интерфейсов:

В режим ядра работают:

Отдельно уровнем ниже существует гипервизор, который состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин), внутрипроцессные коммуникации (IPC, Inter-Process Communication) и другое


Сейчас Windows 11 работает на процессорах с архитектурой x86-64 и ARM64. Версии с Windows 95 по Windows 10 поддерживают 32-битные процессоры архитектуры x86. Отдельная версия Windows RT (основанная на Windows 8 и 8.1) поддерживает процессоры архитектуры ARM32 (в том числе отдельные системы на чипе из семейства Nvidia Tegra). Ранние версии Windows работала на процессорах с архитектурой Itanium, DEC Alpha, PowerPC, MIPS

Сама система Windows написана на языках C, C++ и на языке ассемблера. Независимость от архитектуры в Windows обеспечивается изменение машинно-зависимых модулей и ядра

Ядро Windows поддерживает симметричную мультипроцессорность, то есть потоки процесса исполняются на любых ядрах с общей памятью, а также многоядерные, гиперпотоковые (Hyper-Threading) процессоры и технологию доступа к неоднородной памяти NUMA (Non-Uniform Memory Architecture) для систем с несколькими процессорами (память в NUMA разделяется NUMA-группы, которые распределяются отдельным процессорам)

Также Windows имеет ограничения до 64 физических процессоров (при этом неограниченное число логических ядер) и до 20 сокетов NUMA

Управление

Операционная система Windows Server может управляться с помощью таких инструментов:

Файловая структура

Windows имеет стандартную структуру каталогов:

Каталоги Windows, Recovery и файл Hiberfil.sys обязаны находится на системного разделе диска, а Program Files, ProgramData и Users могут находится вне, но через костыли

Конфигурация

Конфигурация Windows хранится в конфигурационных файлах разных форматов (.ini, .xml, .json, .conf) и в реестре

Реестр Windows - это набор бинарных файлов для хранения конфигурации в виде дерева

Преимущества:

Недостатки:

Реестр хранит значения этих типов:

Реестр также поддерживает ACL (Access Control List) - список управления доступом, который определяет, какие пользователи или группы имеют права на чтение, запись, изменение или удаление конкретных разделов и параметров в реестре

Значения в реестре разбиты на несколько основных веток:

Сам реестр хранится во множестве файлов. Расположение основных веток:

Также каталог %SystemRoot%\System32\config\RegBak применяется для бекапа реестра

Для изменения реестра существуют:

Установка компонентов

Управление компонентами осуществляется через:

Системный службы

Службы могут быть:

Для служб в реестре есть поля:

Служба в реестре