BeagleBone, usb clien port and linux

Hello all,
I am new to BeagleBone and to linux development world so excuse me in
advance for the newbie question.
How BeagleBoard operating system maps the SD card file system to the
client usb port so when i plug it into my computer it shows up as a
storage device?

If i want to cancel this feature or for example map only a specific
directory to appear as another storage device on my PC how can i do
Will it require me to write some code or there is a tool that allow me
to configure it easily?
If i have to write code, where to begin?

I am experienced C++ programmer in the windows environment but haven't
experimented in linux dev yet.

Thank you for your help!