- 3.14 – WINDOWS NT
- 3.14.1 – INTRODUÇÃO
- Em 1992, a MICROSOFT ampliou sua área de atuação apresentando o seu novo SO de 32 bits, o WINDOWS NT (NEW TECHNOLOGY), que foi projetado por David Cutler (ex Digital, de outros SOs PDP/RSX-11M e VAX/VMS e de compiladores VAX, PL/I e C);
- O projeto do NT atendeu a diversas plataformas de hardware de diferentes fabricantes, como DIGITAL (ALPHA AXP) e INTEL (PENTIUM), com duas versões: WINDOWS NT WORKSTATION (voltado para mercado de estações de trabalho, oferecendo um SO com alto grau de segurança e proteção) e WINDOWS NT SERVER (voltado para o mercado de servidores em geral, seja de arquivos, impressão, de comunicação, de processamento, de bancos de dados, em redes locais, apresentando uma alta interoperabilidade);
- 3.14.2 – CARACTERÍSTICAS
- SO de 32 bits, multitarefa, multithread, multiprocessamento simétrico (SMP) e que implementa gerência de memória virtual e oferece:
- Suporte múltiplas plataformas (INTEL e ALPHA);
- Espaço em disco de até 16 exabytes;- Gerência centralizada dos usuários;- Nível de segurança C2;- Contabilização de recursos e eventos;- Serviço de Acesso Remoto (RAS);- Suporte a aplicação MS-DOS, WIN16, WIN32,
OS/2 e POSIX;- Tolerância a falhas (RAID 0,1 e 5);- Convivência e suporte com redes (DEC
PATHWORKS, BANYAN VINES, MICROSOFT, IBM LAN MANAGER, IBM SNA, MS WINDOWS FOR WORKGROUPS, NOVELL NETWARE e redes TCP/IP);
- Suporte a múltiplos protocolos (NETBEUI, TCP/IP, NWLINK, AFP e DLC);
- Suporte a diversos clientes MS-DOS, MS-WINDOWS, WINDOWS FOR WORKGROUPS, WINDOWS 9X e 2000, WINDOWS ME, WINDOWS XP, WINDOWS NT WORKSTATION, MACINTOSH, OS/2 e NOVELL NETWARE);
- Suporte a múltiplos sistemas de arquivos (FAT, NTFS e CDFS);
- O WINDOWS NT trabalha com o conceito de domínio. Neste modelo, os serviços da rede, sua administração e segurança estão centralizados (SAM –SECURITY ACCOUNT MANAGER) em certas estações, que atuam como provedores de serviços (servidores) para outras estações da rede (clientes – que devem se logar na rede com seu username, password e domínio para acessar os seus direitos), constituindo o modelo cliente-servidor;
- 3.14.3 – ESTRUTURA DO SISTEMA
- Seu código na maior parte foi escrito em C, sendo que alguns módulos foram desenvolvidos em C++, ASSEMBLER. O código do sistema dependente do hardware foi isolado em uma biblioteca HAL (HARDWARE ABSTRACTION LAYER) garantindo uma facilidade muito grande de ser portado para diferentes plataformas;
- A arquitetura é baseada em objetos e dividida em duas partes: a NT PROTECTED SUBSYSTEMS que roda no modo usuário, serviços e aplicações através de uma system call (API – APLICATION PROGRAM
DOMÍNIO REDE_RH
ADMINISTRAÇÃO E SEGURANÇA
INTERFACE); e NT EXECUTIVE que permite acesso ao modo kernel através de interrupções e exceções, LPC – LOCAL PROCEDURE CALL, rotinas de tratamento TRAP e HANDLE;
- 3.14.4 – PROCESSOS
OBJETOSPROCESSOTHREADSEÇÃOARQUIVOPORTA
TOKEN ACESSOEVENTOSEMÁFORO
TEMPORIZADOR
DESCRIÇÃOAMBIENTE PARA EXECUÇÃO DE UMA APLICAÇÃO
IDENTIFICAÇÃO DO PROCESSOANÚNCIO DA OCORRÊNCIA DE EVENTOS
CONTADOR DE RECURSOS ALOCADOS POR UM PROCESSOCONTADOR DE TEMPO
UNIDADE DE EXECUÇÃO EM UM PROCESSOÁREA COMPARTILHADA DA MEMÓRIA
INSTÂNCIA DE UM BD OU DISPOSITIVOCAMINHA PARA TROCA DE MENSAGENS
ESTRUTURA DO SISTEMA
MODO USUÁRIOSUBSISTEMAPROTEGIDO(SERVIDORES)
APLICAÇÕES
EXECUTIVO
MODO KERNEL
PROCESSO DE LOGON
CLIENTE OS/2
CLIENTEWIN32
CLIENTE POSIX
SUBSISTEMAOS/2
SUBSISTEMA WIN32
SUBSISTEMA POSIX
SUBSISTEMA SEGURANÇA
SERVIÇOS DO SISTEMAGERENTE
DE OBJETOSGERENTE DE PROCESSOS
LOCAL PROC. CALL
GERENTE MEM.VIRTUAL GERENTE E/S
- SISTEMA DE ARQUIVOS- GERENTE DE CACHE- DEVICE DRIVERS- DRIVERS DE REDE
MONITOR DESEGURANÇA
KERNEL
HAL – HARDWARE ABSTRACTION LAYER
HARDWARE
TOKEN ACESSO
PROCESSOTABELA OBJETOS
ESTRUTURA DO PROCESSO
THREADHANDLE 1HANDLE 2
ESPAÇO DE ENDEREÇAMENTO VIRTUAL
- 3.14.5 – GERÊNCIA DO PROCESSADOR
- A gerência do processador do NT define a política de divisão de tempo da CPU entre os diversos threads, incluindo processos do usuário e do próprio sistema. O mecanismo de seleção do thread a ser executado é realizado por uma rotina do kernel denominada dispatcher;
- A política de escalonamento é implementada através de prioridades associadas aos threads (inicialmente ele recebe a prioridade do processo a
HANDLE 3 ARQUIVO
SEÇÃO
PROCESSO MULTITHREAD
PROCESSDCLIENTE
PROCESSDCLIENTE
PROCESSDCLIENTE
KERNEL
PROCESSDSERVIDOR
MODO USUÁRIO MODO KERNEL
ESTADOS E MUDANÇAS DE ESTADO
CRIAÇÃO DO THREAD CRIAÇÃO
TERMINADO
ESPERA
TRANSIÇÃO
PRONTO
STANDBY
EXECUÇÃO
REINICIALIZAÇÃO
SELECIONADO PARA
EXECUÇÃOTÉRMINO DA EXECUÇÃO
TROCA DE CONTEXTO
1
2 34
5
6
1 PREEMPÇÃO POR PRIORIDADE2 ESPERA POR RECURSO DO SISTEMA3 RECURSO DISPONÍVEL4 ESPERA POR UM EVENTO5 EVENTO OCORRIDO6 PREEMPÇÃO POR TEMPO/PRIORIDADE
ESTADO
PRONTOSTANDBYEXECUÇÃOESPERA
TRANSIÇÃOTERMINADO
DESCRIÇÃO
THREAD AGUARDANDO UMA CHANCE PARA SER EXECUTADO/ESPERANDO CPUTHREAD AGUARDANDO QUE TROCA DE CONTEXTO GANHE A CPU
PROCESSO SENDO EXECUTADO PELA CPUPROCESSO AGUARDANDO ALGUM EVENTO PARA RETORNAR ESTADO PRONTO
AGUARDA RECURSO DO SISTEMA PARA RETORNAR ESTADO PRONTOTHREAD ENCERRADO, PODENDO SER ELIMINADO OU NÃO
qual pertence, que pode ser alterada durante sua existência). O NT implementa 32 níveis de prioridades (0 a 15 – prioridade variável e 16 a 31 – prioridade de tempo real);
- Na faixa de prioridade variável um processo só deixa a CPU quando: do término de execução do thread, thread de maior prioridade (preempção por prioridade) dinâmica, solicitação de um evento ou recurso, término do quantum;
- Na faixa de tempo real um processo só deixa a CPU quando: do término de execução do thread, thread de maior prioridade (preempção por prioridade) base ou estática, solicitação de um evento ou recurso;
- 3.14.6 – GERÊNCIA DE MEMÓRIA
- O NT trabalha com o mecanismo de gerência de memória virtual através da técnica de paginação (mantém em memória física somente parte da memória virtual do processo em uso, fazendo que endereços reais e virtuais sejam divididos em páginas) e implementação do working set (limita o número de frames na memória principal entre os diversos processos ocasionando pelo menos uma operação de E/S, porque a página necessária não se encontra na memória principal naquele instante – page fault), para permitir um melhor compartilhamento dos recursos;
TEMPO REAL
PRIORIDADE VARIÁVEL
31
16
15
0
NÃO PAGINÁVEL
PAGINÁVEL
ENDEREÇAMENTO DIRETO
MEMÓRIA DO SISTEMA (2GB)
ESPAÇO DE ENDEREÇAMENTO VIRTUAL
- 3.14.7 – SISTEMA DE ARQUIVOS
- O NT suporta três tipos de sistemas de arquivos: CDFS (leitura em CD-ROM), FAT e NTFS;
PAGINÁVELMEMÓRIA DO USUÁRIO(2GB)
MAPEAMENTOTABELA
DIRETÓRIO
END.TABELA DE PÁGINAS
...
TABELA DE PÁGINA
...
ENDEREÇÓ DA PÁGINA
PÁGINA
...
DADO
DESLOCAMENTO NA TABELA DIRETÓRIO
DESLOCAMENTO NA TABELA DE
PÁGINAS
DESLOCAMENTO DENTRO DAS PÁGINAS
LISTA DE PÁGINAS LIVRES
EXECU-TÁVEL
ARQUIVODE PAGI-NAÇÃO
B
H
F
A E D
WORKING SET
G
CE
LISTA DE PÁGINAS MODIFICADAS
CARACTERÍSTICASIDENTIFICAÇÃO ARQUIVOS/DIRETÓRIOS
FAT NTFS255 255
- 3.14.8 – GERÊNCIA DE E/S
- O subsistema de E/S é a parte do executivo do NT responsável por receber solicitações de E/S dos processos e repassá-las aos diferentes tipos de dispositivos de E/S, como teclados, impressoras, terminais, discos, CD-ROM e mesmo a rede;
COMPONENTE
GERENTE DE E/S
SISTEMA DE ARQUIVOS
DRIVES DE REDE
TAMANHO MÁXIMO DE ARQUIVOSTAMANHO MÁXIMO DA PARTIÇÃO
NÍVEL DE SEGURANÇAESTRUTURA DE DIRETÓRIOS
PODE SER ACESSADO
4 GB 16 EB4 GB 16 EB
MÍNIMA MÁXIMA LISTA ENCADEADA ÁRVORE-B DOS,OS/2,WNT,W9X NT
DEVICE DRIVERS
GERENTE DE CACHE
DESCRIÇÃO
DEFINE COMO PEDIDOS E/S SÃO PASSADOS DEVICE DRIVES
DRIVES RESPONSÁVEIS PELA E/S NA REDE
DRIVES DE BAIXO NÍVEL QUE MANIPULAM O HARDWARE
MELHORA O DESEMPENHO DA OPERAÇÕES E/S
CADA SA (FAT,CDFS,NTFS) POSSUI O SEU DRIVE DE E/S
SUBSISTEMA DE E/S
SERVIÇOS DO SISTEMA
GERENTE DE E/S
MONITOR E TECLADO
IMPRESSORA DISCO
SISTEMA DE ARQUIVOS
DRIVERS REDEDEVICE DRIVERS
SUBSISTEMA DE E/SMODO USUÁRIO
MODO KERNEL