Основное рабочее пространство пользователя windows это

Обновлено: 03.07.2024

Интерфейс Windows 10 выполнен в новом и в то же время привычным для пользователей дизайне, он как бы является логическим продолжением интерфейса Windows 7 и 8.1 с дополнением некоторых особенностей: убраны лишние элементы, настройки системы упорядочены и интуитивно понятны, окна и панели получили новый, гармоничный дизайн. Основное управление устройством осуществляется через панель управления «Пуск» и «Проводник файлов» .

Основные действия на рабочем столе

Принципы использования компьютерной мыши и комбинации клавиш остались неизменными в сравнении с операционными системами Windows прошлых поколений.

Для того, чтобы открыть на «Рабочем столе» необходимую Вам папку или приложение, достаточно кликнуть два раза левой клавишей мыши по значку или щелкнуть по нему один раз правой клавишей мыши, далее в контекстном меню выбрать команду «Открыть» .

Для запуска файла посредством другого, нужного Вам, приложения (например: открыть фотографию с помощью другого редактора) требуется кликнуть правой кнопкой мыши на значок этого файла и в контекстном меню выбрать «Открыть с помощью» , далее в таком же меню требуется выбрать нужную программу из списка предложенных.

Удалить файл можно с помощью клавиши «DELETE» предварительно выделив его или с помощью правой кнопки мыши через контекстное меню.

Для копирования файла необходимо один раз кликнуть по нему правой кнопкой мыши, затем выбрать из предложенного списка команду «Копировать» . Далее требуется открыть нужный для копирования раздел, диск, флеш-накопитель или другой съемный накопитель, в контекстном меню выбрать команду «Вставить» .

Чуть ниже представлены основные комбинации клавиш:

Delete – удалить выбранный файл

Alt+F4 – закрыть текущую программу

Alt+Tab – показать

Alt+Shift – сменить язык клавиатуры

Ctrl+C – копировать выбранный файл

Ctrl+V – вставить скопированный файл

Win+Esc – открыть меню «Пуск»

Win + E – запуск Проводника

Win + I – отображение окна настроек Windows 10

Win + L – блокировка рабочего стола

Win + Prnt Scrn – создание скриншота экрана и сохранение его в папке Компьютер/Изображения/ScreenShots

Ctrl + Shift + Esc – запуск диспетчера задач

Ознакомимся с панелью «Пуск»

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

  1. программы, которые Вы наиболее часто запускаете на своем компьютере
  2. недавно установленные программы
  3. открыть проводник файлов для работы с папками и файлами, которые хранятся на диске
  4. перезагрузить или выключить компьютер, погрузить Ваше устройство в «Спящий режим»
  5. открыть параметры учетной записи Microsoft или сменить локального пользователя устройства
  6. поиск файлов, папок, приложений или настроек по ключевым словам

7. открыть папку с загрузками файлов из интернета;

8. открыть меню с основными настройками вашего устройства.

Ознакомимся с проводником файлов

Проводник (менеджер) файлов выполняет работу с дисками компьютера: копирование, перемещение папок внутри системы и на внешние накопители, дублирует большинство функций меню «Пуск» за исключением настроек системы, работает с учетными записями и некоторыми другими возможностями.

  1. в данном меню отображаются файлы, которые наиболее часто используются пользователем
  2. отображение ярлыков и папок «Рабочего стола»
  3. открывается привычный пользователю Windows меню управления дисками, флеш-накопителями и DVD-приводами компьютера
  4. папка «Загрузки» с файлами, которые уже были загружены из Интернета. Расположение папки «Загрузки» при необходимости можно поменять (в моем случае это рабочий стол)
  5. быстрый доступ к подключенным накопителям

Настройки персонализации

Для настройки внешнего вида «рабочего стола» достаточно нажать правой кнопкой мыши по свободному пространству на «рабочем столе» и из предложенного списка выбрать строку «персонализация».

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

«Цвета» . Изменение общего оформления Windows в «Темный» или «Светлый» стиль и выбор основного цвета из предложенной палитры.

«Темы» . Набор фотографий и цветов в одной тематике. Изначально доступно несколько тем, но выбрав пункт «Другие темы» в Microsoft Store, можно скачать понравившиеся темы, шрифты и обои.

«Шрифты» . Выбор размера шрифта и добавление скаченных из интернета.

«Пуск» . Отображения настроек, файлов и последних действий в меню «Пуск»

«Панель управления» . Настройка внешнего вида панели в нижней части рабочего стола.

Что объединяет все цифровые устройства, изображенные на ​рисунке 1?

Как ты думаешь, каким образом осуществляется управление работой всех устройств компьютера?

Виды операционных систем

hello_html_m3c47bb15.jpg

hello_html_6d80c601.jpg

hello_html_m4a2c8082.jpg

hello_html_m7ee46973.jpg

Операционные системы компьютерах обычно уже установлены. Существуют три наиболее известные операционные системы, предназначенные для компьютеров: семейство Microsoft Windows, Apple Mac Os X и Linux.

А для сотовых телефонов одной из самых распространенных операционных систем является Android (рис. 1) .

Современные операционные системы используют Графический Интерфейс Пользователя (ГИП, англ. GUI – Grafical user interface) . GUI дает пользователю возможность при помощи мыши, клавиатуры управлять пиктограммами, кнопками, значками на экране, выведенными на дисплей в виде графического изображения. Внешний вид GUI у разных операционных систем различен.

Операционная система Windows

Рабочий стол – это основное рабочее пространство пользователя Windows, отображающееся на экране после загрузки компьютера. На нем располагаются системные значки и Панель задач. На рабочем столе могут храниться значки и ярлыки различных программ или документов. Обычно на рабочем столе располагаются пиктограммы таких объектов, как Компьютер, Сеть, Корзина (рис. 4), Панель задач и кнопка Пуск (рис. 5).

После нажатия кнопки Пуск открывается Главное меню Windows, она дает возможность запускать программы, открывать документы, изменять настройки системы, получать справочные сведения, находить необходимые файлы и т.д. При запуске любой программы на Панели задач появляется пиктограмма запущенной программы (рис. 5).
​ В правой части панели задач расположена языковая панель, позволяющая выбирать язык для работы с программами (рис. 6). По умолчанию здесь установлены русский и английский языки. Панель задач в правом углу содержит время и дату.

Основной объект операционной системы Windows – это окно. Окно – прямоугольная область на экране, ограниченная рамкой. В операционной системе Windows различают 4 вида окон. Это окно папок, окно программ, диалоговое окно, окно справки.

hello_html_76f3215e.jpg

hello_html_m593357dc.jpg

hello_html_852f878.jpg

Рис.4. Элементы рабочего стола

hello_html_m6f2f5cb6.jpg

Рис.5. Панель задач

hello_html_m6b467b45.jpg

Рис.6. Языковая панель​ для смены языка

Отметьте знаком «+» утверждения, которые соответствуют содержанию текста, знаком «-» - утверждения, которые ему не соответствуют.

Рабочий стол – основное рабочее пространство пользователя Windows

Все работающие в компьютере приложения отображаются в виде пиктограмм на панели задач

Фишки Windows 10: как просто взаимодействовать с окнами и рабочими столами

Windows 10 предлагает гибкий инструмент работы с окнами для тех, кто работает в нескольких окнах одновременно. При этом функция доступна независимо от того, какой у вас монитор и сколько их вы используете. Неважно также, какие характеристики у вашего ПК или ноутбука. Работа с окнами доступна бесплатно и включается парой нажатий на клавиатуру. Единственным ограничением является количество окон на один экран — это 4 окна при условии, что вы доверили ОС определить их расположение. В ручном же режиме подобных окон можно открыть в несколько раз больше (но нужно ли?).

Для примера, окна трех приложений можно расположить таким образом:


Чтобы воспользоваться данным функционалом, сперва необходимо запустить все необходимые приложения в любом порядке. Рекомендуем открывать не более четырех окон.

После этого вам необходимо сделать окно активным, просто нажав на него. Теперь с помощью комбинации клавиши Win и клавиш-стрелок выбрать направление, в котором окно должно «прилипнуть».


Для примера: комбинация «Win + ←» расположила окно слева на всю высоту экрана.


Если хотите, чтобы окно заняло четверть рабочего стола, то комбинация «Win + ↓» или «Win + ↑» разместит окно снизу или сверху соответственно.


Следующий пример был получен сначала нажатием «Win + →», а затем «Win + ↓», что «прилепило» окно снизу и справа соответственно.


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


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

Работа с рабочими столами

Работа с виртуальными рабочими столами повысит продуктивность и расширит понятие многозадачности при работе в Windows 10. Этот инструмент позволит увеличить кол-во окон, в которых можно работать одновременно, и отделить одну группу окон от другой. Например, если в одной группе окон вы работаете с текстом, а в другой — с фото. Как уже говорилось ранее, завышенных требований к характеристикам вашего ПК нет, платить за это тоже не надо.

Как только вам необходимо дополнительное пространство — новый рабочий стол для работы с необходимыми приложениями или даже играми, — нажмите комбинацию «Win + Tab».


Вы увидите менеджер работы с окнами и рабочими столами.


В верхнем левом углу, в блоке рабочих столов, вы можете создать необходимое количество рабочих столов.


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

Если вам необходимо переключиться на предыдущий или следующий рабочий стол, воспользуйтесь комбинациями «Ctrl+Win+←» или «Ctrl+Win+→» соответственно. Переключение происходит почти мгновенно, нет необходимости ждать загрузки.


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

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

image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.

Насколько глубоко мы погрузимся в тему?

Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.

Уровень операционной системы. ОС можно рассматривать как:

  • Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
  • Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
  • Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).

image

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

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

image

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

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

image

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

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

image

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

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

image

image


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

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 и пр.

Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, 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 функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.

image

Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.

Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:

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.

Читайте также: