HispaMSX

Re: [hispamsx] NMBIOS: a ver si m'entero...

2004-01-08 11:50:47
El jue, 08-01-2004 a las 02:39, Flyguille escribió:
No es tan facil como que la interrupción decida que ejecutar, porque
entonces se podría interrumpir un proceso irreversible, y entraría en
conflictos las áreas en común como VDP, PSG, API, etc.

El MNBIOS al igual que la PC o el windows usan un sistema cooperativo, donde
el MNBIOS primero le pide a la aplicación que ceda el control, y luego la
aplicacion cuando lo crea conveniente lo cede.


No creo que windows trabaje asi, y unix/linux te puedo asegurar que
trabaja asi, exceptuando que los procesos de root no pueden ser
apropiados (es decir estos si ceden el control cuando terminan su
labor), pero es muy buena idea que un sistema multitarea en msx trabaje
asi. Supongo que la emulacion de aplicaciones estandar se hara mediante
una alpicacion que si es un programa MNBIOS.

Antes cuando dije lo de el truco hardware para los niveles de proteccion
me referia a un sniffer del bus. Si el sniffer detecta una instruccion
privilegiada en un proceso de usuario o el acceso a una memoria no
permitido (tendria que tener este sniffer su propia memoria para guardar
informacion de las propiedades de cada pagina, saber que proceso esta
ejecutando en cada pagina,y saber que procesador esta realizando la
transaccion en el bus) y en este caso generar una nmi al micro que lleve
la parte supervisora del SO (no creo que quieras hacer un sistema
operativo multi cpu cooperativo, no??) el problema de esto es que la
accion se llevara a cabo y luego se tomaran las represalias contra el
proceso. Si el sniffer se hace completamente por hardware se puede
desactivar el bus de dicho micro antes de que la operacion se realiza
(se necesitan componentes mas rapidos que puedan reaccionar antes un
solo ciclo de cpu) y entonces solucionas ese problema.


Roberto.




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