Детальне проектування
3.2.1 Діаграма класів Діаграма класів – статичне представлення структури моделі. Відображає статичні (декларативні) елементи, такі як: класи, типи даних, їх зміст та відношення. Діаграма класів, також, може містити позначення для пакетів та може містити позначення для вкладених пакетів. Також, діаграма класів може містити позначення деяких елементів поведінки, однак їх динаміка розкривається в інших типах діаграм. Діаграма класів (class diagram) служить для представлення статичної структури моделі системи в термінології класів об’єктно-орієнтованого програмування. На цій діаграмі показують класи, інтерфейси, об’єкти й кооперації, а також їхні відносини. Діаграма класів модуля ядра представлена на рис. 3.3. Рис. 3.3 Діаграма класів модуля ядра
Центральним класом в модулі ядра є MemoryManager. Він є абстракцією менеджера віртуальної пам´яті. Даний клас є синглтон-об´єктом. До його стану включаються наступні поля: 1. Список сегментів. Являє собою масив екземплярів класу Segment. В ньому знаходяться всі сегмени — неактивні та завантажені. 2. Список активних сегментів. Містить завантажені в даний момент часу сегменти у фізичну пам´ять. 3. Список алгоритмів. Містить список екземплярів класу алгоритму. 4. Поточний алгоритм. Містить поточний екземпляр алгоритму, що використовується в стратегії заміщення в поточний момент. Може змінюватись в часі. 5. Менеджер фізичної пам´яті. 6. Менеджер зовнішньої пам´яті. Клас Page інкапсулює абстракцію сторінки пам´яті. Містить поля, що вказують віртуальний номер в сегменті, безпосереднє посилання на сегмент, розмір, прапорці перебування у фізичній пам´яті, зміненого стану, звертання, що використовуються алгоритмами заміщення. Даний клас знаходиться внизу абстрактної ієрархії, та використовується класом сегменту. Також до екземплярів класу прив´язуються візуальні віджети, що потрібні для візуального представлення віртуальної пам´яті. Клас Segmentмістить абстракцію сегменту пам´яті. Він включає контейнер об’єктів сторінок. Також містить такі поля, як ім’я, розмір, кількість сторінок та стан — завантажений він у фізичну пам’ять чи ні. Екземпляри даного класу створюються та зберігаються в менеджері віртуальної пам’яті. Клас PhysicalMemoryє абстракцією фізичної пам’яті. Містить контейнер сторінок пам’яті, в тому числі вони можуть бути порожніми, що свідчить про вільні місця у віртуальній пам’яті. Містить такі операції, як пошук вільної сторінки для додавання сторінки, повернення дампу всієї фізичної пам’яті. 3.3.2 Діаграма послідовності Діаграма послідовності — в UML, діаграма послідовності відображає взаємодії об'єктів впорядкованих за часом. Зокрема, такі діаграми відображають задіяні об'єкти та послідовність відправлених повідомлень. Діаграма послідовності системи зображена на рис. 3.5.
Рис. 3.5. Діаграма послідовності системи
Початковою дією передача вхідних параметрів від графічного інтерфейсу до менеджеру віртуальної пам’яті, а саме розміру фізичної пам’яті та сторінки. Після цього, менеджер віртуальної пам’яті проводить внутрішню ініціалізацію системи. Наступною дією є додавання сегменту, що передається від графічного інтерфейсу до менеджеру віртуальної пам’яті. В свою чергу, менеджер формує необхідні дані, та передає їх менеджеру віджетів, що ініціює візуальне представлення операції та передає його назад графічному інтерфейсу. Аналогічно відбуваються операції завантаження сегменту у фізичну пам’ять та емуляція звертання до сторінки пам’яті.
|