Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Определение операционной системы



КУРС ЛЕКЦИЙ

(Заочное отделение)

 


Определение операционной системы

 

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

ОС как прикладной интерфейс.

Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с жесткого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.

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

 

ОС как система управления ресурсами

 

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

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

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

Эволюция ОС

Первый период (1945 -1955)

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

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

Второй период (1955 - 1965)

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

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

Третий период (1965 - 1980)

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

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

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

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

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

Существует несколько определений систем реального времени (ОСРВ) (real time operating systems (RTOS)).

1. Системой реального времени называется система, в которой успешность работы любой программы зависит не только от ее логической правильности, но от времени, за которое она получила результат. Если временные ограничения не удовлетворены, то фиксируется сбой в работе системы.

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

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

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

 

Система реального времени (СРВ) - это аппаратно-программный комплекс, реагирующий в предсказуемые времена на непредсказуемый поток внешних событий.

Это определение означает, что:

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

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

Различают системы реального времени двух типов - системы жесткого реального времени и системы мягкого реального времени.

Системы жесткого реального времени не допускают никаких задержек реакции системы ни при каких условиях, так как:

· результаты могут оказаться бесполезны в случае опоздания,

· может произойти катастрофа в случае задержки реакции,

· стоимость опоздания может оказаться бесконечно велика.

Примеры систем жесткого реального времени - бортовые системы управления, системы аварийной защиты, регистраторы аварийных событий.

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

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

 

Параметры ОСРВ

 

Время реакции системы

 

Почти все производители систем реального времени приводят такой параметр, как время реакции системы на прерывание (внешнее событие, сигнал с датчика).

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

Интервал времени - от события на объекте и до выполнения первой инструкции в программе обработки этого события и является временем реакции системы на события.

Приблизительное время реакции в зависимости от области применения ОСРВ может быть следующим:

математическое моделирование управляющих процессов - несколько микросекунд

радиолокация - несколько миллисекунд

складской учет - несколько секунд

торговые операции _ несколько минут

управление производством _ несколько минут

некоторые химические реакции - несколько часов

Видно, что времена очень разнятся и накладывают различные требования на вычислительную установку, на которой работает ОСРВ.

Размеры системы

 

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

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

 

Механизмы реального времени

 

 

Модель функционирования ЦУС

Обработка заявок организуется по следующей схеме. (рисую)

Заявки Z1…Zn поступают в устройство организации прерываний. При появлении заявки Zi устройство прерывания инициирует в процессоре операцию прерывания, в результате выполнения которой процессор переключается на выполнение программы приема и постановки заявок в очередь, называемой ДИСПЕТЧЕР1. Это Д1на рисунке.

 

Д1 опознает тип поступившей заявки и ставит заявку в соответствующую очередь Oi на обслуживание. Очередь в физическом отношении состоит из совокупности ячеек оперативной памяти, в которых размещаются коды поступивших заявок.

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

Процедура Диспетчирования реализуется программой ДИСПЕТЧЕР2 – Д2 на рисунке. Эта программа анализирует состояния очередей O1…On, выбирает заявку Zk, имеющую преимущественное право на обслуживание, и инициирует соответствующую прикладную программу Пк. Считается, что в момент окончания работы программы обслуженная заявка покидает систему.

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

Таким образом, обработка заявки проводится в два этапа:

На первом этапе заявка принимается Д1 в систему и ставится в очередь, где ожидает обслуживания.

На втором этапе заявка выбирается Д2, который организует обслуживание заявки, инициируя соответствующую прикладную программу.

Программы Д1 и Д2 управляют порядком обработки заявок и относятся к классу управляющих программ.

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

Правило диспетчирования, на основе которого из очередей выбираются заявки на обслуживание, называется дисциплиной обслуживания. Заданная дисциплина обслуживания реализуется управляющей программой – Д2.

 

 

Функционирование ЦУС можно рассматривать как совокупность трех процессов:

1) Поступление заявок на вход системы

2) Диспетчерование

3) Обслуживание заявок

 

Поступившая заявка инициирует прерывание в системе, процессор приостанавливает выполнение текущих задач и начинает обработку прерывания:

1) Запуск диспетчера 1. В функции диспетчера 1 входит определение типа заявки и поставление ее в очередь обслуживания (Oj) в зависимости от типа пришедшей заявки.

2) Д1 передает управление Д2. Д2 в зависимости от типа диспечеризации выбирает наиболее приоритетную заявку из очереди и запускает приложение необходимое для обработки данной заявки

 

 

 
 

 

 


Потоки заявок.

 

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

Пример потока заявок показан на рис. 3.3.

 

 
 

 

 


Пример потока заявок

 

Здесь t1, t2, ... — моменты возникновения событий, порождающих заявки. Различают входящие и выходящие потоки заявок , которые поступают в систему и соответственно покидают ее.

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

– среднее число заявок, пришедшее в единицу времени или Интенсивность поступивших заявок.

 

N – число пришедших заявок

t – интервал времени за который поступили заявки

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

 

Простейший поток заявок.

Простейшим потоком заявок называется поток обладающий следующими свойствами:

1. Стационарность – вероятностные характеристики потока не зависят от времени.

2. Отсутствие последействия - поступления заявки не зависит от времени прихода предыдущей заявки.

3. Ординарность – в каждый момент времени в систему поступает не более одной заявки.

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

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

 

Глава 3.

Дисциплины обслуживания заявок.

3.1 Бесприоритетная дисциплина обслуживания.

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

1) в порядке поступления (первой обслуживается заявка, поступившая раньше других);

2) в порядке, обратном порядку поступления заявок (первой обслуживается заявка, поступившая позже других);

3) наугад, т. е. путем случайного выбора из очереди.

 

Дисциплина обслуживания в порядке поступления называется FIFO1 (первый при), а дисциплина обслуживания в обратном порядке-LIFO2.

 

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

 

Бесприоритетчюе обслуживание заявок на основе дисциплины FIFO организуется в соответствии со следующим рисунком

 
 

 


Бесприоритетная дисциплина обслуживания

 

где Пр -процессор и О - очередь для заявок типа z1, ..., zn. Вновь поступившая заявка заносится в конец очереди. Заявки выбираются на обслуживание из начала очереди. Примером может служить очередь заданий печати для принтера.

Дисциплина обслуживания с относительными приоритетами заявок

 

Если требуется, чтобы заявки некоторого типа имели меньшее время ожидания (время пребывания), чем заявки других типов, то необходимо первым предоставить преимущественное право на обслуживание, называемое приоритетом. Приоритеты заявок характеризуются целыми положительными числами 1, 2, 3, ..., причем наиболее высокому приоритету соответствует меньшее число.

Если приоритеты учитываются только в момент выбора заявки на обслуживание, то их называют относительными. Относительность приоритета связана со следующим. В момент выбора сравниваются приоритеты заявок, находящихся в состоянии ожидания, и обслуживание предоставляется заявке.с наиболее высоким приоритетом, например – заявке с приоритетом 3. После этого выбранная заявка захватывает процессор. Если в процессе обслуживания этой заявки поступают заявки с более высокими приоритетами, например с приоритетами 1 и 2, процесс обслуживания заявки, имеющей приоритет 3, не прекращается, т. е. эта заявка, захватив процессор, оказывается наиболее приоритетной. Т.е. приоритет заявок относителен – он имеет место только при свободном процессоре.

 

При использовании относительных приоритетов обработка заявок организуется по следующей схеме.

 

 

 


Дисциплина обслуживания с относительными приоритетами

 

 

Заявкам типа zl..., zm присвоены относительные приоритеты i, ..., М соответственно. Заявка zр поступившая в систему, заносится в очередь Ор, в которой хранятся заявки приоритета р=1, ....М. В очереди Oр заявки упорядочены по времени поступления. Когда процессор Пp заканчивает ранее начатое обслуживание, то управление передается программе ДИС­ПЕТЧЕР. ДИСПЕТЧЕР выбирает на обслуживание заявку с наи­большим приоритетом — заявку zi, если очереди О1..., Оi-1 не со­держат заявок. Выбранная заявка захватывает процессор Пр на все время обслуживания.

 

Дисциплина обслуживания с абсолютными приоритетами

 

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

 

При использовании абсолютных приоритетов обслуживание за­явок организуется следующей схеме

 
 

 


Дисциплина обслуживания с абсолютными приоритетами

 

1 — заявка, ожидающая обслуживания; 2 — прерванная заявка.

 

Для каждого потока заявок z1..., zм организуется очередь O1 ..., Ом, в которой заявки раз­мещаются в порядке поступления. Заявкам z1; ..., zm соответствуют абсолютные приоритеты 1, .... М. Если процессор Пр занят обслуживанием заявки zi и на вход, поступает заявка типа zj, то при i < =j заявка zj заносится в конец очереди Оj, а при i > j обслуживание заявки zi прерывается, заявка zi заносится в начало очереди Оi и ДИСПЕТЧЕР переключает прибор на обслуживание заявки zj.

 

Обслуживание прерванных заявок может проводиться:

1) от начала;

2) от момента прерывания (дообслуживание).

 

По возможности стремятся использовать второй способ – дообслуживание прерванных заявок.

 

 
 

 

 


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

 

Дисциплина обслуживания со смешанными приоритетами.

 

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

 

 

 
 

 

 


Пусть в систему поступает М типов заявок. Если заявки обслуживать без приоритетов (дисциплина FIFO), то для заявок типа 1, ..... М1 среднее время ожидания может оказаться недопустимо большим. Если перейти к дисциплине с относительными приоритетами (кривая ОП), то для заявок типа 1, ..., М1положение исправляется, но времена, ожидания заявок с низкими приоритетами превышают предельно допустимые значения.

Если заявкам типа 1, ..., М1 присвоить относительные приоритеты 1, ..... М1, а заявки типа М1+1,... М обслуживать без приоритетов, то среднее время ожидания соответствует кривой СП удовлетворяет заданным ограничениям.

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

 

       
 
 
   

 

 

КУРС ЛЕКЦИЙ

(Заочное отделение)

 


Определение операционной системы

 

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 679; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.093 с.)
Главная | Случайная страница | Обратная связь