Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольные вопросы + ответы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
323.07 Кб
Скачать
  1. Проектирование и модели многопоточных приложений.

Независимость от других задач: раздельные ресурсы, минимум в потребности синхронизации.

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

Интенсивное использование центрального процессора: длительные вычисления.

Необходимость реакции на наступление асинхронных событий: сетевое взаимодействие, прерывания от аппаратуры или ОС.

Решает более (менее) важную задачу чем другие: ограничение по времени выполнения, включение в определенные моменты или через заданные интервалы.

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

Главная проблема проектирования: распределение задач между потоками и их взаимодействие.

Модель «начальник - подчиненный».(РИС)

Существует главный поток («начальник»), который управляет набором подчинённых ему потоков: порождает их, обеспечивает приём данных и выставляет задачи подчинённым.

Задача подчинённых: выполнение обработки данных (поставленных «начальником» задач).

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

Набор подчинённых может быть предопределён или «начальник» может динамически порождать их по мере поступления задач.

Применение – серверные приложения. Пример: «система с множественными потребителями данных».

Модель «без лидера».

Все потоки равноправны. Каждый ответственен за свой ввод.

Применение – строго определенный набор источников поступления

информации.

Пример: «система с множественными источниками данных» с вариантами

– однородная или неоднородная по данным, независимая или совместная по

обработке (рис 25).

Модель «конвейер».(РИС)

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

Аналогии: конвейер по сборке автомобилей, выполнение машинных инструкций в RISC-процессорах.

Применение – обработка изображений, обработка текстов.

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

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

  1. Иерархия памяти. Виртуальная память: концепция и инструменты.

Тенденция к удешевлению памяти и увеличению её объёма.

Для памяти действует закон Паркинсона: «Расходы растут вместе с доходами».

Уровни памяти: кэш, основная, вторичная.

Характеристики памяти: время доступа, стоимость байта, ёмкость.

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

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

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