Template:Infobox Software Cooperative Linux, spesso abbreviato in CoLinux, è un software che permette a Microsoft Windows e al Kernel Linux di funzionare in contemporanea sullo stesso computer. Cooperative Linux utilizza il concetto di Cooperative Virtual Machine (CVM, Macchina virtuale cooperativa). Al contrario alle tradizionali macchine virtuali le macchine virtuali cooperative condividono le risorse esistenti nell'OS ospitante, ed entrambi i sistemi operativi, host e guest, hanno il pieno controllo sulla macchine (mentre nelle VM tradizionali il sistema operativo guest ha un controllo limitato).

Panoramica

Il termine "cooperativa" indica due entità che lavorano in parallelo. Infatti Cooperative Linux trasforma i due sistemi operativi in due grandi coroutines, nelle quali ogni kernel decide quando ridare il controllo all'altro kernel.

Sebbene teoricamente entrambi i kernel hanno il pieno controllo dell'hardware l'hardware dei moderni pc non è progettato per essere controllato da due sistemi operativi contemporaneamente, quindi nella realtà ciò viene emulato nel modo seguente: il kernel host controlla realmente l'hardware, mentre il kernel ha dei speciali driver per comunicare con l'host e fornire le periferiche al sistema operativo guest.

Hardware emulato

  • Connessio di rete ethernet via TAP-NDIS and SLIP.

Collegamenti esterni