Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры на ос.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
367.03 Кб
Скачать

32. Алгоритмы распределения памяти

Алгоритмы делятся на 2 класса: 1.С использованием внешней памяти 2.Без использования внешней памяти Алгоритмы без использования внешней памяти: 1.Распределение динамическими разделами 2.Распределение перемещаемыми разделами При загрузке нового процесса фрагменты памяти могут перемещаться с изменением содержащихся в них адресов.Следует ли назначать каждому процессу одну непрерывную область физической памяти или можно выделять память «кусками»? Должны ли сегменты программы, загруженные в память, находиться на одном месте в течение всего периода выполнения процесса или можно ее время от времени сдвигать? Что делать, если сегменты программы не помещаются в имеющуюся память? Разные ОС по-разному отвечают на эти и другие базовые вопросы управления памятью. Далее будут рассмотрены наиболее общие подходы к распределению памяти, которые были характерны для разных периодов развития операционных систем. Некоторые из них сохранили актуальность и широко используются в современных ОС, другие же представляют в основном только познавательный интерес, хотя их и сегодня можно встретить в специализированных системах. На рис. все алгоритмы распределения памяти разделены на два класса: алгоритмы, в которых используется перемещение сегментов процессов между оперативной памятью и диском, и алгоритмы, в которых внешняя память не привлекается.

33. Задачи ос по управлению файлами и устройствами

Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд об­щих задач, из которых наиболее важными являются следующие: 1) организация параллельной работа устройств ввода-вывода и процессора(Каждое устройство ввода-вывода вычислительной системы — диск, принтер, тер­минал и т. п. — снабжено специализированным блоком управления, называемым контроллером. Контроллер взаимодействует с драйвером — системным программ­ным модулем, предназначенным для управления данным устройством. Контрол­лер периодически принимает от драйвера выводимую на устройство информацию, а также команды управления, которые говорят о том, что с этой информацией нужно сделать.  Под управлением контроллера устройство может некоторое время выполнять свои операции автономно, не тре­буя внимания со стороны центрального процессора. Процессы, происходящие в контроллерах, протекают в периоды между выдачами команд независимо от ОС. Данная задача является классической задачей планирования систем реального времени и обычно решается на основе многоуровневой приоритетной схемы об­служивания по прерываниям. ); 2) согласование скоростей обмена и кэширование данных(Согласование скорости обычно достигается за счет буферизации данных в оперативной памяти и синхронизации доступа процессов к буферу. Часто в качестве буфера используется дисковый файл, называемый также спул-файлом (от spool — шпулька, тоже буфер, только для ниток). Типич­ный пример применения спулинга дает организация вывода данных на принтер.);3) разделение устройств и данных между процессами; 4) обеспечение удобного логического интерфейса между устройствами и осталь­ной частью системы(Практически все современные операционные системы поддерживают в качестве основы такого интерфейса файловую модель периферийных устройств, когда любое устройство выглядит для прикладного программиста последовательным набором байт, с которым можно работать с по­мощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства и смещение от начала последовательности байт.); 5) поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера; 6)динамическая загрузка и выгрузка драйверов; 7) поддержка нескольких файловых систем;8) поддержка синхронных и асинхронных операций ввода-вывода.

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