Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОС 1 - 4

.docx
Скачиваний:
20
Добавлен:
11.03.2016
Размер:
64.57 Кб
Скачать

<< 1 >>

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами вычислительного устройства и организации взаимодействия с пользователем.

Основные функции:

  • Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).

  • Загрузка программ в оперативную память и их выполнение.

  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

  • Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

  • Обеспечение пользовательского интерфейса.

  • Сохранение информации об ошибках системы.

Дополнительные функции:

  • Параллельное или псевдопараллельное выполнение задач (многозадачность).

  • Эффективное распределение ресурсов вычислительной системы между процессами.

  • Разграничение доступа различных процессов к ресурсам.

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

  • Взаимодействие между процессами: обмен данными, взаимная синхронизация.

  • Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

  • Многопользовательский режим работы и разграничение прав доступа

<< 2 >>

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

Все программное обеспечение принято делить на две части: прикладное и системное. К прикладному программному обеспечению, как правило, относятся разнообразные банковские и прочие business программы, игры, текстовые процессоры, и т.п. Под системным программным обеспечением обычно понимают программы, способствующие функционированию и разработке прикладных программ. Надо сказать, что деление на прикладное и системное программное обеспечение является отчасти условным и зависит от того,  кто осуществляет такое деление. Так, обычный пользователь, неискушённый в программировании, может считать Microsoft Word системной программой, а с точки зрения программиста это приложение. Компилятор  языка Си для обычного программиста это системная программа, а для системного прикладная.

<< 3 >>

Ресурс вычислительной системы - средство вычислительной системы, которое может быть выделено процессу обработки данных на определенный интервал времени.

Основными ресурсами вычислительной системы являются: процессоры; области основной памяти; наборы данных; периферийные устройства; программы.

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

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

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

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

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

Основными функциями управления ресурсами являются:

  • учет наличия и состояния ресурсов;

  • прием и учет заявок на ресурсы от задач и процессов;

  • распределение ресурсов между задачами и процессами;

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

  • возврат ресурса в систему по мере его освобождения потребителем.

Для реализации функций управления ресурсами в ОС формируются информационные таблицы, в которых отражаются следующие основные данные:

для ресурсов:

  • учетная информация о ресурсе (идентификатор, класс, количество каналов и т.п.);

  • код состояния ресурса;

  • идентификатор процесса-владельца и т.п

для заявок на ресурсы:

  • идентификатор процесса-заявителя;

  • приоритет процесса;

  • идентификатор и требуемый объем ресурса и т.п.

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

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

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

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

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

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

<< 4 >>

Критерии эффективности ОС

Мультипрограммирование применяется для повышения эффективности вычислительной системы.

Эффективность же может пониматься как

- общая пропускная способность вычислительной системы;

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

- реактивность системы – то есть способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.

В зависимости от выбранного критерия эффективности операционные системы делятся на:

- системы пакетной обработки (например, OC EC),

- системы разделения времени (UNIX, VMS),

- системы реального времени (QNX, RT/11).

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

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

Схема функционирования систем пакетной обработки данных:

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

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

!!! Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание.

Þ таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени.

 

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

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

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

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

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

Каждой задаче выделяется только квант процессорного времени,

Þ ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым.

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

 

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

1)      на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе,

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

Таким образом, критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

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

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

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

Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью.

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

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

Типы и классы операционных систем.

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

  1. многопользовательские - предусматривающие одновременную работу и обращение к системным ресурсам нескольких пользователей с отдельных терминалов, подключенных к общей ЭВМ или серверу. Примером такой ОС может быть система UNIX, ОС для больших ЭВМ типа Main frame - OS 400 или PRIMUS (для ЕС ЭВМ).

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

В свою очередь, они подразделяются на три группы:

  1. однозадачные - т.е. способные выполнять в любой момент времени только одну пользовательскую, системную или прикладную задачу. Классическим примером таких ОС является система MS DOS и DOS - подобные системы.

  2. сетевые - работающие с несколькими ПЭВМ, объединенными в компьютерную сеть: Novell NetWare, Windows NT и др.

  3. многозадачные - позволяющие на одном комьютере в любой момент времени выполнять одновременно несколько задач, например, распечатывать текст на принтере, редактировать документ и выполнять вычисления. К таким системам относятся Windows’95 и OS/2.

По реализации многозадачности все многозадачные ОС делятся на две группы:

  • с кооперативной многозадачностью - это ОС, где задачи сами следят за временем своего выполнения, а потом передают управление другой задаче (так называемое переключение по событию). То есть, если задача сама не отдает ресурсы, то у неё их «отнять» нельзя. Такими системами являются DOS+ Windows 3.11, Windows’95, Novell NetWare.

  • c вытесняющей многозадачностью - в таких ОС системные ресурсы выделяются задаче специальным диспетчером в зависимости от приоритетов задачи и ресурса на некоторое непродолжительное время (квант времени ~ 0.1 мксек.), а потом эта задача принудительно выгружается. Таким образом, у пользователя и прикладной программы создается полная иллюзия одновременного выполнения нескольких задач. Такие ОС называются истинно многозадачными. Это OS/2 Warp, Windows NT, UNIX.