Как выбрать архитектуру windows 10

Windows 10 32 или 64 бит — Какая архитектура вам подходит?

32-битная и 64-битная версия Windows. Какая разница?

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

Windows 10 поставляется в двух архитектурах: 32-битной и 64-битной. Какая разница? Чтобы упростить её, вы делаете выбор между совместимостью и производительностью. 32-разрядная версия Windows 10 с большей вероятностью будет работать со старым оборудованием и программным обеспечением, но вы упустите некоторые преимущества в производительности и функциональности, которые доступны только в 64-разрядной версии Windows 10. В этой статье мы расскажем вам о деталях, чтобы вы могли выбрать лучшую архитектуру для ваших нужд.

Microsoft впервые выпустила 64-разрядную версию Windows в 2005 году. 64-разрядный процессор, который AMD впервые выпустила на рынок в 2003 году, раскрыл множество возможностей, таких как повышение безопасности и производительности для игр и промышленных приложений, а также возможность использовать больше памяти.

В течение долгого времени многие OEM-производители устанавливали 32-разрядную версию Windows на 64-разрядных системах с достаточным основанием. Многие приложения и драйверы аппаратного обеспечения оставались совместимыми с предыдущей архитектурой в течение многих лет. С выпуском Windows 7 в 2009 году 64-разрядные вычисления наконец вошли в моду. Драйверы программного обеспечения для популярных периферийных устройств, таких как принтеры и другие устройства, поддерживают более новую архитектуру. После 10 лет работы в 64-разрядных системах массового уровня необходимо принять решение об обновлении до Windows 10.

Есть несколько факторов, которые следует учитывать при выборе архитектуры Windows 10.

Сколько у вас оперативной памяти?

Какую версию Windows 7 или Windows 8 вы используете?

Microsoft рекомендует пользователям обновить до соответствующей архитектуры Windows 10; если у вас установлена 32-разрядная версия Windows 7 или 8, вам следует выбрать 32-разрядную версию Windows 10 и наоборот для 64-разрядной версии Windows 10. В идеальном мире это работает, но на самом деле некоторые старые процессоры просто не совместимы с более поздними версиями Windows 10.

Поддерживает ли ваш процессор дополнительные функции безопасности Windows 10 64-бит?

64-разрядная версия Windows 10 включает несколько дополнительных функций безопасности, которые недоступны в 32-разрядной версии Windows 10. Например, 64-разрядные версии Windows требуют, чтобы все драйверы устройств были подписаны. Применение подписи драйверов означает, что вы можете использовать только те драйверы, которые распознает Microsoft. Это предотвращает использование вредоносных или ошибочных драйверов в вашей системе.

Функции безопасности, такие как принудительное использование подписи драйверов, хороши, но старые процессоры могут быть не полностью совместимы с 64-разрядной версией Windows 10, даже если ранее вы работали с 64-разрядной версией Windows 7 или Windows 8. Это может быть результатом отсутствия надлежащих инструкций по безопасности на уровне процессора. Распространенные ошибки, с которыми пользователи сталкиваются при попытке обновления до Windows 10 64-bit, — это ошибки CMPXCHG16B / CompareExchange128 или CPU Not Compatible. Вы можете легко проверить, поддерживает ли ваш процессор CMPXCHG16B / CompareExchange128, с помощью бесплатной утилиты Coreinfo.

Выпуск Windows 8 в 2012 году ввел новый набор требований безопасности на уровне процессора. Необычная вещь в этих требованиях состоит в том, что некоторые довольно недавние и старые процессоры могут включать или не включать эти расширения. Например, Core 2 Quad 2008 года может включать в себя NX (без бита eXecute) или эквивалентный XD (eXecute Disabled), в то время как в Core i3 2010 года этого может и не быть.

Лучший способ выяснить это — загрузить прошивку BIOS или UEFI, проверить категорию безопасности и включить ее. В некоторых случаях, если опция недоступна, возможно, ваша система может включить эту функцию через обновление BIOS или встроенного программного обеспечения. Для этого потребуется связаться с производителем или проверить раздел загрузок для марки и модели вашего компьютера на предмет актуальных обновлений. Если ни одно из них недоступно, вам может потребоваться перейти на 32-разрядную версию Windows 10, которая может работать вместо этого. Если в вашей системе установлено более 4 ГБ ОЗУ, это может означать пожертвование некоторыми из них в целях совместимости.

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Другие аппаратные соображения

Выбор архитектуры также должен зависеть от типа системы. Рост 64-битных вычислений возник из-за необходимости в рабочих станциях, требующих большей вычислительной мощности для научных и промышленных приложений. Форм-фактор нетбуков существовал некоторое время, но рост планшетов в конце 2010-х оттолкнул их в сторону. Нетбуки отличались низкими производительными процессорами, такими как Intel Atom, и часто имели 2 ГБ или меньше оперативной памяти. Windows 7 Starter edition часто была выбранной операционной системой для этих систем; которая была доступна только как 32-разрядная операционная система.

Даже если некоторые процессоры Intel Atom поддерживают 64-разрядную Windows, подавляющее большинство не из — за требования на BIOS и на уровне чипсета. Для многих владельцев нетбуков, 64-разрядная версия Windows, просто не рекомендуется, даже если вы можете запустить её. Нетбуки были в первую очередь предназначены для потребления контента и выполнения задач с небольшой производительностью, таких как просмотр веб-страниц, обработка текстов, электронная почта, потоковое видео и прослушивание музыки. В связи с этим 32-разрядная версия Windows 10, если она совместима, должна быть более чем достаточной для таких задач. Вы всегда можете обновить ОЗУ или хранилище до SSD для дополнительной производительности, если это вариант с вашей системой.

Для процессоров, таких как Core 2 Duo, более ранних процессоров AMD 64 и Intel 64, выпущенных до 2008 года, даже если вы используете 64-разрядную совместимую версию Windows, сегодня, например, Vista или Windows 7, это не означает, что рекомендуется или возможно использовать её с Windows 10. Как уже отмечалось, новые требования к операционной системе, а также производительность могут сделать это сдерживающим фактором.

В 2007 году у меня был Acer Ferrari 5000 с 64-разрядным процессором AMD Turion, графической картой ATI Radeon 128 и 2 ГБ оперативной памяти. В то время это было по последнему слову техники, но поскольку Windows 10 стала более мощной, идея попытаться получить больше жизни от моего существующего оборудования не казалась разумной. До того, как Microsoft разработала 64-разрядную совместимую операционную систему для процессора AMD 64, компания отметила, что 32-разрядные версии Windows получили повышение производительности на 9% по сравнению с работой на 64-разрядном оборудовании. То же самое может быть верно даже для современных 32-разрядных версий Windows 10.

На какие приложения вы полагаетесь?

Для многих пользователей в наши дни 64-битная Windows 10 может иметь большой смысл, но особенно на последних или более новых системах. Если вам нужно запускать новейшие игры с насыщенной графикой, несколько виртуальных машин и промышленные приложения, такие как AutoCAD, другого выбора нет. В течение многих лет такие компании, как Microsoft, Autodesk и Adobe, выпускали 64-разрядные версии своих флагманских настольных приложений, таких как Microsoft Office, AutoCAD и Adobe Creative Cloud.

Если вам необходимо запускать приложения такого типа, особенно последние версии, в ваших же интересах поддерживать аппаратную часть. Если для вас важна совместимость приложений, вопрос о выборе 64-битной Windows 10 может быть иным. С момента своего появления 64-битные версии Windows пожертвовали 16-битной поддержкой. Отсутствие 16-битной подсистемы означает, что пользователи не смогут запускать устаревшие приложения, разработанные для более старых версий Windows, таких как Windows 3.1. 32-битная Windows 10 все еще включает 16-битную подсистему, но я обнаружил, что она очень глючная. Вы получите большую отдачу от виртуальной машины, на которой установлена совместимая версия Windows для более старых приложений.

Поскольку ваша система стареет, выбор 64-битной Windows 10 не обязательно имеет смысл. Microsoft еще не объявила о смерти 32-битной Windows. Основываясь на миллионах способных машин, которые все еще существуют, это было бы неразумно. Не говоря уже о том, что если Microsoft откажется от них, 32-разрядные версии операционной системы Linux, многие из которых все еще находятся в активной разработке, с радостью восполнят этот недостаток.

Заключение

В конечном счете, ваш выбор будет сводиться к совместимости и производительности. Если бы я хотел сделать это проще, я бы посоветовал вам изменить ваши ожидания по мере старения вашего ПК, особенно по мере того, как Windows 10 становится более зрелой и добавляет расширенные функции, некоторые из которых становятся эксклюзивными для 64-битных версий. Например, для Hyper-V и Windows Subsystem для Linux требуется 64-разрядная версия Windows 10. Конечно, это может быть непростой задачей для пользователей, требующих чистой установки, поиска дисков приложений и установочных файлов, резервного копирования личных файлов и подготовки к переезду. Тем не менее, продление срока службы вашей системы, особенно с учетом жизненного цикла Windows 10, потребует переоценки возможностей системы каждые несколько лет.

Источник

Какую выбрать разрядность Windows 10

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

Что такое разрядность Windows

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

С тех пор Windows, как и другие операционные системы, делится на 2 вида:

Почему именно x86, x86-64, IA-32 и amd64

Неискушённому пользователю эти термины должны казаться довольно странными. Мы приведём некоторую справку и разберёмся в технических деталях.

Разрядность системы очень тесно связана с понятием архитектуры и разрядности процессора. Процессоры, как и системы, могут делиться на 32- и 64-разрядные. Поясним, что все это значит.

Что такое x86

Что такое x86-64

Соответственно, 32-битное ПО (в том числе Windows 32bit) создано для 32-разрядных x86-процессоров, но может запускаться и на 64-битных x86-процессорах. А 64-битное ПО (и Windows 64bit в том числе) создано и работает только на 64-разрядных x86-процессорах.

Какие существуют другие архитектуры процессоров

В мобильных устройствах на данный момент в основном используются процессоры с архитектурой ARM. Именно для таких чипов создана, например, Windows 10 Mobile. ARM-процессоры тоже делятся на 32- и 64-битные, но их ни в коем случае нельзя назвать x86 или x86-64: понятие x86 относится именно к десктопным процессорам. В случае с ARM-чипами мы можем говорить о разрядности ARM (32-битная) и ARM64 (64-битная).

Каков максимум оперативной памяти в 32/64-разрядной Windows

32-битная Windows

64-битная Windows

Максимально возможный объем RAM на данный момент просто недостижим, так как составляет более 16 миллионов терабайт (1 ТБ = 1024 ГБ). Соответственно, присутствуют лишь ограничения Windows.

Windows 7

Windows 8

Windows 10

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

Какая разница между 32- и 64-битной Windows

Самым главным, но не единственным различием, является поддержка разных объёмов RAM. Помимо этого можно отметить разницу в поддержке программ, о чем мы уже говорили выше. Напомним:

Других заметных обычному пользователю различий нет.

Поддерживает ли компьютер 64-разрядную Windows

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

Чтобы узнать, какой у вас процессор, достаточно зайти в окно системной информации.

Если ваше устройство обладает x86-процессором, то на нём заработает только 32-битная Windows. В ином случае (процессор x64) теоретически вы будете способны запустить и 32-разрядную, и 64-разрядную систему. Но случается, что производители компьютеров намеренно ограничивают работу устройства с x64 (даже при наличии такого процессора), что часто происходит с планшетами. Кроме того, поставщик ПК может не предоставить драйвера для конкретной разрядности, из-за чего система фактически не будет нормально работать. Именно по этой причине лучше сразу смотреть не на процессор, а на драйвера.

Как узнать, есть ли драйвера для 32/64-битной Windows

На данный момент всё более распространённой становится ситуация, когда производитель устройства выпускает драйвера только для конкретной разрядности. Почти всегда это оправдано: устанавливать 64-битную систему на планшет с 2 ГБ оперативной памяти довольно бессмысленно, как и устанавливать 32-битную систему на компьютер с 8 ГБ ОЗУ. Так как драйвера являются важнейшей частью системы, без которой ничего не заработает, мы можем отметить следующее: устройство поддерживает систему той или иной разрядности тогда и только тогда, когда производитель выпустил соответствующие драйвера.

Проверить наличие драйверов можно на официальном сайте производителя.

Какую систему выбрать, 32- или 64-разрядную

В принципе, ответ на этот вопрос является обобщением всего, о чём мы писали выше.

Производитель предоставляет драйвера для систем обеих разрядностей

В таком случае ваше решение зависит от объёма оперативной памяти.

Производитель предоставляет драйвера только для конкретной разрядности

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

Отметим, что критерии производителя могут немного отличаться от тех, что мы привели выше. Например, владельцы ноутбуков HP могут заметить, что Hewlett-Packard при предустановленных 4 ГБ оперативной памяти часто предоставляет драйвера только для 64-битной системы (а мы в таком случае рекомендуем установку 32-битной). Подобные ситуации довольно распространены. Таким образом производитель намекает вам на то, что у вас в компьютере есть свободные слоты для RAM, и что их можно использовать для увеличения объёма ОЗУ.

Как обновиться с 32-битной системы до 64-битной

Фактически «обновиться» до системы другой разрядности невозможно. Фундаментальные различия в механизмах 32- и 64-разрядной Windows не позволяют выполнить коррректный переход с одной версии на другую с сохранением всех ваших программ и файлов. Вам придётся выполнить чистую установку системы.

Источник

О работе ПК на примере Windows 10 и клавиатуры ч. 1

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Цифровые схемы работают с данными на уровне нулей и единиц, а аналоговые полагаются на эксплуатирование законов физики. Они выполняют простейшие манипуляции над битами, такие как сдвиги, AND, OR, XOR. Через эти примитивы реализуются более сложные операции. На картинке ниже представлен аналоговый оператор AND реализованный через транзисторы. На выходе схемы ненулевое напряжение будет только если оно есть на обоих входных контактах (Вх1 и Вх2), иначе ноль вольт. Точно так же работает оператор && в C#. Цифровые схемы в конечном счёте основаны на аналоговых. Физически логические элементы в логических схемах могут быть реализованы не только электронными но и механическими, гидравлическими, оптическими и другими способами.

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

Основы Операционной Системы

Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям 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). В данном контексте понимается первый смысл — весь код ОС.

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

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

Я специально назвал регистр ЦПУ полем. Когда вы пишете программу на C#, то можете добавлять сколько угодно полей в свой класс и давать им понятные названия. У процессоров и микроконтроллеров поля называются регистрами. Когда вы проектируете железку то нужно уже на этом этапе понять сколько регистров (полей) надо, какого размера они должны быть и какой функционал на них возложить, чтобы этого хватало на все случаи жизни для всех мыслимых и немыслимых ситуаций. Представьте, что вам надо написать программу на C#-подобном языке программирования у которого в классе 16 предопределённых полей и вы не можете использовать локальные переменные. Т.е. одно и то же поле может использоваться для хранения залогиненного пользователя, отсортированного массива, временных данных или результата выполнения метода. Имена таких полей должны быть максимально общими, вместо tempData, funcResult будут странные имена EAX, AH, AL, DX и пр. Если бы вы писали на C# эмулятор процессора на архитектуре x86, то код мог бы выглядеть примерно так (DIV — divide, команда целочисленного деления):

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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

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

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

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

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++. В укрупнённом виде Винда выглядит так:

Как выбрать архитектуру windows 10. Смотреть фото Как выбрать архитектуру windows 10. Смотреть картинку Как выбрать архитектуру windows 10. Картинка про Как выбрать архитектуру windows 10. Фото Как выбрать архитектуру windows 10

Давайте быстренько пробежимся по её компонентам снизу вверх:

Что такое Advanced Configuration and Power Interface? До 1996 года когда вы выключали компьютер через UI, ОС сохраняла состояние системы и потом показывала сообщение что можно отключать питание нажав кнопку на корпусе.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *