בשיטה זו בתוך ה-mmu יש שני אוגרים: base ו-limit. אופן הפעולה פשוט למדי.
ובכן, יש חומרה פשוטה למדי. אם מערכת ההפעלה תשתמש בחומרה כמו שצריך נוכל לקבל בידוד בין תוכניות שונות.
הנה דוגמא לאופן בו מערכת ההפעלה יכולה להפעיל את החומרה.
מערכת ההפעלה תנהל את הזכרון הפיזי ותדע איזה כתבות בזכרון שייכות לאיזה תוכנית שרצה. כמובן שמערכת ההפעלה יודעת גם איזה חלקים בזכרון פנויים.
מה "ירגיש" מתכנת בסביבה כזו?
אין למתכנת מושג איפה התוכנית שלו באמת בזכרון.
כמובן, אין שיטה ללא חסרונות. כיון שהתוכניות שלנו צריכות להיטען ברציפות פיזית לזיכרון, יתכן שיווצרו במשך הזמן "חורים" פנויים שקשה לנצל אותם.
לדוגמא, יתכן שיש 10MB פנויים שמפוזרים בזכרון הפיזי ב-10 קטעים כל אחד של 1MB.
אם צריך להריץ תוכנית של, נאמר, 5MB, נצטרך להעתיק תוכניות ברחבי הזכרון עד שיווצר קטע זכרון רציף בגודל 5MB. שימו לב שאין בעיה טכנית בלהעתיק תוכניות ברציפות ברחבי הזכרון. יש רק לדעת מהו ה-base החדש. הפעולה בה מזיזים תוכניות כדי ליצור רצף בר-שימוש נקראת קומפקטיפיקציה.
אבל ככל שהזכרונות גדלו, פעולת הקומפקטיפיקציה לקחה זמן ריצה הולך וגדל באופן בלתי סביר.
ולכן, חיפשו שיטה שבנוסף ליצירת בידוד בין תוכניות רצות שונות, תאפשר לטעון את התוכניות באופן שאינו בהכרח רציף פיזית.
על-פניו מדובר ברעיו מוזר כיון ששרציפות מרחב הכתובות היא עובדה די בסיסית במודל התכנות שלנו.