Windows NT
Origem: Wikipédia, a enciclopédia livre.
Windows NT é o nome da família de sistemas operativos da Microsoft voltados ao meio corporativo (grandes empresas). NT vem do inglês New Technology, Nova Tecnologia. A primeira versão é de 1993 {veja tabela abaixo) e trazia a funcionalidade de trabalhar como um servidor de arquivos. Em 2000, a Microsoft mudou o seu nome para Windows 2000. A partir de 2001 a versão Workstation passou a ser o Windows XP Professional, enquanto a versão servidor foi lançada em 2003 como "Windows Server 2003" Os sistemas operativos NT têm uma grande estabilidade e tem a vantagem de não ter o MS-DOS como no Windows 95, 98, 98SE e ME. O MS-DOS do NT é emulado pelo próprio sistema, já no Windows 95, 98, 98SE e ME o MS-DOS é um sistema real. No NT a troca de usuário é mais acessível que do Windows 95, 98, 98SE e ME. O NT é um sistema operativo de 32 bits.
A arquitetura do Windows NT é fortemente baseada na idéia do microkernel, de forma que um único componente seu gerencia e oferece aos demais cada uma das funcionalidades do sistema. Assim, em teoria, pode-se remover, atualizar ou substituir cada módulo sem que se precise alterar o resto do sistema. Contudo, o Windows NT não é puramente orientado à filosofia do microkernel, pois módulos externos a ele podem executar operações em modo kernel (protegido), a fim de evitar trocas de contexto e melhorar o desempenho geral do sistema. A organização do Windows NT é feita em camadas, que se dispõem umas sobre as outras de forma que cada camada oferece serviços à imediatamente posterior e só usa serviços fornecidos pela imediatamente inferior. Além disso, é explorado o modelo orientado a objetos, em que recursos do sistema, arquivos, memória e dispositivos físicos são implementados por objetos e manipulados por métodos a eles associados.
O Windows NT permite a execução de aplicações escritas para outros sistemas operacionais, cujo suporte é feito a partir de subsistemas que são implementados como processos separados e fornecem um ambiente de execução compatível com a aplicação. Tal ambiente é composto por uma interface gráfica, um interpretador de comandos, uma interface de programação compatível com as chamadas do sistema implementado pelo subsistema. A estrutura do Windows NT divide-se em duas partes. A primeira é o modo usuário, onde se localizam os subsistemas protegidos, que residem em processos separados e interagem uns com os outros através do LPC (Local Procedure Call), um mecanismo de trocas de mensagens. A segunda é o modo kernel (o executivo), onde rodam os componentes que necessitam desempenho e por isso não se sujeitam a trocas de contexto e de modo em sua interação uns com os outros ou com o hardware.
O escalonador do Windows NT é preemptivo com, onde as prioridades são organizadas em duas classes: tempo real e variável. Cada classe possui 16 níveis de prioridades, sendo que as threads de tempo real têm precedência sobre as threads da classe variável. Todas as threads prontas para executar são mantidas em estruturas de filas de acordo com as prioridades em cada uma das classes. Cada fila é atendida por uma política de Round-robin. A atribuição de prioridades é diferente para cada uma das classes. As threads da classe de tempo real possuem prioridade fixa determinada no momento da criação, enquanto que as threads da classe variável tem suas prioridades atribuídas de forma dinâmica. Assim quando uma thread da classe variável é criada, recebe uma prioridade e é inserida sempre na fila dessa prioridade, já uma thread da classe variável pode migrar entre as filas de prioridades. Na classe variável, a prioridade das threads é formada por dois parâmetros, um vinculado a própria thread e o outro vinculado ao processo a que ela pertence. Um objeto processo recebe na sua criação, uma prioridade que varia de zero a quinze e cada thread recebe uma prioridade variando de duas unidades para cima ou para baixo da prioridade do processo. O critério usado para variar a prioridade de uma thread é o tempo de uso do processador. Se a thread é interrompida por usar todo o quantum de tempo que lhe foi atribuído, o escalonador do Windows 2000 reduz sua prioridade, caso contrário sua prioridade é aumentada.
O sistema de memória virtual do Windows NT é baseado em um espaço linear de 32 bits, o que fornece até 4 GB de memória virtual. Normalmente, esse espaço é dividido igualmente entre o processo usuário (parte inferior) e o sistema operacional (parte superior), mas há a opção de se atribuir 3 GB ao processo usuário e 1 GB ao sistema operacional. Também é prevista a extensão VLM (Very Large Memory) para os processadores de arquitetura de 64 bits, que permitem a alocação de até 28 GB de memória suplementar. Já a alocação de memória é realizada em duas fases. Primeiro, o processo reserva um certo número de páginas da memória virtual sem necessariamente utilizá-las. Em seguida, à media que o processo necessita de memória, essas páginas pré-alocadas são mapeadas a áreas efetivas de armazenamento (commit). As páginas podem ter três estados diferentes: livre (páginas não utilizadas pelo processo), reservadas (alocadas a algum processo, porém não mapeadas em disco físico) e dedicadas (já mapeadas)
A tradução de um endereço virtual em endereço físico se baseia em uma tabela de paginação em dois níveis. Assim, o endereço virtual de 32 bits é formado por três componentes: índice de diretório de páginas, índice de tabelas de páginas e índice de byte (deslocamento dentro da página). O endreço de páginas é acessado para determinar qual a tabela de páginas correspondente ao endereço virtual. A entrada da tabela, por sua vez, possui informações referentes ao endereço da página a ser acessada. Finalmente, o índice de byte é somado ao endereço inicial da página em memória correspondendo ao endereço físico.
Para um sistema de gerencia de memória baseado em paginação, é necessário determinar quando e como buscar páginas do disco (swap) para a memória. O algoritmo de paginação é baseado por demanda com clustering. Nesse esquema, quando ocorre uma falta de página, o gerenciador de memória carrega a página que faltava e algumas ao redor. Uma das vantagens do clustering é a minimização do número de acessos ao disco provocados pela paginação de um processo. Além disso, a carga de páginas em avanço diminui o número de leituras individualizadas, e aumenta a probabilidade de um processo paginado acessar a memória diretamente. A política para a substituição de páginas na memória depende da arquitetura e do processador da máquina. Para arquiteturas do tipo multiprocessador, a estratégia é baseada em FIFO. Para arquiteturas monoprocessadas, o algoritmo de seleção da página é LRU, implementado através do algoritmo do relógio (clock). Para representar o número de páginas presentes em memória para um processo, é usado o Working Set. Existem um valor mínimo e um valor máximo definidos a partir do tamanho, e o Working Set é ajustado a depender da quantidade de memória existente e da necessidade dos processos.
[editar] Versões do Windows NT
NT Ver. | Nome comercial | Edições | Data de Lançamento | Desenvolvimento |
---|---|---|---|---|
NT 3.1 | Windows NT 3.1 | Workstation (denominado Windows NT), Advanced Server | 27 de Julho de 1993 | 528 |
NT 3.5 | Windows NT 3.5 | Workstation, Server | 21 de Setembro de 1994 | 807 |
NT 3.51 | Windows NT 3.51 | Workstation, 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, IA-64, Media Center (2002, 2003, 2004 & 2005), Tablet PC, Starter, Embedded, N | 25 de Outubro de 2001 | 2600 |
NT 5.2 | Windows Server 2003 | Standard, Enterprise, Datacenter, Web, Small Business Server | April 24 2003 | 3790 |
NT 5.2 | Windows XP (x64) | Professional x64 Edition | 25 de Abril de 2005 | 3790 |
NT 6.0 | Windows Vista | Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate | Empresas: November 2006 Lançamento oficial: Janeiro de 2007 |
Desconhecido |
[editar] Requisitos mínimos de hardware para Windows NT (x86)
Versão | CPU | RAM | Espaço livre em disco |
---|---|---|---|
NT Workstation 3.51 | 386, 25 MHz | 8 MB | 90 MB |
NT 4.0 Workstation | 486, 33 MHz | 12 MB | 110 MB |
2000 Professional | Pentium, 133 MHz | 32 MB | 650 MB |
XP Professional [1] | Pentium MMX, 233 MHz | 64 MB | 1.5 GB |
Vista [2] | Pentium III, 800 MHz | 512 MB | 15 GB |