|
|
|
|
|
by fwsgonzo
2366 days ago
|
|
Some downsides then: - You can't just port anything to IncludeOS. Since you have direct hardware control and you can schedule work directly to numbered CPUs you can take advantage of things, but if you don't do that then you are just living in a limited C++ environment. - The network stack hasn't been built with multiprocessing in mind, and some parts need to be rebuilt because of that - There are codepaths that could lead to C++ exceptions, such as being out of memory, which trounces performance. - There is a paging and memory allocation system in the OS which doesn't have to be there (for example paging can be "burned in" to the image for the most part, while only leaving room for adding pages for stacks. Memory can be handled by donating everything to the C standard library) - the goal being to keep the attack surface lower. - Debugging is hard - you will have to connect to GDB while pausing somewhere in the OS. This is really just me thinking out loud. Add salt. |
|