Diffusing OS into lower levels?

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
User avatar
Artlav
Member
Member
Posts: 178
Joined: Fri Aug 21, 2009 5:54 am
Location: Moscow, Russia
Contact:

Diffusing OS into lower levels?

Post by Artlav »

I was wondering, where does the concept of an Operating System ends?

Suppose you're writing a program for a microcontroller. Would that program be it's own OS?
It have all the resource management as part of it, and CPU provides the I/O.

Furthermore, imagine a CPU with multitasking support, like x86.
Add to it the circuitry (or microcode) to handle memory allocation, various utility functions, etc.
There already are hardware implementations of things like mp3 decoders, file system I/O, graphics drawing functions and like, put it all together.
A program would run on such a CPU like an application under it's OS.

Will the microcode of that CPU be an OS? Or maybe even the parts of the hardware design responsible for resource handling features?

What do you think?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Diffusing OS into lower levels?

Post by Combuster »

Operating systems manage and share resources between various unspecified tasks. Microcode does not do resource sharing, standard microcontrollers have only one task - neither is an OS by that definition.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Casm
Member
Member
Posts: 221
Joined: Sun Oct 17, 2010 2:21 pm
Location: United Kingdom

Re: Diffusing OS into lower levels?

Post by Casm »

In the earliest days of computers, before operating systems in the modern sense had been invented, computers only ran one program at a time, and that program had direct control of all the computers hardware, but nobody thought of them as being anything other than applications.

The minimum necessary for something to qualify as an operating system is probably that it should supply services to other programs. Even in a single tasking environment such as DOS, there is probably also a need for it to act as a benevolent dictator in (for example) sharing out disk space.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Diffusing OS into lower levels?

Post by Combuster »

There's a difference between doing only one task, and doing any task but only one at a time - DOS fits the definition if you look closer.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Artlav
Member
Member
Posts: 178
Joined: Fri Aug 21, 2009 5:54 am
Location: Moscow, Russia
Contact:

Re: Diffusing OS into lower levels?

Post by Artlav »

What if the CPU was handling the resource allocations to the tasks running on it, as a set of embedded features?
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Diffusing OS into lower levels?

Post by Solar »

Artlav wrote:What if the CPU was handling the resource allocations to the tasks running on it, as a set of embedded features?
Well then, that system of "embedded features" that specifies how an application runs, and how it interfaces with the system, would be the operating system, wouldn't it?

But, when you look at it from a distance: Why does it matter?
Every good solution is obvious once you've found it.
Post Reply