Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_-_ALL.docx
Скачиваний:
10
Добавлен:
10.09.2019
Размер:
607.44 Кб
Скачать
  1. Режими роботи і типи операційних систем.

Режимы функционирования ОС:

  • однозадачный;

  • мультипрограммный;

  • многозадачный;

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

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

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

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

ОС пакетной обработки – обрабатывает пакет заданий, то есть несколько заданий, которые подготовлены одним или различными пользователями. Задания (последовательность команд на языке директив ОС), которые составляют пакет, поступают на обработку периферийного устройства. Взаимодействие пользователя с его заданием невозможно. При этом возможно программирование в однозадачном и многозадачном режимах. Критерий эффективности – максимальная пропускная способность, максимальное число выполняемых одновременно задач.

ОС разделения времени (UNIX,VMS) обеспечивают одновременное обслуживание многих пользователей, позволяя каждому взаимодействовать со своим заданием в режиме диалога. И все это за счет разделения процессорного времени и ресурсов между несколькими вычислительными процессами. ОС представляет каждому вычислительному процессу квант процессорного времени; если процесс не завершился к концу очередного кванта времени, то он прерывается и помещается в очередь ожидания, уступая процессор другому вычислительному процессу. Прерванный процесс будет продолжен тогда, когда выполнится соответствующее. условие. Критерий эффективности ­– удобство работы пользователей.

ОС реального времени (QNX,RT-11) предназначены для оперативного выполнения запросов от пользователей или вычислительных устройств в течении заданного интервала времени. Скорость вычислительных процессов должна быть согласованна со скоростью процессов вне ее, с ходом реального времени. В таких системах (ОС) обычно применяется многозадачный режим. Критерий эффективности – минимизация максимального времени выполнения задачи.

  1. Багатозадачне і багатопотокове програмування.

В данное время существуют 2 основные абстракции ОС, описывающие выполнение программного кода - процессы и потоки. Процесс – обычно пассивный объект, который можно рассматривать как контейнер для потоков. Процесс сам по себе ничего не делает, но объединяет все необходимое для выполнения программы, поэтому можно считать, что во время выполнения программы ее представляет соответствующий процесс. В программе можно предусмотреть несколько параллельно выполняемых последовательностей команд, которые совместно используют одни и те же данные, входящие в защищенное адресное пространство процесса. Такие последовательности команд называются потоками (threads). Можно сделать такой вывод: процесс - совокупность одного или нескольких потоков и защищенного адресного пространства, в котором эти потоки выполняются. Процессы защищены друг от друга, поскольку имеют личные адресные пространства, поэтому обмен данными между ними требует использования средств межпроцессового взаимодействия: разделяемая память, отображаемая па-мять и механизмы обмена сообщениями. Потоки работают с общей памятью процесса в котором они созданы, поэтому нет проблемы обмена данными между ними, но поток не может обратиться к потоку другого процесса иначе, как через способы межпроцессового взаимодействия. Т.о. защищенное адресное пространство процесса задает абстракцию выполнения кода на отдельной многопроцессорной машине, а поток на одном выделенном процессоре. Адресное пространство процесса не всегда соответствует процессу оперативной памяти, у него могут отображаться файлы или регистры контроллеров в/в, и поэтому запись по определенному адресу в этом пространстве приведет к записи в файл или к операции в/в. Такую технологию называют memory mapping - отображение в память.

Существуют 2 основные модели процессов: – однопоточный процесс (однозадачные ОС, старые UNIX-системы). Т.е. планировании процессов. – многопоточный процесс (современные ОС - Windows XP и UNIX-системы: Linux). Говорят о планировании потоков и процессов. Эта модель более сложна.

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

Существуют 3 основные схемы реализации многопоточности:

схема М:1 ОС работает только с процессами. За планирование потоков и пользовательский режим отвечает библиотека поддержки потоков. Не нужно переходить в режим ядра. Недостатки: нельзя воспользоваться многопроц-ми машинами, блокирование одного потока остановит все потоки процесса. схема 1:1 распространенная, самая простая и надежная. Планируются только потоки ядра причем в режиме пользователя (РП) эти функции реализованы. Недостаток: необходимость переключения между РП и РЯ (режим ядра), но потеря производительности незначительна. схема M: N сложна в реализации, потоки пользователя отображаются на потоки ядра, причем распределение в РП, а планирование потоков ядра в РЯ.

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