Nowadays embedded systems are ubiquitous, and they are used in many
different fields. This can be attributed to the rapid spread and
development of the Internet of Things (IoT), which involves the usage of
embedded devices for measurement and control purposes. These systems
have very limited computational power compared to general purpose
computers, but they are also much cheaper.
Embedded systems need special approach in all phases of design because
the constraints and requirements are different from the usual. This
applies to both hardware and software aspects of data storage devices.
Most of these systems use flash memory with small capacity, which has
different characteristics to hard disk drives. Accordingly, we need to
pay attention to the special requirements (robustness, durability) when
we are choosing between file systems.
In my thesis, I describe the aforementioned requirements, and then
I examine how a few file systems meet these requirements. As part of the
comparison, I measure their performance on a Raspberry Pi. For this
purpose, I demonstrate how one can build and customize a Linux based
operating system using the Yocto Project.