Computers work better if they have an operating system. What happens if they don’t? The answer is that they are slower, because the software has to run in the same address space as the hardware, resulting in conflicts that have to be resolved by context switching between different running tasks.
In principle, this makes perfect sense. Computers work in two stages: action and decision. There is no need for an operating system in the execution phase, when all you need to do is follow a well-defined path – when the same well-defined thing needs to be done over and over again, such as adding two numbers or moving files from one place to another.
A computer without an operating system is unlikely, but such machines have been built and exist. An operating system is software that facilitates the use of the machine. It handles the details of input/output and memory management, so that the hardware can be interconnected with the programs in a more abstract way.
In conclusion: Yes it is possible, here is an example of the result:
The Amiga was designed by two hardware engineers. They were not interested in the commercial side of things, and therefore did not understand the magnitude of the problem that was going to arise. The software companies were just happy to have another computer to port their products to, but not having an operating system made it harder to sell software. They couldn’t test it on the Amiga, so inevitably some customers had bad experiences and told their friends how bad it was. This caused pain to the whole Amiga community because there was no good way to respond to criticism.
Of course, and there are still tons of them in use
Operating systems were invented in the 1960s and became widespread in the 1970s. Before, there were none. You would load your FORTRAN program into memory (in Machine Binary Code) and it would run. Often, it would read a strip of data and produce another strip. Then a second Fortran program was run to read the tape produced and print the report.
There was no intrinsic support for peripherals. The program took care of everything. So, we avoided the direct use of the printer which could have caused a fatal problem. Yes, many programs that had been running for hours crashed because the printer ran out of paper.
A Processor looks for Executable Code at the IPL address.
At startup time, the processor executes the machine instruction that is at the IPL address. If it is an application program, it executes an application program. If it is an OS… The processor does not know it.
There are tons of microprocessors running without OS.
There are microprocessors in everything. It is possible that your coffee maker has a specialized application program that does not use an OS. Your 1990 Hi-Fi system, etc.
But, maybe the next generation?
But, there are less and less of them. The microprocessors of embedded systems are now relatively powerful. The price of memory has dropped a lot. A small specialized OS allows customers of this architecture to reduce the level of specialized knowledge required of each embedded system programmer. Add a consistent development environment and development takes only a fraction of the time when compared to a non-OS solution. In fact, a modern processor, 1 Megabyte and a mini OS, allows you to use Python or other interpreted languages for your application.
For this reason, nowadays, we see electronic thermostats with a small OS. They are sold at the same price as the old models that used a big 8K byte.
The reason is simple: programming in 8 K bytes requires a lot of knowledge. Of the processor, of the assembler, of C, but also of the optimization of the algorithms.