- Как работает Windows?
- Чем занимается операционная система?
- Компоненты Windows, или из чего Windows состоит
- Как работает Windows: программная оболочка = Shell
- Как работает Windows : Ядро
- Как работает Windows: Данные конфигурации
- Как Windows управляет программами?
- Основные системные процессы Windows 10 и их назначение
- Для чего знать названия процессов
Как работает Windows?
Когда встаёт вопрос как работает Windows, мы подразумеваем тот факт, что речь идёт о ОС семейства Microsoft различных поколений, в принципе работы которых, конечно, немало общего. Не будет ошибкой, если мы вычленим основные четыре функции любой современной операционной системы, и посмотрим, как Windows с ними справляется. В этой статье приводится формальное описание работы операционной системы семейств Windows, приводится список основных компонентов системы. Я покажу, как Windows управляет программами и работает с оборудованием и расскажу о понятиях процесс , поток и др. Статья не для профессионалов (разве можно описать как работает Windows в ЕДИНСТВЕННОЙ статье?) и поможет начинающему получить общее представление о принципе работы Windows.
ВНИМАНИЕ! СТАТЬЯ НЕ ЗАКОНЧЕНА. МАТЕРИАЛЫ ДОБАВЛЯЮТСЯ ПО МЕРЕ ФОРМИРОВАНИЯ ОКОНЧАТЕЛЬНОГО ИНТЕРФЕЙСА БЛОГА.СПАСИБО ЗА ПОНИМАНИЕ.
Чем занимается операционная система?
Любой работающий компьютер есть связка четырёх типов программного обеспечения: операционная система, программы и приложения, драйверы и BIOS Вот основные функции операционной системы, которые определяют её место среди прочих программных оболочек.
- управление оборудованием (включает в себя приём микрокода от BIOS чипа материнской платы, управление оперативной памятью, диагностику неисправностей и сочленение установленного оборудования и программ к нему)
- управление программами (включает в себя установку и удаление программ, запуск программ и участие работе “железных” компонентов от имени программ)
- управление файлами (всё, что можно создавать, перемещать и удалять на твердотельных накопителях)
- создание пользовательского интерфейса (графического или командного/текстового) для обеспечения или контроля всех или многих указанных выше функций
Компоненты Windows, или из чего Windows состоит
Как работает Windows блочно можно отобразить так:
Из схемы видно, что основными компонентами любой операционной системы являются три блока:
Как работает Windows: программная оболочка = Shell
Это часть операционной системы, которая завязана и с пользователем и с приложениями. Именно шелл позволяет нам запускать флешки, устанавливать программы, запускать word-вый документ и печатать в нём, сохраняя в любое дозволенное системой место, которое заметно проводнику. Shell – это и File Explorer (проводник Windows), и контрольная панель Пуск, и окна Свойства системы и Мой компьютер. Человек или пользователь знает шелл как различные инструменты пользовательского интерфейса, такие как диалоговые окна, ярлыки и иконки, контекстные меню дополнительных команд.
А для программ шелл это команды и процедуры, которые эти программы могут вызывать: печать информацию через принтер, читать данные из баз, отображать что-то на экране.
Сам шелл состоит из нескольких подсистем, которые управляются в пользовательском режиме. Такой режим означает, что эти подсистемы имеют очень ограниченный доступ к системной информации, и доступ к “железу” может осуществляться ТОЛЬКО через системные службы (службы самой Windows). Одна из таких подсистем – подсистема безопасности Win32 – обеспечивает вход в систему (регистрацию пользователя), сохранение и распространение его привилегий на файлы и папки, а также другие функции безопасности. Абсолютно все программы и приложения “здороваются с Windows” только через подсистему Win32.
Как работает Windows : Ядро
Как и в других ОС, отвечает за работу с оборудованием, которое внутри компьютера находится или во время работы к компьютеру “пристёгивается”. Режим ядра полномочий имеет гораздо больше. Никакая программа, установленная в Windows, не имеет доступа к “железу” напрямую – только через шелл, который, в свою очередь, посылает все запросы к ядру. Такая система взаимодействия обеспечивает стабильную работу ОС. Это чем-то напоминает ресторан: перед тем как заказать блюдо, вам нужно позвать официанта (к шеф-повару и на саму кухню вас не пропустят).
Ядро состоит из двух компонентов:
- слой аппаратных абстракций HAL – hardware abstraction layer
– (ближайший к железу уровень) - уровень исполнительных служб (обеспечивает взаимодействие подсистем в пользовательском режиме со слоем аппаратных абстракций)
Что здесь нужно запомнить? Логика работы ясна уже из описания: исполнительные службы Windows работают с оборудованием при помощи самого HAL и драйверов для конкретного устройства. Такой принцип работы устанавливается незаметно для глаз пользователя в момент установки Windows на компьютер. В тот самый момент, когда мы видим строки состояния установки компонентов и служб/программ, и строится структура слоя HAL на основе процессора, который в материнской плате вашей машины установлен. То есть привычные процессы во время установки Windows предстают теперь в таком свете:
загрузка шелл пользовательского интерфейса
приглашение к компиляции HAL
То, что появится после установки ОС, перенести на другой компьютер один в один не получится: для нормальной работы в новой конфигурации до– или переустановка отдельных драйверов или целого их пакета неизбежна.
Как работает Windows: Данные конфигурации
Ну, а всем операционным системам нужно место, где данные о программах и оборудовании, а также настройках и предпочтении пользователя можно хранить. Нужно хранить информацию и о том, как пользователь хочет, чтобы Windows и программы выглядели, где хранить скачиваемое и создаваемое и т.д. Для всего этого (или для почти всего) Windows использует … правильно, реестр. Некая информация хранится в файлах инициализации (характерные файлы с расширением .ini и .inf).
И когда установленная программа запускается, перед появлением какого-либо окна она сначала посмотрит реестр и прочитает эти файлы, и только потом уже запуск приложения можно считать успешным.
Как Windows управляет программами?
Если программа установлена, мы подразумеваем, что её остов где-то хранится. Чаще всего это жёсткий диск или флешка. Когда пользователь запускает программу, некоторые из её файлов копируются в оперативную память. Так появляется процесс. практически в том виде, каком мы видим его в Диспетчере задач или Process Explorer. Процессом можно назвать программу, запущенную вместе с соответствующими системными службами и другими ресурсами. Ресурсы нередко включают в себя и другие программы, включая захват дополнительных ячеек оперативной памяти для временного хранения данных. Когда процесс делает запрос к системе по типу “Мне нужны ресурсы!”, подразумевается, что программа обращается именно к подсистеме Win32. Так появляется поток данных. Поток – это единичная, выделенная задача (запустить или создать документ, вставить рисунок из буфера обмена, распечатать документ на принтере и т.д.). Схематично это выглядит так:
Как видите, потоков может быть несколько. Это называется многопоточность/мультипоточность: например, окна браузеров могут запускаться в нескольких вкладках или нескольких отдельных окнах. Выражаясь технически, в обоих случаях речь идёт о нескольких разных процессах браузер.exe.
Основные системные процессы Windows 10 и их назначение
С понятием процесса в Windows более или менее знакомы все пользователи хотя бы один раз заглядывавшие в Диспетчер задач . На вопрос, что это такое, процесс, большинство ответят: это такая-то программа или служба. Ответ не совсем правильный, потому что программа — это набор инструкций, представленный в виде исполняемого файла, тогда как под процессом следует понимать набор из закрытого адресного пространства, данных и ресурсов, используемых при выполнении этой самой программы.
Для просмотра запущенных процессов и их управления в Windows 10 предусмотрен Диспетчер задач, опытные юзеры и системные администраторы могут использовать для этих целей более продвинутые программные инструменты вроде Process Explorer — утилиты, позволяющей помимо всего прочего получать информацию об открытых дескрипторах и загруженных библиотеках DLL . Вникать в такие тонкости рядовому пользователю, пожалуй, излишне, но знать названия стандартных процессов ОС очень даже желательно.
Для чего знать названия процессов
Знания эти могут пригодиться в случае необходимости идентификации процесса того или иного приложения и управления им, а также выявления опасного и потенциально нежелательного ПО.
Давайте же познакомимся со стандартными процессами Windows 10 и посмотрим, какую задачу они выполняют в системе. Во встроенном Диспетчере задач запущенные процессы отображаются в двух вкладках — «Процессы» и «Подробности».
В первой вкладке Диспетчер показывает имя процесса, во второй — название исполняемого файла, ID процесса, описание (имя) , принадлежность, состояние и объем потребляемой памяти.
В Windows 10 все процессы делятся на три группы:
В первую группу входят процессы штатных и сторонних прикладных программ, вторую составляют процессы, не имеющие окон, то есть те, которые работают в фоне. Среди них могут встречаться как процессы, запущенные системой (службы) , так и процессы сторонних программ, например, антивирусов. Третью группу составляют собственно процессы операционной системы, обеспечивающие ее нормальное функционирование.
• svchost.exe – системный процесс, отвечающий за управление разными службами, служит своего рода контейнером для подпроцессов, использующих библиотеки DLL . В Диспетчере задач представлен несколькими экземплярами, большинство из которых являются критически важными для работы Windows. Располагается в папке System32 , часто служит мишенью для вирусов.
• lsass.exe – важный системный процесс, отвечающий за авторизацию в системе. Если последняя прошла успешно, он инициирует запуск Проводника с помощью специального маркера. В отличие от svchost.exe , процесс lsass.exe всегда запускается с правами SYSTEM . Для работы системы критически важен. Располагается в папке System32 , часто избирается мишенью для вредоносного ПО.
• explorer.exe – наиболее известный процесс, отвечающий за отображение графической оболочки Windows 10, позволяет осуществлять навигацию. Отключение не приведет к завершению работы системы, но сделает использование GUI невозможным. Запускается процесс из папки Windows , может иметь несколько экземпляров.
• sihost.exe – данный системный хост-процесс участвует в обслуживании инфраструктуры оболочки, позволяет открывать центр действий, различные меню, в том числе меню Пуск. Исполняемый файл запускается из папки System32 .
• ntoskrnl.exe или system – базовый, критически важный процесс ядра операционной системы, отвечающий за работу множества системных функций и драйверов устройств. Завершение процесса System не предусмотрено, функционирование системы без него невозможно. Исполняемый файл располагается в папке System32 .
• wininit.exe – этот процесс управляет автозагрузкой приложений в Windows, кроме того, он запускает ряд важных служб как SCM LSASS и LSM (диспетчер управления службами) . Исполняемый файл располагается в папке System32 . Случаи подмены вирусом не замечены.
• dwm.exe или диспетчер окон десктопа – процесс управляет визуальными эффектами важных элементов оболочки: десктопа, меню, окон и так далее. Запускается из каталога System32 . Вероятность заражения невелика.
• smss.exe – управляет подсистемой менеджера сеансов Windows (сеансом авторизовавшегося юзера) . Инициирует старт процессов Winlogon и Win32 , участвует в установке переменных системы. Для Windows критически важен, файл лежит в директории System32 , вероятность заражения оценивается как высокая.
• services.exe – важный процесс, отвечающий за управление системными службами. Запускается из директории System32 , владельцем является Система. Работа процесса под другим пользователем будет указывать на вероятное заражение или подмену.
• winlogon.exe – отвечает за авторизацию (вход) конкретного юзера в систему и выход из нее. Запускается из папки System32 , случаи заражения и подмены вирусом встречаются нечасто.
• csrss.exe – этот процесс управляет работой консольных приложений, например, командной строкой, является подсистемой компонента клиент-сервер. Исполняемый файл лежит в папке System32 , вероятность заражения оценивается как высокая.
Теперь перейдем к системным процессам, обозначаемых в Диспетчере задач как фоновые.
• RuntimeBroker.exe – один из основных процессов ядра Windows 8.1 и 10, управляющий разрешениями универсальных приложений, к примеру, доступом к камере или микрофону. Каждому запущенному UWP -приложению соответствует свой экземпляр процесса RuntimeBroker . Исполняемый файл находится в каталоге System32 .
• ApplicationFrameHost.exe – еще один процесс, отвечающий за работу UWP -программ. В Windows 10 обеспечивает запуск универсальных приложений в окнах независимо от используемого режима. Процесс может быть закрыт принудительно, но при этом будут закрыты и все запущенные UWP -приложения, включая работающие в фоне. Обитает exe-файл процесса в System32 .
• ctfmon.exe – процесс обеспечивает работу языковой панели, управляет вводом данных. Не является критическим, при завершении пользователем обычно перезапускается автоматически. Исполняемый файл лежит в System32 , случаи использования вирусами редки.
• SecurityHealthService.exe – системная служба, отвечающая в Windows 10 за работу Центра безопасности. Управляется Системой, завершение через Диспетчер задач не предусмотрено. Файл приложения находится в папке System32 .
• spoolsv.exe – процесс, обеспечивающий вывод на печать с использованием принтера и других подобных устройств. Не является особо важным, может быть завершен из Диспетчера задач или отключен в службах. Файл находится в System32 , заражение и использование вирусами маловероятно.
Это основные системные процессы, которые вы можете наблюдать в Диспетчере задач Windows 10.
Впрочем, если у вас есть сомнения по поводу безопасности того или иного процесса, вы всегда можете проверить его на «причастность» к вирусной активности, воспользовавшись утилитой Process Explorer, умеющей получать данные о файле с сервиса VirusTotal .
И еще один момент.
Изучив список процессов в Диспетчере задач, вы наверняка обнаружите процессы, которые не были приведены в нашем списке. Это вполне нормальное явление, поскольку процессы, особенно входящие в категорию «Фоновые» могут принадлежать различным дополнительным системным компонентам, а также драйверам устройств, имеющихся на вашем компьютере.