I just made a post here about DSOs. Have you looked at the Bitscope site. It is an open source MSO, and they have laid out the methods of development on the site: https://www.bitscope.com/
I think this will answer your questions.
Regards,
Robert
Added after 1 minutes:
Here is that other thread. The OP also gives a link to some good info.
regards