Casa > Q > Quão Complicado É O Código Para O Microsoft Windows?

Quão complicado é o código para o Microsoft Windows?

Depende realmente de como você define a complexidade. Existem muitas métricas diferentes usadas e combinadas para medir a complexidade do software.

Posso dizer que eu tive acesso ao código fonte enquanto estive na equipe do Windows NT (NT é a base para todas as versões desktop do Windows a partir do XP), durante os projetos de desenvolvimento do NT 3.1 e NT 3.5, e o código seguiu um padrão de codificação que fazia parte do NT Workbook, a "bíblia" da equipe para o projeto. Embora eu não tenha lido todas as linhas de código, o que eu li foi muito claro, modular, em camadas e de fácil manutenção.

Obviamente, para ler e entender o código, você tinha que ter algum conhecimento da arquitetura geral do Windows NT. Provavelmente a melhor fonte de informação hoje em dia sobre os internos do Windows são os livros Windows Internals 6th Edition (dois volumes).

Algumas pessoas simplesmente equacionam a complexidade do código com o tamanho, muitas vezes medido em linhas de código (LOCs). Como os LOCs são realmente medidos depende das ferramentas utilizadas e do critério escolhido para definir exatamente o que é uma linha de código em cada linguagem de programação. Há muito debate sobre os métodos usados para contar linhas de código, mas se você usar exatamente o mesmo critério de uma versão para a próxima, você pode ver a mudança relativa no tamanho da base do código. Comparar esses números com os de outro SO que usou um método diferente de contagem de linhas de código é como comparar maçãs com laranjas.

Que dito isso, aqui estão algumas dicas sobre o tamanho da base de código do Windows moderno. As linhas de código aqui são aproximadas e não-oficiais, mas são baseadas em fontes razoavelmente confiáveis. Ele ilustra como a base de código do Windows NT evoluiu desde 1993:

  • >li>Windows NT 3.1 (1993) - 5.6 milhões de linhas de código fonte (MLOCs)>li>Windows NT 3.5 (1994) - 8.4 MLOCs>li>Windows NT 3.51 (1995) - 10.2 MLOCs>li>Windows NT 4.0 (1996) - 16 MLOCsli>li>Windows 2000 (2000) - 29 MLOCsli>li>Windows XP (2001) - 35 MLOCsli>li>Windows Vista (2007) - 45 MLOCsli>li>Windows 7 (2009) - 42 MLOCsli>li>Windows 8 (2012) - 50 MLOCsli>li>Windows 10 (2015) - 55 MLOCs>/ul>p>>Windows source code consists primarily of C, C++, e uma pequena quantidade de código de linguagem de montagem. Alguns dos utilitários de modo de usuário, etc. estão em C#, mas esta é uma porcentagem relativamente pequena da base geral do código.

I não incluiu as versões 16-bit-esque, lançadas de 1985 a 2000. O Windows NT foi a base para todas as versões modernas de 32 e 64 bits do Windows. O número de linhas de código nas versões de servidor era o mesmo das versões não servidoras lançadas no mesmo ano (ou seja, tinham a mesma base de código fonte).

O trabalho no kernel NT começou em 1988, escrito do zero como um sistema operacional multitarefa preemptivo de 32 bits. O kernel NT foi iniciado em julho de 1989, em um processador Intel i860 RISC. Houve um forte impulso desde o início para garantir que o novo SO fosse portátil para uma variedade de arquiteturas de CPU, e não seria travado apenas na arquitetura Intel x86 (IA-32). O NT eventualmente estava rodando em MIPS, DEC Alpha, PowerPC, Itanium e, claro, Intel x86 e x64.

>p>Algumas complexidades foram adicionadas à base de código, principalmente na camada de abstração de hardware (HAL), para suportar arquiteturas não Intel.

De Sulamith Cholewinski

Qual é a melhor lente progressiva, Zeiss, Essilor, ou Hoya? :: Qual marca de óculos de sol tem a melhor tecnologia de lentes de sol?