Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры OS 12-23.docx
Скачиваний:
114
Добавлен:
15.03.2016
Размер:
198.63 Кб
Скачать

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

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

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

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

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

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

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

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

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

режимы мультипрограммирования режим разделения времени

Мультипрограммирование или многозадачность (multitasking) – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько процессов (задач). В первых ВС любая программа могла выполняться только после завершения предыдущей. Центральный процессор при этом выполнял программу и осуществлял управление операциями ввода/вывода. Поэтому пока выполнялся обмен данными с внешним устройством, процессор простаивал, дожидаясь завершения операции ввода/вывода. Машинное время в то время стоило очень дорого, поэтому было предложено организовать так называемый мультизадачный режим работы ВС. Суть заключалась в том, что пока один процесс ожидает завершения операции ввода/вывода, другая программа может быть поставлена на выполнение. Мультипрограммирование позволяет повысить эффективность использования ресурсов ВС. При реализации мультизадачности существуют разные критерии эффективности: - пропускная способность – количество задач, выполняемых ВС в единицу времени; - удобство работы пользователей, заключающееся в их возможности работать в интерактивном режиме сразу с несколькими приложениями; - реактивность системы – способность системы выдерживать заранее заданные интервалы времени между запуском процесса и получением результата. В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, системы разделения времени и системы реального времени. Некоторые операционные системы могут поддерживать одновременно несколько режимов, например, часть задач может выполняться в режиме пакетной обработки, а часть – в режиме реального времени или в режиме разделения времени. §4.1.2.Мультипрограммирование в системах пакетной обработки. Системы пакетной обработки были разработаны в середине 1950-х годов и предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени, что было следствием высокой стоимости машинного времени. Для достижения данной цели в системах пакетной обработки вначале формируется пакет заданий, предъявляющих различные требования к системным ресурсам. Далее из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения задачи выбираются так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. При выполнении пакета заданий пока одна задача ожидает какого-либо события (завершения ввода-вывода, разблокирования файла, загрузки с диска недостающей страницы программы и т.п.), процессор не простаивает, как это происходит при последовательном выполнении программ, а выполняет другую задачу (рис. 4.1). Рис. 4.1. Диаграммы выполнения процессов А и В в однозадачном режиме (а) и многозадачном режиме (б) Общее время выполнения смеси задач оказывается меньше, чем их суммарное время последовательного выполнения. Однако выполнение отдельной задачи в мультипрограммном режиме может занять больше времени, чем при монопольном выделении процессора этой задаче. Действительно, при совместном использовании процессора в системе могут возникать ситуации, когда задача готова выполняться, но процессор занят выполнением другой задачи. В системах пакетной обработки переключение процессора с одной задачи на другую происходит по инициативе самой активной задачи. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор. Кроме того, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание. Следовательно, в ВС под управлением пакетных ОС невозможно гарантировать выполнение заданий в течение определенного периода времени. §4.1.3.Мультипрограммирование в системах разделения времени. Системы разделения времени призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя от процесса выполнения его задач. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно малым, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе. Кроме того, имеются дополнительные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Мультипрограммирование в системах реального времени. Системы реального времени применяются для управления различными техническими объектами (станок, спутник, научная экспериментальная установка) или технологическими процессами (гальваническая линия, доменный процесс и т.п.). Критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. В системах реального времени мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ. Способность аппаратуры компьютера и ОС к быстрому ответу зависит в основном от скорости переключения с одной задачи на другую и, в частности, от скорости обработки сигналов прерывания. Если процессор должен опросить сотни потенциальных источников прерывания, то реакция системы будет слишком медленной. Время обработки прерывания в системах реального времени часто определяет требования к классу процессора даже при небольшой его загрузке. При проектировании ОС реального времени не стремятся максимально «загружать» все устройства ВС, а наоборот предусматривают некоторый запас мощности на случай пиковой загрузки, например, срабатывания множества датчиков в критической или аварийной ситуации.

2.Многопользовательский режим работы операцинной системы

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

  • однопользовательские (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.4. Уровни вычислительной системы

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

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

редставление операционной системы управления вычислительным процессом

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

Мультипрограммирование или многозадачность – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется сразу несколько программ. Если такой способ в операционной системе не предусмотрен, то она называется однозадачной.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]