All Things Microsoft > Microsoft Software

MS-DOS/9x Kernel Inaccuracy.

<< < (3/4) > >>

WMD:

quote:Originally posted by Aloone:
I wonder if WinDOS will boot from FreeDOS or even DOSEMU under Linux.
--- End quote ---


I've seen people get similar things working...like loading WinDOS 95 (btw, I like that name  :D ) from MS-DOS 6.x.  No idea about FreeDOS, and DOSEMU in Linux is just a FreeDOS kernel anyway.

Aloone_Jonez:
I've heard many other programs used their own mini OS kernel rather than DOS. DOOM didn't use the DOS keyboard drivers and the buit in DPMI handled memory management and disk swapping, I think it used the mouse driver loaded in the autoexec.bat though. Virtual 3D pool didn't even use the mouse driver it had it's own!

I think all programs (including WinDOS) called DOS for file IO.

Can anyone else think of any DOS software that hardly used the DOS kernel?

[ July 29, 2004: Message edited by: Aloone ]

anphanax:
Actually, I was wrong when I said MS-DOS is only used as a bootloader, because it's likely there are calls to DOS.

I base that belief off of some behavior in NT.
WriteFile(...) in Kernel32 Invokes
NtWriteFile(...) in NtDll Invokes
Int 2Eh to switch OS modes (From user to native kernel) and then NTOSKRNL.EXE ends up doing the work.

It's more than possible the 9x kernel ended up invoking DOS interrupts to do it's work for it. That might explain some oddities (e.g. Trying Typing "Krnl386 Con" in command.com, and watch as errors start occuring in Kernel32.dll for no apparent reason [Explorer.exe, Msgsvr32.exe, etc]).

I guess one could argue:
9x Kernel <-> IO.SYS
NT Kernel <-> NTOSKRNL.EXE (there are multiple versions of this file with slightly different names e.g. NTKRNLPA.EXE)

UPDATE:
The reason I associated the shell /w the kernel, is because in MS-DOS, they sort-of complement each other. There's a special interrupt reserved for passing commands to command.com. That doesn't make it the kernel though, so I fixed this post. But complemeting, and being the same thing, are of course, different, so this post has been fixed.

[ August 11, 2004: Message edited by: anphanax ]

hm_murdock:
9x kernel would be io.sys

command.com is just a command interpreter, like BASH

billy_z:
okay... seems like those claim win9x do not have DOS never learn assembly language.

Window3.0/3.1/95/98/ME all uses DOS kernel.

I write program under DOS and windows9x.  If I load something in memory in DOS first(a TSR), and boot into windows9x, it is still there!! I still can call interrupt from the DOS program!

And, calling any interrupt (21h) is not the "windows way".  In win32 document, it did not mention anything about interrupt.  everything is wraped in API.  

if you load something in DOS and boot into lunix, will you be able to call it??

those try to confuse bootloader and kernel sure do not have any idea what they talking about.... In fact, a boot loader has a mini-kernel that handles IO and memory.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version