My GSoC Adventure: Boosting RTEMS with IMFS Enhancements

About Me

Hi, I'm Bhavya Shah, a computer science student at COEP. I have a strong foundation in Operating Systems, Computer Networks, DBMS, DSA. I’m passionate about systems and their potential to improve lives through technology.

Why Open Source?

My interest in real-world system development led me to contribute to open-source projects. This passion brought me to Google Summer of Code (GSoC), where I chose to work on RTEMS, a real-time operating system (RTOS).

What is RTEMS?

RTEMS, or Real-Time Executive for Multiprocessor Systems, is an open-source RTOS designed for embedded systems. It supports various architectures like ARM, PowerPC, and SPARC. RTEMS powers critical applications in space flight, medical devices, and networking, including the Mars Curiosity Rover, due to its reliable real-time performance.

Understanding IMFS

The In-Memory File System (IMFS) is RTEMS’s default root filesystem, operating entirely in RAM, making it ideal for embedded systems with limited storage. It supports POSIX standards, efficiently managing files, directories, and device nodes, with all RTEMS devices registered as nodes during initialization. IMFS currently uses block sizes from 16 to 512 bytes (default 128 bytes).

My GSoC Project

For my GSoC project, I’m enhancing IMFS to support larger block sizes of 1024 and 2048 bytes, beyond the current 512-byte limit. I’m also developing plugin code to allow users to define custom memory allocators and deallocators. These changes will make IMFS more flexible for diverse embedded system needs.

What’s Next?

Through this blog, I’ll share my GSoC journey, detailing challenges, progress, and learnings. I hope to inspire others interested in systems, embedded computing, and open-source contributions to explore this exciting field.

Comments

Popular posts from this blog

IMFS_statvfs: API to get IMFS statistics