Министерство Общего и Профессионального Образования РФ
Новосибирский государственный
технический университет

Курсовая работа по дисциплине СПО
Студент: Наумовский преподаватель:
Факультета: АВТ А.
Группы: АМ-110
Новосибирск, 2004 г.
Содержание
1. Введение в предметную область …………………………………………………..3
2.Исходные данные. ………………………………………………………………….. 9
2.1. Задание к разделу №1. ………………………………………………………….9
2.2. Таблица последовательностей. ……………………………………………….9
3. Временные диаграммы использования FIFO и SJF. Таблицы результатов. 10
4. Выводы по разделу №1. …………………………………………………………...15
5. Раздел №2 ……………………………………………………………………………16
5.1. Задание к разделу №2. …………………………………………………………16
5.2. Исходные данные ………………………………………………………………16
6. Диспетчеризация заданий. ………………………………………………………..16
6.1. Общие положения. ……………………………………………………………. .16
6.2. Диспетчер задач для бесприоритетной ДО – смешанный алгоритм. …..17
6.4. Диспетчер задач для приоритетной ДО – адаптивное обслуживание. …..17
7. Заключение. …………………………………………………………………………..18
8. Используемая литература. ………………………………………………………….19
1.Введение в предметную область
Идея о том, что операционная система (ОС) прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
– планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;
– отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов - какое количество ресурса уже распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
Классификация ОС. Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам (рис.1).
Особенности алгоритмов управления ресурсами. От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
· однозадачные (например, MS-DOS, MSX);
· многозадачные (OC EC, OS/2, UNIX, Windows 95).
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:
· однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
· многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
· невытесняющая многозадачность (NetWare, Windows 3.x);
· вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell. Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами. Ниже приведена схема классификации ОС по основным признакам (рис. 1)

Рис.1 Классификация ОС
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов - процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами - подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенаправление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных.
Далее приведены некоторые базовые составляющие ОС, относящиеся к рассматриваемой тематике:
Операционная система – комплекс взаимосвязанных программ, предназначенный для повышения эффективности аппаратуры компьютера путём рационального управления его ресурсами, а также для обеспечения удобств пользователю путём предоставления ему расширенной виртуальной машины.
Основные функции ОС:
1. Распределение памяти и организация виртуальной памяти;
2. Планирование и диспетчеризация задач в соответствии с заданной стратегией и дисциплиной обслуживания;
3. Организация механизма обмена сообщениями и данными между выполняющимися процессами;
4. Защита одной программы от влияния другой и др.
ОС не только предоставляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы вычислительной системы. К числу основных ресурсов, управление которыми осуществляет ОС, относятся процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и др. Ресурсы разделяются между процессами. Для решения задач управления ресурсами разные ОС используют различные алгоритмы, особенности которых в конечном счёте и определяют облик ОС.
Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач:
– Планирование ресурса – то есть определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс;
– Удовлетворение запросов на ресурсы;
– Отслеживание состояния и учёт использования ресурса – то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;
– Разрешение конфликтов между процессами.
Подсистемы ОС. Наиболее важными подсистемами ОС являются подсистемы управления процессами, памятью, файлами и внешними устройствами, а также подсистемы пользовательского интерфейса, защиты данных и администрирования.
– Подсистема управления процессами. Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
В многозадачной системе процесс может находится в одном из трёх основных состояний:
1. Выполнение – активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
2. Ожидание – пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
3. Готовность - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.
– Подсистема управления памятью. Функциями ОС по управлению памятью являются отслеживание свободной и занятой памяти; выделение памяти процессам и освобождение памяти при завершении процессов; защита памяти; вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти недостаточны для размещения в ней всех процессов, и возвращение их в ОП, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
Особенности областей использования операционных систем. Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
· системы пакетной обработки (например, OC EC);
· системы разделения времени (UNIX, VMS);
· системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки - изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину.
Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т. п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть - в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
Понятие диспетчеризации
Операционная система для реализации мультипрограммирования выполняет планирование и диспетчеризацию потоков (в ОС, не поддерживающих потоков, - диспетчеризацию процессов). Планирование включает определение момента времени для смены текущего потока, а также выбор нового потока для выполнения. Диспетчеризация заключается в реализации найденного в результате планирования решения, то есть в переключении процессора с одного потока на другой.
Планирование может выполняться динамически, когда решения принимаются во время работы системы на основе анализа текущей ситуации, или статически, если потоки запускаются на выполнение на основании заранее разработанного расписания. Первый способ характерен для универсальных ОС, а второй – для специализированных ОС, например ОС реального времени.
Диспетчер – программа, которая выбирает задачи из “очереди на выполнение”, переводят их в активное состояние, и передаёт им контроль над центральным процессором.
Дисциплины диспетчеризации
Дисциплины диспетчеризации (ДД) – правила в соответствии с которым из очереди выбирается соответствующее требование и предоставляется ресурс.
Требования к ДД:
– ДД должны обеспечивать высокий показатель эффективности, при этом время ожидания должно быть равномерно
– Необходимо, чтобы ДД была минимальна по трудоёмкости

Классификация дисциплин обслуживания приведена на рис.3.
Рис. 2. Классификация дисциплин обслуживания
Общая характеристика ДО
Бесприоритетные ДО: выбирают заявки без учёта их важности, а по принципу последовательности поступления.
Линейные ДО: характеризуются одинаковым средним временем ожидания независимо от длительности заявки.
Циклические ДО: Имеются циклические очереди к ресурсу, т. е. очереди использующие принцип ∆t, т. е выбранная заявка получает ограниченный квант времени ∆t. В результате этого она может обслуживаться только с учётом определённого требования, она может завершиться полностью, либо заявки не хватит времени ∆t. В случае нехватки времени ∆t обслуживание прерывается, заявка становится в конец очереди и выбирается следующая по порядку.
2. Исходные данные.
Раздел №1
2.1. Задание.
Вычислительная система располагает оперативной памятью (ОП) V и внешним обьемом памяти Н (НМД). ОП память выделяется перемещаемым разделами, которые исключают влияние фрагментации. Реализуется режим мультипрограммирования: если одновременно выполняется несколько задач, то процессорное время распределяется между ними равномерно. В систему поступает поток из М заданий, очередное задание поступает через время ti, для простоты каждое задание состоит из одной задачи и требует обьем ОП - vi, обьем внешней памяти hi, процессорное время. Каждое задание использует свою внешнюю память только для ввода данных в течение времени q*hi , после чего начинается счет. Однако закрепленные за каждым заданием носители освобождаются только после завершения задания. Предположим, возможно параллельное использование внешней памяти заданиями без задержки друг друга. Если бы задания выполнялись по одному, то на каждое задание было бы затрачено время Тi = q*hi + ti. Вновь поступившие задания помещаются в очередь. Для выбора заданий из очереди на выполнение используются два алгоритма:
1) среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание, поступившее первым (правило FIFO);
2) среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание с наименьшим ti(правило SJF).
Необходимо построить временную диаграмму мультипрограммной работы при использовании каждого из двух алгоритмов. На диаграмме выделить события (моменты поступления заданий, моменты назначения на выполнение, моменты начала счета, моменты завершения) и периоды между событиями. Для каждого периода указать процессорное время на задание, доступную память, доступную дисковую память, степень мультипрограммирования. Провести сравнение двух случаев по средневзвешенному времени обращения.
2.2. Таблица последовательностей.
X1 = 113, K1 = [113/7] mod 10 =6
X2=[ 7*113 +417] mod 1000 = 208, K2 =[ 208/7 ] mod 10=9
X3=[ 7*208 +417] mod 1000 = 873, K3 =[ 873/7 ] mod 10=4
X4=[ 7*873 +417] mod 1000 = 528, K4 =[ 528/7 ] mod 10=5
X5=[ 7*528 +417] mod 1000 = 113, K5 =[ 113/7 ] mod 10=6
X6=[ 7*113 +417] mod 1000 = 208, K6 =[ 208/7 ] mod 10=9
X7=[ 7*208 +417] mod 1000 = 873, K7 =[ 873/7 ] mod 10=4
X8=[ 7*873 +417] mod 1000 = 528, K8 =[ 528/7 ] mod 10=5
X9=[ 7*528 +417] mod 1000 = 113, K9 =[ 113/7 ] mod 10=6
X10=[ 7*113 +417] mod 1000 = 208, K10 =[ 208/7 ] mod 10=9
Значения используемых параметров: V=16, H=12, q=5, M=10, последовательность периодов времени (интервал поступления заданий) ti=ki.
k | 4 | 5 | 6 | 9 |
v | 3 | 5 | 7 | 1 |
h | 2 | 0 | 4 | 3 |
τ | 60 | 30 | 20 | 50 |
Таб.1. Таблица последовательностей.
№ | ti | xi | ki | vi | hi | τi | Ti |
0 | 6 | 113 | 6 | 7 | 4 | 20 | 40 |
1 | 9 | 208 | 9 | 1 | 3 | 50 | 65 |
2 | 4 | 873 | 4 | 3 | 2 | 60 | 70 |
3 | 5 | 528 | 5 | 5 | 0 | 30 | 30 |
4 | 6 | 113 | 6 | 7 | 4 | 20 | 40 |
5 | 9 | 208 | 9 | 1 | 3 | 50 | 65 |
6 | 4 | 873 | 4 | 3 | 2 | 60 | 70 |
7 | 5 | 528 | 5 | 5 | 0 | 30 | 30 |
8 | 6 | 113 | 6 | 7 | 4 | 20 | 40 |
9 | 9 | 208 | 9 | 1 | 3 | 50 | 65 |
3. Временные диаграммы использования FIFO и SJF. Таблицы результатов.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |



