# Windows NT

Windows NT é uma família de sistemas operacionais produzidos pela Microsoft, a primeira versão da qual foi lançado em 27 de julho de 1993.
Os sistemas operacionais Windows NT são projetados para usuários corporativos, servidores e workstations, inicialmente ao lado dos sistemas operacionais Windows 3.x e, posteriormente, do Windows 9x, destinados a usuários domésticos e automação de escritórios. Com o Windows XP, em 2001 a linha Windows NT também fica disponível para usuários domésticos.
A abreviação "NT" de "New Technology", que a partir do Windows 2000, foi removida do nome do sistema e só está mantida na sequência da versão do produto, no entanto, o Windows 2000 tem o slogan, Desenvolvido com a tecnologia NT, na tela Iniciar, e sua pasta de instalação padrão é C:\WINNT.
NT foi a primeira versão puramente de 32 bits do Windows, enquanto suas contrapartes orientadas ao consumidor, Windows 3.1x e Windows 9x, eram híbridos de 16 bits/32 bits.
É um sistema operacional multi-arquitetura, a ideia era ter uma base de código comum com uma camada de abstração de hardware (HAL) personalizada para cada plataforma.
Inicialmente, ele suportava várias arquiteturas de conjuntos de instruções, incluindo IA-32, MIPS e DEC Alpha; suporte para PowerPC, Itanium, x64 e ARM foram adicionados mais tarde. As versões mais recentes suportam x86 (mais especificamente IA-32 e x64) e ARM.
Os principais recursos da família Windows NT incluem Windows Shell, Windows API, native API, Active Directory, Group Policy, Hardware Abstraction Layer (HAL), NTFS, BitLocker, Windows Store, Windows Update e Hyper-V.

## Arquitetura

Desde a sua criação, o Windows NT foi inspirado pela filosofia unix e difere fortemente dos sistemas baseados em MS-DOS: a configuração é multi-usuário, multi-processo (ou multitarefa), multiprocessador. O sistema de arquivos seguro, journaled NTFS gerencia adequadamente vários usuários, atribuindo a cada arquivo direitos de acesso específicos para cada usuário.

### Kernel

O kernel do Windows NT é muitas vezes equivocadamente considerado micronúcleo, na verdade é híbrido. De fato, a definição de micronúcleo exige que apenas serviços essenciais devem residir no kernel, e todos os outros serviços do sistema operacional, incluindo gerenciamento de memória e I/O entrada/saída, devem funcionar no modo de usuário em espaços de memória separados.
No entanto, por razões de desempenho, quase nenhum sistema operacional tem um micronúcleo puro (a única exceção é Mach). No Windows NT, muitos serviços são implementados no modo kernel, incluindo o sistema de arquivos, o gerenciamento de memória e, começando pelo Windows NT 4, o gerenciamento de gráficos. Em termos de desempenho e segurança, isso é equivalente a núcleos monolíticos (como UNIX e Linux), mas permite maior flexibilidade.
O kernel do Windows NT foi o primeiro totalmente de 32bit do Windows, tem um agendador de tarefas preemptivo (ou seja, ele lida com a liberação antecipada do processo, permitindo que você liberte a CPU de um processo que vem se envolvendo com ele há muito tempo). Além disso, ao contrário do Windows 9x, o kernel é completamente reentrante, para o benefício do desempenho, na verdade, no Windows 9x, quando um aplicativo requer um serviço de sistema, que geralmente é de 16 bits e não-reentrante, o aplicativo engaja uma seção crítica global, efetivamente tornando o sistema monotarefa.
O Windows NT 3.1 apresentava um núcleo central que fornece uma API do sistema, em execução no modo supervisor (ring 0 em x86; referido no Windows NT como "modo kernel" em todas as plataformas), e um conjunto de ambientes de espaço para o usuário com suas próprias APIs que incluíam o novo ambiente Win32, um ambiente de modo de texto OS/2 1.3 e um ambiente POSIX.
A ampla compatibilidade de software foi alcançada com suporte para várias "personalidades" da API, incluindo API do Windows, POSIX, e OS/2 APIs – as duas últimas foram eliminadas gradualmente a partir do Windows XP. A compatibilidade parcial do MS-DOS foi alcançada através de uma Máquina Virtual DOS integrada – embora este recurso esteja sendo eliminado gradualmente na arquitetura x86-64. Listas de controle de acesso (ACL) por objeto suportado por objeto (arquivo, função e função) permitem que um rico conjunto de permissões de segurança seja aplicada a sistemas e serviços. O NT suportava protocolos de rede do Windows, herdando o gerenciador de rede LAN do OS/2, bem como a rede TCP/IP (para a qual a Microsoft implementaria uma pilha TCP/IP derivada inicialmente de uma pilha baseada em STREAMS da Spider Systems e, posteriormente, reescrita internamente).
A primeira GUI do Windows NT foi fortemente influenciada (e programáticamente compatível com) Windows 3.1x; A interface do Windows NT 4 foi redesenhada para coincidir com a do novo Windows 95, passando do Program Manager para o Windows shell design.

## Windows NT e sua ligação com o VMS e OS/2

A Microsoft decidiu criar um sistema operacional portátil, compatível com OS/2 e POSIX e suportando multiprocessamento, em outubro de 1988. Quando o desenvolvimento começou em novembro de 1989, o Windows NT seria conhecido como OS/2 3.0, a terceira versão do sistema operacional desenvolvido em conjunto pela Microsoft e IBM. Para garantir a portabilidade, o desenvolvimento inicial foi direcionado para o processador Intel i860XR RISC, mudando para o MIPS R3000 no final de 1989, e depois para o Intel i386 em 1990.
A Microsoft também continuou o desenvolvimento paralelo do ambiente Windows baseado em DOS e menos exigente de recursos, resultando na liberação do Windows 3.0 em maio de 1990.
O Windows 3.0 foi finalmente tão bem sucedido que a Microsoft decidiu alterar a interface de programação de aplicativos API primária para o ainda não lançado NT OS/2 (como era então conhecido) de uma API estendida do OS/2 para uma API do Windows estendida. Essa decisão causou tensão entre a Microsoft e a IBM e a colaboração acabou desmoronando.
A IBM continuou o desenvolvimento do OS/2 sozinha, enquanto a Microsoft continuou o trabalho no recém-renomeado Windows NT. Embora nenhum dos sistemas operacionais fosse imediatamente tão popular quanto os produtos MS-DOS ou Windows da Microsoft, o Windows NT eventualmente seria muito mais bem sucedido do que o OS/2.
A Microsoft contratou um grupo de desenvolvedores da Digital Equipment Corporation (DEC), liderados por Dave Cutler para construir o Windows NT, e muitos elementos do design refletem a experiência anterior da DEC com o VMS de Cutler e o RSX-11, mas também um sistema operacional object-based inédito desenvolvido por Dave Cutler para o DEC Prism. A equipe foi acompanhada por membros selecionados da equipe dissolvida do OS/2, incluindo Moshe Dunie.
O kernel VMS foi escrito no VAX Macro, mas o Windows NT foi projetado para ser executado em várias arquiteturas de conjuntos de instruções e várias plataformas de hardware dentro de cada arquitetura. As dependências da plataforma são ocultas do resto do sistema pela camada de abstração de hardware (HAL).
Durante a criação do Windows NT, os desenvolvedores da Microsoft reescreveram o VMS em C. Embora tenham adicionado a API Win32, sistema de arquivos NTFS, GUI e retrocompatibilidade com DOS, OS/2 e Win16, os engenheiros da DEC quase imediatamente notaram as semelhanças internas dos dois sistemas operacionais; partes de VAX/VMS Internals and Data Structures, publicados pela Digital Press, descrevem com precisão os internos do Windows NT usando termos VMS. Em vez de um processo judicial, a Microsoft concordou em pagar a DEC $65–100 milhões, ajudar o mercado do VMS, treinar pessoal digital no Windows NT e continuar o suporte ao Windows NT para o DEC Alpha.
O gerenciamento de memória do Windows NT e do VMS, os processos e o agendamento são muito semelhantes. O gerenciamento de processos do Windows NT difere ao implementar threading, que a DEC não implementou até o VMS 7.0 em 1995, provavelmente para competir com a Microsoft.
Como no VMS, o código do modo kernel do Windows NT distingue entre o "kernel", cujo objetivo principal é implementar funções dependentes de processador e arquitetura e o "executivo". Este foi projetado como um micronúcleo modificado, como o kernel Windows NT foi influenciado pelo micronúcleo Mach desenvolvido na Universidade Carnegie Mellon, mas não atende a todos os critérios de um micronúcleo puro. Tanto o kernel quanto o executivo estão ligados (linked) juntos no módulo único carregado ntoskrnl.exe; de fora deste módulo, há pouca distinção entre o kernel e o executivo. As rotinas de cada um são diretamente acessíveis, como por exemplo, a partir de drivers de dispositivo no modo kernel.
Os conjuntos de API na família Windows NT são implementados como subsistemas no topo da native API não documentada publicamente; isso permitiu a adoção tardia da API do Windows (no subsistema Win32).
O Windows NT foi um dos primeiros sistemas operacionais a usar o Unicode internamente.

## Versões do Windows NT

| Versão do Windows NT | Nome comercial | Edições | Data de Lançamento | Número de compilação |
| NT 3.1 | Windows NT 3.1 | Advanced Server e Workstation | 27 de Julho de 1993 | 602 |
| NT 3.5 | Windows NT 3.5 | Workstation e Server | 21 de Setembro de 1994 | 807 |
| NT 3.51 | Windows NT 3.51 | Workstation e Server | 30 de Maio de 1995 | 1057 |
| NT 4.0 | Windows NT 4.0 | Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded | 29 de Julho de 1996 | 1381 |
| NT 5.0 | Windows 2000 | Professional, Server, Advanced Server, Datacenter Server | 17 de Fevereiro de 2000 | 2195 |
| NT 5.1 | Windows XP | Home, Professional, 64-bit Edition (Itanium), Media Center (original, 2003, 2004 & 2005), Tablet PC (original e 2005), Starter, Embedded, Home N, Professional N (ver a lista de edições do Windows XP) | 25 de Outubro de 2001 | 2600 |
| NT 5.1 | Windows Fundamentals for Legacy PCs | Este sistema só possui uma edição.$^[$ | 8 de Julho de 2006 | 2600 |
| NT 5.2 | Windows XP | 64-bit Edition Versão 2003 (Itanium) | 28 de Março de 2003 | 3790 |
| NT 5.2 | Windows Server 2003 | Standard, Enterprise, Datacenter, Web, Small Business Server | 24 de Abril de 2003 | 3790 |
| NT 5.2 | Windows XP (x64) | Professional x64 Edition | 25 de Abril de 2005 | 3790 |
| NT 5.2 | Windows Home Server | N/A | 16 de Julho de 2007 | 3790 |
| NT 6.0 | Windows Vista | Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate | Empresas: Novembro de 2006 Lançamento oficial: 30 de Janeiro de 2007 | 6000 (RTM), 6001 (Service Pack 1), 6002 (Service Pack 2) |
| NT 6.0 | Windows Server 2008 | Standard, Enterprise, Datacenter, Web, Small Business Server | Empresas: Julho de 2008 Lançamento oficial: 27 de fevereiro de 2008 | 6001 (Service Pack 1 - RTM), 6002 (Service Pack 2) |
| NT 6.1 | Windows 7 | Starter, Home Basic, Home Premium,Professional, Enterprise e Ultimate | Empresas: 22 de julho de 2009 Lançamento oficial: 22 de Outubro de 2009 | 7600 (RTM), 7601 (Service Pack 1) |
| NT 6.1 | Windows Server 2008 R2 | Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Itanium-Based Systems | 22 de Outubro de 2009 | 7600 (RTM), 7601 (Service Pack 1) |
| NT 6.1 | Windows Home Server 2011 | Home Server Premium | 6 de Abril de 2011 | 7601 (Service Pack 1) |
| NT 6.1 | Windows Thin PC | | 6 de Junho de 2011 | 7601 (Service Pack 1) |
| NT 6.2 | Windows 8 | Single Language, Pro, Pro com Media Center e Enterprise. | 26 de Outubro de 2012 | 9200 (RTM) |
| NT 6.2 | Windows Server 2012 | Foundation, Essentials, Standard e Datacenter. | 4 de setembro de 2012 | 9200 (RTM) |
| NT 6.3 | Windows 8.1 | Single Language, Pro, Pro com Media Center e Enterprise. | 17 de Outubro de 2013 | 9600 (RTM e Update 1) |
| NT 6.3 | Windows Server 2012 R2 | Foundation, Essentials, Standard e Datacenter. | 17 de Outubro de 2013 | 9600 (RTM) |
| NT 10.0 | Windows 10 | Home Single Language, Home China, Home, Pro, Pro Education, Pro for Workstations, Enterprise, Education, Windows 10 S, IoT Core, Mobile, Mobile Enterprise | 29 de Julho de 2015 | 10240 (RTM) |
| NT 10.0 | Windows Server 2016 | Essentials, Standard, Datacenter, Multipoint Premium Server, Storage Server, Hyper-V Server | 26 de Setembro de 2016 | 14393 (RS1) |
| NT 10.0 | Windows Server 2019 | Essentials, Standard, Datacenter, Multipoint Premium Server, Hyper-V Server | 2 de Outubro de 2018 | 17763 (RS5) |
| NT 10.0 | Windows Server 2022 | Essentials, Standard, Datacenter, Multipoint Premium Server, Hyper-V Server | 18 de Agosto de 2021 | 20348 (Iron) |
| NT 10.0 | Windows 11 | Home Single Language, Home China, Home, Pro, Pro Education, Pro for Workstations | 5 de Outubro de 2021 | 22000 (21H2) |
O Windows NT 3.1 a 3.51 incorporou o Gerenciador de Programas e o Gerenciador de Arquivos da série Windows 3.1x. O Windows NT 4.0 em diante substituiu esses programas pelo Windows Explorer (incluindo uma barra de tarefas e menu Iniciar), que apareceu originalmente no Windows 95.
A primeira versão foi dada número 3.1 para combinar com o Windows contemporâneo de 16 bits; revistas daquela época afirmavam que o número também foi usado para fazer essa versão parecer mais confiável do que uma versão "0". Além disso, o protocolo Novell IPX foi aparentemente licenciado apenas para versões 3.1 do software Windows.
O número da versão NT não é usado agora para fins de marketing, mas ainda é usado internamente, e dito para refletir o grau de mudanças no núcleo do sistema operacional. No entanto, por razões de compatibilidade de aplicativos, a Microsoft manteve o número da versão principal como 6 em lançamentos após o Windows Vista, mas mudou-o mais tarde para 10 no Windows 10. O número de compilação é um identificador interno usado pelos desenvolvedores e testadores beta da Microsoft.

## Linguagem de programação

O Windows NT é escrito em C e C++, com uma quantidade muito pequena escrita na linguagem Assembly. C é usado principalmente para o código do kernel, enquanto C++ é usado principalmente para código de modo de usuário. A linguagem Assembly é evitada sempre que possível porque impediria a portabilidade.

## Críticas

Em comparação com os sistemas MS-DOS e Windows 9x, os sistemas NT sempre exigiram significativamente mais memória RAM. Este, na década de 1990, era um problema comum para todos os sistemas operacionais high-end (por exemplo, OS/2).
Inicialmente, a confiabilidade do NT era menor do que as expectativas dos usuários e as declarações do fabricante. O bloqueio da máquina, caracterizado pela famosa "tela azul" (chamada no jargão BSOD, Tela Azul da Morte), ocorreu com uma frequência excessiva e se apresentou nas situações mais inesperadas. O refino do kernel e, especialmente, os drivers de dispositivos melhorados reduziram muito esse problema.
Uma característica muito criticada do Windows NT é a incapacidade de usar o sistema operacional de forma puramente textual, já que a interface gráfica não é excluível. Para resolver esse problema, a Microsoft implementou um modo puramente textual no Windows Server 2008.
Nas primeiras versões, a NT sofreu muito com o reconhecimento de hardware, pois não tinha suporte para Plug and Play e poucos fabricantes de hardware lançavam drivers de dispositivos para seus produtos. As capacidades multimídia também eram muito escassas. O lançamento do Windows 2000 inverteu a situação, graças ao melhor suporte a Plug and Play disponível na plataforma PC.
Para usuários profissionais, um aspecto estressante da NT é a incapacidade de esculpir adequadamente o sistema operacional, removendo tudo o que não é estritamente necessário, dependendo da aplicação que o executa, a fim de otimizar a eficiência do sistema e remover as possíveis falhas de segurança. Na verdade, há uma versão do Windows XP, chamada Embedded Edition, que lhe dá mais liberdade para escolher cada componente para instalar em seu sistema. Esta versão, no entanto, é mais dedicada à integração do Windows em dispositivos de hardware (um exemplo clássico são os "quiosques de informações" baseados em PC) e é de pouca utilidade e difícil de implementar para sistemas de servidor ou desktop.
Com a introdução do Windows Server 2008, o modo Server Core foi implementado: esse tipo de instalação permite que você aproveite uma máquina do Windows Server sem a interface gráfica tradicional.
Os benefícios são múltiplos:
* Manutenção reduzida– Você pode instalar um servidor que tenha apenas uma função (AD DS, AD LDS, DHCP Server, DNS Server, File Services, Print Services ou Streaming Media Services).
* Superfície de ataque reduzida: a instalação é mínima, portanto, menos aplicações que podem ser propensas a bugs.
* Menos espaço e memória ocupados: Você pode instalar o Windows em menos de 1GB: menos aplicativos significam menos RAM ocupada, com a óbvia vantagem de poder instalar várias máquinas virtuais, cada uma com uma função específica, na mesma máquina física.

## Requisitos mínimos de hardware para Windows NT

| Versão do Windows | CPU | RAM | Espaço livre em disco |
| NT 3.1 | i386 16 MHz | 16 MB | 90 MB |
| NT 3.51 | i386 25 MHz | 16 MB | 90 MB |
| NT 4.0 | i486 33 MHz | 16 MB | 110 MB |
| 2000 | Pentium 133 MHz | 64 MB | 650 MB |
| XP | Pentium 233 MHz | 64 MB | 1.5 GB |
| XP Professional x64 Edition | 733 MHz | 256 MB | 1.5 GB |
| Server 2003 x86 | 133 MHz | 128 MB | 1.5 GB |
| Server 2003 x64 | 1.4 GHz | 512 MB | 4 GB |
| Vista x86 | 800 MHz | 512 MB | 20 GB |
| Vista x64 | 1 GHz | 1 GB | 40 GB |
| Server 2008 x86 | 1 GHz | 512 MB | 20 GB |
| Server 2008 x64 | 1.4 GHz | 512 MB | 32 GB |
| Server 2008 R2 | 1.4 GHz | 512 MB | 32 GB |
| 7 x86 | 1 GHz | 1 GB | 16 GB |
| 7 x64 | 1 GHz | 2 GB | 20 GB |
| 8 e 8.1 x86 | 1 GHz com PAE, Bit NX e SSE2 | 1 GB | 16 GB |
| 8 e 8.1 x64 | 1 GHz com PAE, Bit NX, SSE2, CMPXCHG16b, PrefetchW e LAHF/SAHF | 2 GB | 20 GB |
| Server 2012 e Server 2012 R2 | 1.4 GHz com PAE, Bit NX, SSE2, CMPXCHG16b, PrefetchW e LAHF/SAHF | 512 MB | 32 GB |
| 10 x86 | 1 GHz com PAE, Bit NX e SSE2 | 1 GB | 16 GB |
| 10 x64 | 1 GHz com PAE, Bit NX, SSE2, CMPXCHG16b, PrefetchW e LAHF/SAHF | 2 GB | 20 GB |
| Server 2016, Server 2019 e Server 2022 | 1.4 GHz com PAE, Bit NX, SSE2, CMPXCHG16b, PrefetchW, LAHF/SAHF e Second Level Address Translation (SLAT) | 512 MB | 32 GB |
| 11 x64 | Intel 8ª Geração ou AMD Zen+, com Trusted Platform Module (TPM) 2.0 ou cripto-coprocessador equivalente | 4 GB | 64 GB |
| 11 arm64 | Qualcomm Snapdragon 850, 7c, 8c, 8cx; Microsoft SQ1, SQ2 | 4 GB | 64 GB |