3 ms·
If the OS can run only one single program what is the difference to a service lets say Linux+/bin/init?
by ceving 3y ago
If the OS can run only one single program what is the difference to a service lets say Linux+/bin/init?
- ReleaseCandidat 3y agoYou don't háve anything in the kernel which isn't needed to run the program.
- mikepurvis 3y agoThe unikernel still has vastly reduced overall system surface area— for both good and ill. Less security concerns, random package manager nonsense, things that need to be monitored in case they randomly explode, and all the rest of it… but also harder to get a shell or connect a debugger.
- eyberg 3y agoAt the end of the day you'd still be running linux. So what are some key differences between Linux and Nanos (excluding the millions of lines of code, userland arguments)? There is still quite a lot of code in your average linux kernel that is not easy to ifdef out. For instance the capability of running many different programs by many different users means you have a scheduler that has to support that. You have to protect those different programs from being screwed with by other 'users' or other programs (eg: just cause I'm able to own one program doesn't give me access immediately to someone else's on the same machine if owned by a different user) even though a lot of companies have largely walked away from that concept. It goes a lot deeper than that though. Shared memory, IPC amongst processes, semaphores all touch that. Then we start talking about users and their ptys and managing that entire environment. Then you have to start looking at /sys and /proc and /dev and all the other places that get stuffed with all sorts of things. It really truly is very different because it started with a completely different architecture and deployment model in design.