On Thu, 21 Oct 2004, Daniel Gustafsson wrote:

> I am interested in building the FAT file system in freeDOS as a stand-alone
> module that works on a ramdisk. The system that I will work on is a SUN
> SOLARIS (UNIX). I have downloaded the source code KE2035.
>
> Can anyone tell me something about what to think of before I begin? Which
> files are nessecary? Which layers exist in the file system and which files
> is responsible for the layers?

in general it works like
int21 -> entry.asm-> inthndlr.c -> dosfns.c (calls dosnames.c & newstuff.c)
(this was the uninteresting stuff for you)

now we have a full qualified name (like C:\FOO\BAR.TXT, no .. or relative
paths any more). This name is fed into the filesystem functions:

fatfs.c (open, read, write, close etc), and
fatdir.c (findfirst/findnext/dirread, etc)
which use fattab.c to walk the FAT chain

now we have a sector number, that is fed into the buffer code:
blockio.c
blockio.c calls execrh in execrh.asm, which calls the device driver.

The default block device driver is in dsk.c, dsk.c then translates
relative (partition) sector numbers into absolute (disk) sector numbers
and (unless using LBA) cylinder/head/sector, and calls int13 BIOS
functions via floppy.asm.

Bart


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to