2011. Машбук (1114722), страница 28
Текст из файла (страница 28)
Таким образом, имеетсяфиксированный период времени, в течение которого компьютер должен снять показаниядатчика, определить, не достигнута ли точка кипения молока, и в случае кипениявыключить подогрев сосуда с молоком.96Сфер применения систем реального времени в жизни очень много. Достаточночасто системы реального времени строятся под конкретные задачи. Выделяют различныегруппы систем реального времени: жесткого времени (например, управление бортовойсистемой самолёта), мягкого времени и пр.; но основной принцип их функционированияодинаков и подобен тому, который был проиллюстрирован выше.И, в заключение, кратко остановимся на рассмотрении сетевых и распределенныхоперационных систем.
Как уже отмечалось выше, одиночные однопроцессорныесистемы уходят в прошлое, и во многих случаях процессорный элемент иликомпьютерный элемент рассматривается как составляющая многопроцессорных илимногомашинных ассоциаций. И с этой точки зрения операционные системы можноразделить на две категории.В первую категорию можно отнести т.н. сетевые ОС (Рис. 75). Сетеваяоперационная система — это система, обеспечивающая функционирование ивзаимодействие вычислительной системы в пределах сети. Это означает, что сетевая ОСустанавливается на каждом компьютере сети и обеспечивает функционированиераспределенных приложений, т.е.
тех приложений, реализация функций которыхраспределена по разным компьютерам сети. Примеров можно привести достаточно много.Так, почтовое приложение может быть распределенным: есть функции перемещения, естьсервер-получатель, есть клиентская часть, обеспечивающая интерфейс работыпользователя с указанным сервером.Распределенные приложенияСетевая ОС…Сетевая ОССетевая ОСРис. 75. Структура сетевой ОС.Вторую категорию составляют распределенные ОС (Рис. 76). Распределеннойоперационной системой считается система, функционирующая на многопроцессорномили многомашинном комплексе, в котором на каждом из узлов функционирует отдельноеядро, а сама система обеспечивает реализацию распределенных возможностей ОС (т.н.сервисы или услуги).
Примером распределенных функций может служить функцияуправления заданиями (напомним, что в кластерных системах задание можетпредставлять собою целое множество процессов, и ставится задача распределить этипроцессы по имеющимся процессорным узлам). Другим примером может служитьраспределенная файловая система. Традиционная файловая система ОС Unix просто несправится с потоками информации между узлами многопроцессорных систем, поэтомунеобходимы принципиально новые решения организации хранения и доступа к файлам.97Распределенные приложенияРаспределенные возможности (сервисы, услуги) ОСЯдро…ЯдроРис.
76. Структура распределенной ОС.98Ядро22.1Управление процессамиОсновные концепцииВыше уже встречалось понятие процесса и некоторые его определения. Подпроцессом понимается совокупность машинных команд и данных, обрабатываемая ввычислительной системе и обладающая правами на владение некоторым наборомресурсов ВС. Также уже говорилось, что ресурсы могут декларироваться посредствомразличных стратегий, причем ресурс может эксклюзивно принадлежать одномуединственному процессу, а может быть разделяемым, когда ресурс может одновременнопринадлежать нескольким процессам.
С точки зрения выделения ресурса процессуиспользуются две основные стратегии: предварительная декларация ресурсов идинамическое пополнение списка принадлежащих процессу ресурсов; также применяютсяи комбинированные подходы.Также ранее отмечалось, что одной из основных задач ОС является поддержаниежизненного цикла процесса. Жизненный цикл процесса — это те этапы, через которыеможет проходить процесс с момента его создания, в ходе его обработки и до завершения врамках вычислительной системы. В реальности жизненный цикл процесса представляетсобою характеристику конкретной операционной системы.Выделим следующие типовые этапы жизненного цикла процесса:образование (порождение или формирование) процесса,обработка (выполнение) процесса на процессоре,ожидание постановки процесса на исполнение — обычно это ожидание какого-либособытия: ожидание окончания обмена, ожидание выделения ресурса центральногопроцессора и пр.,завершение процесса — этап, связанный с возвратом процессом принадлежащих емуресурсов.
Просто убить процесс - некорректно. Нужно аккуратно забрать у него ресурсы.2.1.1 Модели операционных системОбозначим основные характеристики модельной операционной системы,относительно которых будем рассматривать проблемы управления процессами. Будемсчитать, что ОС обеспечивает существование процессов в двух состояниях. Первоесостояние — это размещение процесса, или программы, в буфере ввода процессов (БВП).В этом буфере размещаются процессы с момента их формирования, или ввода в систему,до начала обработки его центральным процессором. Отметим, что буфер ввода процессовявляется неотъемлемой частью пакетных систем.
Второе состояние объединяет состоянияпроцесса, связанные с размещением процесса в буфере обрабатываемых процессов(БОП), т.е. будем считать, что все процессы, которые начали обрабатыватьсяцентральным процессором, размещаются в данном буфере. Мы выделили именно двалогических состояния, т.к. такая модельная ОС отражает наиболее общую картину.Процесс после его формирования не обязательно сразу попадает на процессор. Заметим,что многие информационные системные структуры образуются только тогда, когдапроцесс начинает обрабатываться, поэтому, соответственно, можно провести разделениепо структурной организации. Размеры буферов в различных системах могутварьироваться.Теперь рассмотрим некоторые модельные примеры совокупности состоянийпроцессов в зависимости от типа ОС. Начнем рассмотрение с модели пакетнойоднопроцессной системы (Рис.
77). В подобной системе жизненный цикл процессасостоит всего из трех этапов. Первый этап — формирование процесса и ожидание началаобработки, т.е. поступление процесса в очередь на начало обработки процессором и99ожидание им начала своей обработки (процесс попадает в БВП). Второй этап — обработка(переход из БВП в БОП). Последний этап — завершение процесса, освобождениесистемных ресурсов. Данная система не имеет ожиданий готовых процессов илиожиданий ввода-вывода — это однопроцессная система, которая обрабатывает одинпроцесс, причем все обмены синхронные, и процесс никогда не откладывается.0ОжиданиеначалаобработкиОбработкаЦП12Завершение(граф состояний процесса)Рис.
77. Модель пакетной однопроцессной системы. 0 — поступление процесса вочередь на начало обработки ЦП (процесс попадает в БВП). 1 — началообработки процесса на ЦП (из БВП в БОП). 2 — Завершение выполненияпроцесса, освобождение системных ресурсов.Следующая модель — пакетная мультипроцессная система (Рис. 78). Даннаямодель уже имеет более богатый набор состояний процесса.
Есть состояние ожиданияначала обработки в БВП, после которого процесс попадает в БОП на обработкуцентральным процессором. Поскольку мы рассматриваем модель пакетной системы, тообрабатываемый процесс может либо завершиться, либо перейти в состояние ожиданияввода-вывода (если процесс обращается к операции обмена). Когда процесс переходит изсостояния обработки на процессоре, система может поставить на счет некоторый процесслибо из БВП, либо из очереди готовых на выполнение процессов в зависимости от той илииной реализованной стратегии. Соответственно, после того, как процесс завершил обмен,он меняет свой статус и попадает в очередь на выполнение, из которой позже он попадетснова на выполнение.0ОжиданиеначалаобработкиБВП1ОбработкаЦП5Завершение42Ожиданиеоперацииввода-вывода3БОПОчередь навыполнениеРис. 78.
Модель пакетной мультипроцессной системы. 0 — поступление процесса вочередь на начало обработки ЦП (процесс попадает в БВП). 1 — началообработки процесса на ЦП (из БВП в БОП). 2 — процесс прекращаетобработку ЦП по причине ожидания операции ввода-вывода, поступает вочередь завершения операции обмена (БОП). 3 — операция обменазавершена, и процесс поступает в очередь ожидания продолжениявыполнения ЦП (БОП). 4 — выбирается процесс для выполнения на ЦП.5 — завершение выполнения процесса, освобождение системных ресурсов.100Произведя в рассмотренной модели пакетной мультипроцессной системенебольшие изменения, можно получить модель операционной системы с разделениемвремени (Рис. 79).