Microsoft Drawbridge e a modularidade do sistema operacional

Microsoft Drawbridge e a modularidade do sistema operacional

Microsoft Drawbridge: OS Modularity

Autor original: Dan Massameno

Publicado originalmente no: osnews.com

Tradução: Roberto Bechtlufft

A Microsoft revelou novos detalhes sobre um conceito experimental de sistema operacional chamado Drawbridge. No início de março, os pesquisadores da Microsoft publicaram um documento intitulado “Rethinking the Library OS from the Top Down” [apenas em inglês até o momento]. O documento descreve uma nova interação entre um aplicativo em nível de usuário e o sistema operacional, e pode ser encontrado na biblioteca digital ACM (infelizmente não podemos redistribuir o artigo, já que, como acontece com boa parte do mundo científico, ele está coberto por um modelo pago de distribuição). Ele descreve um plano ambicioso para separar as partes tradicionais da API de um sistema operacional de seu kernel. Mas para que possamos fazer uma análise completa, vamos ter que estudar um pouco de história.

Em 2007, o desenvolvedor Eric Traut, da Microsoft, revelou o desenvolvimento de um novo kernel, o MinWin. Esse novo kernel era o mesmo kernel NT disponível desde o Windows NT 3.1, só que retrabalhado para ser menor e mais modular. O resultado foi um kernel que consumia em torno de 33 MB, e que poderia ser usado na criação de futuras versões do Windows. O MinWin acabou sendo usado no Windows 7 e no Windows Server 2008.

Muita gente ficou se perguntando se o MinWin não poderia ser lançado como um produto independente. Ao longo de sua história, a Microsoft levou aos extremos a parte “monolítica” de seu sistema operacional monolítico. Seria muito interessante se houvesse um kernel leve e enxuto rodando sob todas as firulas pesadas trazidas pelo sistema em si. O que muita gente não percebeu foi que o MinWin representou a criação de muito mais do que isso. O MinWin rodava nos bastidores, com os aplicativos Win32 usados para acessar o sistema operacional rodando por cima, mas a interface entre o MinWin e a API do Win32 era uma vitória por si só. O MinWin poderia ser substituído por uma tecnologia mais avançada, mas contanto que a interface permanecesse a mesma, as camadas superiores continuariam a funcionar corretamente.

Agora vamos avançar no tempo até o Drawbridge; como podemos ver, a Microsoft tirou proveito dessa modularidade. O Drawbridge pode empacotar um aplicativo como o Excel 2010 com as partes do Windows 7 que interagem diretamente com ele. Em seguida, ele cria um pacote com esses dois elementos e o chama de sistema operacional de biblioteca, ou “library OS”. O sistema operacional de biblioteca usa uma ABI altamente simplificada para interagir com o sistema operacional subjacente. Há mais de 100 mil funções de API no Windows 7. Todas estão concentradas em uma caixa preta mesclada ao processo do Excel, constituindo um pacote modular. No momento, isso funciona com aplicativos do Windows 7 (ou com aplicativos que possam ser executados no Windows 7).

As vantagens do Drawbridge

Há várias vantagens imediatas no empacotamento de partes do sistema operacional com o aplicativo. O registro do Windows pode ser virtualizado como um armazenamento privado de cada aplicativo. Embora isso não seja mencionado, um efeito colateral da virtualização do registro poderia ser sentido quando o aplicativo fosse removido, eliminando todas as suas configurações. Essas informações não seriam mais registradas. Como boa parte do estado do sistema operacional fica contida no pacote, o aplicativo poderia ser migrado com mais facilidade de uma máquina para outra. O aplicativo é pausado e um instantâneo (cópia) de sua memória é armazenada para migração para outra máquina. Esse instantâneo pode ter uns poucos megabytes, em contraste com o instantâneo de uma partição de sistema operacional convidado rodando no Hyper-V ou no VMware, que ocupa muito mais espaço.

O documento também detalha várias vantagens na área de segurança. Com a API do sistema operacional virtualizada em cada pacote de aplicativo, fica mais difícil para um aplicativo comprometer a configuração de outro aplicativo. A necessidade de aplicação de patches de segurança também é bastante reduzida; um pacote de sistema operacional de biblioteca não é um sistema operacional completo, e portanto, sua superfície de ataque é muito reduzida, o que reduz o índice de vulnerabilidades.

Sistemas testados

Mas qual sistema operacional roda esses pacotes? O documento detalha o funcionamento em seis sistemas operacionais, que foram reprojetados para rodar pacotes do Drawbridge:

  • Windows 7: para quem acha que rodar um aplicativo do Windows 7 no próprio Windows 7 não é lá muito inovador, vale lembrar que a Microsoft está tentando demonstrar a portabilidade entre diversos sistemas operacionais. Tem lugar melhor para começar do que com seu sistema operacional mais recente? Lembre também de todos os outros benefícios de um pacote do Drawbridge.

  • Windows Server 2008 R2: seguindo a lógica do Windows 7, a plataforma para servidores deve ser suportada para que ocorra uma transição tranquila.

  • Windows 8:o documento não fala abertamente em Windows 8, mas sim na “verão de pré-lançamento do próximo Windows”. Sem surpresas aqui, já que podemos supor que o Windows 8 vá ter pelo menos tantos recursos quanto o Windows 7.

  • MinWin:aqui é que as coisas ficam interessantes. Se a maior parte da funcionalidade do sistema operacional for empacotada com o aplicativo, por que instalar uma versão completa do Windows 7? O MinWin dá conta do recado direitinho, e cumpre a promessa de ser um Windows mais leve e ágil.

  • Hyper-V:o pacote do Drawbridge é rodado como Ring 0, e o hipervisor continua rodando como Ring 1. Isso pode ser útil para virtualizar aplicativos dos usuários, além de pesar menos do que uma partição tradicional de sistema operacional completo como sistema convidado.

  • Barrelfish:uma outra equipe de pesquisadores já começou a trabalhar em uma implementação do Drawbridge no Barrelfish. O Barrelfish é um sistema operacional de pesquisa que ainda está sendo desenvolvido. Ele foi criado do zero para explorar conceitos do sistema operacional para dimensionamento em centenas de núcleos de CPU. É uma tecnologia incrível, que repensa muitos dos conceitos de um sistema operacional. Se ele puder ser modificado para aceitar aplicativos do Drawbridge, vai passar a contar com uma enorme biblioteca de programas. O Drawbridge poderia ajudar um sistema de pesquisa como o Barrelfish a chegar mais rapidamente ao mercado.

Especulando sobre o futuro…

Embora a Microsoft possa portar aplicativos que não são do Windows 7 para a plataforma Drawbridge, é pouco provável que isso aconteça. Quantos aplicativos rodam bem no Vista, mas não no Windows 7? São pouquíssimos. Seria mais óbvio mirar no Windows XP, mas a Microsoft não demonstra muito interesse em dar suporte a um sistema operacional cujo suporte foi encerrado oficialmente em 2010.

A Microsoft pode portar aplicativos de outros sistemas operacionais para uma plataforma Drawbridge. O design é modular; a interface tem uma ABI fixa, onde o aplicativo interage com o sistema operacional. Uma camada de emulação converte todas as operações nativas, como o acesso à memória, ao disco e à rede, em uma linguagem fixa que pode chamar o sistema operacional subjacente.

Os projetos futuros provavelmente vão se concentrar em manter o Windows 7 como o framework de aplicativos. Já estamos vendo isso acontecer com o MinWin e o Hyper-V. Esse trabalho leva a plataformas como o Barrelfish, onde o sistema operacional e o kernel são completamente livres de sua “herança”.

Um dos co-autores do documento sobre o Drawbridge, Galen Hunt, é um dos principais pesquisadores do projeto Singularity. O Singularity é uma visão completamente nova de todo o paradigma dos sistemas operacionais. Ele foi criado como um sistema operacional com proteção para a memória e contra erros de tipagem, com absolutamente nenhuma retrocompatibilidade com qualquer software ou driver existente. Se pudesse rodar software atual usando algo como o Drawbridge, o Singularity poderia pular da academia para ambientes de produção. Especula-se sobre um projeto de implementação do Singularity pela Microsoft chamado Midori. Seu calcanhar de Aquiles é justamente a falta de suporte à base existente de software do mundo. O Drawbridge poderia preencher essa lacuna.

O futuro da Microsoft

A Microsoft teve um problema no final dos anos 80. Os aplicativos, drivers e utilitários precisavam ter acesso a mais de 640 kB de memória. A indústria começava uma dolorosa transição para sistemas operacionais de 32 bits, e a Microsoft estava comendo poeira da concorrência. Rivais como o OS/2 estavam muito bem posicionados para devorar o bolo da Microsoft. Com o Windows for Workgroups 3.11 e o Windows 95, a Microsoft conseguiu alcançar a concorrência e oferecer uma plataforma de 32 bits com retrocompatibilidade com os aplicativos preexistentes do MS-DOS e do Windows. Essa jogada de mestre selou a dominância da Microsoft no desktop por vinte anos.

Agora a Microsoft enfrenta outro problema. A transição da indústria para os 64 bits está quase concluída, e foi bem menos dolorosa do que a transição para os 32 bits. Desta vez, o problema está em conceitos mais fundamentais do sistema operacional. A natureza monolítica do Windows se manifesta principalmente em sua segurança (ou na falta dela). Os novos patches de segurança são exatamente isso, patches em um sistema gigante que vem se mostrando cada vez mais frágil. O problema é a falta de modularidade no núcleo do Windows, e a falta de capacidade de evolução do sistema. Muitos conceitos de base do sistema operacional não podem ser mudados sem quebra de compatibilidade, o que leva à necessidade de mais patches. Se o Drawbridge permitir uma inovação veloz no núcleo do sistema operacional, a Microsoft pode conseguir enganar o destino outra vez.

Créditos a Dan Massamenoosnews.com

Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X