Архитектура вычислительных систем. Лекция 2. Ловецкий К.П. Москва, сентябрь 2012 Мультизадачность Аппарат прерываний Привилегированный и ограниченный режимы.

Презентация:



Advertisements
Похожие презентации
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Advertisements

Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
Основные виды ресурсов и возможности их разделения.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Операционная система: назначение и состав. Вопросы по теме: 1. Каковы основные компоненты операционной системы и каково их назначение? 2. Основные принципы.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Программное обеспечение компьютера. Совокупность программ, хранящихся в долговременной памяти компьютера, составляют программное обеспечение (ПО) компьютера.
1 Назначение операционных систем Автор проекта: Евтина М. Г. Петрова М. В. Трубицын Д.А. Худяков А. Ю.
Лекция 3. Исключения и прерывания в встроенных системах.
Операционные системы Проект ученика 8 А класса Юрченко Василия.
Операционные системы Введение (часть 4) 4.Основы архитектуры операционных систем 4.1.Базовые понятия 4.2.Свойства ОС 4.3.Структура ОС 4.4.Логические функции.
Операционные системы Введение в операционные системы Бленда Николай Андреевич 2009.
Архитектура операционной системы. Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы:
Операционные системы Подготовила Подготовила студентка студентка 1 курса группы Э курса группы Э-108 Шпудейко Кристина Шпудейко Кристина.
Загрузка ПО Энциклопедия учителя информатики Газета «Первое сентября»
Магистрально-модульный принцип построения компьютера Устройство компьютера.
Информатика в школе Операционная система Программное обеспечение.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Подготовил учитель информатики МОУ СОШ 36 г. Липецка Ефремов Максим Станиславович.
Учитель информатики Кюкяйской СОШ,Сунтарского улуса, Республики Саха Федоров Александр Михайлович,2010 год.
Транксрипт:

Архитектура вычислительных систем. Лекция 2. Ловецкий К.П. Москва, сентябрь 2012 Мультизадачность Аппарат прерываний Привилегированный и ограниченный режимы

2 ЭНИАКЭНИАК выполнял баллистические расчёты и потреблял мощность в 160 кВтбаллистические расчётымощностьВт

3 The Columbia Supercomputer, located at the NASA Ames Research Center. It was built by Silicon GraphicsColumbia SupercomputerNASA Ames Research CenterSilicon Graphics

ЕС-1035 в ГДР 4

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

Перфокарта: Z(1) = Y + W(1) 6

7 Ленточные накопители ЕС-5017 Архитектура вычислительных систем.

8 PDP11/40 as exhibited in Vienna Technical Museum Архитектура вычислительных систем. Компьютер PDP-11/40PDP-11

9 IBM PCIBM PC 5150 with keyboard and green monochrome monitor (5151), running MS-DOS 5.0MS-DOS Архитектура вычислительных систем.

10 Информация в вычислительной системе может запоминаться и храниться устройствами различного типа в зависимости от того, насколько оперативным должен быть доступ к данной информации, насколько долговременным должно быть ее хранение и каков ее объем. Архитектура вычислительных систем. Два слоя, отвечающие за управление аппаратурой, составляют операционную систему. Предназначение операционных систем – управление ресурсами вычислительной системы с целью оптимизации работы прикладных программ

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

12 Мультизадачность Одновременное исполнение нескольких задач Итак, если процессор, работая в каждый момент времени с одной задачей, при этом переключается между несколькими задачами, уделяя внимание то одной из них, то другой, эти задачи в соответствии с нашим определением будут считаться выполняемыми одновременно Задача 1 Задача 2 Задача 3 Одновременное выполнение задач на одном процессоре

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

14 Мультизадачность Пакетный режим В мультизадачных операционных системах как только активная задача затребует проведение операции ввода-вывода, операционная система выполняет необходимые действия по запуску контроллеров устройств на исполнение запрошенной операции, после чего заменяет активную задачу на другую новую или уже имеющуюся. Замененная задача в этом случае считается перешедшей в состояние ожидания результата ввода-вывода, или состояние блокировки. задача 1 блокировка готовность Диск Пакетная операционная система задача 1 задача 2

15 Мультизадачность Пакетный режим В простейшем случае новая активная задача остается в режиме выполнения до тех пор, пока она не завершится либо не затребует, в свою очередь, проведения операции ввода-вывода. При этом блокированная задача по окончании операции ввода-вывода переходит из состояния блокировки в состояние готовности к выполнению, но переключения на нее не происходит; это обусловлено тем, что операция смены активной задачи, вообще говоря, отнимает много процессорного времени. Такой способ построения мультизадачности, при котором смена активной задачи происходит только в случае ее окончания или запроса на операцию ввода-вывода, называется пакетным режимом, а операционные системы, реализующие этот режим, пакетными операционными системами. Режим пакетной мультизадачности является самым эффективным с точки зрения использования вычислительной мощности центрального процессора, поэтому именно пакетный режим используется для управления суперкомпьютерами и другими машинами, основное назначение которых большие объемы численных расчетов.

16 Мультизадачность Режим разделения времени С появлением первых терминалов и диалогового (иначе говоря, интерактивного) режима работы с компьютерами возникла потребность в других стратегиях смены активных задач, или, как принято говорить, планирования времени центрального процессора. Организовать комфортную диалоговую работу позволяет режим разделения времени. В этом режиме каждой задаче отводится определенное время работы, называемое квантом времени. По окончании этого кванта, если в системе имеются другие готовые к исполнению задачи, активная задача принудительно приостанавливается и заменяется другой задачей. Приостановленная задача помещается в очередь задач, готовых к выполнению и находится там, пока остальные задачи не отработают свои кванты; затем она снова получает очередной квант времени для работы.

17 Мультизадачность Режим разделения времени Некоторые операционные системы, включая ранние версии Windows, применяли стратегию, занимающую промежуточное положение между пакетным режимом и режимом разделения времени. В этих системах задачам выделялся квант времени, как и в системах разделения времени, но принудительной смены текущей задачи по истечении кванта времени не производилось; система проверяла, не истек ли квант времени у текущей задачи, только когда задача обращалась к операционной системе за какими-либо услугами (не обязательно за вводом-выводом). Таким образом, задача, не нуждающаяся в услугах операционной системы, могла занимать процессор сколь угодно долго, как и в пакетных операционных системах. Такой режим работы называется невытесняющим. В современных системах он не применяется, поскольку налагает слишком жесткие требования на исполняемые в системе программы; так, в ранних версиях Windows любая программа, занятая длительными вычислениями, блокировала работу всей системы.

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

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

20 Мультизадачность Требования к аппаратуре для обеспечения мультизадачного режима Для построения мультизадачного режима работы вычислительной системы аппаратура (прежде всего центральный процессор) должна обладать определенными свойствами. В однозадачной системе во время исполнения операции ввода-вывода центральный процессор может непрерывно опрашивать контроллер устройства на предмет его готовности (завершена ли требуемая операция), после чего возобновить работу активной задачи. В этом случае процессор непрерывно занят во время операции ввода-вывода, несмотря на то, что никаких полезных вычислений он при этом не производит. Такой способ взаимодействия называется активным ожиданием. Такой подход неэффективен, так как процессорное время можно использовать с большей пользой.

21 Мультизадачность Аппарат прерываний При мультизадачной обработке возникает определенная проблема. Ведь в момент завершения операции ввода-вывода контроллером процессор занят выполнением второй задачи, а как минимум необходимо перевести первую задачу из состояния блокировки в состояние готовности. Возникает необходимость посылки сообщения операционной системе о завершении операции ввода-вывода, в то время как процессор занят и непрерывного опроса контроллера не производит. Решить задачу позволяет аппарат прерываний. По завершении операции контроллер подает центральному процессору сигнал (электрический импульс), называемый запросом прерывания. Центральный процессор, получив этот сигнал, прерывает выполнение активной задачи и передает управление процедуре ОС, которая выполняет необходимые по окончании операции ввода-вывода действия. После этого управление возвращается активной задаче.

22 Мультизадачность Защита памяти Если не предпринять специальных мер, одна из программ может модифицировать данные или код других программ или самой операционной системы. Даже если допустить отсутствие злого умысла у разработчиков всех запускаемых программ, от случайных ошибок в программах это допущение не спасет. Ясно, что необходимы средства ограничения возможностей работающей программы по доступу к областям памяти, занятым другими программами. Программная реализация такой защиты недопустима из соображений эффективности. Поэтому применяется аппаратная поддержка защиты памяти.

23 Мультизадачность Привилегированный и ограниченный режимы Коль скоро существует защита памяти, процессор должен иметь набор команд для управления этой защитой. Если не предпринять специальных мер, то такие команды сможет исполнить любая из выполняющихся программ, сняв защиту памяти или модифицировав ее конфигурацию. Такая возможность делает саму защиту памяти практически бессмысленной. Проблема касается не только защиты памяти, но и работы с внешними устройствами. Чтобы обеспечить нормальное взаимодействие всех программ с устройствами ввода- вывода, операционная система должна взять непосредственную работу с устройствами на себя, а пользовательским программам предоставлять интерфейс для обращения к операционной системе за услугами по работе с устройствами.

24 Мультизадачность Привилегированный и ограниченный режимы Проблема решается введением двух режимов работы центрального процессора: привилегированного и ограниченного. В привилегированном режиме процессор может выполнять любые существующие команды. В ограниченном режиме выполнение команд, влияющих на систему в целом, запрещено; разрешаются только команды, эффект которых ограничен модификацией данных в областях памяти, не закрытых защитой памяти. Сама операционная система (программа, называемая еще ядром операционной системы) выполняется в привилегированном режиме, пользовательские программы в ограниченном.

25 Мультизадачность Таймер A simple digital timer. The internal componentsincluding the circuit board with control chip and LED display, a battery, and a buzzerare visible.circuit boardLEDbattery buzzer

26 Мультизадачность Таймер Для реализации пакетного мультизадачного режима перечисленных аппаратных средств уже достаточно. Если же необходимо реализовать систему разделения времени или реального времени, в аппаратуре вычислительной системы требуется наличие еще одного компонента таймера. Планировщику операционной системы разделения времени нужна возможность отслеживания истечения квантов времени, выделенных пользовательским программам; в системе реального времени требования к ней даже более жесткие: не сняв вовремя с процессора активное на тот момент приложение, планировщик рискует попросту не успеть выделить более важным программам необходимое им процессорное время, в результате чего могут наступить неприятные последствия (пример с автопилотом самолета).

27 Мультизадачность Существуют два вида таймеров: Аппаратные таймеры функционируют независимо от центрального процессора и в момент срабатывания посылают прерывание. центрального процессорапрерывание Программные таймеры реализуются за счёт выполнения в цикле заданного количества одинаковых «пустых» операций. При фиксированной частоте работы процессора это позволяет точно определять прошедшее время. Главными минусами такого метода являются: зависимость количества итераций цикла от типа и частоты процессора, невозможность выполнения других операций во время задержки.

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

29 Мультизадачность Краткий итог Для реализации мультизадачной операционной системы аппаратное обеспечение компьютера обязано поддерживать: – аппарат прерываний; – защиту памяти; – привилегированный и ограниченный режимы работы центрального процессора; – таймер. Первые три свойства необходимы в любой мультизадачной системе, последнее может отсутствовать в случае пакетной планировки (хотя в реальных системах таймер присутствует всегда). Из перечисленных свойств только таймер является отдельным устройством, остальные три представляют собой функции центрального процессора.

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

31 Аппарат прерываний Внешние (аппаратные) прерывания Прерывание является единственным (из известных нам на текущий момент) способом переключения процессора в привилегированный режим.

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

33 Аппарат прерываний Внутренние прерывания Поэтому обработку ситуаций, в которых дальнейшее выполнение активной задачи оказывается невозможной по причине выполненных ею некорректных действий, называют так же, как и действия по запросу внешних устройств прерываниями. Чтобы не путать разные по своей природе прерывания, их делят на внешние (аппаратные) и внутренние; такая терминология оправдана тем, что причина внешнего прерывания находится вне центрального процессора, тогда как причина внутреннего у ЦП внутри.

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

35 Привилегированный и ограниченный режимы. Ядро и процессы. В основе операционной системы всегда находится программа, осуществляющая работу с аппаратурой, обрабатывающая прерывания и обслуживающая системные вызовы. Эта программа называется ядром операционной системы. В определенном смысле ядро и есть сама операционная система; в некоторых случаях, однако, под словосочетанием «операционная система» понимают большой набор программ, включающий, кроме ядра, еще разнообразные системные утилиты, программы для управления и настройки, иногда даже компиляторы и интерпретаторы языков программирования. В этом смысле термин «операционная система» может использоваться в разных значениях, тогда как использование термина «ядро» никакой неопределенности не оставляет.

36 Информация в вычислительной системе может запоминаться и храниться устройствами различного типа в зависимости от того, насколько оперативным должен быть доступ к данной информации, насколько долговременным должно быть ее хранение и каков ее объем. Архитектура вычислительных систем.

37 Привилегированный и ограниченный режимы. Ядро и процессы. Как уже говорилось, процессор в современных вычислительных системах имеет два режима выполнения команд: привилегированный и ограниченный. В привилегированном режиме можно выполнять любые команды, имеющиеся на данном процессоре, в ограниченном же выполнение любых команд, влияющих на что-либо за пределами ограниченной области памяти, заблокировано и вызывает внутреннее прерывание.

38 Привилегированный и ограниченный режимы. Ядро и процессы. Кольца защиты архитектура информационной безопасности и функциональной отказоустойчивости, реализующая аппаратное разделение системного и пользовательского уровней привилегий. Структуру привилегий можно изобразить в виде нескольких концентрических кругов. В этом случае системный режим (режим супервизора или нулевое кольцо, информационной безопасности отказоустойчивостинулевое кольцо т.н. "кольцо 0"), обеспечивающий максимальный доступ к ресурсам, является внутренним кругом, тогда как режим пользователя с ограниченным доступом внешним. Традиционно семейство микропроцессоров x86 обеспечивает четыре кольца защиты.x86

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

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

41 Привилегированный и ограниченный режимы. Действия, которые на физической машине осуществлял бы процессор в ответ на привилегированную команду, в режиме эмуляции выполняют обработчики прерываний по некорректной инструкции и нарушению защиты памяти. В режиме такой эмуляции можно запустить в виде пользовательского процесса ядро другой операционной системы или даже второй экземпляр той же самой. Впервые такая эмуляция была реализована на IBM/360 операционной системой VM/360. Под VM/360 можно было запустить несколько операционных систем OS/360, причем каждая из них была уверена, что компьютер IBM/360 находится в ее полном распоряжении. Более того, под VM/360 можно было загрузить в режиме эмуляции ее саму. Эмуляция физического компьютера

42 Режим гипервизора Некоторые современные процессоры могут предоставлять дополнительный режим работы, известный как режим гипервизора. Как правило данный режим реализуется с целью поддержки технологий виртуализации на уровне аппаратного обеспечения. Это позволяет достигнуть не только одновременного выполнения нескольких задач, но и одновременного выполнения нескольких операционных систем на одном процессоре без существенных потерь производительности и без изменения самих операционных систем. Обычно при использовании этого режима полный доступ ко всем ресурсам возможен именно из режима гипервизора. В таком случае режим супервизора уже не является максимально привилегированным и ограничиваются его многие привилегированные операции.

43 Режим гипервизора При выполнении привилегированных операций операционными системами в режиме супервизора управление передается специальной программе - гипервизору. Гипервизор осуществляет арбитраж использования имеющихся аппаратных ресурсов несколькими операционными системами аналогично тому как сами операционные системы осуществляют распределение ресурсов между несколькими задачами. Гипервизор обычно является небольшим ядром, которое управляет распределением ресурсов между несколькими операционными системами и работает уровнем ниже, чем сами операционные системы. В силу этого в терминологии x86 данный режим как правило называют кольцом -1 (Ring -1).