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

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

Ver também
 Windows 9x
 Windows CE
 Windows RT
 Windows Phone

Ligações externas
 Site oficial do Microsoft Windows (em português)

Windows
Sistemas operativos
Sistemas operacionais para servidores
Tecnologia da informação
Ciência da computação