Cтраница 3
Если устанавливаемый файл не существует на указанном диске, то задание после спецификации файла ключа / 51: п вызывает создание непрерывного файла размером п дисковых блоков по 512 байт, который затем используется для свопинга заданий. [31]
![]() |
Схема распределения памяти в системе с разделением времени. [32] |
Благодаря тому что при выполнении каждой машинной команды ее адрес заносится в регистр смещения, создается возможность перемещения заданий в оперативной памяти ( перетасовывания) или размещения их в других областях памяти после возвращения с диска, предназначенного для свопинга. [33]
Свопинг используется, когда несколько активных нерезидентных задач с равным приоритетом конкурируют между собой за раздел ОП. Свопинг позволяет этим задачам по очереди выгружать друг друга из раздела ОП. Система может быть сгенерирована таким образом, что через определенный интервал времени приоритет резидентных задач уменьшается на единицу с целью облегчения претендующим на раздел задачам получить ресурс памяти. Интервал времени и величина понижения приоритета задаются при генерации системы. [34]
Если операционная система обнаруживает, что частота подкачки страниц слишком высока, а количество свободных страниц все время ниже lotsfree, свопер начинает удалять из памяти один или несколько процессов, чтобы остановить состязание за свободные страничные блоки. Алгоритм свопинга в системе 4BSD следующий. [35]
![]() |
Алгоритм функционирования процесса MON. [36] |
Инициализация СИСП ( метка ZAP) представляет перепись TR из М19 в У1 и запуск процессоров, ожидающих появления заданий. Для организации свопинга процессов ( метка SWO) необходимо TR переписать из Мб в у - и, если канал МД простаивает из-за отсутствия обменов, запустить процесс МД. [37]
Хранит подлежащие свопингу управляющие блоки вместе с заданием, взаимодействующим с терминалом. [38]
Процесс циклического завершения программ в оперативной памяти называется свопингом. Если система работает со свопингом и все без исключения работы поступают в первую очередь, причем всем очередям выделяются одинаковые кванты времени, то затраты ресурсов системы на свопинг крайне большие. Для уменьшения непроизводительных затрат целесообразно трудоемкие работы сразу же размещать в очередях с низкими приоритетами и выделять им большие по длительности кванты времени. [39]
Модель памяти состоит из трех сегментов для каждого процесса: для текста ( исполняемого кода), данных и стека. Изначально для управления памятью использовался свопинг, но в большинстве современных версий системы UNIX для этого применяется страничная подкачка. Состояние каждой страницы отслеживается в карте памяти, а страничный демон поддерживает достаточное количество свободных страниц при помощи алгоритма часов. [40]
Существуют два основных подхода к управлению памятью, зависящие ( отчасти) от доступного аппаратного обеспечения. Самая простая стратегия, называемая свопингом ( swapping) или обычной подкачкой, заключается в том, что каждый процесс полностью переносится в память, работает некоторое время и затем целиком возвращается на диск. Другая стратегия, носящая название виртуальной памяти, позволяет программам работать даже тогда, когда они только частично находятся в оперативной памяти. [41]
При начальном запуске системы создается системный процесс с нулевым идентификатором 0, который является диспетчером. При нехватке оперативной памяти он осуществляет свопинг выбранных процессов на диск. В системе имеются запросы, позволяющие синхронизировать управление между процессами и создавать так называемые программные каналы, реализующие информационное взаимодействие процессов. Доступ к программному каналу осуществляется при помощи обычных запросов ввода-вывода. [42]
Режим диалогового общения с ЭВМ в условиях режима мультипрограммной обработки равпоприоритетпых задач должен исключать ситуации, в которых одна из задач в ущерб остальным с тем же приоритетом надолго захватывала бы какой-нибудь ресурс. С этой целью в ОС РВ используются круговая диспетчеризация задач и свопинг. [43]
На фазе удаления дополнительных исполняющих систем и файлов свопинга SHUTUP выгружает из памяти все исполняющие системы ( кроме обязательной), удаляет их из таблиц и закрывает файлы дополнительных исполняющих систем. Кроме этого, SHUTUP на этом этапе проверяет закрытие всех файлов свопинга и удаляет их из системных таблиц. [44]
Предлагаемые рекомендации применимы в большинстве систем, но иногда с увеличением общей оперативной памяти размер файлов подкачки можно уменьшать. Например, в системе, содержащей лишь 16 Мбайтов ОЗУ, процессы свопинга могут происходить практически постоянно, в то время как в системе, имеющей 128 Мбайтов, столько оперативной памяти, что подкачивать информацию, скорее всего, не придется никогда. Таким образом, выбор размера файла подкачки во многом зависит от назначения системы и от интенсивности ее работы. Для определения размера файла подкачки недостаточно знать только количество оперативной памяти; важную роль играет также число пользователей и профиль работы каждого из них. [45]