Cтраница 2
Обращение к подпулу для получения или освобождения участка памяти производится с помощью уже рассмотренных макрокоманд GETMAIN и FREEMAIN. Если в запросе на получение участка памяти в макрокоманде GETMAIN был указан номер подпула, то и в соответствующей макрокоманде FREEMAIN номер подпула указывается обязательно. Подпул образуется, когда в запросе на выделение участка памяти впервые встретился его номер. Каждая задача может самостоятельно использовать до 128 подпулов. Подпул с нулевым номером строится автоматически и используется Супервизором. [16]
ПОДПУЛ [ subpool ] Блок основной памяти, динамически выделяемый определенной задаче. В ЕС ЭВМ длина подпула равна 2 Кбайта. Аппарат подпулов используется в режиме MVT для уменьшения эффекта фрагментации зоны памяти. [17]
Для реализации аппарата подпулов за каждым подпулом закрепляются блоки памяти, длина которых кратна двум Кбайтам. Способ управления участками памяти внутри блоков подпула аналогичен ранее рассмотренной схеме. Способ управления блоками подпулов также достаточно схож с алгоритмом поиска свободных участков. [18]
Удовлетворение запросов во всех режимах осуществляется динамически по макрокоманде GETMAIN. При удовлетворении запросов используется понятие подпул. В режимах РСР и MFT используется всего один подпул без номера. [19]
Обращение к подпулу для получения или освобождения участка памяти производится с помощью уже рассмотренных макрокоманд GETMAIN и FREEMAIN. Если в запросе на получение участка памяти в макрокоманде GETMAIN был указан номер подпула, то и в соответствующей макрокоманде FREEMAIN номер подпула указывается обязательно. Подпул образуется, когда в запросе на выделение участка памяти впервые встретился его номер. Каждая задача может самостоятельно использовать до 128 подпулов. Подпул с нулевым номером строится автоматически и используется Супервизором. [20]
В процессе обслуживания запросов на выделение и освобождение памяти возникает проблема фрагментации. Она заключается в том, что вся свободная память может оказаться разбитой на большое число небольших областей. Суммарный размер свободной памяти достаточен для удовлетворения очередного запроса, но ни один из свободных участков удовлетворить запрос не может. В режиме мультипрограммирования с переменным числом задач для борьбы с фрагментацией памяти введен аппарат подпулов. [21]
Обращение к подпулу для получения или освобождения участка памяти производится с помощью уже рассмотренных макрокоманд GETMAIN и FREEMAIN. Если в запросе на получение участка памяти в макрокоманде GETMAIN был указан номер подпула, то и в соответствующей макрокоманде FREEMAIN номер подпула указывается обязательно. Подпул образуется, когда в запросе на выделение участка памяти впервые встретился его номер. Каждая задача может самостоятельно использовать до 128 подпулов. Подпул с нулевым номером строится автоматически и используется Супервизором. [22]