29. Overlays για αρχέγονη διαχείριση μνήμης

                Θεωρήστε έναν assembler δυο περασμάτων. Στο πρώτο πέρασμα, κατασκευάζει ένα πίνακα συμβόλων. Στη συνέχεια, κατά το δεύτερο πέρασμα, κατασκευάζει κώδικα σε γλώσσα μηχανής. Μόνο 150KB μνήμης είναι διαθέσιμα στον assembler, έτσι ο κώδικας για κάθε πέρασμα δε μπορεί να είναι στη μνήμη ταυτόχρονα. Το Overlay Α είναι ένας πίνακας συμβόλων,κοινών ρουτινών, και το πέρασμα 1. Το Overlay B είναι ένας πίνακας συμβόλων,κοινών ρουτινών, και το πέρασμα 2.

·         Ξεκινάμε την εκτέλεση με το πέρασμα 1 στη μνήμη.

·         Όταν το πέρασμα 1 τελειώσει την εκτέλεση, κάνουμε άλμα στον οδηγό του Overlay, o οποίος φορτώνει το Overlay Β στη μνήμη, γράφοντας πάνω στο overlay Α, και στη συνέχεια μεταφέρει τον έλεγψο στο πέρασμα 2. Το Overlay A χρειάζεται μονάχα 120KB, ενώ το overlay Β χρειάζεται 130 KB. Μπορούμε τώρα να τρέξουμε τον assembler στα 150ΚΒ μνήμης