HispaMSX

Re: [hispamsx] Hello World !!!! para MNBIOS

2004-03-28 01:29:24

----- Original Message ----- 
From: "Adriano Camargo Rodrigues da Cunha" 
<adriano(_en_)alsoftware(_punto_)com(_punto_)br>
To: <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Saturday, March 27, 2004 8:34 PM
Subject: Re: [hispamsx] Hello World !!!! para MNBIOS


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...

Hum... So may I conclude you`re not making any context swapping during
kernel
calls? Because even 25 instructions is too little for saving/restoring
application
context . This may become a problem when you implement multitasking in
MNBIOS...

No, need saving/restoring, the MNBIOS is a sharing resources based for allow
the multitask. If you do a save/restore process you get more code to
proccess and because that allways you got a slow OS..

By example, outputing on graphical screen as background process surelly
is
forbidden...

Of course not. Simple example: you are using MNBIOS console while a
graphical
clock is displayed in screen corner. This graphical clock must be a
background
process (because it`s stupid putting it in the kernel or needing to switch
to it just
to check what time is it).

That is for fast hardware.... where you can change more quickly the work
screen area of the aplication...
or just redirect all pixels outputs to the correct window position.... that
is only for fast hardware... not nowaday MSX.

Allway, when i say "outputing on graphical screen" i was thinking more in
LINE, CIRCLE or BITMAP functions, or VRAM functions.... things like that.




Math functions is allowed..
I need re-study a lot of tiny thing for decide that..

It`s nonsense let the scheduler policy process creation. This policy, in
all OS in
the world, is done by FS, checkin user rights for process creation.
Moreover, you must flag each MNBIOS function as `allowed` or `forbidden`
for
many situations. This will make MNBIOS bigger and slower. That`s a bad
design decision.

I will do simply a list of what is forbidden or not, and all programmers
will follow that rules.
Is not the goal of the MNBIOS got security code, that will slow all the
system as you say.
If the programmers want security... just make secure the aplication.


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.

Bad naming. People will think MNBIOS does what it doesn`t do. Thinking
this
way, should I call MSXDOS2 `multitasking-commuted OS` because it allows
children-processes creation? Or maybe should I call UZIX `real-time OS`
because,
the version 34789472 is planned to be a RTOS?

Hum... That confirms kernel/user mode swapping. Ok.
 No, no exists diferences between kernel/user mode...

So how can you map 48KB+48KB at the same time in Z80 addr space?

Swaping, i just say kernel is not diferent than an aplication for the
swaping routine. Is the same swaping routine.

And since there is no difference between kernel/user mode, it means that
MNBIOS
kernel is like any ordinary user application? So may user applications
override
kernel decisions? How will you manage context swapping for multitasking
purposes without differing between kernel and user modes?

Simply looking for the PC pointer and the PAGE selected for take the
decision.... The idea is interrupt only the aplication code, ofcourse
saving/restoring regs... like the interrupt do.

kernel mode? user mode?.... the MNBIOS no got the GOAL of be a secure
systems... because is the GOAL be FAST.


MNBIOS not manage thinking in PROCESS else thinking in FILES to RUN.

And what is a file running on memory but not a process? Even in MSXDOS
this
is a applicable concept.

In MNBIOS is called a program FILE already started, ... i not use the word
"process"... because that word can confuse.

UZIX is a lot diferent than MNBIOS...

Sure. But when talking about OS, they all have the same principles.

world when they created MSX2 BIOS, because they needed 48KB for the
BIOS
Don't forgot the BASIC interpreter is included.

Ops. Sorry.

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




<Anterior en la conversación] Conversación actual [Siguiente en la conversación>