Estudo de Caso Chorus
O Chorus foi criado no instituto de pesquisa francês INRIA, em 1980, como um projeto de pesquisa em sistemas distribuídos. Desde então, passou por quatro versões, da 0 à 3.
A versão 0 modelava aplicações distribuídas como um conjunto de “atores” (actors), essencialmente processos estruturados, cada um alternando entre a execução de uma transação atômica e de um passo de comunicação; cada ator era de fato um autômato finito. Cada máquina do sistema rodava o mesmo kernel, que gerenciava os atores, comunicação, arquivos e dispositivos de I/O Esta versão foi escrita em Pascal UCSD interpretado e rodava em um conjunto de procassadores 8086 conectados por uma rede em anel e ficou pronta em meados de 1982.
A versão 1 (1982 – 1984) foi focada na pesquisa de multiprocessadores; foi escrita para o processador francês SM90, que consistia de oito CPU’s motorola 68020 em um barramento comum. Uma das CPU’s rodava
UNIX, enquanto as outras sete rodavam Chorus e usavam a CPU UNIX para serviços do sistema e I/O. O software adicionou à versão 0 mensagens estruturadas e algum suporte a tolerância a falhas. A versão 1 foi escrita em Pascal compilado e distribuída para algumas universidades e companhias para uso experimental.
Para a versão 2 (1984 – 1986) grande parte do sistema foi reescrito em C, sendo agora compatível com as chamadas de sistema do UNIX em nível de código fonte. O kernel desta versão foi completamente remodelado, transferindo toda a funcionalidade possível deste para código de usuário e transformando-se assim em um microkernel. A emulação de UNIX passou a ser feita por vários processos, para gerenciamento de processos, de arquivos e de periféricos. A versão 2 incluiu suporte a aplicações distribuídas, execução remota e protocolos para nomeação e localização distribuídas.
A versão 3, iniciada em 1987, marcou a transição do sistema de pesquisa para um produto comercial.
Dentre as muitas modificações técnicas do sistema, destaca-se o profundo