Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Схемы разделения памяти



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

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

Системы могут иметь:

· общую очередь ко всем разделам

· к каждому разделу отдельную очередь

Алгоритмы планирования в случае одной очереди:

· поочередный

· выбирается задача, которая максимально займет раздел

Также может быть смешанная система.

Распределение памяти динамическими разделами.

В такой системе сначала память свободна, потом идет динамическое распределение памяти.

Недостатки:

· Сложность

· Память фрагментируется

Методы с использованием внешней памяти (свопинг и виртуальная память)

Так как памяти, как правило, не хватает. Для выполнения процессов часто приходится использовать диск.

Основные способы использования диска:

· Свопинг (подкачка) - процесс целиком загружается в память для работы

· Виртуальная память - процесс может быть частично загружен в память для работы

Свопинг (подкачка)

При нехватке памяти процессы могут быть выгружены на диск.

Свопер - планировщик, управляющий перемещением данных между памятью и диском.

Этот метод был основным для UNIX до версии 3BSD.

Управление памятью с помощью битовых массивов

Вся память разбивается на блоки (например, по 32бита), массив содержит 1 или 0 (занят или незанят).

Чтобы процессу в 32Кбита занять память, нужно набрать последовательность из 1000 свободных блоков.

Такой алгоритм займет много времени.

Управление памятью с помощью связных списков

Этот способ отслеживает списки занятых (между процессами) и свободных (процессы) фрагментов памяти.

Запись в списке указывает на:

· занят (P) или незанят (H) фрагмент

· адрес начала фрагмента

· длину фрагмента

Алгоритмы выделения блока памяти:

· первый подходящий участок.

· следующий подходящий участок, стартует не сначала списка, а с того места на котором остановился в последний раз.

· самый подходящий участок (медленнее, но лучше использует память).

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

  1. Страничная организация памяти

Страничная память — способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические является регион постоянного размера (т. н. страница). Типичный размер 4096 байт, для некоторых архитектур до 128 КБ.

Поддержка такого режима присутствует в большинстве 32битных и 64битных процессоров. Такой режим является классическим для почти всех современных ОС, в том числе Windows и семейства UNIX.

Решаемые задачи:

Огромным достоинством страничной виртуальной памяти по сравнению с сегментной является отсутствие «ближних» и «дальних» указателей.

  1. Сегментная организация памяти

Сегментная организация памяти -также предполагает разбиение поля на части - сегменты, размер которых в отличие от страниц не фиксируется и может изменяться в процессе выполнения программы. Однако для использования в САПР требуется объем оперативной памяти в несколько мегабайтов. В современных микро - и мини - ЭВМ расширение емкости ОЗУ до такого объема осуществляется с помощью специального устройства - диспетчера памяти. Но и при использовании аппаратных средств потери машинного времени значительны, а возможности оперирования с памятью большого объема ограничены.

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

  1. Виртуальная память

Виртуальная память — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем.

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

· Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище.

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

Как работает виртуальная память?

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

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

  1. Системы файлов

Файловая система — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.

Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте, блоке флеш-памяти или другом) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

Классификация файловых систем

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

Задачи файловой системы

Основные функции любой файловой системы нацелены на решение следующих задач:

В многопользовательских системах появляется ещё одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя, а также обеспечение совместной работы с файлами, к примеру, при открытии файла одним из пользователей, для других этот же файл временно будет доступен в режиме «только чтение».





Дата публикования: 2015-10-09; Прочитано: 340 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...