![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Такая схема распределения памяти предполагает её разбиение на 3 части:
1) область операционной системы;
2) область загрузки (размещается исполняемая программа);
3) свободная область.
Схема не предполагает использование в системе мультипрограммирования и проблемы распределения памяти между несколькими задачами здесь не возникает.
С целью увеличения объёма памяти, отводимой задачам, ОС строится так, чтобы в оперативной памяти размещалась только самая необходимая её часть или ядро. Остальные модули ОС являются диск-резидентными (транзитные) − они подгружаются в оперативную память только по необходимости и по выполнении освобождают её.
Такая схема распределения сопровождается двумя видами потерь вычислительных ресурсов:
1) потери процессорного времени, когда задача ожидает окончания операций ввода/вывода;
2) неэффективное использование или потери оперативной памяти, т.к. задача не занимает память целиком. Тем более, если режим работы однопрограммный. Примером подобного распределения является распределение памяти в MS-DOS, когда реализация распределения недорогая, и от многих функций ОС можно отказаться (например, защита памяти). Но, увы, это однопрограммная ОС.
В случаях, когда логическое (и виртуальное) адресное пространство превышает объём свободной области памяти, используется оверлейное распределение памяти (от overlay − перекрытие). При этом программа разбивается на сегменты, один из которых – главный. В оперативной памяти располагается главный сегмент и несколько неперекрывающихся рабочих сегментов. Остальные сегменты располагаются во внешней памяти. После выполнения текущего сегмента происходит обращение к ОС с указанием следующего сегмента, который должен быть активизирован, либо этим занимается главный сегмент.
Существует несколько подходов к организации сегментирования. Первоначально порядок сегментирования и очерёдность вызова сегментов в оперативную память определяли сами программисты, затем этим стали заниматься системы программирования, которым просто сообщалось, что тот или иной модуль является оверлейным. При обращении к нему модуль загружается в память и ему передаётся управление.
Дата публикования: 2014-11-18; Прочитано: 1631 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!