There needs to be a word for the way that a word looses its relevance as a google keyword when it is overused in other contexts. I did the same search you did when I posted my replay but I disregarded that definition because it was too fluffly. It talks around the issue in an effort not to offend beginner ears and in the end says nothing. Any other potential definitions are lost in a slurry of "kernel traffic" and other similar useless hits.
I am afraid that I will have to direct you to the local library for a good definition. The book we used when I TA'ed for Operating Systems was the one at
http://os-book.com and it covered the topic quite nicely. This is the classic Dinosaur Book for those of you who have been through a CS program in recent history.
but DOS offer the services:
a process scheduler: only one process at time (not counting TSR)
Think about the logic of what you are saying. No action is performed so what can you say about the mechanism by which it wasn't performed.
It is all or nothing there is no scheduling going on so there can be no part of DOS to attribute the scheduling to.
As to TSR programs they are called "Terminate and Stay Resident" for a reason they are not actively scheduled. They hide out in memory and wait to be called as an interrupt handler or via something like a jump table.
memory address space manager: full memory access
Again total lack of management is not management.
disk management: file system primitives (FAT12 FAT16...)
As I mentioned above IO is not one of the things which makes a kernel and there are kernels where IO is specifically moved into user space processes.
This is not evidence for a kernel.
service requests are accomplished by software interrupts
Yes that was part of the reason I said that DOS was just an interrupt handler. (It is important to note that using interrupts to communicate with the kernel in an OS is a common thing since that can allow transfer of control from one trust level or process to another. So handling interrupts in and of itself is not a bad thing.)
OK, it's not a great kernel but it offers minimal services to run shell (command.com) and to execute programs without access disk directly, check the allocated and free memory, etc...
DOS kernel is a very simple kernel for a simple OS offering minimal services.
But it is not a kernel this is a simple question of definition. This is exactly like trying to argue that a fish is really not a fish but a primitive mammal. I mean it gives birth to live young (eggs are alive are they not) and it has hair (well scales but that is just like hair). Words have definitions for a reason and trying extend the definition of mammal to include fish you remove the usefulness of the terms themselves.
CBM Commodore 64 kernal offers tape and disk "virtualization" services, memory bounds check... very minimal services enough to work with pheriperals (OK, it's more like a BIOS but that is).
Again no kernel here. That is not a bad thing it doesn't mean that some how this is a lesser OS. Edx, if you are in this thread I wonder if an OS can have "Kernel Envy"?
This talk is reaching philosophical arguments so I think that it's time for me to stop. You are right, me too from another point of view so there's no reason to continue.
The problem is that this is not a point of view question again it is a simple question of definition. Accuracy in language is important in very concrete term, the assertion you are making that DOS has a kernel is patently false. It is the same as my assertion that a tuna is a mammal, if we accept both of those in the interest of validating some relativist perception of truth - discourse is dead.
-Eric