Bachelor's Thesis

Mapping Files to User-Specified Memory of Embedded Device

Final Thesis 1.28 MB

Author of thesis: Matúš Dobiáš

Acad. year: 2025/2026

Supervisor: Ing. Josef Strnadel, Ph.D.

Reviewer: Ing. Jakub Lojda, Ph.D.

Abstract:

The goal of this bachelor's thesis is to examine the support for mapping files to memory in microcontroller based embedded devices. Mapping files to memory simplifies I/O operations and is also used for sharing memory between processes.
This work is an effort to explore and expand existing support for memory mapping with minimal modification of the original support. The result of this work is an analysis of the existing mapping, design and implementation of an extension to the original support,
evaluation of the advantages and disadvantages of the solution and proposing possible directions for improvement.

Keywords:

File system, partition, embedded devices, memory mapping, metadata, contiguous memory, POSIX

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaEznamka

Grading

E

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm E.

Topics for thesis defence

  1. Jak by bylo možné rozšířit UDMFS tak, aby lépe zohledňoval omezený počet zápisů do flash paměti, a tedy i problém opotřebení paměťových buněk?
  2. Co Vás vedlo k vyšší stručnosti práce?
  3. Kolik odhadem vlastního kódu jste reálně implementoval?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Jan Kořenek, Ph.D. (předseda)
doc. Ing. Ondřej Lengál, Ph.D. (místopředseda)
Ing. Bohuslav Křena, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Supervisor’s report
Ing. Josef Strnadel, Ph.D.


  • Při pouhém zohlednění spíše podprůměrné aktivity studenta během řešení a dokončování činností souvisejících se zadáním a se zpracováním technické zprávy a zohlednění přijatelné implementace zadáním požadované nadstavby bych hodnotil práci studenta a její výsledek stupněm uspokojivě.

  • Celkový dojem z práce studenta a jejího výsledku však negativně ovlivňuje neuspokojivá dokumentace ve formě odevzdané technické zprávy.

  • Navrhuji tedy ohodnotit výsledek práce studenta stupněm E.

Evaluation criteria Verbal classification
Informace k zadání
  • Zadání považuji za středně obtížné - stavělo na vědomostech, dovednostech a praktických zkušenostech z předmětů běžného bakalářského studia.
  • Pro kvalitní řešení považuji za významný bod 3, a za stěžejní body 4 a 5 zadání. Tyto body považuji za splněné, nicméně dokumentaci k bodu 5 hodnotím jako podprůměrně stručnou.
Práce s literaturou

Student prokázal schopnost samostatně využívat vedoucím doporučené i vlastním úsilím nalezené informační zdroje související s řešeným tématem, mj. orientovat se v nich, čerpat z nich a vhodně využívat informace v nich obsažené k řešení daného tématu.

Aktivita během řešení, konzultace, komunikace

Dané téma začal student zpracovávat poměrně pozdě, nicméně poté již, byť spíše sporadicky, řešení konzultoval a o dílčích pokrocích, jakož i o dalším směřování řešení projektu informoval. Student však pracoval samostatně a na konzultace byl vždy velmi dobře připraven.

Aktivita při dokončování
  • Výsledek práce studenta (tj. realizační výstup a technická zpráva) mi byl předkládán ke konzultacím s poměrně velkým zpožděním, což se týká zejména konečné podoby technické zprávy.
  • Technická zpráva mi byla opakovaně předkládána k připomínkování vč. její podoby krátce před termínem odevzdání. Řada mých připomínek sice byla v technické zprávě zohledněna, nicméně i přes mé další, mnohdy opakované, připomínky odevzdaná technická zpráva působí stále poměrně stručně.
Publikační činnost, ocenění

-

Points proposed by supervisor: 59

Grade proposed by supervisor: E

Reviewer’s report
Ing. Jakub Lojda, Ph.D.

Bakalářská práce se věnuje relevantnímu a technicky zajímavému tématu. Student prokázal schopnost nastudovat problematiku souborových systémů na embedded platformách a navrhnout i implementovat vlastní řešení pro mapování souborů do paměti. Implementační část práce je funkční a dokládá základní zvládnutí problematiky.


Celkový dojem však výrazně snižuje technická zpráva. Text je velmi stručný, obsahuje řadu překlepů, typografických nedostatků a místy méně profesionálních formulací. Některé části by si zasloužily podrobnější vysvětlení a lepší provázání.


Práce po realizační stránce naplňuje požadavky zadání, ale po stránce textového zpracování nedosahuje úrovně, kterou bych u bakalářské práce očekával. Proto navrhuji souhrnné hodnocení mezi stupni "C" a "D". S ohledem na funkční realizační výstup se i přes slabší technickou zprávu přikláním k hodnocení "C".

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Práce se zabývá problematikou mapování souborů do uživatelem určené paměti na embedded zařízeních. Zadání považuji za průměrně náročné.

Student se v práci zabýval existující podporou souborových systémů na platformách na bázi MCU, provedl rozbor vybraných souborových systémů a následně navrhl a implementoval vlastní řešení UDMFS a rozhraní IMMAP pro mapování souborů do paměti.

Prezentační úroveň technické zprávy

Základní struktura práce je v zásadě logická. Oceňuji, že práce nejprve zavádí základní pojmy z oblasti souborových systémů a POSIX rozhraní, což přispívá ke srozumitelnosti textu.

Technická zpráva však obsahuje řadu prezentačních nedostatků:

  • Přechod mezi kapitolou věnovanou souborovým systémům a kapitolou o platformě ESP32 je poměrně náhlý a chybí zde jasnější vysvětlení, proč je právě tato platforma dále použita jako hlavní realizační prostředí.
  • Některé obrázky nejsou z textu explicitně odkazovány, např. obrázky 2.1, 2.2 a 4.1.
  • Obrázek 2.3 je umístěn až za začátek části věnované dodatečným funkcím vybraných souborových systémů, ačkoliv tematicky patří k předchozímu popisu LittleFS.
  • V textu se také vyskytují odkazy na obrázky či tabulky pouze formou čísla, např. "6.1" nebo "6.2", bez uvedení "Obr." nebo "Tab.". To může být pro čtenáře matoucí, protože takový odkaz může působit jako odkaz na kapitolu nebo podkapitolu.
  • Tabulky 6.2, 6.3 a 6.4 jsou v textu vedeny jako obrázky, "Obr. 6.2", ..., vhodnější by bylo označit je např. "Tab. 6.1", apod.
65
Formální úprava technické zprávy

Pravopisnou stránku slovenského jazyka nemohu plně posoudit, nicméně z hlediska typografického a formálního obsahuje práce jistý počet nedostatků. V textu se vyskytují překlepy, méně vhodné formulace a chybně zobrazené znaky. Příkladem je:

  • "Najmešia" na straně 5,
  • "Funckia" na straně 7,
  • chybně zobrazené jméno funkce "öpen" na straně 12.

Za problematické považuji také rozsáhlé použití kurzívy (proloženě vysázeny celé odstavce) v části textu věnované POSIX pojmům na straně 6. Tento způsob sazby zhoršuje čitelnost delšího odborného textu. Některé formulace jsou místy méně akademické a bylo by vhodnější použít neutrální nebo pasivní opis. Například formulace typu "Pri zápise ale nechcem stratiť..." působí v technické zprávě méně profesionálně.

65
Realizační výstup

Realizační výstup považuji za funkční a z hlediska bakalářské práce přiměřený. Student implementoval vlastní souborový systém UDMFS a rozhraní IMMAP, které demonstrují princip mapování souborů do uživatelem určené paměti v prostředí embedded zařízení.

Kladně hodnotím, že součástí práce je také testovací sada, která je přehledně rozdělena podle testovaných částí a umožňuje selektivní spouštění pomocí nastavení proměnných v kódu. Práce rovněž obsahuje výkonnostní srovnání vůči FATFS, SPIFFS a LittleFS, což umožňuje alespoň základní srovnání implementovaného řešení s existujícími souborovými systémy.

Programový kód implementace je podle mého názoru dokumentován dostatečně pro účely bakalářské práce. Komentáře nejsou extrémně četné, ale na důležitých místech jsou přítomny. Pozitivně hodnotím také možnost generování dokumentace pomocí Doxygen.

Řešení má zjevná omezení, která student částečně identifikuje přímo v práci. UDMFS je minimalistický prototyp bez pokročilých vlastností, jako je wear leveling, obnova stavu po výpadku napájení nebo adresářová struktura. Přesto jej lze považovat za vhodný realizační výstup, protože umožnil prakticky ověřit princip řešení a splnit cíle zadání v rozsahu odpovídajícím bakalářské práci.

75
Využitelnost výsledků

Výsledky práce mají využitelnost především jako proof-of-concept a výchozí bod pro další vývoj. Implementace v současné podobě pravděpodobně není vhodná pro přímé praktické nasazení bez další revize, ale dobře demonstruje princip mapování souborů do paměti v prostředí embedded zařízení.

Po důkladnější revizi, rozšíření testů a doplnění pokročilejších vlastností by bylo možné práci dále rozvíjet. Přínosem práce je zejména praktické ověření zvoleného přístupu a identifikace omezení, která jsou s mapováním souborů do paměti na zařízeních s omezenými prostředky spojena.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Práce se věnuje všem bodům zadání a lze konstatovat, že zadání bylo po věcné stránce naplněno. Student provedl rešerši souborových systémů používaných na embedded platformách, porovnal jejich vlastnosti z hlediska možnosti mapování souborů do paměti, navrhl vlastní řešení, provedl jeho implementaci a výsledné řešení otestoval.

Praktická realizace dokládá pochopení hlavních problémů řešené oblasti. Některé části práce jsou však zpracovány poměrně stručně a technická zpráva by si zasloužila podrobnější vysvětlení návrhových rozhodnutí, omezení řešení a souvislostí mezi jednotlivými částmi práce.

Rozsah technické zprávy

Evaluation level: téměř splňuje minimální požadavky

Textová část práce je stručná a podle odhadu odpovídá přibližně 35 normostranám, což je pod rozsahem očekávaným od bakalářské práce. Ačkoliv práce obsahuje všechny hlavní části potřebné pro posouzení výsledku, některé kapitoly působí spíše jako velmi stručný technický popis.

Čtenář z oboru se v práci dokáže orientovat, ale bakalářská práce by měla obsahovat širší vysvětlení kontextu, jasnější návaznosti mezi kapitolami a podrobnější rozbor některých návrhových a implementačních rozhodnutí.

Práce s literaturou

Student uvádí řadu relevantních zdrojů a v textu je průběžně cituje. Použité zdroje odpovídají tématu práce a pokrývají jak obecné základy souborových systémů, tak dokumentaci ESP-IDF, POSIX rozhraní a vybraných souborových systémů.

Citační stránka práce je tedy celkově přijatelná. Za nedostatek lze považovat výskyt značky "[?]", která pravděpodobně označuje chybějící citaci. Některé odkazy na webové zdroje by bylo vhodné formálně lépe začlenit do textu nebo sjednotit jejich citační podobu.

75
Topics for thesis defence:
  1. Jak by bylo možné rozšířit UDMFS tak, aby lépe zohledňoval omezený počet zápisů do flash paměti, a tedy i problém opotřebení paměťových buněk?
Points proposed by reviewer: 70

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová