<div dir="ltr">With the help of Dr.Gedare and a bit of digging, I was able to understand the file system design concept in RTEMS. This is what I was able to gather-<div><br></div><div> > The object-oriented design of the file system refers to the fact that the virtual file-system layer provides a framework upon which different filesystems can be built.</div><div><br></div><div>> For example, the file_sytems_operations_table defines the various operations required by a file system(mount, unmount, path evaluation), the rtems_filesystem_file_handlers_r table defines the various functions(open, write, read, etc.) that act on a node in a file-system also this is where the mmap_h handler is defined. </div><div><br></div><div>>The file system defines its implementation of the above operations and registers it in the corresponding table, whenever a system call is made, the registered handler is invoked and changes to the file are done. </div><div><br></div><div>So my question is,  do we have to define the mmap_h in the IMFS file system layer(as I could not find an implementation for this handler) and then register it in the file_handlers table and then use this in mmap? Or do we already have a generic mmap_h implementation that I can use? </div><div><div><br></div></div></div><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 11, 2020 at 6:04 AM Utkarsh Rai <<a href="mailto:utkarsh.rai60@gmail.com" target="_blank">utkarsh.rai60@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello, <div>For my GSoC project, user-configurable thread stack protection, I need to track, allocate, and manipulate attributes of shared as well as protected stacks. Dr.Gedare suggested that tracking them with score objects would be a good idea. He also indicated a good place to start and understand score objects would be through this <a href="https://devel.rtems.org/ticket/3131" target="_blank">ticket.</a></div><div><br></div><div>From the information that I could find in docs, my understanding of score objects is that they are a type of directive that helps introduce modularity to RTEMS as various types of RTEMS objects like message queues, semaphores, etc. can use the same set of directives for allocation/deallocation and control of their object types.</div><div><br></div><div>Some of the examples of the implementation that I could find used _Object_Iniitialize_information()</div><div>to initialize the object type, then _Object_Allocate()/Free() allocate/de-allocate the object. Object_Id is used to control the object type. My confusion is, how do we use object IDs to refer to and control the allocated objects?</div><div><br></div><div>I also have some confusion in the above-mentioned ticket, it says-</div><div>'The mmap_h handler should construct a mapping object. A destructor is currently missing. Maybe the mmap_h handler should use a flag to deal with construction and destruction.'</div><div><i> </i>I am unclear as to how the mmap_h handler should precisely look like and where should it be defined?</div><div>I would be grateful if you can provide some help in figuring this out.</div><div><br></div><div>Regards,</div><div>Utkarsh <br></div><div><br></div></div>
</blockquote></div>