ReactOS
Origem: Wikipédia, a enciclopédia livre.
ReactOS | |
---|---|
Foto do sistema. |
|
Desenvolvedor: | ReactOS Foundacion |
Família do SO: | Compatível com Windows |
Modelo do desenvolvimento: | Código Aberto |
Última versão: | 0.3.4 |
Data da última versão: | 22 de janeiro de 2008 |
Kernel: | Compatível com o Windows NT |
Interface: | {{{ui}}} |
Interface: | |
Licença: | GNU GPL |
Estado do desenvolvimento: | Alpha, instável |
Website: | www.reactos.org |
O ReactOS é um sistema operativo em software livre, licenciado sob a GNU GPL, cujo objetivo é desenvolver um sistema operacional 100% compatível com os aplicativos e drivers binários para Windows NT.
Índice |
[editar] História
[editar] Antes de ReactOS
Em meados de 1996 algumas pessoas formaram um grupo chamado FreeWin95, cujo objetivo era implementar um sistema operacional que seria um clone do Windows 95. Infelizmente, como vários novos projetos Open Source ambiciosos, acabou em uma discussão sem fim sobre o desenho do sistema, sem resultados.
[editar] O início do ReactOS
No fim de 1997, o projeto tinha parado sem resultados. Jason Filby entrou como coordenador do projeto e chamou todos ainda escritos na lista para reiniciar o projeto. Ficou decidido que a base seria o Windows NT e que a ênfase seria nos resultados - em código escrito em vez de discussões sem fim. O projeto foi renomeado para ReactOS, já que as raízes do sistema operacional surgiram de uma insatisfação geral sobre o monopólio da Microsoft no mercado de sistemas operacionais. Em fevereiro de 1998, iniciou o ReactOS.
[editar] Escalada íngreme
Os primeiros anos do ReactOS foram dolorosamente lentos, apesar das grandes quantidades de código que estavam sendo escritos. Apenas alguns desenvolvedores sabiam como escrever código de kernel. Foi uma época em que apenas algumas pessoas escreviam o difícil início do kernel. Mais tarde, quando o kernel estava mais completo e estável, e foram escritos drivers básicos como os de IDE e teclado, mais pessoas foram capazes de se envolver no desenvolvimento.
[editar] Hoje
O kernel percorreu um longo caminho, está mais estável e muitas APIs estão completas o suficiente para realizar trabalhos mais avançados. Foi realizado um trabalho substancial em várias bibliotecas. O código de rede inicial tem problemas suficientes que evitam que funcione corretamente, mas não por muito tempo. Uma implementação básica do Dispositivo de Interface Gráfica (Graphics Device Interface - GDI) e drivers de gráficos VGA estão preparando o caminho para a GUI. O número de desenvolvedores vem aumentando.
[editar] Futuro próximo
Logo se iniciarão subsistemas para outras plataformas. O código da GUI e shell gráfico padrão, com a ajuda do projeto Wine, está funcionando agora e continuará crescendo mais e está mais completa a cada dia. O ReactOS está pronto para experimentar um crescimento massivo em um futuro próximo.
[editar] Breve cronologia
1996 - Um grupo de pessoas resolveu juntar-se com o objetivo de criar um novo Sistema Operativo Livre, que iria ser um clone do Windows 95, saído havia um ano. O grupo foi denominado FreeWin95.
Final de 1997 - Como o grupo caiu em discussões acerca do funcionamento do futuro kernel, o projeto não tinha produzido nada, entretanto. Jason Filby torna-se cordenador do projecto e consegue fazer renascer o projeto das cinzas, depois de contactar as pessoas que ainda estavam subscritas nas mailing-lists.
1998 - Começa o trabalho. Depois de algum diálogo, ficou decidido que o objetivo seria o Windows NT, em vez do Windows 95 como tinha ficado decidido um ano antes; alem disso o projecto mudou de nome e passou a chamar-se ReactOS, nome que ainda hoje conserva.
2003-2004 - Hoje em dia o ReactOS já está bastante estável e inclusive roda algumas aplicações nativas do Microsoft Windows. Devido ao maior número de pessoas envolvidas no projeto, as partes de mais baixo nível já estão escritas e o desenvolvimento tornou-se mais fácil.
[editar] Arquitetura
A arquitetura do ReactOS é em tudo semelhante à do Windows NT. Existem os mesmos conceitos (Registro, Subsistemas, Executivo, Controladores IFS, etc), que estão organizados da mesma maneira que no NT. As partes do kernel do ReactOS são as seguintes:
[editar] Executivo
Executivo é o nome que se dá a todo o código que roda em modo de kernel. Está organizado em 3 camadas essenciais.
[editar] Camada de abstracção de hardware
É a parte de mais baixo nível no ReactOS. Fornece ao resto do executivo as primitivas necessárias para que todas as arquitecturas, placas-mãe, CPUs e chipsets possam ser controlados de uma maneira uniforme pelo núcleo e pelos controladores.
Teoricamente, para portar o NT (ou o ReactOS), o único código que seria necessário modificar seria o desta camada.
[editar] Núcleo
Aqui, o Núcleo aparece como a camada do Executivo que desempenha as funções tradicionalmente desempenhadas pelos núcleos dos sistemas operativos.
O ReactOS não é um microkernel, uma vez que os serviços clássicamente desempenhados pelo núcleo, bem como todos os drivers, rodam em modo privilegiado e são chamados pelas aplicações directamente (em oposição ao que acontece num microkernel, em que os serviços são requesitados por intermédio de um serviço de comunicação entre processos).
A arquitetura do núcleo é inspirada na do núcleo do Microsoft Windows NT 4.0. Existem as Chamadas de Procedimento Assíncronas e Diferidas, os processos, as tarefas paralelas (multi-threading), semáforos, código de temporização, etc.
[editar] Serviços
É constituído pelo resto da base do Sistema Operativo.
- Gestor de Entrada e Saída
- Gestor de Configurações
- Plug and Play
- Gestor de Alimentação
- Gestão de Memória
- Suporte ao Executivo
- Gestor de Objectos NT
- Monitor de Referência da Segurança
- Gestão de processos
- Chamada de procedimentos locais e outras modalidades de IPC
- Subsistema Win32
[editar] Controladores de dispositivo
Os Controladores de dispositivo são extensões ao Executivo que este carrega para poder interagir com os diversos dispositivos de Hardware.
[editar] Subsistemas protegidos
Permitem que software de diversos Sistemas Operativos possa rodar no topo do Executivo. O objectivo principal é, por enquanto, o Subsistema Win32, mas este corre em modo de kernel por isso não é incluído neste grupo. Outros subsistemas em desenvolvimento atualmente incluem o Subsistema de POSIX (Unix e derivados) e o de OS/2.
[editar] Arquitectura de APIs nativas
A Arquitetura de APIs nativas permite ao código em modo de utilizador chamar serviços de modo kernel de uma forma padronizada e é equivalente a interface de "Chamadas de Sistema" (system calls) utilizada em numerosos UNIXes. As APIs utilizadas no Windows não estão documentadas pela Microsoft, mas a arquitetura utilizada no ReactOS é aberta a quem a quiser saber. Ela está implementada em NTDLL.DLL.
[editar] Requisitos de sistema
- Processador x86 (i586 ou mais atual)
- 64MB de memória RAM
- Disco rígido IDE
- Partição de sistema FAT32
- Placa de vídeo compatível com VGA
- Teclado
- Mouse compatível com porta PS/2 ou serial
O ReactOS pode ser executado também em programas que emulam os dispositivos listados como Virtual PC, VMware, QEMU ou Bochs.