On Thu, 18 Nov 2004, Arkady V.Belousov wrote:

>      Of course, qsort() if very fast algo (except some specific cases, when
> it is O(N^2)), but why to do _any_ extra action, when unnecessary? :)
> Especially, I suggest, (most) linkers do own sorting anyway?

I think even bubble sort would be fast enough here. It's just that qsort
is convenient because it is provided by the RTL.

>      Hm. I think for simplicity and safety, exeflat should itself move
> relocation table from executable's header inside executable itself, so that
> it may be reused by MoveKernel(). This allows to eliminate manual table at
> kernel.asm:__HMARelocationTableStart.
>
>      (Yes, I know __HMARelocationTableStart is not plain relocation table,
> but jump/code table, with jmps and calls to EnableA20. But table from header
> may be copied (after fixing) into "secondary" table. This allows to make
> code, which is more relocatable and may make cross-segments calls and
> accesses. This also solves issues with standard library routines, which may
> be used both from non-relocatable low code and from relocatable code.)

This is not so easy. Firstly a secondary table would need extra space in
low memory. There used to be entries to strcpy et al in the table but I
removed them later because that part of the table that was useless after
init was still resident. Secondly it would be quite a bit of effort for
very little gain. Also think about it: we don't know in advance how big
the table will be, it's hard to insert something of arbitrary size in
kernel.sys. And then, where's the simplicity?

> PS: Bart, some time ago you decrease kernel by reordering object files. May
> you explain what was changed and how you find this?

Just reordered by placing more or less similar files close together (asm
close to asm, c close to c); that decreased entropy so compression
improved.

Bart


-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to