Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (Часть 1) OS1...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Седьмая стратегия: Странично-сегментное распределение

Идея: Адресное пространство задания разбивается на куски – сегменты,а сегменты при размещении их в ОП разбиваются на куски фиксированного размера - страницы. Странице назначаются блоки оперативной памяти

+ Все достоинства сегментной схемы и страничной

– Фрагментация внутри последней страницы каждого сегмента

– Возможно явление пробуксовки (объемные по времени алгоритмы)

Резюме (Итоги)

  1. Семь схем распределения памяти

    1. Одиночное распределение (Dos. Более молодые версии Dos работают с одиночным распределением с перекрытием – оверлейная структура)

    2. Распределение разделами

– статическое

– динамическое

– выделение перемешаемыми разделами (MVT(IBM 360/370))

    1. Страничное распределение (статическое, по запросам) UNIX, W95/W98, WINNT

    2. Странично-сегментное распределение (OS/2, WINNT, LINUX)

  1. Методы обеспечения виртуальной памяти

    1. Деление адресного пространства на куски

    2. Взаимодействие с внешней памятью

  2. Основные термины

Единицы деления адресного пространства заданий:

    1. страница – кусок адресного пространства задания фиксированного размера;

    2. сегмент – логически законченный кусок адресного пространства задания произвольного размера;

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

    1. блок – кусок оперативной памяти фиксированного размера. Объем обычно равен объему страницы;

    2. раздел - кусок оперативной памяти, выделенный заданию целиком. Объем обычно > или= объему задания;

    3. сегмент - логически законченный кусок физической ОП произвольного размера

термины виртуальной памяти:

    1. свопинг – кусок внешней памяти, куда задание загружается целиком;

    2. файл подкачки – кусок внешней памяти, содержащей отдельные страницы адресного пространства

  1. Правила обслуживания очередей – Используется при определения кандидата на получение памяти и кандидата на удаление из ОП.

    1. FIFO – Windows NT

    2. LIFO -

    3. LRU (last recently used – реже всех используемый) – Unix, OS/2, Linux,

    4. LFU (last frequenly used – дольше всех используемый)

    5. Random

  2. Адресация

Адресное пространство – область относительных адресов задания;

Относительный адрес – адрес, имеющий две составляющие SEG:OFFSET (это определение может применяться как относительно адр. пространства, так и относительно физической памяти);

Абсолютный адрес – адрес физической оперативной памяти – исполнительный адрес.

  1. Эффекты

Фрагментация – наличие в физ. памяти выделенного, но не используемого куска

Пробуксовка – превалирование выполнения системных процессов над прикладными процессами; эффект для пользователя – программа долго выполняется.

Решето — разделение на мелкие фрагменты с течением времени

Управление процессами

Функции управления:

1. Отслеживание состояния занятости процессора каким-либо процессом (какое время и в каком режиме);

2. Решение о выделении времени процессора какому-либо процессу на основе какой-либо стратегии (существует очередь процессов на выполнение, значит, надо каким-то образом их из очереди выбирать на выполнение);

3. Выделение процессорного времени;

4. Освобождение процессора от процесса.

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

Диаграмма состояний процессов:

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

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

1. Сист. Управляющие – наивысший приоритет(П/П реализации стратегий)

2. Сист. Обрабатывающие (П/П обработки прерываний)

3. Пользовательские – низший приоритет

В ОС реального времени наибольшим приоритетом обладает пользовательский процесс (особенно процессы ввода-вывода).

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

II. Процесс конкурирует за получение ресурса. Все ресурсы, кроме времени процессора, процессу выделены.

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

IV. Затребованные ресурсы не могут быть предоставлены или не завершился I/O.

1* События:

– по команде пользователя

– по вызову из другого задания

– при выборе из очереди

– по прерыванию от внешинх инициативных устройств

– при наступлении запланированного запуска программы

2* События:

– процесс завершается (либо в состоянии I, либо уничтожается)

– у процесса закончился квант времени процессора, либо появился более приоритетный процесс (переход III -> II)

– процесс блокируется, если появился запрос на I/O (III -> IV). После завершения I/O процесс деблокируется и вновь претендует на получение ресурсов (IV -> II)

Основной движущей силой, меняющей состояние процессов, является прерывание.