Overview

O RISC OS é um sistema operacional originalmente desenvolvido pela Bretã Acorn Computers em 1987, para seus computadores baseados em ARM. Inicialmente chamado de Arthur, tinha o visual e funcionamento padrão comum aos sistemas operacionais de micros de 8bits da época(GEOS, AMIGA OS), ou seja, uma camada gráfica sobre um sistema monotask/monouser/interpretador basic. O segundo release do Arthur em 1989 se tornou o RISC OS 2, e introduziu muitos conceitos que existem até a versão atual, principalmente o ADFS(Advanced Disc Filing System), o sistema de arquivos default. Em 1991, saiu o RISC OS 3.00, aí sim, definindo o RISC OS como conhecemos hoje.
Em 1999 a Acorn Computers se tornou Element14(sim, a mesma do Raspberry Pi) e o RISC OS passou a ser licenciado pela RISCOS Ltd, que continou o desenvolvimento com a versão 3.8(a 3.71 foi a ultima versão desenvolvida pela Acorn) e, em 1999, o RISC OS 4.0, com muitas melhorias. Houve um fork no desenvolvimento pois a Element14 vendeu o RISC OS para a Castle Technology, que em 2002 lançou o clone dos Acorns Clássicos, o Iyonix PC com o RISC OS 5. Hoje, a Castle Technology criou a Shared Source Initiative (SSI) para abrir o fonte do RISC OC. E com o Raspberry Pi e beaglebone, houve um retorno ao uso do RISC OS.

  Caracteristicas

Nucleo
O Kernel é muito simples, mono-usuario e monotasking, porem o window manager provê um multitasking cooperativo(mais ou menos como a relação MSDos/Windows95, embora o windows95 usava multitasking híbrido(cooperativo e preemptivo) devido a aplicações legadas de 16bits).
No multitasking cooperativo, cada processo decide quando vai ceder tempo de execução para os outros processos, diferente do preemptivo, onde o Sistema Operacional gerencia qual aplicação vai usar o tempo do processador e por quanto tempo. Devido ao fato do multitasking cooperativo se basear na garantia que cada programador vai sempre “liberar tempo” nas suas aplicaçoes para que outras rodem, ele é considerado perigoso pois um programa mal escrito pode consumir todo tempo de CPU e matar o sistema. Entretanto, ele tambem tem suas vantagens. Em sistemas embarcados de tempo real muito críticos como espaçonaves, satelites, etc., o multitasking cooperativo permite um controle mais confiavel e deterministico de açoes complexas, uma vez que há a garantia de 100% do tempo o processo estar no controle da operação durante aquele período.

Sistema de Arquivos
O sistema de arquivos é orientado a volume(parecido com o VMS). Hierarquicamente, o nível mais alto é o volume, seguido pelo tipo do sistema de arquivos e o caminho absoluto. Uma coisa engraçada é que o root é $(diferente do / nos sistemas posix) e os diretorios e arquivos sao separados por um ponto(.), diferente da mesma barra(/) que representa a raiz. Os tipos dos arquivos sao determinados por metadados(diferente do linux onde o tipo é “decidido” através do header do arquivo, no caso do RISC OS, seleciona-se o metadado devido, que pode ser modificado pelo usuário.

GUI
Bem diferente dos sistema de uso corrente, abusa do drag-and-drop, tem uma barra de icone em baixo que serve para fazer tudo(sim, tudo!), desde mostrar as unidades disponiveis na esquerda, como para exibir os aplicativos em execução bem como usar seus menus, na direita. Praticamente todas as operaçoes sao feitas com o mouse, onde o botão do meio(ou o botão do scroll) é o mais importante e é o “faz tudo” do sistema. As janelas sao “encaixaveis” e aceita wallpapers e todas as frescuras dos sistemas atuais.

Executaveis
Talvez a coisa que mais me encanta é o formato de executaveis do RISC OS. Uma aplicação é um diretório(uma pasta)! Todos os arquivos necessários(manual, código fonte, binario, sprites, icones, recursos, etc) estão contidos dentro do diretório. É facil de configurar, editar, encontrar e dispensa o processo de “instalação”, onde copiar o diretório para seu sistema de arquivos ja faz tudo funcionar.
Existe uma árvore dos arquivos mínimos necessários para a mesma ser um executável em sí, mas é bem simples de desenvolver e não requer nada alem de um editor de texto (e um de imagem, caso queira fazer um ícone) e (ambos) vem fornecidos na instalação.
Instalando o emulador de RISC OS no Xubuntu 13.04

Indo até http://www.marutan.net/rpcemu/#downloads, temos a opção de baixar os fontes pada versão 0.8.11 através do link http://www.marutan.net/rpcemu/cgi/download.php?sFName=0.8.11/rpcemu-0.8.11.tar.gz
Depois de baixado e descompactado, é só entrar em src/, dar um ./configure e, depois, um make. Se houverem dependencias, só instalar com apt-get install(ele depende das bibliotecas do GCC, da pthread e da game lib Allegro(liballegro-dev)). Como meu sistema tem muitas libs e ferramentas de desenvolvimento instaladas, nao tinha dependencia alguma.
Depois disto(e dando tudo certo), volte um diretório acima do src/ e agora existirá um binario “rpcemu”. Executá-lo causará o seguinte erro:

RPCEmu fatal error: Could not load ROM files from directory ‘roms’

For information on how to acquire ROM images please visit
http://www.marutan.net/rpcemu

Beleza, ele quer uma ROM válida. Vamos usar a rom do RISC OS 3.71, a ultima versão lançada pela Acorn antes de “acabar”, em 1998 e, pode-se dizer, a ultima versão pura, e que foi liberada para uso e é facilmente encontrada em qualquer lugar. Baixei daqui: http://www.4corn.co.uk/cgi/download.php?sFName=/roms/riscos3_71.zip e depois de descompactar é do jogar o arquivo “risocs-3.71.rom” dentro do diretório roms/ do RPCEmu. Agora ele vai bootar ;D
riscOSinstall_1

É isso.