Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АОПИ. Старое / АОПИ. Глава 1. Конспекты (31_03_19).rtf
Скачиваний:
67
Добавлен:
10.09.2019
Размер:
630.31 Кб
Скачать

Классификация ос по функциональности

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

По числу задач, одновременно выполняемых под управлением ОС, системы подразделяются на: — Однозадачные. — Многозадачные.

Наиболее характерными критериями эффективности являются: 1. Пропускная способность (количество задач, выполняемых в (за) единицу времени). 2. Удобство работы пользователей с возможностью интерактивной работой одновременно с несколькими приложениями на одной машине. 3. Реактивность системы, т. е. её способность выполнять задачи в рамках заранее заданных интервалов времени — между запуском программы и получением результата.

По критериям эффективности ОС подразделяются на: 1. Системы пакетной обработки. Пример. ОС ЕС ЭВМ (операционная система единой системы электронных вычислительных машин; применялся язык JCL — Job Control Language; разрабатывалась в 1980-х годах). Достоинства: максимальная пропускная способность. Недостатки: низкая эффективность работы пользователя (по сравнению с системами разделения времени). 2. Системы разделения времени. Пример. UNIX (семейство переносимых, многозадачных и многопользовательских операционных систем, которые основаны на идеях оригинального проекта AT&T Unix, разработанного в 1970-х годах в исследовательском центре Bell Labs Кеном Томпсоном, Деннисом Ритчи и другими), OpenVMS (серверная операционная система, разработанная во второй половине 1970-х годов компанией Digital Equipment Corporation для серии компьютеров VAX; применяется для построения отказоустойчивых систем высокой готовности; среди заказчиков OpenVMS преобладают оборонные структуры и банки, телекоммуникационные компании, предприятия непрерывного цикла (АЭС)). Достоинства: удобство и эффективность работы пользователя. Недостатки: (1) обладает меньшей пропускной способностью, чем системы пакетной обработки, (2) имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. 3. Системы реального времени. Пример. QNX (разработка осуществлялась в 1980-х; платная; разработчик Blackberry). Достоинства: высокий уровень реактивности системы. Недостатки: приходится решать проблемы привязки внутрисистемных событий к моментам времени, своевременного захвата и освобождения системных ресурсов, синхронизации вычислительных процессов, буферизации потоков данных и т. п.

Системы пакетной обработки предназначены для обеспечения максимальной пропускной способности. Решение максимального количества задач в единицу времени. Вначале формируется пакет заданий [который затем выполняется]. Каждое задание содержит требования к системным ресурсам. Из этого пакета заданий формируется pool одновременно выполняемых задач. Для одновременного выполнения выбираются задачи с требованиями к разным ресурсам, чтобы обеспечивалась сбалансированная загрузка всех системных ресурсов. Пока одна задача ожидает какого-либо события (например, разблокирования файла или ввод данных с клавиатуры), процессор не простаивает, а выполняет другую задачу. В системах пакетной обработки переключение процессора с одной задачи на другую происходит по инициативе самой активной (выполняемой) задачи. Например, при блокировке в ожидании какого-либо события. В связи с этим одна задача может надолго занимать процессор и интерактивный режим взаимодействия с ЭВМ станет невозможным. Взаимодействие пользователя с вычислительной машиной, на которой установлена пакетная ОС, сводится к тому, что пользователь передает задание оператору, а после выполнения всего пакета заданий получает результат. Достоинство: позволяет эффективно занимать аппаратное обеспечение. Недостаток: невозможно гарантировать выполнения того или иного задания в течение определенного периода времени.

Системы разделения времени.

Каждому приложению попеременно выделяется квант (~100 мс) процессорного времени, по истечении которого ОС принудительно приостанавливает [пауза, но не остановка!] выполнение приложения, не дожидаясь добровольного освобождения им процессора.

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

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

Критерием эффективности таких систем является способность выполнения критически важных задач в течение заранее заданных временных интервалов.

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

— FIFO («первым пришел – первым ушел»). — Round Robin ("круговая диспетчеризация").

Если задержка реакции системы на события недопустима, то ОС называется системой жесткого реального времени (hard real-time system). В противном случае — системой мягкого реального времени (soft real-time system).

ДОМАШНЕЕ ЗАДАНИЕ: прочитать, понять разницу, привести примеры. Системы жесткого и мягкого реального времени.

============================ ОТВЕТ НА ВОПРОС ============================

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

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

В жесткой системе:

  • опоздания не допускаются ни при каких обстоятельствах;

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

  • опоздание считается катастрофическим сбоем;

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

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

В мягкой системе:

  • повышается стоимость опоздания;

  • допускается низкая производительность в случае опоздания.

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

======================================================================

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

Два типа задач: — процессы (Process). — потоки (Thread).

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