Hi Najmus,

>  I want to write an academic paper on freedos kernel
> and its internal working features.

Nice idea :-). Actually there is a whole book about
the original version of the DOS-C / FreeDOS kernel:

www.monmouth.com/~patv/

I doubt that the wiki tells much about the internal
workings of the kernel at the moment. You can read
Ralf Brown's Interrupt List (RBIL) to get lots of
information about all sorts of PC related APIs and
BIOS and hardware interfaces and everything:

www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

As FreeDOS is meant to be DOS compatible, it has to
mimick lots of MS DOS properties. For example when
you read data from a file on disk, your request goes
through a whole MS DOS style pipeline of layers, to
allow all sorts of MS DOS compatible drivers to work
with FreeDOS. Think of network/cdrom drivers, ramdisk,
caches, buffering, TSRs which hook file access... So
while RBIL only has limited information about FreeDOS
specific topics, it still tells you a lot about the
FreeDOS kernel because FreeDOS is a DOS kernel :-).

The original DOS-C kernel was less biased towards this
sort of lowlevel compatibility. Pat just wanted to
make a kernel - written mostly in C - which implements
the main int21 API of DOS, I guess. But you better ask
him in person :-). FreeDOS still is written in plain C
for most parts. This makes the code easier to read and
maintain compared to a kernel written in Asm language.

Luckily it does not make the kernel slow or big, not
at all :-). Things that do make the kernel are for
example the complex memory layout and having to keep
lots of data structures and structural layers similar
enough to MS DOS to keep things low level compatible.
For example if you know that nothing accesses the
"list of lists" and "swappable data area", then you
could move several kilobytes of data from the first
640k kilobytes into the HMA and/or make FreeDOS less
complex. But by not having LoL/SDA in low ram, some
driver level compatibility would be lost.

Eric



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to