Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
22700_62_OSBD_Prakticheskie.doc
Скачиваний:
20
Добавлен:
11.02.2015
Размер:
1.03 Mб
Скачать

2.5. Вопросы и литература

1. Чем различаются вызовы postиsend?

2. Какие объекты синхронизации. ОС существуют?

3. Что такое монопольный доступ?

4. Что означает конкуренция за доступ?

5. В чем состоит различие кэша ибуфера?

6. Зачем используется буферизация?

7. Чем процесс отличается от потока?

8. Зачем используется контекст процесса?

9. Постоянен ли приоритет потока?

10. Каково назначение примитива signal?

Литература

Учебник / Учебное пособие

Раздел

Страницы

Таненбаум Э. Современные операционные системы. 3-е изд. - СПб.: Питер, 2010. - 1120 е.: ил.

2.3.1-2.3.5

150-164

3. Управление данными в ос

3.1. Цель практического занятия

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

3.2. План занятия

В рамках занятия рассматриваются нижеследующие вопросы:

  • Распределение памяти фиксированными разделами;

  • Распределение памяти разделами переменной величины;

  • Распределение памяти перемещаемыми разделами;

  • Распределение страницами;

  • Фрагментация памяти;

  • «кучи» (heap).

3.3 . Используемые технологии

Для лучшего усвоения материала желательно проведение занятия с использованием компьютера.

3.4. Примеры для анализа

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

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

  • сборка исполнимых программных модулей, загрузка исполнимых модулей в память и настройка адресов на конкретную область физической памяти;

  • выделение памяти процессам и освобождение памяти при завершении процессов;

  • отслеживание свободной и занятой памяти и сборка «мусора».

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

Иллюстрация распределения памяти динамическимиразделами

При таком распределении памяти ОС осуществляет:

  • ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти,

  • при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи,

  • загрузку задачи в выделенный ей раздел и корректировку таблиц свободных и занятых областей,

  • после завершения задачи - корректировку таблиц свободных и занятых областей.

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

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

Иллюстрация распределения памяти перемещаемыми разделами

Процедура сжатия и приводит к более эффективному использованию памяти, но может потребовать значительного времени.

Страничное распределение

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

Размер страницы обычно выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов.

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