Главная » Просмотр файлов » Лекции по операционным системам

Лекции по операционным системам (1114687), страница 15

Файл №1114687 Лекции по операционным системам (Лекции по операционным системам) 15 страницаЛекции по операционным системам (1114687) страница 152019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 15)

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

  1. Структура ОС с микроядерной архитектурой.

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

Микроядерная система может служить основой для надстройки над микроядром разных операционных систем. В частности, такой подход используется в ряде систем, в основе которых используется микроядро системы Mach.

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

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

1.3.2Логические функции ОС

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

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

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

Функции планирования можно понимать с разных точек зрения. Можно понимать планирование в узком смысле слова, т.е. планирование центрального процессора (т.е. планирование доступа процессов к центральному процессору). На самом деле, функций планирования большое множество, поскольку применять планирование приходится при организации многих механизмов операционной системы. Так, упоминавшаяся только что задача изъятия памяти у процессов является задачей планирования, поскольку ставится вопрос, по какому принципу будет происходить это изъятие. Взаимодействие с внешними устройствами тоже не может обойтись без решения задач планирования: так или иначе, поток заказов на обмен, поступающих в системе, может превосходить пропускную способность устройства, образуется конкуренция по доступу к устройству — выстраивается очередь заказов на обмен. Соответственно, ставится вопрос, как организовать обработку этой очереди. Возможны различные стратегии: FIFO, LIFO и пр. — и для каждой из них будет свой результат. Итак, сфера применения решения задач планирования достаточно широка, просто в одних случаях планирование рассматривают в рамках какой-либо функциональности, а в других случаях — отдельно.

Блок управления данными и файловой системой также является достаточно важным, поскольку ни один процесс не сможет без него функционировать. На этом уровне применяются множество различных стратегий, организаций и пр., о чем речь пойдет позже. Блок управления внешними устройствами, подобно блоку управления оперативной памятью, зачастую оказывается скрытым для пользователей системы, в некоторых случаях он интегрирован в файловую систему, как это сделано в ОС Unix. На этом уровне также решаются множество специфических задач: задача кэширования обменов, задача повышения надежности обменов и пр.

1.3.3Типы операционных систем

Операционные системы можно классифицировать с точки зрения критериев эффективности и стратегий использования центрального процессора. Можно выделить три основных класса операционных систем: пакетные операционные системы, системы разделения времени и системы реального времени. Остановимся на каждой из них поподробнее.

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

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

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

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

И, наконец, третья причина — фиксация факта зацикливания. В принципе точно определить факт зацикливания программы сложно, но все-таки возможно. На практике зачастую под фактом зацикливания считают исчерпание процессорного времени (положим, полтора часа).

Очевидно, что переключение процессов в подобных системах происходит лишь по необходимости, а это означает, что происходит редкое обращение к функции ОС смены контекстов обрабатываемых процессов, что ведет к максимальному снижению накладных расходов. В подобных системах степень полезной загрузки процессора составляет от 90% и выше.

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

Критерием эффективности подобных систем служит вовсе не загрузка процессора, а время отклика системы на запрос пользователя (положим, если пользователь набирает текст в текстовом редакторе, т.е. будет важно, что набранные им только что символы отображались на экране достаточно быстро, иначе работать с системой ему будет неудобно). Очевидно, что в подобных системах происходит частая смена контекстов, что связано с большими накладными расходами. В подобных системах эффективность может составлять порядка 30–40%, а, соответственно, 60–70% будут составлять накладные расходы.

Варьируя размерами кванта времени, можно получать системы для решения тех или иных задач. Увеличивая квант времени до некоторого среднего размера (порядка нескольких секунд), можно получить пакетную систему, ориентированную на обработку отладочных программ. А если увеличить размер кванта до бесконечности, получится пакетная система в чистом виде.

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

Для иллюстрации можно привести следующий пример. Рассмотрим процесс кипячения молока. Если емкость с молоком постоянно нагревать, то через некоторое время оно начинает кипеть, а еще через некоторый достаточно короткий период оно «убегает» (после чего вообще начинает подгорать). Процесс кипячения молока можно автоматизировать, если в сосуд с молоком поместить датчик температуры, который снимает текущее значение температуры молока и передает это значение компьютеру. Соответственно, ставится задача «поймать» момент фиксации температуры кипения молока, причем среагировать необходимо за некоторый фиксированный промежуток времени. Если реакция произойдет, положим, через минуту, то молоко «убежит», и, соответственно, польза от такой системы будет минимальной. Таким образом, имеется фиксированный период времени, в течение которого компьютер должен снять показания датчика, определить, не достигнута ли точка кипения молока, и в случае кипения выключить подогрев сосуда с молоком.

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

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

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

  1. Структура сетевой ОС.

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

  1. Структура распределенной ОС.

2Управление процессами

2.1Основные концепции

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

Также ранее отмечалось, что одной из функций логического блока управления процессами ОС является функция поддержания жизненного цикла процесса. Жизненный цикл процесса — это те этапы, через которые может проходить процесс в ходе своей обработки и исполнении в рамках вычислительной системы. В реальности жизненный цикл процесса представляет собою характеристику конкретной операционной системы.

Выделим следующие типовые этапы жизненного цикла процесса:

  • образование (порождение или формирование) процесса,

  • исполнение процесса на процессоре,

  • ожидание постановки процесса на исполнение — обычно это ожидание какого-либо события: ожидание окончания обмена, ожидание выделения ресурса центрального процессора и пр.,

  • завершение процесса — важный этап, связанный с возвратом процессом принадлежащих ему ресурсов.

2.1.1Модели операционных систем

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

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

  1. Модель пакетной однопроцессной системы. 0 — поступление процесса в очередь на начало обработки ЦП (процесс попадает в БВП). 1 — начало обработки процесса на ЦП (из БВП в БОП). 2 — Завершение выполнения процесса, освобождение системных ресурсов.

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

Характеристики

Тип файла
Документ
Размер
2,4 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее