helldanger1
GForum VIP
- Entrou
- Ago 1, 2007
- Mensagens
- 29,631
- Gostos Recebidos
- 1
Um dos aspectos mais notáveis do Microsoft Windows é a flexibilidade que sua arquitetura tem mostrado com as mudanças na tecnologia e a expansão do uso do cliente ao longo do tempo. O que começou como um sistema operacional voltado para o trabalho solitário de uma pessoa com um software de produtividade agora é a base de uma ampla gama de tecnologias de hardware e software, um leque de produtos do Windows e uma abordagem de computação incrivelmente flexível. Com o Windows 8, nós reimaginamos o Windows sob todos os aspectos: do chipset à experiência. E combinar esse Windows reimaginado com a arquitetura do processador ARM® é uma parte significativa dessa inovação. Expandir a visão do PC para abranger uma gama muito mais ampla de form factors e designs do que hoje algumas pessoas podem imaginar é uma parte importante desses esforços. O Windows no ARM permite uma criatividade no design do PC que, combinada com os novos recursos projetados do sistema operacional Windows, levará aos clientes PCs novos com uma experiência em que há total compatibilidade.
Esta postagem é sobre a base técnica do que chamaremos aqui de Windows no ARM ou WOA. O WOA é um novo membro da família Windows, assim como o Windows Server, o Windows Embedded e o Windows Phone. Assim como ocorre com esses produtos, o WOA se constrói na base do Windows, tem um alto grau de compatibilidade e um código compartilhado com o Windows 8 muito importante, e será desenvolvido e vendido como parte do maior ecossistema computacional do mundo, do qual receberá suporte. Hoje nós enfocaremos o desenvolvimento do WOA, apresentaremos alguns de seus recursos e falaremos sobre a experiência dos clientes. Assim como ocorre com a versão x86/64 do Windows 8, ainda há comunicados a serem feitos com relação aos aspectos de marketing e negócios do(s) produto(s). A postagem de hoje é sobre a criação do WOA, não sobre seu marketing ou venda.
Ao mesmo tempo, embora esta postagem seja exclusivamente sobre o nosso trabalho com o WOA, tivemos um nível muito maior de colaboração com a Intel e AMD, no que se refere a toda a gama de produtos de PCs, do que na versão anterior. As inovações do Windows 8 com processadores x86/64 avançados e altamente competentes e o trabalho com os novos processadores com baixo consumo de energia, como os demonstrados pela Intel na CES, exigem um comprometimento igualmente forte, investimentos ainda maiores na engenharia, designs novos e robustos e uma arquitetura aperfeiçoada para o Windows em todas essas plataformas. Ao discutirmos sobre a nossa engenharia para os processadores ARM, é importante ter em mente que, além de todo o novo trabalho que realizamos para a plataforma ARM, muito do trabalho discutido nesta postagem se aplica diretamente à plataforma x86/64 e também ao Windows 8. Não poderíamos estar mais entusiasmados com os novos produtos da Intel e AMD que farão parte do Windows 8, com uma série completa de form factors de PCs que inclui o tablet, notebook, Ultrabook™, all-in-one, desktop, entre outros, que usufruem as novas funcionalidades do Windows 8, que por sua vez aproveita os novos recursos de hardware.
Usar o WOA "pronto para uso" será exatamente igual a usar o Windows 8 no x86/64. Você entrará da mesma maneira. A inicialização do PC e dos aplicativos ocorrerá da mesma forma. Você usará a nova Windows Store do mesmo modo. Você terá acesso às funcionalidades intrínsecas do Windows, o que inclui a nova tela inicial, os aplicativos estilo Metro, o Internet Explorer, os periféricos e, se desejar, a área de trabalho do Windows com ferramentas como o Windows File Explorer e o Internet Explorer da área de trabalho. Ele terá a mesma experiência rápida e fluida. Em outras palavras, projetamos o WOA para que ficasse exatamente como você deseja. O WOA permite uma criatividade no design do PC que, combinada com os novos recursos projetados do sistema operacional, levarão aos clientes novas experiências em que há total compatibilidade.
Para diálogos aprofundados sobre engenharia, tendemos a preferir postagens mais longas para o blog Criando o Windows 8 e esta não é diferente. Parece uma boa ideia oferecer primeiro um resumo dos itens importantes que serão abordados em detalhes nesta postagem:
O Windows no ARM, ou WOA, é um novo membro da família Windows que se constrói na base do Windows, tem um alto grau de compatibilidade e um código compartilhado com o Windows 8 muito importante, e será desenvolvido e vendido como parte do maior ecossistema computacional do mundo, do qual receberá suporte. Criamos o WOA para proporcionar uma nova classe de PCs com form factors e funcionalidades únicas, com o suporte de um novo conjunto de parceiros que expandem o ecossistema do qual o Windows faz parte.
Os PCs com WOA ainda estão na fase de desenvolvimento e o nosso objetivo comum é que sejam lançados pelos fabricantes junto com os PCs projetados para o Windows 8 no x86/64. Esses PCs serão criados sobre plataformas de hardware exclusivas e inovadoras fornecidas pela NVIDIA, Qualcomm e Texas Instruments, com uma base comum de sistema operacional Windows no ARM, todos com os mesmos binários do sistema operacional Windows, uma única abordagem para o mercado. Os fabricantes de PCs estão trabalhando com afinco em PCs criados do zero para que sejam ótimos e exclusivos para o WOA.
Os aplicativos estilo Metro podem dar suporte tanto ao WOA quanto ao Windows 8 no x86/64. Os desenvolvedores que têm o WOA como foco devem criar aplicativos para o WinRT (APIs do Windows para a criação de aplicativos estilo Metro) usando as novas ferramentas do Visual Studio 11 em uma variedade de linguagens, que incluem C#/VB/XAML e Jscript/ HTML5. O código nativo voltado para o WinRT também tem suporte com o uso da C e da C++, e pode ser usado em todas as arquiteturas e distribuído pela Windows Store. O WOA não dá suporte à execução, emulação ou portabilidade de aplicativos da área de trabalho x86/64 existentes. O código que somente usa serviços de sistema operacional ou sistema do WinRT pode ser usado em um aplicativo e distribuído pela Windows Store para o WOA e o x86/64. Os consumidores obtêm todos os softwares, incluindo drivers de dispositivo, pela Windows Store e Microsoft Update ou Windows Update.
O WOA pode dar suporte a todos os aplicativos estilo Metro, incluindo os aplicativos da Microsoft para email, calendário, contatos, fotos e armazenamento. O WOA também inclui suporte líder no mercado para HTML5 acelerada por hardware com o Internet Explorer 10. O WOA dará suporte a outros formatos de mídia padrão do setor, incluindo aqueles com aceleração de hardware e computação de descarregamento, além de formatos de documentos padrão do setor. Em todos os casos, a Microsoft busca a liderança na escolha do usuário final e controla quais aplicativos usar e a quais formatos dar suporte.
O WOA inclui versões da área de trabalho dos novos Microsoft Word, Excel, PowerPoint e OneNote. Esses novos aplicativos do Office, apelidados de "Office 15", foram projetados cuidadosamente para o toque e o consumo minimizado de energia/recursos, são, ao mesmo tempo, completos em termos de recursos para os clientes e oferecem total compatibilidade de documentos. O WOA dá suporte à experiência da área de trabalho do Windows, incluindo o File Explorer, o Internet Explorer 10 para área de trabalho e outros recursos intrínsecos da área de trabalho do Windows, que foram cuidadosamente projetados para o toque e o consumo minimizado de energia/recursos.
Com o WOA, você pode esperar produtos completos e integrados: hardware, firmware e software do WOA, todos criados do zero. A criação do WOA tem sido um esforço de engenharia contínuo, envolvendo a Microsoft, as licenças do ARM, fabricantes de PC e desenvolvedores de componentes e periféricos. Esses esforços abrangeram uma grande variedade de subsistemas que foram recriados do zero ou tiveram sua arquitetura amplamente recriada para o WOA. Os parceiros oferecerão PCs com o WOA como produtos completos e integrados, que incluem hardware, firmware e software do Windows no ARM. O software do Windows no ARM não será vendido nem distribuído separado de um PC com o WOA, como se espera de um dispositivo eletrônico que depende de emparelhamentos exclusivos e integrados de hardware e software. Durante a vida útil do PC, o software fornecido terá serviço de manutenção e será aperfeiçoado.
No próximo grande lançamento do Windows 8 no x86/64, um número limitado de PCs de teste será disponibilizado aos desenvolvedores e parceiros de hardware em um programa fechado, com participação somente por meio de convite. Esses dispositivos executarão a mesma ramificação do Windows 8 no x86/64 que lançaremos de forma ampla na ocasião. Eles não são exemplos ou amostras de PCs futuros, mas ferramentas para engenheiros de hardware e software que executam hardware específico do WOA.
O Windows Consumer Preview, a versão beta do Windows 8 no x86/64 será disponibilizada para download no final de fevereiro. Essa nova importante etapa do Windows 8 será disponibilizada em vários idiomas e qualquer pessoa poderá fazer o download.
Esta postagem está organizada com as seguintes seções: Trabalhando com parceiros, Fornecendo aplicativos, Engenharia para o ARM (que percorrerá os vários subsistemas), Desenvolvendo para o ARM, Fornecendo PCs com o WOA e, por último, Próximas etapas.
Trabalhando com parceiros
O desenvolvimento do WOA começa como uma parceria com empresas que fazem os processadores ARM e o empacotam com os subsistemas necessários para fornecer o equivalente a uma placa-mãe. Diferente das placas que muitos conhecem, podemos pensar na placa do WOA como um pacote de silício: uma série de camadas de silício ligadas entre si em um form factor incrivelmente pequeno, chamado de Sistema em um chip ou SoC.
Demonstração da CES 2011 mostrando o Sistema em um chip (SoC). (Julie Jacobson, Associated Press)
Cada licenciado do ARM que cria esses pacotes tem uma abordagem diferente de selecionar recursos, fazer escolhas de produtos e criar o pacote de silício completo. Essas escolhas levam ao mercado uma diversidade de produtos distintos construídos no ARM. Não há uma única experiência com o ARM e, como vimos com outros sistemas operacionais, até a mesma CPU do ARM combinada com diferentes componentes, drivers e softwares podem resultar em diferentes tipos ou qualidades de experiências. É por isso que, desde o início do projeto do WOA, temos trabalhado com três licenciados do ARM: NVIDIA, Qualcomm e Texas Instruments. Cada um deles tem diferentes especialidades e abordagens e contribuirão de forma distinta para o WOA. Todos eles têm produtos baseados no ARM extremamente bem-sucedidos no mercado hoje, que incluem tablets, smartphones e-readers e dispositivos internos. Temos a sorte de ter o suporte desses parceiros incríveis e o WOA é o único a trabalhar com essa diversidade.
Um pacote SoC por si é apenas o começo. O fornecimento de PCs com o WOA é uma parceria com os fabricantes de PCs que combinam sua experiência em fabricação, engenharia de sistema e desenho industrial com o trabalho de engenharia dos parceiros do ARM para desenvolver um PC completo. Os fabricantes de PCs também levam sua experiência de venda de PCs aos consumidores e empresas por meio de uma variedade de canais e com o suporte dessas vendas ao longo do tempo.
O papel da Microsoft nessa parceria é fornecer um sistema operacional Windows sintonizado com esse novo tipo de hardware, novos cenários e novos desafios de engenharia. A nossa meta é garantir que um Windows reimaginado ofereça uma experiência contínua entre o chipset, o firmware, o hardware, o sistema operacional, os aplicativos e a pessoa que interagir com o PC. Trata-se de um novo nível de envolvimento que traz consigo um novo nível de trabalho de engenharia para todas as partes envolvidas. Essa nova abordagem oferece uma combinação exclusiva entre a escolha e experiências completas e confiáveis ao longo da vida do PC.
Fornecendo aplicativos
Antes de nos aprofundarmos nos detalhes das alterações para a implementação subjacente do Windows para dar suporte ao hardware ARM, vamos começar do início e falar sobre quais aplicativos serão oferecidos pela Microsoft (todos estamos felizes em ver um novo uso para o termo "aplicativos". Lia-se no meu primeiro cartão de visitas na Microsoft, em 1989: Engenheiro de design de Software em ferramentas de aplicativos, Seção de aplicativos.)
Ainda não anunciamos as edições ou SKUs que teremos em todos os novos produtos do Windows e, durante a fase de pré-lançamento, incluímos quase todos os recursos no software, como uma maneira de testar e praticar o uso de toda a área da superfície do produto. Ajustaremos os recursos incluídos na oferta do WOA exclusiva, para que seja competitivo no mercado e ofereça uma proposição de valor atraente a todos os tipos de clientes.
Como anunciamos e demonstramos na //build/ e em outros fóruns, o WOA tem todas as funcionalidades do WinRT presentes no Windows Developer Preview, e todas as ferramentas e técnicas que você pode usar para criar aplicativos estilo Metro para o x86/64 estão disponíveis para que os desenvolvedores também tenham o WOA como foco. Os desenvolvedores podem usar as nossas ferramentas para criar código C/C++ nativo para atingir flexibilidade e desempenho máximos, além das ferramentas baseadas na C#, XAML, VB e HTML5, para criar aplicativos voltados para o WOA contanto que seus códigos tenham o conjunto de APIs do WinRT como foco. Além disso, os desenvolvedores com código já existente, seja na C, C++, C#, Visual Basic ou JavaScript, podem incorporar esse código em seus aplicativos, contanto que ele tenha como foco o conjunto de APIs do WinRT para os serviços do Windows. A Windows Store pode realizar, distribuir e manter as implementações de aplicativos do ARM e x86/64 (se houver código nativo no aplicativo que requer duas distribuições).
Também já demonstramos anteriormente os aplicativos estilo Metro da Microsoft para conexão com serviços baseados na nuvem, como Hotmail, SkyDrive, Messenger e, por meio desses serviços, uma ampla variedade de serviços de terceiros. Por exemplo, o nosso aplicativo de email se conecta ao EAS padrão do setor que abrange uma gama de contatos, calendários, emails baseados no consumidor e na empresa. Com as funcionalidades já existentes do Live Connect, você pode conversar com os seus amigos do Facebook ou se manter atualizado com os feeds do LinkedIn ou Twitter usando um aplicativo estilo Metro. Observe que esses são apenas dois exemplos dentre os mais de 100 serviços globais diferentes que você pode conectar à sua conta da Microsoft. Esses aplicativos são fornecidos com o WOA, mas obviamente as pessoas podem removê-los, definir padrões diferentes ou usar a Windows Store para obter aplicativos semelhantes de terceiros. Além disso, qualquer aplicativo estilo Metro na Windows Store pode funcionar com qualquer serviço que escolher, usando ou não serviços da Microsoft. Isso inclui o leque de serviços de publicidade, pagamentos no aplicativo, comunicações e entrada.
No próximo pré-lançamento do Windows 8, você também verá aplicativos estilo Metro da Microsoft disponíveis que dão suporte a uma grande variedade de formatos de documentos e mídia padrão do setor, além do Internet Explorer 10 que dá suporte à plataforma da Web HTML5 padrão. Acreditamos que o nível de suporte padrão oferecido no WOA esteja entre os melhores da categoria e com escopo comparável aos produtos dos concorrentes. E, claramente, o nosso objetivo é atingir a liderança no setor no que diz respeito a proporcionar ao usuário final escolha e controle dos aplicativos no sistema e o que ele deseja executar.
A disponibilidade da área de trabalho do Windows é um aspecto importante do WOA. A área de trabalho oferece um local familiar de interação com PCs, especialmente com arquivos, armazenamento e rede, além de uma gama da periféricos. Você pode usar o Windows Explorer, por exemplo, para se conectar a dispositivos de armazenamento externos, transferir e gerenciar arquivos de um compartilhamento de rede ou usar vários vídeos, e fazer isso tudo com ou sem teclado e mouse conectados, você escolhe. Tudo isso é familiar, rápido, eficiente e útil. Você terá acesso a um grande variedade de configurações do painel de controle para personalizar e ter um nível mais refinado de controle sobre o seu sistema, se assim desejar. E, se tiver usado o Developer Preview com um PC sensível ao toque, você sabe que a interface do usuário da área de trabalho foi aprimorada para a interação com o toque, com affordances da interface do usuário aperfeiçoados.
Ao mesmo tempo, o WOA (assim como o Windows 8) foi criado para que os clientes com foco em aplicativos estilo Metro não precisem perder tempo na área de trabalho. A disponibilidade da área de trabalho não aumenta o tempo de execução. Ela só fica lá para o caso de você querer usá-la ou precisar dela. Abaixo, descreveremos a tecnologia que garante que a disponibilidade da área de trabalho não compromete a segurança do sistema, a confiabilidade quanto ao tempo, desempenho ou consumo de energia de um PC com o WOA. Aqueles que testaram o Developer Preview observarão que a experiência do usuário continuou evoluindo e verão um conjunto amplo de aperfeiçoamentos no próximo Consumer Preview.
Alguns sugeriram a remoção da área de trabalho do WOA, para alcançarmos uma abordagem mais simples e rápida e rompermos com o passado. Para nós, abrir mão de algo útil e com baixo custo para os clientes seria uma concessão que não desejávamos ver na evolução dos PCs. A presença de diferentes modelos faz parte de toda plataforma. Seja para dar suporte a uma transição para um modelo de programação futuro (como incluir uma solução de emulação ou virtualização, se possível), a diferentes modelos de programação em uma plataforma (aplicativos nativos e baseados na Web, sendo os dois populares) ou a diferentes maneiras de se trabalhar (shell de comando ou GUI para diferentes cenários), a presença de vários modelos representa uma solução flexível que oferece uma experiência de fato totalmente compatível em qualquer plataforma.
Na área de trabalho do Windows, o WOA inclui versões da área de trabalho dos novos Microsoft Word, Excel, PowerPoint e OneNote, chamados de "Office 15". O WOA será um produto com total compatibilidade para as pessoas que desejam ter todos os benefícios dos softwares de produtividade do Office e compatibilidade, um navegador da Web acelerado por hardware líder no setor, aplicativos da Microsoft e acesso aos aplicativos da Windows Store.
Isso cria um PC com o WOA com todo o potencial de aplicativos, consumo de mídia, entretenimento, mobilidade e produtividade em um único lugar. Uma experiência que não abre mão de nada. Os novos aplicativos do Office para WOA foram projetados sobretudo para o toque e o consumo minimizado de recursos/energia. Esse trabalho de engenharia desempenha um papel importante na possibilidade de se oferecer softwares do Office com o WOA, pois não se trata de simples recompilações ou portas, mas de se retrabalhar os produtos de forma significativa, com uma experiência de usuário consistente e completa e fidelidade com seus novos equivalentes x86/64.
Saiba mais sobre a próxima versão do Microsoft Office, chamada de "Office 15” no blog Office Exec.
Engenharia para o ARM
Habilitar o Windows para que funcione otimamente bem na arquitetura do ARM é uma importante tarefa de engenharia. Empreendemos esse trabalho porque, ao olharmos para o futuro, podemos ver que muitos dos recursos que foram adicionados ao Windows ao longo dos anos serão inevitavelmente desejados ou exigidos pelos clientes nos tipos de dispositivos com suporte dos produtos baseados no ARM hoje. As alterações em form factors e o desejo de mobilidade se somam aos cenários e funcionalidades que todos desejamos na nossa busca por PCs totalmente compatíveis. Embora seja tentador fazer declarações sobre "começar de novo", acreditamos na evolução dos recursos tecnológicos quando se tem uma base forte. O alicerce do Windows, o núcleo, é o mais sólido, escalável e seguro. O nosso desejo de proporcionar uma experiência totalmente compatível nos motiva em nossos esforços.
Também sabemos que há elementos do Windows que exigem uma reengenharia para atender às expectativas do cliente em relação à confiabilidade no que se refere ao tempo, consumo de energia, utilização de recursos, e disponibilidade e conectividade instantâneas. Obviamente, todo esse trabalho é relevante para o nosso Windows 8 no produto x86/64 também, e muito do que fizemos para o ARM se aplica aos novos e incríveis produtos da Intel e AMD (dos quais não estamos tratando nesta postagem). Com o ARM, temos a oportunidade de observar as concepções do modelo de programação e comportamento do sistema operacional a fim de oferecer grandes aperfeiçoamentos.
Um dos novos aspectos do WOA que você verá é que um PC com o WOA não desliga. Os PCs com o WOA não terão as opções tradicionais de hibernação e suspensão com as quais estamos acostumados. Em vez disso, os PCs com o WOA sempre funcionam no modo de energia recém-criado Em espera conectado que é semelhante ao modo como usamos o telefone celular hoje. Quando a tela está ligada, você tem acesso a todo o potencial e funcionalidades do PC com o WOA. Quando a tela fica escura (pressionando-se o botão de energia ou temporizador), o PC entra em um novo modo de consumo muito baixo de energia que permite que a bateria dure por semanas. O tempo todo, no entanto, o sistema fica sempre ajustando o consumo de energia e aguardando oportunidades de reduzir a energia das partes do sistema que não estiverem em uso. Para os usuários finais, um recurso exclusivo do WOA é que você controla quais programas ficam em execução em segundo plano, para que eles fiquem sempre conectados, e informações como novo email sejam sempre atualizadas. O modo Em espera conectado permeia a engenharia dos PCs com o WOA, desde o hardware, passando pelo firmware, pelo sistema operacional e pela plataforma do WinRT até os aplicativos. O modo Em espera conectado não se limita à arquitetura do ARM, estamos trabalhando arduamente nessas funcionalidades para os produtos SoC x86/64 também.
Hoje, estamos familiarizados com uma experiência em que o hardware que executa o Windows baseado no x86/64 obedece a um conjunto de especificações técnicas que permitem que uma distribuição do código do Windows seja instalada e executada em uma grande variedade de PCs. Isso traz enormes benefícios de escala. Essa abertura também é um marco na revolução dos PCs e representa o trabalho conjunto do setor desde 1980. Quando novos hardwares são criados com suporte amplo, essas especificações de linha de base evoluem e a arquitetura dos PCs também. Com certeza essa abordagem não sofrerá nenhuma alteração no Windows 8, como milhares de pessoas tiveram a experiência no nosso Windows 8 Developer Preview, o Windows 8 será executado em todos os PCs com o Windows 7, e executará todos os periféricos e softwares existentes com suporte e criados para o Windows 7 (quando o fabricante permitir suporte pelo Windows 8, é claro).
A abordagem adotada pela ARM Holdings, a licenciante dos produtos ARM não é padronizada dessa forma, cada dispositivo de cada fabricante é exclusivo e os softwares executados nesse dispositivo também. É claro que há um conjunto de instruções e uma arquitetura de CPU padrão, que está sempre sendo aperfeiçoada (por exemplo, a adição de vários núcleos e suporte a 64 bits), mas muitas das conexões entre a CPU e outros componentes fazem parte da inovação que cada licenciado leva para a plataforma ARM. A compatibilidade entre os dispositivos pode ocorrer nos bastidores, mas não se aplica nem é significativa para os consumidores. Os usuários finais não podem instalar um sistema operacional diferente (ou versão de sistema operacional) em um dispositivo nem ampliar o sistema operacional, portanto, isso normalmente não é possível e o fabricante do dispositivo raramente dá suporte a isso. Os fabricantes de dispositivos trabalham com parceiros do ARM para criar um dispositivo que seja estritamente voltado para um conjunto de softwares específico (e, às vezes, vice-versa) e os clientes compram esse pacote completo, que é mantido e atualizado por meio de um único pipeline. A engenharia integrada, entre os parceiros, desses dispositivos internos é essencial. Dessa forma, isso tudo difere da realidade do Windows no x86/64.
Com o WOA, resolvemos definir uma nova maneira de desenvolver uma plataforma de computação. Criamos a nossa abordagem para garantir que o software e periféricos pudessem se beneficiar da diversidade permitida pela arquitetura do ARM, junto com a escolha de form factors e fabricantes, e a abertura da plataforma. Ao mesmo tempo, estamos estabelecendo um compromisso com os clientes de que o WOA será consistente em suas funcionalidades, experiência e desempenho da linha de base. O WOA compartilha alguns dos elementos da abordagem do Windows Phone 7, a especificação do chassi. As especificações implementadas para o WOA permitem mais diversidade em muitas dimensões, combinadas com o mesmo comprometimento com a engenharia e excelência do produto, tudo isso com a execução dos mesmos binários do sistema operacional em todos os PCs com o WOA.
A engenharia para o ARM começa com o trabalho que fizemos para o kernel do Windows, para que pudesse ser inicializado e executado no ARM. Como você pode imaginar, foi um enorme trabalho. Alguns podem achar que se tratou de um trabalho de portabilidade ou uma mera recompilação do código para um novo conjunto de instruções. Mas, quando falamos em kernel e nas partes do Windows que se relacionam ao hardware, o trabalho vai muito além disso. Junto com o trabalho do kernel, também tivemos o trabalho de desenvolver as ferramentas (que inclui o Visual Studio) e os compiladores do ARM, para criar o Windows.
Nos níveis mais altos (as camadas de aplicativo), o código é portátil devido ao nosso longo histórico de execução em várias arquiteturas (x86, x64, PowerPC, Alpha, MIPS, IA64, entre outras). Mesmo o próprio kernel tem um volume significativo de códigos portáteis. Na junção de hardware/software e todos os locais em que há suposições sobre como o sistema operacional interage com o hardware, o Windows foi reimaginado para essa nova plataforma. Para falarmos sobre acrônimos, a definição de ARM não exige suporte para alguns subsistemas comuns, como o barramento PCI ou SATA. Há alguns conceitos análogos executados por cada implementação do ARM, mas eles nem sempre são comuns. Tudo isso foi feito durante a iteração em três grandes revisões do hardware ARM desde o início do projeto.
Vamos analisar alguns dos tipos de trabalho realizados como parte desse esforço, a que nos referimos internamente como "portabilidade", apesar do fato de ser muito mais do que isso. Tenha em mente que todo esse trabalho tem sido realizado em paralelo com o desenvolvimento da experiência do usuário, da Windows Store, do WinRT e dos novos recursos do Windows 8.
Preparação para a portabilidade
Antes que pudéssemos começar o trabalho da portabilidade, precisávamos de um compilador do ARM e de uma cadeia de ferramentas para criar o Windows. Como outros produtos da Microsoft (como o Windows Phone e Embedded) usam processadores ARM, tínhamos essas peças, mas elas foram aperfeiçoadas para criarmos o Windows. Essas ferramentas serão disponibilizadas para os desenvolvedores e, se estiver usando C#/VB/XAML/HTML5 no Windows 8 Developer Preview, você já está "a bordo". A C/C++ requer hardware nativo ARM para teste. Falaremos sobre isso adiante.
Inicializando o núcleo do Windows
Tendo as ferramentas, pudemos começar a portabilidade do ambiente de inicialização e desenvolver as especificações de firmware do sistema. Nós fizemos até mesmo o protótipo do firmware. Ele é composto de várias partes:
O firmware UEFI é a camada mais baixa de um sistema do WOA e oferece serviços consistentes de carregamento do sistema operacional. Para o WOA, criamos firmware para inicializar o sistema que distribuímos para os nossos parceiros. Os sistemas do WOA também incluem um TPM baseado em firmware para criptografia de armazenamento e inicialização confiável. Usando o TPM, por exemplo, nós implementamos a inicialização confiável que verifica se o sistema não foi adulterado por um malware.
O Firmware ACPI é usado para a enumeração plug and play de dispositivos na plataforma durante a inicialização, além de ser responsável pelo gerenciamento de energia de dispositivos fora do SoC (como sensores, controladores de toque etc.). Ao longo dos anos, o PC foi padronizado com ACPI e barramentos plug and play, para que os drivers e softwares do sistema operacional pudessem "escalar a árvore" para localizar tudo em um PC. Com os designs internos do SoC, não há "árvore" ou capacidade de descobrir o que está conectado a um SoC ou até mesmo como ele está conectado. Durante a criação do Windows 8, trabalhamos para definir um novo padrão para descrever a configuração do sistema com tabelas, para que o software possa simplesmente ler a tabela e configurar o sistema.
No firmware, o sistema, então, pode carregar o gerenciador de inicialização, o carregador de inicialização e, por sua vez, o kernel, o HAL e drivers de dispositivo de inicialização.
Esta postagem é sobre a base técnica do que chamaremos aqui de Windows no ARM ou WOA. O WOA é um novo membro da família Windows, assim como o Windows Server, o Windows Embedded e o Windows Phone. Assim como ocorre com esses produtos, o WOA se constrói na base do Windows, tem um alto grau de compatibilidade e um código compartilhado com o Windows 8 muito importante, e será desenvolvido e vendido como parte do maior ecossistema computacional do mundo, do qual receberá suporte. Hoje nós enfocaremos o desenvolvimento do WOA, apresentaremos alguns de seus recursos e falaremos sobre a experiência dos clientes. Assim como ocorre com a versão x86/64 do Windows 8, ainda há comunicados a serem feitos com relação aos aspectos de marketing e negócios do(s) produto(s). A postagem de hoje é sobre a criação do WOA, não sobre seu marketing ou venda.
Ao mesmo tempo, embora esta postagem seja exclusivamente sobre o nosso trabalho com o WOA, tivemos um nível muito maior de colaboração com a Intel e AMD, no que se refere a toda a gama de produtos de PCs, do que na versão anterior. As inovações do Windows 8 com processadores x86/64 avançados e altamente competentes e o trabalho com os novos processadores com baixo consumo de energia, como os demonstrados pela Intel na CES, exigem um comprometimento igualmente forte, investimentos ainda maiores na engenharia, designs novos e robustos e uma arquitetura aperfeiçoada para o Windows em todas essas plataformas. Ao discutirmos sobre a nossa engenharia para os processadores ARM, é importante ter em mente que, além de todo o novo trabalho que realizamos para a plataforma ARM, muito do trabalho discutido nesta postagem se aplica diretamente à plataforma x86/64 e também ao Windows 8. Não poderíamos estar mais entusiasmados com os novos produtos da Intel e AMD que farão parte do Windows 8, com uma série completa de form factors de PCs que inclui o tablet, notebook, Ultrabook™, all-in-one, desktop, entre outros, que usufruem as novas funcionalidades do Windows 8, que por sua vez aproveita os novos recursos de hardware.
Usar o WOA "pronto para uso" será exatamente igual a usar o Windows 8 no x86/64. Você entrará da mesma maneira. A inicialização do PC e dos aplicativos ocorrerá da mesma forma. Você usará a nova Windows Store do mesmo modo. Você terá acesso às funcionalidades intrínsecas do Windows, o que inclui a nova tela inicial, os aplicativos estilo Metro, o Internet Explorer, os periféricos e, se desejar, a área de trabalho do Windows com ferramentas como o Windows File Explorer e o Internet Explorer da área de trabalho. Ele terá a mesma experiência rápida e fluida. Em outras palavras, projetamos o WOA para que ficasse exatamente como você deseja. O WOA permite uma criatividade no design do PC que, combinada com os novos recursos projetados do sistema operacional, levarão aos clientes novas experiências em que há total compatibilidade.
Para diálogos aprofundados sobre engenharia, tendemos a preferir postagens mais longas para o blog Criando o Windows 8 e esta não é diferente. Parece uma boa ideia oferecer primeiro um resumo dos itens importantes que serão abordados em detalhes nesta postagem:
O Windows no ARM, ou WOA, é um novo membro da família Windows que se constrói na base do Windows, tem um alto grau de compatibilidade e um código compartilhado com o Windows 8 muito importante, e será desenvolvido e vendido como parte do maior ecossistema computacional do mundo, do qual receberá suporte. Criamos o WOA para proporcionar uma nova classe de PCs com form factors e funcionalidades únicas, com o suporte de um novo conjunto de parceiros que expandem o ecossistema do qual o Windows faz parte.
Os PCs com WOA ainda estão na fase de desenvolvimento e o nosso objetivo comum é que sejam lançados pelos fabricantes junto com os PCs projetados para o Windows 8 no x86/64. Esses PCs serão criados sobre plataformas de hardware exclusivas e inovadoras fornecidas pela NVIDIA, Qualcomm e Texas Instruments, com uma base comum de sistema operacional Windows no ARM, todos com os mesmos binários do sistema operacional Windows, uma única abordagem para o mercado. Os fabricantes de PCs estão trabalhando com afinco em PCs criados do zero para que sejam ótimos e exclusivos para o WOA.
Os aplicativos estilo Metro podem dar suporte tanto ao WOA quanto ao Windows 8 no x86/64. Os desenvolvedores que têm o WOA como foco devem criar aplicativos para o WinRT (APIs do Windows para a criação de aplicativos estilo Metro) usando as novas ferramentas do Visual Studio 11 em uma variedade de linguagens, que incluem C#/VB/XAML e Jscript/ HTML5. O código nativo voltado para o WinRT também tem suporte com o uso da C e da C++, e pode ser usado em todas as arquiteturas e distribuído pela Windows Store. O WOA não dá suporte à execução, emulação ou portabilidade de aplicativos da área de trabalho x86/64 existentes. O código que somente usa serviços de sistema operacional ou sistema do WinRT pode ser usado em um aplicativo e distribuído pela Windows Store para o WOA e o x86/64. Os consumidores obtêm todos os softwares, incluindo drivers de dispositivo, pela Windows Store e Microsoft Update ou Windows Update.
O WOA pode dar suporte a todos os aplicativos estilo Metro, incluindo os aplicativos da Microsoft para email, calendário, contatos, fotos e armazenamento. O WOA também inclui suporte líder no mercado para HTML5 acelerada por hardware com o Internet Explorer 10. O WOA dará suporte a outros formatos de mídia padrão do setor, incluindo aqueles com aceleração de hardware e computação de descarregamento, além de formatos de documentos padrão do setor. Em todos os casos, a Microsoft busca a liderança na escolha do usuário final e controla quais aplicativos usar e a quais formatos dar suporte.
O WOA inclui versões da área de trabalho dos novos Microsoft Word, Excel, PowerPoint e OneNote. Esses novos aplicativos do Office, apelidados de "Office 15", foram projetados cuidadosamente para o toque e o consumo minimizado de energia/recursos, são, ao mesmo tempo, completos em termos de recursos para os clientes e oferecem total compatibilidade de documentos. O WOA dá suporte à experiência da área de trabalho do Windows, incluindo o File Explorer, o Internet Explorer 10 para área de trabalho e outros recursos intrínsecos da área de trabalho do Windows, que foram cuidadosamente projetados para o toque e o consumo minimizado de energia/recursos.
Com o WOA, você pode esperar produtos completos e integrados: hardware, firmware e software do WOA, todos criados do zero. A criação do WOA tem sido um esforço de engenharia contínuo, envolvendo a Microsoft, as licenças do ARM, fabricantes de PC e desenvolvedores de componentes e periféricos. Esses esforços abrangeram uma grande variedade de subsistemas que foram recriados do zero ou tiveram sua arquitetura amplamente recriada para o WOA. Os parceiros oferecerão PCs com o WOA como produtos completos e integrados, que incluem hardware, firmware e software do Windows no ARM. O software do Windows no ARM não será vendido nem distribuído separado de um PC com o WOA, como se espera de um dispositivo eletrônico que depende de emparelhamentos exclusivos e integrados de hardware e software. Durante a vida útil do PC, o software fornecido terá serviço de manutenção e será aperfeiçoado.
No próximo grande lançamento do Windows 8 no x86/64, um número limitado de PCs de teste será disponibilizado aos desenvolvedores e parceiros de hardware em um programa fechado, com participação somente por meio de convite. Esses dispositivos executarão a mesma ramificação do Windows 8 no x86/64 que lançaremos de forma ampla na ocasião. Eles não são exemplos ou amostras de PCs futuros, mas ferramentas para engenheiros de hardware e software que executam hardware específico do WOA.
O Windows Consumer Preview, a versão beta do Windows 8 no x86/64 será disponibilizada para download no final de fevereiro. Essa nova importante etapa do Windows 8 será disponibilizada em vários idiomas e qualquer pessoa poderá fazer o download.
Esta postagem está organizada com as seguintes seções: Trabalhando com parceiros, Fornecendo aplicativos, Engenharia para o ARM (que percorrerá os vários subsistemas), Desenvolvendo para o ARM, Fornecendo PCs com o WOA e, por último, Próximas etapas.
Trabalhando com parceiros
O desenvolvimento do WOA começa como uma parceria com empresas que fazem os processadores ARM e o empacotam com os subsistemas necessários para fornecer o equivalente a uma placa-mãe. Diferente das placas que muitos conhecem, podemos pensar na placa do WOA como um pacote de silício: uma série de camadas de silício ligadas entre si em um form factor incrivelmente pequeno, chamado de Sistema em um chip ou SoC.
Demonstração da CES 2011 mostrando o Sistema em um chip (SoC). (Julie Jacobson, Associated Press)
Cada licenciado do ARM que cria esses pacotes tem uma abordagem diferente de selecionar recursos, fazer escolhas de produtos e criar o pacote de silício completo. Essas escolhas levam ao mercado uma diversidade de produtos distintos construídos no ARM. Não há uma única experiência com o ARM e, como vimos com outros sistemas operacionais, até a mesma CPU do ARM combinada com diferentes componentes, drivers e softwares podem resultar em diferentes tipos ou qualidades de experiências. É por isso que, desde o início do projeto do WOA, temos trabalhado com três licenciados do ARM: NVIDIA, Qualcomm e Texas Instruments. Cada um deles tem diferentes especialidades e abordagens e contribuirão de forma distinta para o WOA. Todos eles têm produtos baseados no ARM extremamente bem-sucedidos no mercado hoje, que incluem tablets, smartphones e-readers e dispositivos internos. Temos a sorte de ter o suporte desses parceiros incríveis e o WOA é o único a trabalhar com essa diversidade.
Um pacote SoC por si é apenas o começo. O fornecimento de PCs com o WOA é uma parceria com os fabricantes de PCs que combinam sua experiência em fabricação, engenharia de sistema e desenho industrial com o trabalho de engenharia dos parceiros do ARM para desenvolver um PC completo. Os fabricantes de PCs também levam sua experiência de venda de PCs aos consumidores e empresas por meio de uma variedade de canais e com o suporte dessas vendas ao longo do tempo.
O papel da Microsoft nessa parceria é fornecer um sistema operacional Windows sintonizado com esse novo tipo de hardware, novos cenários e novos desafios de engenharia. A nossa meta é garantir que um Windows reimaginado ofereça uma experiência contínua entre o chipset, o firmware, o hardware, o sistema operacional, os aplicativos e a pessoa que interagir com o PC. Trata-se de um novo nível de envolvimento que traz consigo um novo nível de trabalho de engenharia para todas as partes envolvidas. Essa nova abordagem oferece uma combinação exclusiva entre a escolha e experiências completas e confiáveis ao longo da vida do PC.
Fornecendo aplicativos
Antes de nos aprofundarmos nos detalhes das alterações para a implementação subjacente do Windows para dar suporte ao hardware ARM, vamos começar do início e falar sobre quais aplicativos serão oferecidos pela Microsoft (todos estamos felizes em ver um novo uso para o termo "aplicativos". Lia-se no meu primeiro cartão de visitas na Microsoft, em 1989: Engenheiro de design de Software em ferramentas de aplicativos, Seção de aplicativos.)
Ainda não anunciamos as edições ou SKUs que teremos em todos os novos produtos do Windows e, durante a fase de pré-lançamento, incluímos quase todos os recursos no software, como uma maneira de testar e praticar o uso de toda a área da superfície do produto. Ajustaremos os recursos incluídos na oferta do WOA exclusiva, para que seja competitivo no mercado e ofereça uma proposição de valor atraente a todos os tipos de clientes.
Como anunciamos e demonstramos na //build/ e em outros fóruns, o WOA tem todas as funcionalidades do WinRT presentes no Windows Developer Preview, e todas as ferramentas e técnicas que você pode usar para criar aplicativos estilo Metro para o x86/64 estão disponíveis para que os desenvolvedores também tenham o WOA como foco. Os desenvolvedores podem usar as nossas ferramentas para criar código C/C++ nativo para atingir flexibilidade e desempenho máximos, além das ferramentas baseadas na C#, XAML, VB e HTML5, para criar aplicativos voltados para o WOA contanto que seus códigos tenham o conjunto de APIs do WinRT como foco. Além disso, os desenvolvedores com código já existente, seja na C, C++, C#, Visual Basic ou JavaScript, podem incorporar esse código em seus aplicativos, contanto que ele tenha como foco o conjunto de APIs do WinRT para os serviços do Windows. A Windows Store pode realizar, distribuir e manter as implementações de aplicativos do ARM e x86/64 (se houver código nativo no aplicativo que requer duas distribuições).
Também já demonstramos anteriormente os aplicativos estilo Metro da Microsoft para conexão com serviços baseados na nuvem, como Hotmail, SkyDrive, Messenger e, por meio desses serviços, uma ampla variedade de serviços de terceiros. Por exemplo, o nosso aplicativo de email se conecta ao EAS padrão do setor que abrange uma gama de contatos, calendários, emails baseados no consumidor e na empresa. Com as funcionalidades já existentes do Live Connect, você pode conversar com os seus amigos do Facebook ou se manter atualizado com os feeds do LinkedIn ou Twitter usando um aplicativo estilo Metro. Observe que esses são apenas dois exemplos dentre os mais de 100 serviços globais diferentes que você pode conectar à sua conta da Microsoft. Esses aplicativos são fornecidos com o WOA, mas obviamente as pessoas podem removê-los, definir padrões diferentes ou usar a Windows Store para obter aplicativos semelhantes de terceiros. Além disso, qualquer aplicativo estilo Metro na Windows Store pode funcionar com qualquer serviço que escolher, usando ou não serviços da Microsoft. Isso inclui o leque de serviços de publicidade, pagamentos no aplicativo, comunicações e entrada.
No próximo pré-lançamento do Windows 8, você também verá aplicativos estilo Metro da Microsoft disponíveis que dão suporte a uma grande variedade de formatos de documentos e mídia padrão do setor, além do Internet Explorer 10 que dá suporte à plataforma da Web HTML5 padrão. Acreditamos que o nível de suporte padrão oferecido no WOA esteja entre os melhores da categoria e com escopo comparável aos produtos dos concorrentes. E, claramente, o nosso objetivo é atingir a liderança no setor no que diz respeito a proporcionar ao usuário final escolha e controle dos aplicativos no sistema e o que ele deseja executar.
A disponibilidade da área de trabalho do Windows é um aspecto importante do WOA. A área de trabalho oferece um local familiar de interação com PCs, especialmente com arquivos, armazenamento e rede, além de uma gama da periféricos. Você pode usar o Windows Explorer, por exemplo, para se conectar a dispositivos de armazenamento externos, transferir e gerenciar arquivos de um compartilhamento de rede ou usar vários vídeos, e fazer isso tudo com ou sem teclado e mouse conectados, você escolhe. Tudo isso é familiar, rápido, eficiente e útil. Você terá acesso a um grande variedade de configurações do painel de controle para personalizar e ter um nível mais refinado de controle sobre o seu sistema, se assim desejar. E, se tiver usado o Developer Preview com um PC sensível ao toque, você sabe que a interface do usuário da área de trabalho foi aprimorada para a interação com o toque, com affordances da interface do usuário aperfeiçoados.
Ao mesmo tempo, o WOA (assim como o Windows 8) foi criado para que os clientes com foco em aplicativos estilo Metro não precisem perder tempo na área de trabalho. A disponibilidade da área de trabalho não aumenta o tempo de execução. Ela só fica lá para o caso de você querer usá-la ou precisar dela. Abaixo, descreveremos a tecnologia que garante que a disponibilidade da área de trabalho não compromete a segurança do sistema, a confiabilidade quanto ao tempo, desempenho ou consumo de energia de um PC com o WOA. Aqueles que testaram o Developer Preview observarão que a experiência do usuário continuou evoluindo e verão um conjunto amplo de aperfeiçoamentos no próximo Consumer Preview.
Alguns sugeriram a remoção da área de trabalho do WOA, para alcançarmos uma abordagem mais simples e rápida e rompermos com o passado. Para nós, abrir mão de algo útil e com baixo custo para os clientes seria uma concessão que não desejávamos ver na evolução dos PCs. A presença de diferentes modelos faz parte de toda plataforma. Seja para dar suporte a uma transição para um modelo de programação futuro (como incluir uma solução de emulação ou virtualização, se possível), a diferentes modelos de programação em uma plataforma (aplicativos nativos e baseados na Web, sendo os dois populares) ou a diferentes maneiras de se trabalhar (shell de comando ou GUI para diferentes cenários), a presença de vários modelos representa uma solução flexível que oferece uma experiência de fato totalmente compatível em qualquer plataforma.
Na área de trabalho do Windows, o WOA inclui versões da área de trabalho dos novos Microsoft Word, Excel, PowerPoint e OneNote, chamados de "Office 15". O WOA será um produto com total compatibilidade para as pessoas que desejam ter todos os benefícios dos softwares de produtividade do Office e compatibilidade, um navegador da Web acelerado por hardware líder no setor, aplicativos da Microsoft e acesso aos aplicativos da Windows Store.
Isso cria um PC com o WOA com todo o potencial de aplicativos, consumo de mídia, entretenimento, mobilidade e produtividade em um único lugar. Uma experiência que não abre mão de nada. Os novos aplicativos do Office para WOA foram projetados sobretudo para o toque e o consumo minimizado de recursos/energia. Esse trabalho de engenharia desempenha um papel importante na possibilidade de se oferecer softwares do Office com o WOA, pois não se trata de simples recompilações ou portas, mas de se retrabalhar os produtos de forma significativa, com uma experiência de usuário consistente e completa e fidelidade com seus novos equivalentes x86/64.
Saiba mais sobre a próxima versão do Microsoft Office, chamada de "Office 15” no blog Office Exec.
Engenharia para o ARM
Habilitar o Windows para que funcione otimamente bem na arquitetura do ARM é uma importante tarefa de engenharia. Empreendemos esse trabalho porque, ao olharmos para o futuro, podemos ver que muitos dos recursos que foram adicionados ao Windows ao longo dos anos serão inevitavelmente desejados ou exigidos pelos clientes nos tipos de dispositivos com suporte dos produtos baseados no ARM hoje. As alterações em form factors e o desejo de mobilidade se somam aos cenários e funcionalidades que todos desejamos na nossa busca por PCs totalmente compatíveis. Embora seja tentador fazer declarações sobre "começar de novo", acreditamos na evolução dos recursos tecnológicos quando se tem uma base forte. O alicerce do Windows, o núcleo, é o mais sólido, escalável e seguro. O nosso desejo de proporcionar uma experiência totalmente compatível nos motiva em nossos esforços.
Também sabemos que há elementos do Windows que exigem uma reengenharia para atender às expectativas do cliente em relação à confiabilidade no que se refere ao tempo, consumo de energia, utilização de recursos, e disponibilidade e conectividade instantâneas. Obviamente, todo esse trabalho é relevante para o nosso Windows 8 no produto x86/64 também, e muito do que fizemos para o ARM se aplica aos novos e incríveis produtos da Intel e AMD (dos quais não estamos tratando nesta postagem). Com o ARM, temos a oportunidade de observar as concepções do modelo de programação e comportamento do sistema operacional a fim de oferecer grandes aperfeiçoamentos.
Um dos novos aspectos do WOA que você verá é que um PC com o WOA não desliga. Os PCs com o WOA não terão as opções tradicionais de hibernação e suspensão com as quais estamos acostumados. Em vez disso, os PCs com o WOA sempre funcionam no modo de energia recém-criado Em espera conectado que é semelhante ao modo como usamos o telefone celular hoje. Quando a tela está ligada, você tem acesso a todo o potencial e funcionalidades do PC com o WOA. Quando a tela fica escura (pressionando-se o botão de energia ou temporizador), o PC entra em um novo modo de consumo muito baixo de energia que permite que a bateria dure por semanas. O tempo todo, no entanto, o sistema fica sempre ajustando o consumo de energia e aguardando oportunidades de reduzir a energia das partes do sistema que não estiverem em uso. Para os usuários finais, um recurso exclusivo do WOA é que você controla quais programas ficam em execução em segundo plano, para que eles fiquem sempre conectados, e informações como novo email sejam sempre atualizadas. O modo Em espera conectado permeia a engenharia dos PCs com o WOA, desde o hardware, passando pelo firmware, pelo sistema operacional e pela plataforma do WinRT até os aplicativos. O modo Em espera conectado não se limita à arquitetura do ARM, estamos trabalhando arduamente nessas funcionalidades para os produtos SoC x86/64 também.
Hoje, estamos familiarizados com uma experiência em que o hardware que executa o Windows baseado no x86/64 obedece a um conjunto de especificações técnicas que permitem que uma distribuição do código do Windows seja instalada e executada em uma grande variedade de PCs. Isso traz enormes benefícios de escala. Essa abertura também é um marco na revolução dos PCs e representa o trabalho conjunto do setor desde 1980. Quando novos hardwares são criados com suporte amplo, essas especificações de linha de base evoluem e a arquitetura dos PCs também. Com certeza essa abordagem não sofrerá nenhuma alteração no Windows 8, como milhares de pessoas tiveram a experiência no nosso Windows 8 Developer Preview, o Windows 8 será executado em todos os PCs com o Windows 7, e executará todos os periféricos e softwares existentes com suporte e criados para o Windows 7 (quando o fabricante permitir suporte pelo Windows 8, é claro).
A abordagem adotada pela ARM Holdings, a licenciante dos produtos ARM não é padronizada dessa forma, cada dispositivo de cada fabricante é exclusivo e os softwares executados nesse dispositivo também. É claro que há um conjunto de instruções e uma arquitetura de CPU padrão, que está sempre sendo aperfeiçoada (por exemplo, a adição de vários núcleos e suporte a 64 bits), mas muitas das conexões entre a CPU e outros componentes fazem parte da inovação que cada licenciado leva para a plataforma ARM. A compatibilidade entre os dispositivos pode ocorrer nos bastidores, mas não se aplica nem é significativa para os consumidores. Os usuários finais não podem instalar um sistema operacional diferente (ou versão de sistema operacional) em um dispositivo nem ampliar o sistema operacional, portanto, isso normalmente não é possível e o fabricante do dispositivo raramente dá suporte a isso. Os fabricantes de dispositivos trabalham com parceiros do ARM para criar um dispositivo que seja estritamente voltado para um conjunto de softwares específico (e, às vezes, vice-versa) e os clientes compram esse pacote completo, que é mantido e atualizado por meio de um único pipeline. A engenharia integrada, entre os parceiros, desses dispositivos internos é essencial. Dessa forma, isso tudo difere da realidade do Windows no x86/64.
Com o WOA, resolvemos definir uma nova maneira de desenvolver uma plataforma de computação. Criamos a nossa abordagem para garantir que o software e periféricos pudessem se beneficiar da diversidade permitida pela arquitetura do ARM, junto com a escolha de form factors e fabricantes, e a abertura da plataforma. Ao mesmo tempo, estamos estabelecendo um compromisso com os clientes de que o WOA será consistente em suas funcionalidades, experiência e desempenho da linha de base. O WOA compartilha alguns dos elementos da abordagem do Windows Phone 7, a especificação do chassi. As especificações implementadas para o WOA permitem mais diversidade em muitas dimensões, combinadas com o mesmo comprometimento com a engenharia e excelência do produto, tudo isso com a execução dos mesmos binários do sistema operacional em todos os PCs com o WOA.
A engenharia para o ARM começa com o trabalho que fizemos para o kernel do Windows, para que pudesse ser inicializado e executado no ARM. Como você pode imaginar, foi um enorme trabalho. Alguns podem achar que se tratou de um trabalho de portabilidade ou uma mera recompilação do código para um novo conjunto de instruções. Mas, quando falamos em kernel e nas partes do Windows que se relacionam ao hardware, o trabalho vai muito além disso. Junto com o trabalho do kernel, também tivemos o trabalho de desenvolver as ferramentas (que inclui o Visual Studio) e os compiladores do ARM, para criar o Windows.
Nos níveis mais altos (as camadas de aplicativo), o código é portátil devido ao nosso longo histórico de execução em várias arquiteturas (x86, x64, PowerPC, Alpha, MIPS, IA64, entre outras). Mesmo o próprio kernel tem um volume significativo de códigos portáteis. Na junção de hardware/software e todos os locais em que há suposições sobre como o sistema operacional interage com o hardware, o Windows foi reimaginado para essa nova plataforma. Para falarmos sobre acrônimos, a definição de ARM não exige suporte para alguns subsistemas comuns, como o barramento PCI ou SATA. Há alguns conceitos análogos executados por cada implementação do ARM, mas eles nem sempre são comuns. Tudo isso foi feito durante a iteração em três grandes revisões do hardware ARM desde o início do projeto.
Vamos analisar alguns dos tipos de trabalho realizados como parte desse esforço, a que nos referimos internamente como "portabilidade", apesar do fato de ser muito mais do que isso. Tenha em mente que todo esse trabalho tem sido realizado em paralelo com o desenvolvimento da experiência do usuário, da Windows Store, do WinRT e dos novos recursos do Windows 8.
Preparação para a portabilidade
Antes que pudéssemos começar o trabalho da portabilidade, precisávamos de um compilador do ARM e de uma cadeia de ferramentas para criar o Windows. Como outros produtos da Microsoft (como o Windows Phone e Embedded) usam processadores ARM, tínhamos essas peças, mas elas foram aperfeiçoadas para criarmos o Windows. Essas ferramentas serão disponibilizadas para os desenvolvedores e, se estiver usando C#/VB/XAML/HTML5 no Windows 8 Developer Preview, você já está "a bordo". A C/C++ requer hardware nativo ARM para teste. Falaremos sobre isso adiante.
Inicializando o núcleo do Windows
Tendo as ferramentas, pudemos começar a portabilidade do ambiente de inicialização e desenvolver as especificações de firmware do sistema. Nós fizemos até mesmo o protótipo do firmware. Ele é composto de várias partes:
O firmware UEFI é a camada mais baixa de um sistema do WOA e oferece serviços consistentes de carregamento do sistema operacional. Para o WOA, criamos firmware para inicializar o sistema que distribuímos para os nossos parceiros. Os sistemas do WOA também incluem um TPM baseado em firmware para criptografia de armazenamento e inicialização confiável. Usando o TPM, por exemplo, nós implementamos a inicialização confiável que verifica se o sistema não foi adulterado por um malware.
O Firmware ACPI é usado para a enumeração plug and play de dispositivos na plataforma durante a inicialização, além de ser responsável pelo gerenciamento de energia de dispositivos fora do SoC (como sensores, controladores de toque etc.). Ao longo dos anos, o PC foi padronizado com ACPI e barramentos plug and play, para que os drivers e softwares do sistema operacional pudessem "escalar a árvore" para localizar tudo em um PC. Com os designs internos do SoC, não há "árvore" ou capacidade de descobrir o que está conectado a um SoC ou até mesmo como ele está conectado. Durante a criação do Windows 8, trabalhamos para definir um novo padrão para descrever a configuração do sistema com tabelas, para que o software possa simplesmente ler a tabela e configurar o sistema.
No firmware, o sistema, então, pode carregar o gerenciador de inicialização, o carregador de inicialização e, por sua vez, o kernel, o HAL e drivers de dispositivo de inicialização.