miniaturadaimagem|Imagem ilustrativa SkyOS ("sky o-ess") é um sistema operacional criado por Robert Szeleney e desenvolvido desde 1996. O sistema é de conteúdo pago e precisa ser adquirido junto ao autor. Obedece ao padrão POSIX e possui bibliotecas GTK e ferramentas GCC facilitando o porte de aplicações Linux/UNIX. Muitos programas já foram portados para o SkyOS, entre eles o Mozilla Firefox e o OpenOffice. A partir de 30 de janeiro de 2009 o desenvolvimento foi interrompido e não há planos para retomar seu desenvolvimento ter sido anunciado.

Entre os seus recursos, estão o suporte ao sistema de arquivos de 64 bits (herdado do OpenBeOS/Haiku).

História

SkyOS é o culminou mais de dez anos de pesquisa e desenvolvimento por Robert Szeleney e voluntários.

Um jovem na universidade, Szeleney e vários amigos começaram a "Sky Operating System" como uma experiência em design OS. Enquanto os anos de progresso e os outros membros fundadores da SkyOS distanciaram do projeto, Szeleney continuou a trabalhar no sistema operacional em seu tempo livre.

Szeleney trabalho em tempo integral foi na programação de automação, e ele já tinha uma justa compreensão do projeto do sistema operacional. Mas ele continuou a usar SkyOS como um dispositivo de aprendizagem, liberando quatro versões sob uma licença open source.

O projeto atingiu o auge de sua popularidade em 2004, quando Szeleney decidiu fechar a fonte de SkyOS e começar a trabalhar na quinta versão. No início do ano, Szeleney iniciou um programa beta pagos para financiar o desenvolvimento e distribuição do sistema operacional, esperando ter muito poucos (se houver) assinantes interessados. Ao mesmo tempo, membros da comunidade organizou um concurso para determinar a aparência da GUI, que chamou a atenção significativa para o projeto. Então, muita atenção, de fato, que até o final do mesmo ano, a comunidade SkyOS triplicou de tamanho, e Szeleney tinha centenas de beta testers ativos para baixar e testar seus releases duas vezes por mês.

SkyOS sofreu muitas mudanças depois dessa onda de popularidade. Por causa de diferenças significativas no nível de origem, Szeleney parou de pensar o que estava em desenvolvimento como a quinta versão de seu sistema operacional, e o nome "SkyOS 5.0" foi renomeada para simplesmente "SkyOS". A atitude mais profissional foi tomada durante todo o projeto, e Szeleney mesmo considerado incorporando sob o nome "Djinnworks". A comunidade SkyOS, desde então, reduziram-se significativamente desde o seu pico em 2004.

A partir de 2009/01/30, o desenvolvimento de SkyOS está atualmente suspenso. O desenvolvedor decidir sobre qual curso de ação a ser tomada em relação ao desenvolvimento futuro:

Abra fonte do SkyOS Faça SkyOS disponível gratuitamente Especializar em um nicho ainda a ser definido Parar desenvolvimento SkyOS

Há também uma tentativa experimental de usar NetBSD ou Linux para resolver os problemas de driver.

Tecnologia

SkyOS espaço do usuário está em cima de um costumes, modularizado, kernel multitarefa-preemptiva com suporte para recursos comuns, como o processo de thread isolado, gerenciamento de memória/paginação, a depuração do kernel, as primitivas de baixo nível de bloqueio, e em tempo real PIC/APIC timers. É um kernel monolítico, com os drivers que são carregados dinamicamente no kernel através de uma API de extensão.

Existem algumas características notáveis ​​que distinguem o kernel SkyOS dos outros. Estas incluem:

Kernel-mode suporte VESA, permitindo a visualização gráfica imediatamente após ligar o computador Camada de abstração de Arquitetura, permitindo SkyOS para ser facilmente portado para outras arquiteturas Suporte CPU avançadas, incluindo Multi-Core/SMP/Hyper-threading e todos os grandes extensões x86 Completa DMA, ATAPI, e suporte ATA/SATA (com os drivers SATA para maior váriedade de chipsets) Suporte para barramentos populares

Ao contrário de uma crença popular, o kernel não é derivado do Linux ou qualquer um dos vários BSDs. Ele foi escrito inteiramente por Szeleney ao longo de vários anos, e não usa nenhum código externo.

SkyGI

O projeto da SkyGI API é baseado em torno dos conceitos da Qt e Swing toolkits de janelas. Um princípio fundamental da SkyGI é a "visão". Cada objeto GUI é derivado do objeto "visão" de base, e, é como tal, todos têm propriedades semelhantes e se comportam de maneiras semelhantes.

SkyGI tem suporte embutido para internacionalização e localização, permitindo que os desenvolvedores de terceiros possam criar facilmente aplicações multilíngües que são base fácil em torno da escrita "tradução" de arquivos. A estrutura também facilita a acessibilidade através da construção de suporte para navegação por teclado avançado.

Controles nativos podem ser temáticos pela colocação de um 'tema' arquivo, sintaticamente semelhante ao formato MSStyles, num diretório correspondente à localização do executável.

Componentes

A GUI SkyOS segue de perto o WIMP e metáfora de escritório utilizado em todas as GUIs modernas. No entanto, existem vários componentes principais do GUI SkyOS que são distintos dos outros sistemas operativos:

O Painel é o equivalente funcional para a barra de tarefas em Windows ou o Dock no Mac OS X. Ele é usado para lançar programas e alternar entre janelas de aplicativos, bem como para apresentar informações ao usuário. Plug-ins permitem aos desenvolvedores estender a funcionalidade do painel. Plug-ins existentes, por exemplo, foram adicionados com base em consulta rápida aplicação de lançamento, e modificou o indicador dia/noite, em vez disso, mostrar a informação meteorológica localizada.

O Notifier é um built-in elemento de interface de usuário para alertar o usuário para qualquer número de coisas, incluindo falhas de aplicação e adições de hardware/remoções. Os programadores de aplicativos podem usar o notificador para seus próprios fins, através do Desktop Communication Service.

O Viewer é o navegador de arquivos nativo do SkyOS. Possui vários tipos de visão, miniaturas, e baseada em metadados exibindo as informações, bem como "busca enquanto você digita" consultas de navegação e avançado. O Viewer é um dos navegadores de arquivos do sistema primeiros e suporta a visualização por abas.

SkyFS

SkyFS é um fork do sistema de arquivos OpenBFS. Ele suporta as seguintes características:

Estruturas de dados em 64 bits Journaling Suporte a Metadados, permitindo, entre outras coisas, ACLs Indexação e consulta de metadados Permissões de arquivos POSIX

Poucas mudanças foram feitas para o sistema de arquivos desde o fork. A ID Mágica foi alterada para diferenciar entre as partições SkyFS e divisões BFS, e o espaço é agora reservado no início de cada partição para um bootloader. Caso contrário, o layout em disco dos sistemas de arquivos são idênticos.

SkyOS também pode ser executado a partir dos seguintes sistemas de arquivos: FAT32/FAT16/FAT12 ISO 9660

Pesquisa rápida

Com a ajuda do SQL Index Feeder em SkyFS suporta metadados rápido e pesquisa de texto completo semelhante ao conceito de WinFS e Spotlight. Isto permite pesquisas instantânea de todo o sistema, bem como "busca enquanto você digita" navegação de arquivo.

O conceito de pastas virtuais, que normalmente é implementado juntamente com um quadro de pesquisa com base em consulta, existe em SkyOS como a capacidade de salvar as consultas no Visualizador para posterior execução.

Aqui está um exemplo de Visualizador consulta exibe todos os documentos txt que foram modificadas hoje:

name = *.txt && last_modified >= %today%

Para realizar uma pesquisa, não é necessário compreender o sintaxe da consulta acima. As consultas podem ser construídas usando uma GUI, ou simples busca por palavra-chave base pode ser (e é, por padrão) utilizado.

Desenvolvimento

Embora existam diversas APIs bem desenvolvido bem como a compatibilidade excepcional com POSIX, escrita e liberação de aplicações para SkyOS pode ser difícil devido a incompatibilidades com binários menores, entre os betas. Os desenvolvedores que desejam oferecer um pedido que SkyOS deve acompanhar as mudanças que estão sendo feitas para as APIs, e geralmente são obrigados a modificar e recompilar suas aplicações após o lançamento de cada novo beta. Não há planos para finalizar qualquer uma das APIs do SkyOS antes de ser lançado publicamente, como Szeleney deseja reservar a capacidade de melhorar ainda mais o desenvolvimento para progredir.

Executáveis ​​SkyOS são compilados no formato ELF usando o GNU Compiler Collection. Comumente, os desenvolvedores usam compilador cruzado em suas aplicações para uso no SkyOS. No entanto, como GCC foi portado e está a ser activamente mantido, é também possível desenvolver aplicações dentro de uma instalação SkyOS em funcionamento. Mais notavelmente, Scribis, um multi-protocolo de mensagens instantâneas, foi desenvolvido por um voluntário exclusivamente sob um ambiente SkyOS corrente.

Os desenvolvedores que desejam distribuir seus aplicativos via um canal oficial pode configurar Software Store um repositório on-line. A SkyOS Software Store é uma interface gráfica baseada no sistema de distribuição de software que implementa um formato de pacote personalizado e protocolo de repositório simples.

A evolução da própria SkyOS acontece esporadicamente, planejamento de longo prazo com pouca documentação. Isto sempre tem causado preocupação na comunidade, mas tem permitido um ritmo de desenvolvimento muito mais rápido do que os projetos democraticamente direcionais.

APIs nativas

C++ é a única linguagem de programação suportado oficialmente para o desenvolvimento nativo em SkyOS. Perl e Python, foram portados, mas as máquinas virtuais não têm ligações para qualquer uma das APIs SkyOS nativas. Aplicações .NET que são baseadas em linha de comando pode ser executado através do Mono, mas novamente, como não existem ligações para SkyGI, aplicações baseadas Windows Forms em GUI não pode ser executado.

O Desktop Communication Service é um objeto orientado a comunicação entre processos framework em todo SkyOS. Ele permite a linha de comando e de comunicação baseada em API, entre o kernel e processos do espaço do usuário no SkyOS.

Neste modelo, mensagens legíveis mensagens são enviadas para 'interfaces' que são representados por uma seqüência de identificadores.

Por exemplo, o envio desta mensagem para o "Notify.Media.Player.Control" faria com que o SkyOS media player para avançar para a próxima música:

SkyOS emite mensagens em resposta a centenas de eventos, incluindo os anexos do dispositivo, instalação de software bem-sucedida, mudanças de nível de bateria, e dados meteorológicos novos, todos disponíveis para qualquer aplicativo ou driver que se subescrito para a interface apropriada.

O Integrated Streaming System (ISS) é um conjunto de APIs C++ concebido para facilitar a interação com media, semelhante ao conceito de um servidor de som no Linux. A API é capta de forma que a reprodução de mídia é completamente independente do codec.

Funcionalidade básica pode ser alcançada em menos de dez linhas de código, em situações onde o comportamento padrão é aceitável para o programador. No entanto, através de uma API muito extensa, todas as partes relevantes do pipeline de processamento de áudio-visual pode ser controlada.

— Robert Szeleney

Segurança e estabilidade

Embora as APIs para trabalhar com usuário e permissões de arquivo são bem desenvolvidas, nenhuma das permissões aplicadas são realmente obedecidas pelo sistema. Enquanto SkyOS está em desenvolvimento, este continuará a ser o comportamento desejado.

A pilha de rede usada no SkyOS é um projeto personalizado que é largamente testado em um ambiente de produção. Nenhuma tentativa conhecidos têm sido feitas para entrar em um sistema live para internet, o que significa que a vulnerabilidade das SkyOS é desconhecida.