Meio Bit » Baú » Miscelâneas » Microsoft Windows "Monad" Shell

Microsoft Windows "Monad" Shell

25/02/2006 às 22:40

Um dos maiores trunfos das futuras tecnologias da Microsoft, principalmente na área de administração de sistemas, redes e servidores e power users que querem usar o máximo do seu sistema operacional, será o Monad, codinome do shell interativo de comando do Windows Vista e produtos relacionados. E não apenas isso, ele não depende do Vista para rodar, apenas do .Net 2.0, ou seja, está disponível agora, em beta.

Shell é um ambiente de comando em texto avançado que permite fazer praticamente qualquer coisa dentro de um sistema operacional usando uma linguagem de programação. Quem usa Linux provavelmente sabe exatamente do que estou falando. É possível usar scripts para executar tarefas automaticamente e não apenas isso, mas modificar o próprio comportamento do sistema operacional. O Monad irá utilizar a .Net Framework 2.0 e a linguagem será o C#. Com o Windows Vista, a Microsoft está finalmente eliminando os últimos resquícios de DOS e partindo para uma plataforma operacional sem amarras do passado.

E realmente quem vê ele funcionando fica impressionado. Já leio sobre o Monad há uns 2 anos e a Microsoft tem trabalhado bastante para atender as necessidades de quem quer ter um sistema operacional, mas não precisa de interface gráfica. Precisa criar scripts com uma linguagem gerenciada, de aprendizado relativamente fácil e que possa dar o poder a quem entende, sem atrapalhar as pessoas que só querem assistir um filme ou editar um trabalho.

Quais as áreas em que o Microsoft Shell irá atuar:

Se já leu o suficiente e quer tentar o beta do Monad, faça o download dele e não esqueça de instalar a .Net Framework 2.0. Se prefere assistir um vídeo com ele em ação, você pode fazer o download desse webcast (~140MB) ou assistir o stream dele.

Durante o webcast, fica claro que o público alvo são os profissionais de informática e power users acostumados com shell em ambientes Unix, Linux, AS400 e que possuem familiaridade com alguma linguagem de programação como JavaScript ou C. É interessante observar a Microsoft atendendo um público sofisticado como admins de sistema. Eles deixaram isso bem claro nas entrevistas e webcasts. E é importante ressaltar que há uma tremenda preocupação no foco. Desenvolvedores e Administradores possuem necessidades muito distintas. Em certo ponto, é dito que a .Net Framework é muito boa para desenvolvedores, mas não atende completamente admins.

Inspirações do Monad, "sobre o ombro de gigantes", Snover citando Isaac Newton.

Object Flow Engine

O arquiteto dessa plataforma chama-se Jeffrey Snover e o gerente de programa James Truher e na apresentação eles entram em detalhes sobre como funciona o Monad, os conceitos-chave como Cmdlets (commandlets): classes em .Net na qual a saída não é texto, mas objetos que são encapsulados nos tipos da .Net Framework 2.0 (strings, integers, bool, etc). Isso significa que os tipos de dados estarão disponíveis ao serem passados de um fluxo para o outro e você poderá ainda extender esses tipos caso a Microsoft não tenha fornecido algo que atenda as suas necessidades.

A modularidade do command line do Linux é herdada e expandida. Modular, num conceito simples é o dividir tarefas complexas em partes menores e mais simples para conquistar um problema. Os comandos executam e são encadeados para realizar tarefas mais complexas, como os tijolos de uma parede.

Esses comandos normalmente possuem uma saída em texto que pode ser direcionada para o sistema de arquivos ou outro comando. Nos *nix, essa saída deve ser interpredada e no caso de haver uma tabulação no local errado, faz-se o processo novamente, para extrair uma propriedade de um processo, por exemplo, quantos minutos de CPU ele consumiu nas últimas 24 horas. A diferença em relação ao Monad é que os todos tipos de dados básicos podem ser transmitidos e o que você lê na tela na verdade são grupos de propriedades de objetos. Então, para extrair a mesma informação, o tempo de cpu consumido nas últimas 24 horas, basta acessar a propriedade do objeto, a informação está automaticamente disponível e pronta para ser usada pelo próximo comando sem necessidade de um parser um Perl.

Um exemplo de Cmdlet:

Não vou me extender demais nesse assunto, pois ele iria ficar demasiado técnico e foge do escopo informativo desse artigo. Para saber, mais, consulte esse tutorial.

O Monad irá alterar completamente a forma no qual power users e administradores de sistema se relacionam com o Windows. Para quem trabalha com Linux, surge uma oportunidade de usar os conhecimentos de shell no Windows e abrir o leque de opções administrativas. E essa estratégia pode dar muito certo, pois é interessante para uma pessoa também usar seu expertise no Windows, aumentando suas chances no mercado de trabalho.

A mudança no paradigma de Orientação a Objetos também é bem vinda e os anos de pesquisa parecem realmente fazer diferença. Por outro lado, acredito que a MS tenha tomado essa atitude por causa do aumento da concorrência no mercado de servidores, já que o prompt de comando da MS não muda desde os tempos do DOS. Só o tempo dirá se a vantagem do Windows irá crescer em relação ao Unix, mas ferramentas como essa ajudam na balança de decisões.

relacionados


Comentários