Orodje za testiranje in analizo razvrščevalnih algoritmov

Področje:
Tema:
Šola:
Avtorji:
Mentorji:
Nagrade:
Nazaj
tehniške vede
računalništvo in telekomunikacije (IKT)
ŠCV, Poklicna in tehniška elektro in računalniška šola
Luka Napotnik
Uroš Sonjak
Naloga je prejela na državnem tekmovanju Srebrno priznanje.

Računalniški procesor je zmožen izvrševati samo en ukaz naenkrat. Izvrševanje samo enega programa naenkrat pa predstavlja ogromno neizkoriščenost ostalih virov, ki so med časom izvajanja dostopni. Za to vsak moderni računalniški operacijski sistem uporablja t.i. razvrščevalnik, ki omogoča navidezno poganjanje več programov hkrati. Razvrščevalnik je del jedra operacijskega sistema, ki virtualizira procesor med posameznimi programi. Kako odziven bo sistem je odvisno od vrste razvrščevalnega algoritma in njegove implementacije. Razmišljal sem, kako bi lahko enostavno testiral in razvijal razvrščevalne algoritme in se odločil, da izdelam programsko orodje - enostavno za uporabo in po načinu delovanja podobno računalniški arhitekturi. Tako bi bilo mogoče implementirati lasten algoritem ali pa izboljšati in testirati obstoječe. Tako je v sklopu raziskovalne naloge nastal program, ki omogoča uporabniku implementacijo lastnih razvrščevalnih algoritmov v obliki programskih vstavkov in testiranje le-teh. Program simulira ključne računalniške komponente - kot so disk, procesor, prekinitve, sistemsko uro in njihovo komunikacijo po von Neumannovi arhitekturi. Uporabnik lahko opazuje razvrščanje procesov, ki jih program ustvari. Razvrščevalne algoritme je mogoče analizirati. Pri analizi pa se izpišejo nekatere ključne statistične informacije, ki povedo obnašanje posameznih algoritmov. Poleg programa so vključeni nekateri osnovni algoritmi za razvrščanje.