Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_distsipline2 - копия.doc
Скачиваний:
8
Добавлен:
20.09.2019
Размер:
556.03 Кб
Скачать

Создание потоков

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

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

Пример создания потоков в Windows (object Pascal):

T=TThread.Create(false)

Пример удаления потока:

T.Suspend; T.Terminate; T.Free

Планирование и диспетчеризация потоков (процессов)

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

Диспетчеризация: реализация результатов планирования. Включает в себя:

·   переключение потоков;

·   сохранение контекста текущего потока;

·   загрузка контекста нового потока;

·   запуск нового потока.

Сохранение, загрузка и запуск потоков выполняются совместно с аппаратными средствами.

Состояние потока

Поток может находится в одном из трех основных состояния:

·   Выполнение - активное;

·   Ожидание - пассивное, заблокирован по внутренним причинам;

·   Готовность - пассивное, заблокирован в связи с внешними обстоятельствами.

  1. Функции ос по управлению памятью?

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

Память распределяется между пользовательскими и системными программами ОС.

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

·   Учет свободной и занятой памяти;

·   Выделение памяти процессам и ee освобождение;

·   Вытеснение кодов и данных процессов на диск, когда памяти не хватает и возврат на место;

·   Настройка адресов на конкретную область физической памяти;

·   Дефрагментация;

·   Защита памяти.

  1. Типы адресов?

Типы адресов

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

Адреса подразделяются на:

·   Символьные имена. Присваивает программист (например метки);

·   Виртуальные адреса. Формирует транслятор. Начальный адрес равен нулю;

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

Совокупность виртуальных адресов составляет виртуальное адресное пространство. Виртуальное адресное пространство определяется разрядностью компьютера. Для 32-разрядных – это максимум FFFFFFFF, что составляет 4 Гб.

Существует два основных типа представления виртуальных адресов:

·   Линейная, при которой адрес начала всегда равен нулю, а адрес целое число;

·   Деление на сегменты, при котором адрес – это пара чисел (n,m), где n- номер сегмента, m- смещение.

Некоторые понятия связанные с виртуальными адресами

Максимально возможное виртуальное адресное пространство(ВАП) – определяется разрядностью процессора. Для 32 – разрядного Intel Pentium эта величина составляет 4Гб.

Назначенное ВАП – действительно необходимое процессу для работы. Его также называют образом процесса. Назначенное ВАП может превышать физический объем памяти. На этом основан механизм виртуальной памяти.

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

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