Ovviamente per layer non mi riferisco a "layer di compatibilità"
Citazione da: "clros"Questo puo' andare bene. Ma concretamente, posiamo iniziare a definire cosa devono fare i layer di base (..e poi anche i layer superiori)?Certo, un primo step sarebbe quello di definire le interfacce lato kernel, per esempio definire un accesso generico all'hardware
Questo puo' andare bene. Ma concretamente, posiamo iniziare a definire cosa devono fare i layer di base (..e poi anche i layer superiori)?
cosa intendi per "dominio logico"? Due core separati?
Il kernel direi che dovrebbe essere un microkernel con alcuni driver critici in kernel-space, quindi direi video e network, che sono i due componenti che massacrano maggiormente l'OS con tonnellate di IRQ e syscalls (che ho già mostrato essere terribili in un microkernel).Il resto comunque andrebbe buttato tutto in user-space.
Volendo, si potrebbe anche ipotizzare un networking-kernel che gestisce i driver di rete e che si intervalla con l'application kernel tramite un hypervisor.
L'idea l'ho buttata giù pensando ad alcuni processori embedded che hanno la separazione dei domini logici via hardware, ed è praticamente trasparente (è come avere 2 CPU fisiche).Chiaramente se implementato senza supporto hardware, basandosi solo sulla virtualizzazione, diventa pesante.