BRZEN
Cooperative Linux
Texto da Wikipédia (pt), licença CC BY-SA. O BETARUBI mostra o verbete inteiro nesta página — a leitura não continua fora do site.
Este artigo carece de reciclagem de acordo com o livro de estilo. |
| Cooperative Linux | |
|---|---|
| Ficheiro:CoLinux logo.png | |
| Autor original | Dan Aloni |
| Desenvolvedor | Comunidade |
| Lançamento Inicial | 25 de Janeiro de 2004 |
| Lançamento final | |
| Sistema Operacional | Windows NT family |
| Tipo | Virtualização de plataforma |
| Licença | Licença Pública Geral GNU |
| Website | www.colinux.org |
Cooperative Linux, abreviado como coLinux, é um software que permite o Microsoft Windows e o Kernel Linux serem executados simultaneamente na mesma máquina.[3]
Cooperative Linux utiliza o conceito the Máquina Virtual Cooperativa (CVM). Comparado à máquinas virtuais tradicionais, a CVM compartilha os recursos que já existem no Sistema Operacional hospedeiro. Em máquinas virtuais hospedeiras tradicionais, os recursos são virtualizados para todos os sistemas operacionais (visitantes). O CVM dá a ambos os sistemas operacionais completo controle da máquina hospedeira enquanto que máquinas virtuais tradicionais configuram cada sistema operacional visitante para um estado não privilegiado de acessar a máquina real.
Visão Geral

O termo "cooperativo" é usado para descrever duas entidades trabalhando em paralelo. Na prática o Cooperative Linux transforma os kernels dos dois sistemas operacionais em duas grandes corrotinas. Cada kernel tem seu próprio contexto de CPU completo e espaço de endereço, e cada kernel decide quando devolver o controle de volta ao seu parceiro.
Apesar disso, enquanto ambos os kernels em teoria possuem acesso completo ao hardware real, o hardware de computadores modernos não é feito para ser controlado por dois sistemas operacionais ao mesmo tempo. Logo, o kernel hospedeiro permanece com o controle do hardware real e o kernel visitante possui drivers especias para se comunicar com o hospedeiro e apresentar vários dispositivos importantes para o sistema operacional visitante. O hospedeiro pode ser qualquer kernel de sistema operacional que exporte primitivos básicos que permitam que o driver portátil do Cooperative Linux seja executado em modo CPL0 (camada 0) e aloque memória.
História
Dan Aloni originalmente começou o desenvolvimento do Cooperative Linux como um projeto de pesquisa baseado em trabalho similar com o User-mode Linux.[4][5] Ele anunciou o desenvolvimento em 25 de Janeiro de 2004.[6] Em Julho de 2004 ele apresentou um artigo no Simpósio Linux. [7] O código fonte foi liberado pela Licença Pública Geral GNU. Desde então outros desenvolvedores tem contribuído com vários patches e adições ao software.[8]
Comparações
O Cooperative Linux é significantemente diferente de uma virtualização x86 completa, que costuma funcionar executando o sistema operacional visitante de um modo menos privilegiado que o do kernel hospedeiro. Em contraste, o Cooperative Linux executa um kernel Linux especialmente modificado que é Cooperativo visto que assume responsabilidade por dividir recursos com o kernel NT e não investigar condições de corrida.
Distribuição
- ↑ "Cooperative Linux Documentation". Archived from the original on 2023-05-13. Retrieved 2020-08-08.
- ↑ "Cooperative Linux Documentation". Archived from the original on 2023-05-13. Retrieved 2020-08-08.
- ↑ «Open source contributions | Dan Aloni». blog.aloni.org. Consultado em 8 de janeiro de 2022
- ↑ «Open source contributions | Dan Aloni». blog.aloni.org. Consultado em 8 de janeiro de 2022
- ↑ «Cooperative Linux Active Development Team Members». www.colinux.org. Consultado em 8 de janeiro de 2022
- ↑ «LKML: Dan Aloni: [ANNOUNCE] Cooperative Linux». lkml.org
- ↑ «Dan Aloni paper presented July 2004 at Linux Symposium» (PDF). Consultado em 30 de março de 2008. Arquivado do original (PDF) em 30 de setembro de 2018
- ↑ Aloni, Dan (17 de novembro de 2021), da-x/colinux, consultado em 8 de janeiro de 2022


A maioria das mudanças no patch do Cooperative Linux estão na tree i386—a única arquitetura suportada pelo Cooperative até a época desta escrita. As outras mudanças são em grande parte adições de drivers virtuais: cobd (dispositivo de bloco), conet (rede), e cocon (console). A marioria das mudanças na tree i386 envolvem a inicialização e código de configuração. É um objetivo do design de kernel do Cooperative Linux de permanecer o mais fiel possível ao kernel autônomo i386, logo todas a mudanças são localizadas e minimizadas o máximo possível.
O pacote coLinux instala uma portabilidade do kernel Linux e um dispositivo de rede virtual e pode executar simultaneamente sob uma versão do sistema operacional Windows como o Windows 2000 ou Windows XP. Ele não usa uma máquina virtual como o VMware.
Debian, Ubuntu, Fedora and Gentoo são especialmente populares entre usuários do coLinux.
Devido a estrutura particularmente incomum do hardware virtual, instalar distribuições Linux sob o coLinux é geralmente difícil. Logo, usuários na maioria das vezes usam ou uma instalação Linux existente numa partição real ou uma imagem pronta de sistema de arquivo distribuída pelo projeto. As imagens de sistema de arquivo são feitas por vários métodos diferentes, incluindo pegar imagens de um sistema Linux normal, achar meios de fazer executar instaladores com o hardware estranho, construir instalações à mão usando o gerenciador de pacotes ou simplesmente atualizando imagens existentes usando ferramentas como yum e apt. Um jeito mais fácil de conseguir uma imagem de sistema de arquivo atualizada é usar o QEMU para instalar o Linux e "converter" a imagem removendo os primeiros 63 blocos de 512 bytes como descrito no wiki do coLinux.
Já que o coLinux não possui acesso ao hardware de gráficos nativos, X Window ou Servidores X não irão executar sob o coLinux diretamente, mas pode ser instalado um Servidor X sob o Windows, como o Cygwin/X ou Xming e usar o KDE ou o GNOME e uase qualquer outro aplicativo ou distribuição Linux. Todos estas questões são corrigidas usando distribuições com base em coLinux como o andLinux, baseados no Ubuntu, ou o TopologiLinux, baseado no Slackware.
Distribuições dedicadas
Algumas distribuições foram montadas especificamente para funcionar com o coLinux.
Hardware emulado
Limitações
- Ainda não suporta Windows ou Linux 64-bit (nem utiliza mais que 4GB de memória), mas uma portabilidade está em desenvolvimento pela comunidade.
- Sem suporte para multiprocessador (SMP). Aplicativos Linux e o kernel subjacente são capazes de usar somente um CPU.[3]
- Win32-loader
- Virtualização de platforma
- Comparison of platform virtualization software
- Cygwin
- MSYS
- Wubi (installer)
- Longene
- Chroot
- Windows Subsystem for Linux
Referências
- ↑ «Open source contributions | Dan Aloni». blog.aloni.org. Consultado em 8 de janeiro de 2022
- ↑ «Cooperative Linux Active Development Team Members». www.colinux.org. Consultado em 8 de janeiro de 2022
- ↑ «Open source contributions | Dan Aloni». blog.aloni.org. Consultado em 8 de janeiro de 2022
- Documentação do Cooperative Linux. Arquivada a partir do original em 2023-05-13. Recuperada em 2020-08-08.
- Website principal do coLinux.
- Página principal do coLinux..
- Contribuições open source | Dan Aloni.
- Membros de desenvolvimento ativos do time Cooperative Linux
- LKML: Dan Aloni: (ANUNCIA) Cooperative Linux
- Artigo de Dan Aloni apresentado em Julho de 2004 no Simpósio Linux
- Aloni, Dan (2021-11-17), da-x/colinux, Recuperado em 2022-01-08
- Reed, Michael (6 de setembro de 2011). «andLinux: Seamlessly Run Linux Applications on Windows». Linux Journal (em inglês). Consultado em 6 de outubro de 2023
- So bringen Sie Linux unter Windows zum Laufen
- FAQ
Links externos
- Página oficial
- Cooperative Linux no SourceForge
- coLinux no GitHub
- Virtualização com o coLinux no Wayback Machine (arquivado em 2008-02-03)
- speedLinux no SourceForge
- Portable Ubuntu Remix no SourceForge
Predefinição:Unix–Windows interoperability
Predefinição:Unix–Windows interoperability
| Interoperabilidade Unix-Windows | |
|---|---|
| Subsistemas do tipo Unix | •Cygwin • Substema Microsoft POSIX• Serviços Windows para UNIX (Interix) • Subsistema Windows para Linux (WSL 1) |
| Ambientes de desenvolvimento e shells | DJGPP • Hamilton C shell • MinGW (MSYS) • Mingw-w64 (MSYS2) • MKS Toolkit • PowerShell • UWIN |
| Portabilidades de utilidades do tipo Unix para Windows | GnuWin32 • UnxUtils |
| Ambientes Windows runtime para nix | Wabi • Willows Toolkit for UNIX • Wine (WINE@Etersoft, Cedega, CrossOver, Darwine, Proton) |
| Software de plataforma de virtualização | Cooperative Linux (TopologiLinux) • Merge • Subsistema Windows para Linux (WSL 2) |
| Relacionado | APIW • Captive NTFS • NDISwrapper • Windows Interface Source Environment • DXVK |

