Почему операционные системы используют несколько режимов процессора

Обновлено: 30.06.2024

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

Существует три типа прерываний:

  1. Аппаратные прерывания генерируются аппаратными устройствами, чтобы сигнализировать о том, что им требуется некоторое внимание со стороны ОС. Возможно, они только что получили некоторые данные (например, нажатия клавиш на клавиатуре или данные с карты Ethernet); или они только что выполнили задачу, которую ранее запрашивала операционная система, например, перенос данных между жестким диском и памятью.
  2. Программные прерывания генерируются программами, когда они хотят запросить системный вызов для выполнения операционной системой.
  3. Ловушки генерируются самим ЦП, чтобы указать, что возникла какая-то ошибка или условие, для устранения которых требуется помощь операционной системы.

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

1.7.2. Режим выполнения ЦП¶

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

Бит режима: режим супервизора или пользователя

  • Режим супервизора
    • Может выполнять все машинные инструкции
    • Может ссылаться на все ячейки памяти
    • Может выполнять только подмножество инструкций
    • Может ссылаться только на подмножество ячеек памяти.

    1.7.3. Ответ процессора на прерывания¶

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

    ЦП полагаются на данные, содержащиеся в паре регистров, для правильной обработки прерываний. Один регистр содержит указатель на блок управления текущим запущенным процессом. Этот регистр устанавливается каждый раз, когда процесс загружается в память. Другой регистр содержит указатель на таблицу, содержащую указатели на инструкции ядра ОС для обработчиков прерываний и системных вызовов. Значение в этом регистре и содержимое таблицы устанавливаются при инициализации операционной системы во время загрузки.

    ЦП выполняет следующие действия в ответ на прерывание:

    1. При использовании указателя на текущий блок управления процессом состояние и все значения регистров для процесса сохраняются для использования при последующем перезапуске процесса.
    2. Бит режима ЦП переключается в контрольный режим.
    3. С помощью указателя на таблицу обработчиков прерываний и вектора прерывания определяется местоположение исполняемого кода ядра. Вектор прерывания — это IRQ для аппаратных прерываний (считывается из регистра контроллера прерываний) и аргумент инструкции прерывания на ассемблере для программных прерываний.
    4. Обработка переключается на соответствующую часть ядра.

    ../_images/sys_call.jpg

    ЦП использует таблицу и вектор прерываний, чтобы найти ОС код для выполнения в ответ на прерывания. Здесь показано программное прерывание.

    ../_images/process_switching.jpg

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

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

    Реальный режим:

    Первоначальный IBM PC мог адресовать только 1 МБ системной памяти, и исходные версии DOS, созданные для работы с ним, были разработаны с учетом этого. DOS по своей природе является однозадачной операционной системой, то есть она может обрабатывать только одну программу, работающую одновременно.Решения, принятые в те ранние дни, сохраняются и по сей день, и в каждом новом процессоре нужно было позаботиться о том, чтобы можно было перевести процессор в режим, совместимый с исходным чипом Intel 8088. Это называется реальным режимом.

    Когда процессор работает в реальном режиме, он ведет себя как "8088 на стероидах". Это означает, что у него есть преимущество в скорости, но в остальном он обращается к памяти с теми же ограничениями, что и исходный 8088: ограничение в 1 МБ адресуемой ОЗУ и медленный доступ к памяти, который не использует преимущества полного 32-байтового доступа к памяти. битовая обработка современных процессоров. Этот реальный режим доступен для всех процессоров, и фактически компьютер обычно запускается в реальном режиме.

    Реальный режим, конечно же, используется DOS и "стандартными" приложениями DOS. На самом деле, сегодня существует относительно немного простых программ для DOS, которые просто используют стандартные 640 КБ, доступные для DOS. Даже внутри DOS теперь доступны специальные программы, которые «расширяют» DOS, чтобы обеспечить доступ к расширенной памяти (более 1 МБ) и более быстрый 32-битный доступ. Иногда их называют расширителями DOS. Протокол, описывающий, как заставить DOS работать в защищенном режиме, называется DPMI (интерфейс защищенного режима DOS). Расширители DOS используются в большинстве игр DOS (поскольку стандартное ограничение DOS в 640 КБ в последние годы превратилось из негибкого в совершенно смехотворное, поскольку игры стали очень большими).

    Примечание. Первые 64 КБ расширенной памяти фактически доступны для ПК в реальном режиме, несмотря на то, что это не предполагается возможным. Это результат ошибки в оригинальном IBM AT. Эта область памяти называется областью верхней памяти (HMA).

    Защищенный режим:

    • Полный доступ ко всей системной памяти. В защищенном режиме нет ограничения на 1 МБ.
    • Возможность многозадачности, что означает, что операционная система управляет выполнением нескольких программ одновременно.
    • Поддержка виртуальной памяти, которая позволяет системе использовать жесткий диск для эмуляции дополнительной системной памяти, когда это необходимо.
    • Более быстрый (32-разрядный) доступ к памяти и более быстрые 32-разрядные драйверы для операций ввода-вывода.

    Название этого режима связано с его основным использованием в многозадачных операционных системах. Каждая работающая программа имеет свои назначенные области памяти, которые защищены от конфликтов с другими программами. Если программа пытается использовать адрес памяти, который ей не разрешен, генерируется «ошибка защиты». Если вы когда-либо пользовались Windows 3.x, то точно знаете, о чем я говорю. :^)

    Несмотря на то, что она была представлена ​​в версии 286, в начале 80-х мир операционных систем застрял в DOS. Использование защищенного режима не становилось популярным до тех пор, пока не стала доминировать операционная система Microsoft Windows. Защищенный режим в настоящее время является способом, которым большинство людей используют свои ПК. Сегодня все основные операционные системы используют защищенный режим, включая Windows 3.x, Window 9x, Windows NT, OS/2 и Linux. Даже DOS, которая обычно работает в реальном режиме, может получить доступ к защищенному режиму с помощью DPMI (интерфейс защищенного режима DOS), который часто используется играми для DOS для преодоления стандартного барьера памяти DOS в 640 КБ.

    Все процессоры, начиная с версии 286, могут использовать защищенный режим. 386 и более поздние процессоры могут на лету переключаться из реального в защищенный режим и наоборот; 286 может переключиться из реального в защищенный режим только один раз (обратное переключение требует перезагрузки). Защищенный режим также иногда называют 386 Enhanced Mode, так как он стал основным с этим семейством процессоров.

    Виртуально-реальный режим:

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

    Для решения этой проблемы был создан виртуальный реальный режим. По сути, он эмулирует реальный режим из защищенного режима, позволяя запускать программы DOS. Операционная система с защищенным режимом, такая как Windows, фактически может создавать несколько виртуальных машин реального режима, каждая из которых выглядит для запускающего их программного обеспечения, как если бы она была единственным программным обеспечением, работающим на машине. Каждая виртуальная машина получает собственное адресное пространство размером 1 МБ, образ реальных аппаратных подпрограмм BIOS и все остальное.

    Виртуально-реальный режим используется, когда вы используете окно DOS или запускаете игру DOS в Windows 95. Когда вы запускаете приложение DOS, Windows 95 создает для него виртуальную машину DOS. Виртуально-реальный режим был представлен, начиная с семейства процессоров 386.

    Операционная система (ОС) — уровень программного обеспечения с прикладными программами и пользователями над ним и машиной под ним

    <УЛ>
  • удобство: преобразование необработанного оборудования в машину, более удобную для пользователей.
  • эффективность: управление ресурсами всей компьютерной системы
  • активируется прерываниями аппаратного обеспечения ниже или ловушками программного обеспечения выше. Прерывания вызваны устройствами, требующими внимания от ЦП (процессора). Ловушки вызваны недопустимыми событиями, такими как деление на ноль, или запросами прикладных программ или пользователей через интерпретатор команд.
  • обычно не запускается: комментарий Зильбершаца (стр. 6) о том, что «операционная система — это единственная программа, постоянно работающая на компьютере (обычно называемая ядром), а все остальное — приложения. программ '' является неправильным или очень запутанным - код операционной системы обычно НЕ работает на процессоре. Однако часть (или весь) код ОС хранится в основной памяти и готов к запуску.
  • Windows Vista, Windows XP, Windows ME, Windows 2000, Windows NT, Windows 95 и все остальные представители семейства Windows
  • UNIX, Linux, Solaris, Irix и все остальные члены семейства UNIX
  • MacOS 10 (OSX), MacOS 8, MacOS 7 и все остальные представители семейства MacOS.

Общий вид операционной системы:

<УЛ>
  • отвечает процессам: обрабатывает системные вызовы (которые отправляются либо в виде прерываний, либо с помощью специальной инструкции системного вызова) и состояния ошибок. В тексте прерывания иногда называются «программными прерываниями».
  • отвечает на устройства: обрабатывает прерывания (настоящие аппаратные прерывания)
  • Выполнение запроса к ОС

    Два важных термина:

    <УЛ>
  • системный вызов: запрос к операционной системе из программы; в UNIX системный вызов выглядит как вызов функции C, а набор системных вызовов выглядит как библиотека предопределенных функций
  • процесс: выполняемая программа (простое определение); <УЛ>
  • Операционная система управляет выполнением программ с помощью таблицы процессов с одной записью в таблице для каждого исполняемого объекта с собственным пространством памяти.
  • Пример 1. При выполнении команды UNIX, такой как "ls" или "who", создается новый процесс для запуска исполняемого файла с этим именем;
  • Пример 2. При выборе Пуск -> Программа -> Word в Windows создается новый процесс для запуска исполняемого файла с именем Winword.exe;
  • Если два пользователя запускают одну и ту же программу, ОС разделяет выполнение, создавая для каждого по одному процессу.
  • Другие услуги, предоставляемые операционными системами:
    1. обнаружение ошибок и обработка
    2. распределение ресурсов
    3. бухгалтерский
    4. конфигурация

    Другие цели разработки ОС:
    1. легко расширить
    2. портативный - легко переносить на другое оборудование
    3. легко установить
    4. легко удалить

    Способность компьютера одновременно обрабатывать более одной задачи называется многопроцессорностью. Многопроцессорная операционная система способна запускать множество программ одновременно, и большинство современных сетевых операционных систем (NOS) поддерживают многопроцессорность. Эти операционные системы включают Windows NT, 2000, XP и Unix. В этой главе рассматривается многопроцессорность с прицелом на сдачу экзамена CompTIA Server+.

    Эта глава из книги

    Эта глава из книги

    Эта глава из книги 

    Термины, которые вам необходимо понять:

    • Многопроцессорность
    • Внутренний реестр
    • Сетевая операционная система (NOS)
    • Слабая связь
    • Сильная связь
    • Кэш высокого уровня
    • Общая память
    • Симметричная многопроцессорность (SMP)
    • Асимметричная многопроцессорная обработка (ASMP)
    • Масштабируемая системная архитектура
    • Последовательная система
    • Режим блокировки
    • Архитектура микроядра
    • Процесс программирования
    • Многопоточность
    • Отслеживание автобусов
    • Массовая параллельная обработка (MPP)
    • Накладные расходы
    • Задержка
    • Детерминизм
    • Перекос
    • Шаги
    • Битовые рейтинги

    Техники, которые вам необходимо освоить:

    • Увеличение общей вычислительной мощности одного узла
    • Распределение ресурсов
    • Увеличение общей вычислительной мощности системы.
    • Разница между кешем 2 и 3 уровня
    • Использование нескольких потоков
    • Очистка кеша
    • Настройка сетевых операционных систем
    • Предотвращение превращения системной шины в узкое место
    • Определение разрядности указанного процессора
    • Настройка производительности серверной сети

    Введение

    Задача экзамена Server+ 1.12 гласит, что экзаменуемый должен знать особенности, преимущества и недостатки многопроцессорной обработки. Эта информация включает знания о:

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