ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ: ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ», «ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ», «ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Ρ ΡΠ°ΠΉΠ»Π°» «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ»» (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ: ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ», «ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ», «ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Ρ ΡΠ°ΠΉΠ»Π°» «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ»» (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2).
Π£ΡΠΎΡΠ½Π΅Π½Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.4.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.4 — Π£ΡΠΎΡΠ½Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
Π ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠΎΠ².
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΡΠ΅Ρ ΡΡΠΎΠ²Π½Π΅Π²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ: GUI, Model, Storage.
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΠΈΠΏ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ — Model, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ — GUI, Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΡ — Storage.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.5 — Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΠ»Π°ΡΡΡ:
ΠΠ°ΠΊΠ΅Ρ GUI:
MainWindow — ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
IVisualizator — ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°.
VisualizationMemory — ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ IVisualizator.
ΠΠ°ΠΊΠ΅Ρ Model:
Memory — ΠΏΠ°ΠΌΡΡΡ.
BlockMemory — Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ.
Process — ΠΏΡΠΎΡΠ΅ΡΡ.
GenerateIdProcess — Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Id ΠΏΡΠΎΡΠ΅ΡΡΠ°.
Units — ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ»Π΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
IMemoryManager — ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ.
Bma — ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° «Buddy memory allocation», ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ IMemoryManager.
ΠΠ°ΠΊΠ΅Ρ Storage:
IStorage — ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
StorageFileXml — ΠΊΠ»Π°ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ xml-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ»Ρ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.6.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.6 — ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.