DAY05 (Старые версии Машбука или нечто подобное)

2019-05-08СтудИзба

Описание файла

Файл "DAY05" внутри архива находится в следующих папках: Старые версии Машбука или нечто подобное, Лекции (Машечкин 1998). Документ из архива "Старые версии Машбука или нечто подобное", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "DAY05"

Текст из документа "DAY05"

6

Лекция №5

Лекция 5

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

Глава II. Операционная система

Операционная система. Назначение. Основные функции. Требования к ОС.

Определение. Операционная система - это комплекс программ, основной функцией которых является контроль за использованием и разделением ресурсов. (Приведу также определение операционной системы, данное Биллом Гейтсом в его книге «Дорога в будущее»: «Операционная система - фундаментальная программа, управляющая компонентами компьютерной системы, координирующая их взаимодействие и выполняющая другие функции. Без операционной системы компьютер бесполезен. Она служит той платформой, на которой работают все прочие программы - будь то текстовые процессоры, электронные таблицы или бухгалтерские приложения») Под ресурсами мы будем понимать некоторые характеристики вычислительной системы (именно вычислительной системы, т. е. совокупности «железо» + программное обеспечение), которые оказывают влияние на функционирование всей ВС в целом. Мы говорили, что в системе есть физические ресурсы, то есть ресурсы, которые связаны с реальным оборудованием (магнитные диски, RAM, быстродействие CPU). Мы также обсудили тот факт, что системе для ее успешного и эффективного функционирования необходимы логические ресурсы (виртуальные) ресурсы, т.е. ресурсы, которые в виде реального оборудования не существуют («руками» их не потрогаешь), но реализуются в виде некоторых средств, предоставляемых пользователю данной ОС. (Понятие «пользователь операционной системы» довольно расплывчато. Попросту говоря, пользователь - этот тот, кто имеет программу, которая должна работать на данной системе). Физические и логические ресурсы мы будем называть просто ресурсами вычислительной системы.

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

Любая операционная система оперирует некоторым набором сущностей, которые в совокупности со способами управления этими сущностями характеризуют операционную систему. К таким сущностям могут относиться такие понятия как файл, процесс, объект и т.п. В разных операционных системах используются разные базовые сущности. К примеру, в ОС Windows NT к таким сущностям можно отнести понятие объекта; и с помощью этой базовой сущности «по кирпичикам» строятся все возможности данной ОС. В UNIX есть две базовые сущности: это в первую очередь понятие файла, а во вторую очередь, понятие процесса.

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

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

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

  • управление использованием времени ЦП;

  • управление «подкачкой» и буфером ввода;

  • управление разделяемыми ресурсами.

В независимости от того, какие функции способна выполнять ОС, она должна удовлетворять пяти основным свойствам:

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

  2. Защита. Имеется в виду защита и персонификация данных пользователей. Этой темы мы коснемся позже.

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

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

  5. Удобства. ОС должна быть гибкой и удобной для пользования.

Сформулируем основные проблемы управления процессами:

  1. Управление разделяемыми ресурсами. Имеется набор ресурсов, доступ к которым в определенные моменты времени организуется от имени различных процессов. ОС должна иметь функцию, обеспечивающую корректное управление пересекающимися ресурсами. Заметим, что управление разделяемыми ресурсами есть большая проблема. В описанной нами ситуации с принтером все тривиально решается (организуется очередь заданий принтера), т.к. нам не нужно обеспечить оперативный доступ к ресурсу (принтеру). Но когда дело касается таких ресурсов как оперативная память решение данной проблемы с помощью очереди заданий «не пройдет». ВС будет сильно деградировать, и не о каком мультипроцессировании не может быть и речи. Доступ к ОЗУ - проблема не только мультипрограммирования, это проблема актуальна также и для машин, работающих на базе нескольких процессоров. Одно из решений проблемы разделенного доступа к ОЗУ - использование семафоров или дополнительных ячеек ОЗУ. Информация, записанная в этих дополнительных ячейках, будет говорить о принадлежности того или иного фрагмента памяти определенному процессорному устройству. Заметим, что в случае работы на нескольких процессорах возникает также необходимость переосмысления схемы работы cache-буферов т. к. при работе с cache содержимое реальной RAM часто не соответствует тому, что там должно находится. При этом решение «У каждого процессора свой КЭШ» не подходит, и появляется необходимость организации общего КЭШа.

  2. Управление «подкачкой» и буфером ввода. Предположим ситуацию, когда весь второй курс ф-та ВМиК сидит за компьютерами, и все одновременно запустили какие-либо задания в виде процессов. В системе образовалась масса задач (более 300). А вся вычислительная система не может принять для работы в мультипрограммном режиме 300 задач - это слишком много. Появляется необходимость в буфере ввода задач (процессов), в котором бы аккумулировались бы процессы, которые ожидают начала своей обработки процессором. Эта необходимость порождает новую проблему - проблему очередности выбора процессов из буфера для начала обработки. Эта задача планирования буфера. Рассмотрим задачу планирования «подкачки». Процессор обрабатывает несколько процессов, и перед нами стоит задача освободить реальную оперативную память для других задач. В этом случае возникает необходимость какие-то из обрабатываемых задач откачать на ВЗУ. По какому алгоритму откачивать эти задачи? Какова будет стратегия откачки? Вопрос, как более или менее выгодно организовать процесс откачки, есть проблема.

  3. Организация управлением использованием времени центрального процессора (ЦП). Эту проблему иногда называют планированием ЦП, т. е. управление тем, в какой момент времени какая из задач или какой из процессов будет владеть активностью ЦП: на какой из процессов будет работать ЦП.

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

Планирование ЦП.

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

Итак, мы хотим работать в мультипрограммном режиме и имеем несколько обрабатываемых процессов.

Пакетный алгоритм планирования.

Первая ситуация. У меня есть большое количество задач или программ, требующих большого объема вычислительных мощностей системы. Это те задачи, которые называют счетными задачами; они требуют большого объема вычислений и мало обращаются к внешним устройствам. Эти задачи должны выполняться на одной вычислительной системе. Что будет являться критерием эффективности для работы системы при выполнении этого пакета задач? Для такой ситуации критерием эффективности работы вычислительной системы является степень загрузки ЦП. Если он мало простаивает (т.е. работает в режиме ожидания, а все процессы занимаются обменом, либо ОС берет время на себя), то мы можем сказать, что такая система работает эффективно. Этого можно добиться с использованием соответствующего алгоритма планирования, который заключается в следующем. Мы запускаем для обработки тот набор задач, который у нас есть по возможностям ОС (либо максимум, либо все задачи), что обеспечивается режимом мультипрограммирования. Алгоритм планирования времени ЦП в этом случае будет следующий: если ЦП выделен одному из процессов, то этот процесс будет занимать ЦП до наступления одной из следующих ситуаций:

  1. Обращение к внешнему устройству.

  2. Завершение процесса.

  3. Зафиксирован факт зацикливания процесса.

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

Разделение времени.

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

Для такой системы подойдет критерий времени ожидания пользователя: с момента, как он послал заказ на выполнение какого-то действия, до момента ответа системы на этот заказ. Чем эффективнее работает система, тем это среднестатистическое время ожидания в системе меньше.

Рассмотрим ситуацию для второго случая. В системе находится некоторое количество процессов, и задача планировщика распределить время ЦП таким образом, чтобы время реакции системы на запрос пользователя было минимальным либо, по крайней мере, гарантированным. Предлагается следующая схема. В системе используется некоторый параметр t, который называют квантом времени (в общем случае, квант времени - это некоторое значение, которое может изменяться при настройке системы). Все множество процессов, которое находится в мультипрограммной обработке, подразделяется на два подмножества. Первое подмножество составляют те процессы, которые еще не готовы к продолжению выполнения: например, те процессы, которые заказали себе обмен и ждут его результатов. А есть процессы, которые готовы к выполнению. Работа будет осуществляться следующим образом. Тот процесс, который в данный момент времени занимает ЦП, будет владеть им до наступления одного из следующих событий:

  1. Обращение с заказом на обмен.

  2. Завершение процесса.

  3. Исчерпание выделенного данному процессу кванта времени t.

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

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