Концепція локального і робочого безлічі програм в системах з віртуальною пам'яттю

Більшість стратегій управління віртуальною пам'яттю ґрунтується на концепції локальності, сутність якої полягає в тому, що розподіл запитів процесів при їх зверненнях до пам'яті носить випадковий характер з високим ступенем локальної концентрації.

Властивість локальної концентрації може проявлятися в двох видах:

2. У просторі.

У зв'язку з цим існує два види локальності:

1. Тимчасова локальність;

2. Просторова локальність.

· Тимчасова локальність - це концентрація будь-яких подій або явищ у часі.

Концепція локального і робочого безлічі програм в системах з віртуальною пам'яттю

Можливість повторення події буде рости зі зменшенням dt.

· Просторова локальність означає, що сусідні об'єкти, тобто об'єкти, розташовані фізично близько відносно один одного, будуть описуватися однаковими або близькими властивостями.

Властивість локальної концентрації спостерігається в ОС. Тут тимчасова локальність означає, що до осередків пам'яті, до яких нещодавно отримували доступ, з великою ймовірністю може з'явитися нове звернення в найближчий період часу. Це властивість пояснюється наявністю наступних факторів:

1. Використанням програмних структур типу циклів.

2. Застосуванням процедур і функцій, параметри яких зберігаються в стеках.

3. Застосуванням структур даних типу стеків і черг.

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

Просторова локальність в системах управління пам'яттю означає, що запити до пам'яті концентруються таким чином, що при зверненні до деякої комірки пам'яті з великою ймовірністю може з'явитися звернення до прилеглих осередків. Це пояснюється наступними факторами:

1. Широким використанням структур даних типу масивів і записів.

2. Прагнення програмістів розміщувати опису взаємопов'язаних змінних у відносній близькості один від одного.

3. Послідовним характером виконання команд в програмі.

Для вивчення явища локальності проводилися різні дослідження, зокрема, досліджувалася залежність частоти f переривань процесу по відсутності потрібних сторінок від обсягу виділеної для процесу пам'яті, який може бути оцінений у вигляді частки k сторінок процесу, що знаходяться в ОП.

Концепція локального і робочого безлічі програм в системах з віртуальною пам'яттю

a - теоретична залежність, b - реальна залежність.

Якщо кількість виділеної пам'яті починає зменшуватися, то існує dk, в якому це зменшення не сильно позначається на частоті переривань по відсутності потрібної сторінки.

0,25, при подальшому зменшенні виділяються процесу сторінок, частота переривань різко зростає. Крім того, наголошується, що до тих пір, поки в ОП залишається деяка підмножина найбільш активно використовуваних в процесі сторінок, частота переривань змінюється мало, але як тільки будь-які зі сторінок цього підмножини видаляються з пам'яті, частота переривань, тобто, по суті , інтенсивність заміщення сторінок починає зростати. Цей висновок був сформульований у вигляді концепції робочого безлічі сторінок.

Під робочим безліччю сторінок розуміється сукупність сторінок процесу, які використовуються в ньому найбільш активно. Відповідно до цієї концепції, для забезпечення ефективного виконання процесу необхідно, щоб його робоче безліч присутнє б в ОП якомога довше. В іншому випадку, може виникнути ситуація зростання інтенсивності заміщення сторінок, коли процес буде багаторазово вимагати використання одних і тих же сторінок з ФВП. Це явище в системах управління віртуальною пам'яттю називається «сторінкової пробуксовкою».

У загальному випадку, робочим безліччю процесу W (t, dt) для деякого моменту часу t, вважається деякий набір сторінок, до яких процес активно звертається протягом інтервалу [t-dt, t]. Інтервал dt в даному випадку називається розміром вікна робочого безлічі.

Протягом всього періоду свого виконання, процес може мати кілька робочих множин, які можуть динамічно змінюватися, що пов'язано з різним характером операцій, що виконуються в процесі - чисто обчислювальних і введення / виводу.

Іноді до поточного безлічі можуть додаватися нові сторінки, або з нього можуть віддалятися складові. Отже, робоче безліч змінюється в часі.

Концепція локального і робочого безлічі програм в системах з віртуальною пам'яттю

Схожі статті