Hi there,


If I understood correctly all the messages (and I think that, as Bart pointed out, 
this discussion came time ago, and not only once), the biggest difference between 
f_node and SFT is the fact that SFT are far and f_node are near.



So there is the problem to estimate the size of the code:

- changing references to f_nodes from near to far (thus with a segment prefix)

- modifying segment registers when appropriate

against:

- the code used to sync both structures

- the amount of memory occupied by the f_nodes themselves

- the unused entries of the SFT



Not to speak about the big amount of work to modify all file system functions to 
operate with SFT's.

 I would say that the second set is bigger, thus it would be of benefit for the 
FreeDOS kernel to get rid of the f_nodes, but I am not completely sure, perhaps 
someone else can roughly estimate if it worths the work before Eric sets about to it.



Aitor







----- Mensaje Original -----

Remitente: Pat Villani [EMAIL PROTECTED]

Destinatario: [EMAIL PROTECTED]

Fecha: Martes, Noviembre 2, 2004 3:00pm

Asunto: Re: [Freedos-kernel] unused SFT fields <-> f_nodes not needed???



>The simple fact is that the f_nodes structure is not needed at all.  

>Before I left the group several years ago, I was planning to rewrite 

>the 

>kernel specifically to eliminate f_nodes and move to SFT.  The 

>reason 

>was precisely the incompatibility between this kernel and other 

>programs 

>such as windoze.

>The f_nodes structure is a leftover from the original family of DOS 

>API 

>compatible RTOS that the kernel is derived from.  Those operating 

>systems used the f_nodes structure for file system switches and as 

>locking objects for fine grain locking necessary in an RTOS.  You 

>don't 

>need them.

>Pat

>

>Eric Auer wrote:

>>Hi, I tried to check SFT compatibility of FreeDOS, quick conclusion:

>>sft_dcb is never accessed

>>sft_stclust is never accessed

>>sft_relclust is never accessed

>>sft_cuclust is never accessed

>>sft_dirdlust (sic!) is never accessed

>>sft_diridx is never accessed

>>sft_bshare is never accessed

>>sft_ifsptr is never accessed (nor initialized to 0?)

>>

>>Is that correct? I think SFT-messing programs like Windoze will not be

>>happy in particular about all those uninitialized cluster values, the

>>missing DCB pointer, and missing dir entry info. The share / ifs stuff

>>is probably less interesting or set by SHARE / IFSdrivers directly,

>>without kernel interaction.

>>

>>Each SFT uses some header with size info and link pointer, and tools

>>like FILES.COM or Windoze will just search for the last SFT and add

>>extra SFTs - how will FreeDOS react? I think this will create SFT 

>slots>for which no fnodes exist.

>>

>>Next point are the fnodes themselves:

>>f_count, f_mode, f_flags, f_diroff, f_dirstart, f_offset, f_cluster

>>and f_cluster_offset all seem to have exact equivalents in the SFT

>>slot structure. Am I misunderstanding something here or could we just

>>throw away half of the f_node fields by using the SFT slot fields

>>instead???

>>

>>There would be still some remaining f_node fields, but they would be

>>not much more than a copy of the raw directory image data (f_dir) and

>>a pointer to the DPB for the file (f_dpb).

>>

>>I must be misunderstanding something here - if removing f_nodes would

>>be so easy (in terms of: replace fields by very equivalent SFT 

>fields),>then why did we have that big project with "near fnodes" 

>instead of

>>just throwing away the fnodes altogether?

>>

>>

>>So please tell me where the big hidden caveat is lurking.

>>Thanks for reading this maso mail ;-).

>>

>>Eric

>>

>>PS: If a DCB and a DPB are the same (?), the only left over f_node

>>purpose would be holding a copy of the raw directory entry of the 

>file.>That could be guarded by something like storing a checksum of the

>>starting cluster and filename in the fnode, and re-read the directory

>>entry if the SFT slot has changed unexpectedly (a warning could be

>>shown if the SFT slot has changed unexpectedly when FreeDOS would like

>>to write back the directory entry to disk).

>>

>>PPS: A few bits of f_flags might differ from sft_flags bits.

>>

>>

>>

>>[This mail is based on browsing the SF.net 2035 sources, no CVS 

>updates...]>

>>

>>

>>-------------------------------------------------------

>>This SF.Net email is sponsored by:

>>Sybase ASE Linux Express Edition - download now for FREE

>>LinuxWorld Reader's Choice Award Winner for best database on Linux.

>>http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click

>>_______________________________________________

>>Freedos-kernel mailing list

>>[EMAIL PROTECTED]

>>https://lists.sourceforge.net/lists/listinfo/freedos-kernel

>>  

>>

>

>

>-------------------------------------------------------

>This SF.Net email is sponsored by:

>Sybase ASE Linux Express Edition - download now for FREE

>LinuxWorld Reader's Choice Award Winner for best database on Linux.

>http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click

>_______________________________________________

>Freedos-kernel mailing list

>[EMAIL PROTECTED]

>https://lists.sourceforge.net/lists/listinfo/freedos-kernel

>


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to