Структурна схема системи
У процесі проектування відбулася декомпозиція системи на базові компоненти. Кожен з них містить в собі певний набір функцій і пов’язаний з іншими (рис. 3.2). Рис. 3.2. Структурна схема системи
Центральним елементом системи є модуль ядра. Він є зв’язовуючою ланкою між іншими модулями системи. В ньому інкапсульована вся логіка системи. Також в даному модулі реалізований механізм подій, що дозволяє модулю графічного інтерфейсу підписуватись на них і таким чином адекватно реагувати на поведінку системи. Модуль ядра отримує на вході розмір фізичної пам´яті та сторінки пам´яті, після чого ініціює початкову ініціалізацію системи. В ньому реалізовані інтерфейсні методи для звертання із модулю графічного інтерфейсу. Також, в ньому знаходяться менеджер віртуальної пам’яті, абстракція фізичної та зовнішньої пам´яті, сторінки, сегменту. Також в модулі реалізовані базові класи для роботи з віртуальною пам´яттю, виконання запитів, виділення окремих потоків і асинхронна обробка відповідей після виконання запитів, оповіщення системи через механізм подій, бінарна сериалізація і десериалізація налаштувань програми. Ряд об’єктів в даному модулі є синглтон-об’єктами, тобто такими, що створюються в єдиному екземплярі. Модуль графічного інтерфейсу є кінцевим модулем, що використовує модуль ядра, візуалізує його роботу, отримує команди а також виводить інформацію. Він реалізований у вигляді набору форм Windows, що містять логіку посилання повідомлень та обробку користувацьких подій, що визначені в модулі ядра. Кожна з форм містить набір візуальних та невізуальних компонент, таких як кнопки, поля вводу, таблиці, діаграми, тощо. Модуль віджетів служить для візуалізації роботи віртуальної пам´яті. Він містить функціонал динамічного створення та знищення компонент, геометричні розрахунки для анімації, методи для анімування сторінок пам´яті та ряд інших важливих методів. Також модуль віджетів взаємодіє з такими механізмами операційної системи, як рендер, буферизація, маніпуляції з пам´яттю. Реалізований вигляді набору статичних класів. Модуль алгоритмів заміщення призначений для підтримки таких алгоритмів у менеджері віртуальної пам´яті. Він включає базовий абстрактний клас, що містить загальний інтерфейс алгоритмів заміщення, а також конкретні реалізації таких алгоримтів. При ініціалізації менеджера віртуальної пам´яті, створюються екземпляри всіх алгоритмів, а користувач при роботі програми обирає необхідний, для візуалізацїї його роботи у віртуальній пам´яті.
|