Foi lançado o projeto ravynOS 0.6, que desenvolve um sistema operacional baseado no FreeBSD, visando alcançar compatibilidade com aplicativos para macOS e fornecer uma interface de usuário no estilo do macOS. As contribuições do projeto são distribuídas sob a licença BSD. O tamanho da imagem ISO de inicialização é de 760 MB (x86_64).
Os objetivos do projeto incluem a compatibilidade com aplicativos macOS em nível de código-fonte e arquivos executáveis. No primeiro caso, refere-se à possibilidade de recompilar o código dos aplicativos macOS para execução no ravynOS; no segundo, à incorporação de modificações no kernel e nas ferramentas para executar arquivos executáveis Mach-O, compilados para as arquiteturas x86-64 e arm64.
Entre os sistemas de arquivos suportados estão o ZFS e os sistemas de arquivos utilizados no macOS, HFS+ e APFS. Além das hierarquias padrão do FreeBSD /usr e /usr/local, são criados diretórios específicos do macOS como /Library, /System e /Volumes. Os diretórios pessoais dos usuários são colocados na hierarquia /Users. Em cada diretório pessoal existe um subdiretório ~/Library para aplicativos que utilizam a interface de programação Apple Cocoa.
Para compatibilidade com o macOS, é fornecida uma implementação parcial da interface de programação Cocoa e da execução de tempo de execução do Objective-C (localizadas no diretório / /System/Library/Frameworks), além de compiladores e linkers modificados para seu suporte. Além da camada de compatibilidade com o macOS, o ravynOS também oferece a capacidade de executar aplicativos para Linux, com base na infraestrutura de emulação do ambiente Linux (Linuxulator) fornecida pelo FreeBSD.
Os aplicativos podem ser formatados como pacotes autossuficientes (App Bundle) no formato AppImage, localizados nos diretórios / /Applications ou ~ /Applications. Os programas não requerem instalação e uso de gerenciadores de pacotes — basta arrastar e soltar o arquivo AppImage e executá-lo. Assim, o suporte a pacotes tradicionais do FreeBSD é mantido.
O ambiente gráfico é construído com base em sua própria infraestrutura de janelas servidor, utilizando um servidor compositor reduzido labwc (com suporte à decoração de janelas removido e sem temas), wlroots e o protocolo Wayland. Nos aplicativos gráficos, podem ser utilizados os frameworks Qt e Cocoa. A interface usa conceitos típicos do macOS, como a barra superior com um menu global, uma estrutura de menu idêntica, combinações de teclado e um gerenciador de arquivos estilo Filer, além do suporte a comandos como launchctl e open.
Entre as mudanças em relação à versão 0.5:
- O sistema base foi atualizado para a versão 15-STABLE do FreeBSD.
- Uma interface gráfica minimalista foi apresentada com uma nova barra superior SystemUIServer e uma barra Dock inferior.

- Incluído um protótipo do emulador de terminal Terminal.app.

- O gerenciador de login LoginWindow é executado imediatamente após a inicialização. Ao iniciar em modo live, é possível entrar no sistema sem senha, usando o login liveuser.

- Adicionada a capacidade de sair da sessão gráfica com a combinação de teclas Win-Shift-Q.
Fonte: opennet.ru



