Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 25
Текст из файла (страница 25)
На практике зачастуюпод фактом зацикливания считают исчерпание процессорного времени (положим, полтора часа).Очевидно, что переключение процессов в подобных системах происходит лишь понеобходимости, а это означает, что происходит редкое обращение к функции ОС сменыконтекстов обрабатываемых процессов, что ведет к максимальному снижению накладныхрасходов.
В подобных системах степень полезной загрузки процессора составляет от 90% и выше.Следующая модель — система разделения времени. Данная модель можетрассматриваться как развитие модели пакетных систем. В дополнение ко всем свойствам пакетныхсистем необходимо добавить дополнительную характеристику. Для каждого процесса в системеопределяется квант процессорного времени, который может быть единовременно использованпроцессом. Под квантом времени центрального процессора понимается некоторыйфиксированный ОС промежуток времени работы процессора.
Соответственно, переключениепроцессов происходит по тем же причинам, что и в пакетных системах (завершение процесса,возникновение прерывания, фиксация факта зацикливания), но необходимо добавить еще однупричину — исчерпался выделенный квант времени.Критерием эффективности подобных систем служит вовсе не загрузка процессора, а времяотклика системы на запрос пользователя (положим, если пользователь набирает текст в текстовомредакторе, т.е. будет важно, что набранные им только что символы отображались на экранедостаточно быстро, иначе работать с системой ему будет неудобно). Очевидно, что в подобныхсистемах происходит частая смена контекстов, что связано с большими накладными расходами.
Вподобных системах эффективность может составлять порядка 30–40%, а, соответственно, 60–70%будут составлять накладные расходы.Варьируя размерами кванта времени, можно получать системы для решения тех или иныхзадач. Увеличивая квант времени до некоторого среднего размера (порядка нескольких секунд),можно получить пакетную систему, ориентированную на обработку отладочных программ. А еслиувеличить размер кванта до бесконечности, получится пакетная система в чистом виде.Еще один класс систем представляют операционные системы реального времени. Этоспециализированные системы, которые предназначены для функционирования в рамкахвычислительных систем, обеспечивающих управление и взаимодействие с различнымитехнологическими процессами. При разработке подобных систем фиксируется некоторый наборсобытий, при возникновении любого из которых гарантируется обработка этого события занекоторый промежуток времени, не превосходящий определенного предельного значения.Для иллюстрации можно привести следующий пример.
Рассмотрим процесс кипячениямолока. Если емкость с молоком постоянно нагревать, то через некоторое время оно начинаеткипеть, а еще через некоторый достаточно короткий период оно «убегает» (после чего вообщеначинает подгорать). Процесс кипячения молока можно автоматизировать, если в сосуд с молокомпоместить датчик температуры, который снимает текущее значение температуры молока ипередает это значение компьютеру. Соответственно, ставится задача «поймать» момент фиксациитемпературы кипения молока, причем среагировать необходимо за некоторый фиксированныйпромежуток времени.
Если реакция произойдет, положим, через минуту, то молоко «убежит», и,соответственно, польза от такой системы будет минимальной. Таким образом, имеетсяфиксированный период времени, в течение которого компьютер должен снять показания датчика,определить, не достигнута ли точка кипения молока, и в случае кипения выключить подогревсосуда с молоком.Сфер применения систем реального времени в жизни очень много. Выделяют различныегруппы систем реального времени (жесткого времени, мягкого времени и пр.), но основнойпринцип их функционирования одинаков и подобен тому, который был проиллюстрирован выше.И, в заключение, кратко остановимся на рассмотрении сетевых и распределенныхоперационных систем. Как уже отмечалось выше, одиночные однопроцессорные системы уходятв прошлое, и во многих случаях процессорный элемент или компьютерный элемент85рассматривается как составляющая многопроцессорных или многомашинных ассоциаций. И сэтой точки зрения операционные системы можно разделить на две категории.В первую категорию можно отнести т.н.
сетевые ОС. Сетевая операционная система —это система, обеспечивающая функционирование и взаимодействие вычислительной системы впределах сети. Это означает, что сетевая ОС устанавливается на каждом компьютере сети иобеспечивает функционирование распределенных приложений, т.е. тех приложений, реализацияфункций которых распределена по разным компьютерам сети. Примеров можно привестидостаточно много.
Так, почтовая приложение может быть распределенным: есть функцииперемещения, есть сервер-получатель, есть клиентская часть, обеспечивающая интерфейс работыпользователя с указанным сервером.Распределенные приложенияСетевая ОССетевая ОС…Сетевая ОСРис. 67.Структура сетевой ОС.Вторую категорию составляют распределенные ОС. Распределенной операционнойсистемой считается система, функционирующая на многопроцессорном или многомашинномкомплексе, при этом на каждой машине функционирует отдельное ядро, а сама системаобеспечивает реализацию распределенных возможностей ОС (т.н. сервисы или услуги).
Примеромраспределенных функций может служить функция управления заданиями (напомним, что вкластерных системах задание может представлять собою целое множество процессов, и ставитсязадача распределить эти процессы по имеющимся процессорным узлам). Другим примером можетслужить распределенная файловая система: традиционная файловая система ОС Unix просто несправится с потоками информации между узлами многопроцессорных систем, поэтомунеобходимы принципиально новые решения организации хранения и доступа к файлам.Распределенные приложенияРаспределенные возможности (сервисы, услуги) ОСЯдро…ЯдроРис. 68.Структура распределенной ОС.86Ядро22.1Управление процессамиОсновные концепцииВыше уже встречалось понятие процесса и некоторые его определения.
Итак, подпроцессом понимается совокупность машинных команд и данных, обрабатываемая ввычислительной системе и обладающая правами на владение некоторым набором ресурсов ВС.Также уже говорилось, что ресурсы могут декларироваться посредством различных стратегий,причем ресурс может эксклюзивно принадлежать одному единственному процессу, а может бытьразделяемым, когда доступ к нему могут иметь два и более процесса.Также ранее отмечалось, что одной из функций логического блока управления процессамиОС является функция поддержания жизненного цикла процесса.
Жизненный цикл процесса —это те этапы, через которые может проходить процесс в ходе своей обработки и исполнении врамках вычислительной системы. В реальности жизненный цикл процесса представляет собоюхарактеристику конкретной операционной системы.Выделим следующие типовые этапы жизненного цикла процесса:− образование (порождение или формирование) процесса,− исполнение процесса на процессоре,− ожидание постановки процесса на исполнение — обычно это ожидание какого-либо события:ожидание окончания обмена, ожидание выделения ресурса центрального процессора и пр.,− завершение процесса — важный этап, связанный с возвратом процессом принадлежащих емуресурсов.2.1.1Модели операционных системНиже будем рассматривать некоторую модельную операционную систему.
Будемсчитать, что этапы жизненного цикла процесса разделены на два блока. Первый блок — эторазмещение процесса, или программы, в буфере ввода процессов (БВП). В этом буфереразмещаются процессы от момента их формирования, или ввода в систему, до начала обработкиего центральным процессором. Второй блок объединяет состояния процесса, связанные сразмещением процесса в буфере обрабатываемых процессов (БОП), т.е. будем считать, что всепроцессы, которые начали обрабатываться центральным процессором, размещаются в данномбуфере. Мы выделили именно два логических блока, т.к. эта модель отражает наиболее общуюкартину. Процесс после его формирования не обязательно сразу попадает на процессор, а многиеинформационные системные структуры образуются только тогда, когда процесс начинаетобрабатываться, соответственно, поэтому можно провести разделение по структурнойорганизации.
Размеры буферов в различных системах могут варьироваться.Теперь рассмотрим модели операционных систем того или иного класса систем, и начнеммы рассмотрение модели пакетной однопроцессной системы (2.1.1). В подобной системежизненный цикл процесса состоит всего из трех этапов. Первый этап — ожидание началаобработки, т.е. поступление процесса в очередь на начало обработки процессором и ожидание имначала своей обработки (процесс попадает в БВП). Второй этап — обработка (переход из БВП вБОП).
Последний этап — завершение процесса, освобождение системных ресурсов. Даннаясистема не имеет ожиданий готовых процессов или ожиданий ввода-вывода — этооднопроцессная система, которая обрабатывает один процесс, причем все обмены синхронные, ипроцесс никогда не откладывается.870Ожиданиеначалаобработки12ОбработкаЦПЗавершениеРис.
69.Модель пакетной однопроцессной системы. 0 — поступление процесса в очередь наначало обработки ЦП (процесс попадает в БВП). 1 — начало обработки процесса на ЦП (из БВП в БОП).2 — Завершение выполнения процесса, освобождение системных ресурсов.Следующая модель — модель пакетной мультипроцессной системы (2.1.1). Даннаямодель уже имеет более богатый набор состояний процесса. Есть состояние ожидания началаобработки в БВП, после которого процесс попадает в БОП на обработку центральнымпроцессором.
Поскольку мы рассматриваем модель пакетной системы, то обрабатываемыйпроцесс может либо завершиться, либо перейти в состояние ожидания ввода-вывода (если процессобращается к операции обмена). Когда процесс переходит из состояния обработки на процессоре,система может поставить на счет либо процесс из БВП, либо из очереди готовых на выполнениепроцессов в зависимости от той или иной реализованной стратегии. Соответственно, после того,как процесс завершил обмен, он меняет свой статус и попадает в очередь на выполнение, изкоторой позже он попадет снова на выполнение.0ОжиданиеначалаобработкиБВП15Обработка ЦПЗавершение42Ожиданиеоперацииввода-вывода3БОПОчередь навыполнениеРис. 70.Модель пакетной мультипроцессной системы.
0 — поступление процесса в очередь наначало обработки ЦП (процесс попадает в БВП). 1 — начало обработки процесса на ЦП (из БВП в БОП).2 — процесс прекращает обработку ЦП по причине ожидания операции ввода-вывода, поступает вочередь завершения операции обмена (БОП). 3 — операция обмена завершена, и процесс поступает вочередь ожидания продолжения выполнения ЦП (БОП). 4 — выбирается процесс для выполнения наЦП. 5 — завершение выполнения процесса, освобождение системных ресурсов.Произведя в рассмотренной модели пакетной мультипроцессной системы небольшиеизменения, можно получить модель операционной системы с разделением времени (2.1.1).Структурно достаточно добавить возможность перехода из состояния обработки центральнымпроцессором в очередь готовых на выполнение процессов.