----- Original Message -----
From: "Adriano Camargo Rodrigues da Cunha"
<adriano(_en_)alsoftware(_punto_)com(_punto_)br>
To: <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Friday, March 26, 2004 6:17 PM
Subject: Re: [hispamsx] Hello World !!!! para MNBIOS
Mnbios not use fixed address, use dinamic structures storaging... for
that
exists the structures.... Anyway the aplications not need fill the
structures....only need got a pointer to that structure... and the
aplications can get that asking to the kernel.
So I don't see much speed difference between UZIX and MNIOS in this
point... Both approachs have the same overhead... And, of course, since
48+48=96>64 you can't map an application and kernel together in the
same Z80 address space, so you have to swap to kernel mode and
application mode. This swap is the performance killer of both OSs.
No at all, please use the MANUAL you got all details about ADM (memory
management)... looking for "SUPER ADM" TITLE...
Indeed the second part of the kernel are manage as a aplications but without
EXEC header.
The mapping routine got between 6 or 25 z80 instructions... depending of the
memory configuration.. (MSX2 or MSX4 , loaded from DISK or mounted in ROM).
When you load from disk, it got 6 instructions or maybe less.
Allways on DEMO version as are mounted in ROM it got configured the long
routine 25 instructions or less.
Ah!, that without any loop inside...
That is not true, the BGP are disabled becuase i need create a list of
the
allowed or forbidden... and that will come at the end.
Why creating such list? The permission of creating a process should not be
controlled by process scheduler...
You don't understandme here....
By example, outputing on graphical screen as background process surelly is
forbidden...
Math functions is allowed..
I need re-study a lot of tiny thing for decide that..
So I think it would better implementing sleeping/suspended processes,
not
killing the main reason to call an OS 'multitask', and not
'task-switcher'.
for call a OS "multitask" not need background process.
There is a concepts confusion here. The 'foreground' process(es) is(are)
the one(s) who
actually receive(s) data from input devices controlled by the user. The
'background'
processe(s) is(are) the one(s) who are running, but do not actually
receive(s) data
from input devices. Background and foreground processes can output data to
anywhere,
even to current user display.
So, calling a OS 'multitask' requires that this OS can run more then one
application at
once (in the user point of view for single-CPU machines). If an OS can run
many
applications at once, but they do not run concurrently and the user can
just select
the active one, this is not a multitask OS, it's a task-switched OS.
Indeed on programmers manual i called that "multitasking-conmuted OS.", but
the MNBIOs is multitasking because got or foresee background process for the
final version .... the final version is planned to be the 2.x and 1.x for
less-background versions.
NOT! that one only in 32KB of code!!!.... and you delete some lines...
some
ones of that are included in that 32KB.
32KB kernel
16KB User Interface "MSXCOMMAND.EXEC"
16KB variable and structures space (for main CPU).
Hum... That confirms kernel/user mode swapping. Ok.
No, no exists diferences between kernel/user mode...
MNBIOS not manage thinking in PROCESS else thinking in FILES to RUN.
UZIX is a lot diferent than MNBIOS...
Anyway, just 32KB of code for 240+ functions... Wow... That's an average
of
136 bytes per function... Microsoft/ASCII should be the worst Z80 coder in
the
world when they created MSX2 BIOS, because they needed 48KB for the BIOS
(that surely doesn't have 240+ functions), plus 16KB for a simple CP/M
code
and disk driver...
Don't forgot the BASIC interpreter is included. And yes, Microsoft /ASCII is
the worst thing ever made.
And because that MSX dead officially.
a pleasure to had this chat with you Adriano
Greeting...
Regards,
Adriano
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos
Para visitar tu grupo en la web, accede a:
http://es.groups.yahoo.com/group/hispamsx/
Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
http://es.docs.yahoo.com/info/utos.html