HispaMSX

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

2004-03-28 01:55:14
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..

Resource sharing is resource sharing. Even with this, each process has its own
process data. The most basic data are CPU registers content. If you do not
save/restore even the CPU registers content, you`re not even able to switch
between tasks. And if you save them in a shared area, you`re mixing shared
data with process data. If an process crashes, it can crash other process as
well, and it`s very very bad.

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

So MNBIOS application can output data to screen only when they`re foreground
tasks? Hum... So MNBIOS applications must conform to some sort of `model-view-
presentation` scheme, that makes things harder for programmers... Mainly when
you`re talking about ASM programming.

I will do simply a list of what is forbidden or not, and all programmers
will follow that rules.

But what is forbidden or not is not a static list. It`s a dynamic list, because
an application can be in background or foreground. If you state that background
applications behave differently of foreground applications, this brings two
different application types for MNBIOS, with different goals, and it`s bad:
rules change, programming changes, complexity increases.
And if background applications can never output data to screen, they are
a bit useless, because background applications can be only data-processing
applications, and never user-targeted applications.

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.

I will not talk about security because it`s not the goal of MNBIOS (but it`s
also a goal of UZIX, as a UN*X-like system). But the point here is policy
of processes, as you stated (`forbidden` and `allowed` list), not security.

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.

Ok. No problem with this. UZIX do the same thing.

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

It`s a bit obvious discovering what is currently mapped in Z80 addr space.
You pointed a simple way to do this: frame number plus allocation table.

The idea is interrupt only the aplication code, ofcourse
saving/restoring regs... like the interrupt do.

So in kernel mode the system cannot be interrupted?

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

You`re confusing basic concepts of OS. `Kernel mode` and `user mode` doesn`t
means security, but mainly two different operating modes. If you don`t have 
them,
you don`t have an OS, specially if talking about a multitask OS.

Regards,

Adriano

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