"An operating system is a collection of things that do not fit inside a language; there shouldn't be one." — Dan Ingalls
And he is mostly right. The real problem isn't operating systems per see, but rather that they get in the way of the solution you're implementing. That's why people keep trying to improve them. A few examples:
- L4 microkernel on Android, Mach on iOS
- MIT exokernel project
The performance boost and diminued resource utilization that you get from properly designed software is always significant. For i/o bound applications like database and web servers who rely heavily on the filesystem, 10x improvement has been reported. Some operations (exceptions, page faults) can even suffer a 100x penalty.
Not everyone has the "general problem". When you aren't trying to deploy software on every existing device, being able to bypass operating systems abstractions is useful (file system, sockets, processes, inter-process communication, memory allocation, context switching, etc.).
Remarkably, Forth systems can run on bare metal and provide everything you need. There are other programming languages that tries to be the operating system like Smalltalk, Java or even Lisp, but none come close to the performance, flexibility and simplicity of Forth.