- •Классификация ос.
- •Концептуальная схема компьютера.
- •Приоритеты и маскирование прерываний.
- •Методы доступа к файлам: последовательный доступ, прямой доступ, индексно-последовательный доступ.
- •Директории fat, unix и ntfs.
- •Закрытие
- •Операции над процессами в unix (fork, exec, exit).
- •Вытесняющее и невытесняющее планирование.
- •Оценки среднего времени ожидания и среднего полного времени выполнения.
- •Гарантированное планирование.
- •Алгоритм «Кратчайшее задание - первое» sjf, прогноз длительности интервала cpu.
- •Приоритетное планирование.
- •Статические и динамические приоритеты.
- •1 И 2 примерно равны по исп памяти, но 1 быстрее
- •Защита памяти.
- •Защита памяти.
- •Сегментная организация памяти.
- •Преимущества сегментной организации памяти.
- •Логические адреса.
- •Вычисление физического адреса.
- •Оптимальный алгоритм.
- •Fifo алгоритм «Первым пришел - первым обслужен
1 И 2 примерно равны по исп памяти, но 1 быстрее
Связывание адресов.
Можно на этапе Компиляции (см этапы -> компил и редакт) и Загрузки(Этапы -> загрузка)
Разбиение логич адр на сумму базы и смещения.Значен базы сохраняется в фиксир месте кода и имеет нулевое значение.при загрузке требуется лишь указать значение физического адреса базы.
Оверлейная структура программ.
Применяется если размер лок адр пространства процесса > размера выделенного ему раздела памяти, или программа велика относительно физического адресного пространства. Использыет свойство локальности основной памяти. Части такой прогр хранятся на диске! как образы памяти и считываются диспетчером оверлеев входящем в систему поддержки времени выполнения прогр. Совокупность файлов исполняемой прогр дополняется файлом описывающим дерево вызовов внутри программы. Привязка к памяти происходит в момент очередной загрузки требуемой части программы. Решением проблемы загрузки перекрывающихся частей программы является порождение редактором связей специальных команд которые вызывают загрузчик при обращении к отсутствующему модулю.
Защита памяти.
Защита с помощью таблицы распределения разделов, где указывается физический адрес раздела и его длина. Если значение физ адр внутри прогр больше макс возможного физ адреса раздела, или меньше начального адр раздела, то генер ошибка защиты памяти. Сравнение происходит при каждом обращении к памяти и исп спец аппаратные регистры куда загружаются адрес начала раздела и его длина, при исп базы и смещения проверяют смещение на положительности и меньше длины раздела.
Мультипрограммирование с переменными разделами.
Базовые принципы.
Каждой вновь поступающей задаче выделяется необходимое количество памяти.После окончания работы программы занятая область освобождается и со временем в памяти чередуются занятые и свободные участки. Смежные свободные участки объединяются.Выделение раздела происходит по одной из трех стратегий (первый подходящий, наиболее подходящий, наименее подходящий). После загрузки процесса в выбранный участок регистрируется изменение в состоянии памяти. Свзяывание адресов осуществл в момент загрузки и выполнения.
Стратегии выделения памяти.
Учет свободных участков памяти.
Битовые массивы.
При работе с памятью разделенной на фиксированные блоки.Ведется битовая карта, где кадому блоку соответствует один бит, равный 0 если блок свободен и 1 если занят.Размер блока выдирается с учетом:
• Меньшие блоки требую увеличения битового массива
• Большие блоки уменьшают битовую карту но увеличивают внутреннюю фрагментацию
Обычный размер блока не больше нескольких Кб.Объединение свободных участков выполняется автоматически. Минус – большой объем памяти для битового массива.
Управление памятью с помощью связных списков.
Поддерживается связный список занятых и свободных фрагментов. В каждой записи информация свободна/занята область, длина и указатель на след запись. В случае изменение сост памяти в записи меняются поля занятости и происходит слияние соседних свободных областей.
Возможна поддержка отдельных списков учета сободных и занятых разделов, поиск происходит в «свободном» списке. Однако увеличение скорости при размещении процесса в памяти, сопровождается замедлением при освобождении памяти, тк информацию об удалении фрагмента нужно вырезать из «занятого» списка и вставить в «свободный».
Фрагментация.
Внешняя фрагментация за счет не используемого пространства мд разделами процессов (до 30%). Решение проблемы – сегментация физ адр пространства процесса. Адр пространство разбивается на фрагменты, что позвонляет выделять разделы в произвольных доступных местах памяти. Но до конца проблема не решается тк число возможных фрагментов ограничено. Др способ борьбы – сжатие – перемещение занятых участков в сторону возр/убыв адресов.но процедура требует выгрузки на диск и послед загрузки в память в другой адрес.
Связывание адресов.
Происходит на этапах Загрузки или Выполнения, если процесс может перемещаться в памяти.Загрузка – чаще используется относительная адресация, перемещение процесса в памяти требует модификации всех физических адресов.Выполнение – используется схема в которой адрес разбивается на базу и смещение тк она менее трудоемка при перемещении программы.
Свопинг.
Возможна ситуация когда память не в состоянии содержать все процессы. Свопинг – перемещение процессов из основной памяти на диск и обратно ЦЕЛИКОМ. Он не имеет непосредственного отношения к управлению памятью он связан с подсистемой планирования процессов. Оптимизация свопинга может быть связана с выгрузкой процессов реально не функционирующих. Кроме того выгрузка осуществляется в специальное место для свопинга, те быстрее чем через стандартную файловую систему,тк пространство в области подкачки выделяется большими блоками а поиск файлов не используется. Позволяет регулировать текущую степень многозадачности вычислительной системы и разгружать основную память в случае возникновения ее дефицита, приводящего к снижению производительности системы.
