Menu:

Užívateľský pohľad
Programátorský pohľad
  -   trieda TZoznam
  -   trieda TCyklZoznam
  -   trieda TUsek
  -   alg. FirstFit
  -   alg. NextFit
  -   alg. BestFit
  -   alg. WorstFit
Algoritmy vyhľadávania
Download

O programe:

Aplikácia Simulácia správy pamäte je mojim semestrálnym projektom z predmetu Programovanie II na FMFI UK. Simuluje jednoduchú správu správu pamäte (bez virtualizácie a kompaktácie) - má v sebe implementované 4 (v minulosti reálne používané) algoritmy hľadania voľného miesta - First Fit, Next Fit, Best Fit a Worst Fit

Autor:

Adam Müller
adam (@) adammuller.sk
matfyz.adammuller.sk

Užívateľské hľadisko

Aplikácia bola vytvorená ako výučbový softvér pre predmet Princípy počítačov - operačné systémy.

Nastavenie simulácie

Screenshot - okno Nastavenie simulácie

V prvom okne má užívateľ (študent, prednášajúci, ...) možnosť vybrať, ktorý zo štyroch algoritmov vyhľadávanie voľných pamäťových miest aplikácia použije. Ich bližší popis nájdete v Úvode do správy pamäte.
Ďalej do textového poľa je nutné napísať program, ktorý má aplikácia "spustiť". Tu treba povedať, že nejde o žiaden interpreter či emulátor strojového kódu. Program, na ktorom bude aplikácia demonštrovať jednoduchú správu pamäte je obmedzený len na 2 príkazy: GetMem a FreeMem (v reálnej situácii - aplikácia by bola operačný systém a GetMem a FreeMem by boli volania operačného sytému).

Písanie programu

GetMem(smernik,dlzka) je žiadosť o pridelenie bloku pamäti veľkosti dlzka. Adresa začiatku bloku (ak sa nejaký pridelí) sa uloží do smernik.
FreeMem(smernik) je uvoľnenie pamäťového bloku definovaného smerníkom smernik.
Okrem týchto príkazov aplikácia rozoznáva ešte aj príkaz BreakPoint. Tento nemá žiaden efekt na správu pamäte, dá sa ale používať v kóde ako zarážka.

Aby aplikácia rozoznala príkazy správne, je nutné dodržiavať tieto zásady:

Program je možné načítať z disku alebo uložiť pomocou príslušných tlačidiel.

Simulácia

Screenshot - Simulácia

V hornej časti hlavného okna sa nachádzajú príkazy pre riadenie simulácie + ich klávesové skratky. Pod nimi je veľký obdĺžnik znázorňujúci obsadenosť pamäti. Vľavo sa vykresluje spájaný zoznam, ktorý zodpovedá aktuálnemu stavu pamäti, vpravo je zobrazený program.
Pamäť: Úseky pamäte, ktoré sú vyšráfované šedým šráfovaním sú voľné. Biele úseky sú obsadené - je v nich zobrazený názov smernik ktorý na ne ukazuje.
Spájaný zoznam: Úsek spájaného zoznamu sa skladá z 5 častí. Prvou je informácia, či je úsek voľný (V) alebo obsadený (O). Pod ním je názov smerníka, ktorý ukazuje na príslušný úsek pamäti. Tretím je skutočný smerník na ďalší prvok zoznamu. Štvrtá informácia je začiatok bloku v pamäti, pod ňou je zobrazená veľkosť bloku.

Simuláciu je možné krokovať: