On Wed, 30 Jun 2004, Arkady V.Belousov wrote:

Hello Arkady,

30-éÀÎ-2004 00:54 [EMAIL PROTECTED] (FreeCOM) wrote to
[EMAIL PROTECTED]:

OK, I actually seem to have misinterpreted your description that INSTALL= and SHELL= programs will get passed an EnvSeg == 0, as this is wrong, please ignore anything I said about this topic.


F> 2. Do you suggest that when FreeCOM.ParentPSP == 0, FreeCOM is to assume
F> that it runs from either INSTALL= or SHELL= and shallt assume /P?

    Do you mean: "if FreeCOM finds that its _parent_ PSP contains
ps_parent==0 (ie, it have no grandfather), then it should make yourself

No, I did interpreted your explanation wrong.

permanent (set own ps_parent yo itself)?"? Yes, this behavior may be useful:
some users may forget to add /P into SHELL= line and will be confused after
casual extra line (because, unlike MS-DOS, which automatically tries to
restart command.com, FreeDOS directly asks path to command interpreter).

Good, I will file this as enhancement request.

    Don't know about "unused" (may be, MS-command.com uses it for own
needs), but yes: original block remains in memory:

Wild guess:
maybe, this is the persistent environment you were searching for? (For to pass the environment to the next SHELL, once the SHELL= program terminates?)


F> Anyway, I made the /LOW option of FreeCOM work. So you can relocate the
F> environment block whereever you like from within AUTOEXEC.BAT. As I

    How? As I understand, this may and should affect already runned
(primary) FreeCOM only if this options given before its run (for example,
SHELL=command.com /low /p)? And, who says that placing environment into
upper memory is bad? I say, that using LAST_FIT is bad stategy (for UMBs
this makes inoptimal memory usage, in low memory this makes fragmented

So, why would be "FIRST_FIT" or even "BEST_FIT" optimal? It cannot, neither. Optimal would be when the user could decide where to place which part. But this is no option at the current time.


F> said: FreeCOM relys on the FreeCOM.EnvSeg pointer for all its operations
F> and it is guaranteed that all cached data is flushed, when FreeCOM gets
F> re-activated after running an external command.

This is your deal, I don't say anything about FreeCOM own (child) PSP.

Huh? You said you need to have the environment segment placed somewhere else. I did not mentioned the PSP as well. You can write a program to move the parent's environment to any location you like. That is the most optimal placement I can imagine.


F> It is currently not possible to use FIRST_FIT (and therefore BEST_FIT
F> neither) and I do not hassle with the XMS code to move the environment
F> segment around.

    Look at memory map above again. And look at FreeCOM map:

______________O\_/_________________________________\_/O______________
 -0FA7   2.01k               STACKS=
0FA7       64                --free--
0FAB     2.87k   COMMAND
1063      574k               --free--
9FEF      272    COMMAND     environment
-A000-
_____________________________________________________________________
             O/~\                                 /~\O

But what do I see here in conjunction that "It is currently not possible to use FIRST_FIT (and therefore BEST_FIT neither)" for FreeCOM?


Bye,

--

Steffen Kaiser

Reply via email to