Rozdział 1
Wprowadzenie do Windows NT
Czym jest Windows NT
W 1988 roku w firmie Microsoft zapadła decyzja o opracowaniu
nowego systemu operacyjnego. W założeniu przyjęto, że będzie to
system zapewniający wysoki stopień bezpieczeństwa, przenośności,
zgodności i kompatybilności. Szczególny nacisk położono na
skalowalność, rozszerzalność oraz łatwość opracowywania wersji
narodowych. Oznaczało to, że NT działać powinien na
różnorodnych platformach sprzętowych bez konieczności
dokonywania w
nim gruntownych zmian, dając możliwość
zamknięcia sesji z poziomu programowego, zgodnie z wymaganiem
NSA poziomu C2. System ten powinien być zgodny ze standardem
POSIX, obsługiwać wieloprzetwarzanie symetryczne - SMP
(Symmetric Multiprocessing); powinien też - poprzez interfejs API
- umożliwiać łatwe dokonywanie jego rozszerzeń.
Tabela 1.1. Podstawowe założenia systemu Windows NT.
Założenie
O pis
Przenośność
Praca na różnorodnych platformach
sprzętowych bez konieczności
dokonywania gruntownych zmian.
Bezpieczeństwo
Zapewnienie możliwości zamknięcia sys-
temu z poziomu programowego, zgodnie
z wymaganiem NSA poziomu C2.
Zgodność
i kompatybilność
Zgodność ze standardem POSIX, urucha-
mianie aplikacji Windows i
obsługa
otwartych standardów
międzynarodowych.
Skalowalność
Obsługa wieloprzetwarzania
80
Rozdział 1
Założenie
O pis
symetrycznego (SMP).
Rozszerzalność
Łatwa rozbudowa poprzez system
interfejsów programów użytkowych
(API).
Łatwość
opracowywania wersji
narodowych
Komentarz zbyteczny.
W celu opracowania systemu spełniającego wymienione powyżej
założenia, Microsoft zaangażował pracowników z firmy Digital
Equipment Corporation (DEC), słynącej z
takich systemów
operacyjnych, jak RSX-11M oraz z
prac nad architekturą
komputerów VAX.
Prace nad nowym systemem trwały prawie pięć lat i pochłonęły
miliony dolarów. Pierwotnie, wersji Windows NT nadano numer
3.1, aby wskazać na powiązania z Windows 3.1, zarówno jeśli
chodzi o interfejs użytkownika, jak i możliwość uruchamiania
programów. Jak się potem okazało, były to jedyne cechy wspólne
obu wymienionych systemów.
Nową architekturę NT , opartą o mikrojądro, starano się upodobnić
do systemu UNIX. Dzięki mikrojądru zapewniono w
NT
wielozadaniowość z wywłaszczaniem. Wykorzystano tutaj także
wątki - pomysł spopularyzowany przez system MACH, opracowany
w Carnagie Mellon - dla obsługi wieloprzetwarzania symetrycznego.
Wykorzystując mikrojądro jako podstawę, dodano do
opracowywanego systemu wiele nowych cech i usług, wliczając w to
zintegrowany podsystem bezpieczeństwa, abstrakcyjny wirtualny
interfejs sprzętowy, system obsługi sieci wieloprotokołowych,
odporność na błędy, zintegrowane narzędzia do zarządzania
graficznym interfejsem użytkownika (GUI) i wiele innych.
Na rynku pojawiły się równocześnie dwie różne wersje systemu -
jedna pod nazwą Windows NT 3.1, druga jako Windows NT
Advanced Server 3.1. Obie jednak - przez brak kompatybilności
z istniejącym oprogramowaniem dla Windows oraz wysokim
wymaganiom sprzętowym - nie stanowiły zagrożenia dla
Wprowadzenie do Windows NT
81
dominującego na rynku sieciowych systemów operacyjnych
NetWare Novell'a.
Jesienią 1994 Microsoft zaproponował nową wersję systemu
Windows NT , oznaczoną numerem 3.5. Wprowadzono tutaj wiele
ważnych zmian i
usprawnień, obejmujących m.in.
wieloprotokołowe usługi zdalnego dostępu z
wykorzystaniem
protokołu komunikacyjnego pomiędzy dwoma stacjami (Point-to-
Point Protocol - PPP), korektę błędów pamięci, usunięcie wielu
błędów, napisany na nowo program obsługi protokołu T CP/IP.
Jednak dopiero z pojawieniem się wersji 4.0 systemu NT można
mówić o
próbie ustanowienia przez Microsoft standardów
obowiązujących na rynku. Serwer NT 4.0 oferuje nie tylko interfejs
użytkownika Windows 95, ale także sieciowe łączenie i wstawianie
obiektów (Network OLE), serwer informacyjny Internetu - IIS
(Internet Information Server ) w wersji 2.0, RAS multilink i RAS
autodial, Point-to-Point T unneling Protocol (PPT P), w pełni
zintegrowany system DNS i
WINS, zintegrowany router
wieloprotokołowy, rozszerzona obsługa sterowników, zwiększona
wydajność i wiele innych.
16-bitowe i 32-bitowe systemy operacyjne
Systemy 16-bitowe i 32-bitowe różnią się przede wszystkim metodą
obsługi wewnętrznych struktur procesora i - w konsekwencji -
komputera. Co więcej, niektóre procesory zostały opracowane
z przeznaczeniem do pracy w strukturach o określonym rozmiarze.
Uwaga: Microsoft zaangażował się także w prace nad 64-bitową
wersją systemu NT. Oczywiście nie będzie to w pełni 64-bitowy
system operacyjny, pozwoli on jedynie na wykorzystywanie 64-
bitowych struktur danych i 64 bitową jednolitą przestrzeń adresową
pamięci. Właściwość ta będzie z
pewnością ogromną zaletą
w dziedzinie obsługi baz danych.
Jedną z cech 32-bitowej wersji systemu operacyjnego Microsoft-u
jest obsługa 32-bitowego płaskiego, chronionego modelu pamięci
jednolitej (flat memory model), co pozwala - w porównaniu z 16-
bitowym Windows - na bardziej przejrzyste zarządzanie pamięcią
82
Rozdział 1
oraz na tworzenie i adresowanie bardzo dużych struktur danych.
Bazą 32-bitowego systemu operacyjnego Windows jest w pełni 32-
bitowe jądro. Zadaniem jądra jest koordynacja pracy systemu oraz
zarządzanie pamięcią. Dodatkowo, 32-bitowy system operacyjny
pozwala na wykorzystanie 32-bitowych sterowników, umożliwiając
między innymi szybszą komunikację z obsługiwanymi urządzeniami.
Większość z
pozostałych cech 32-bitowej wersji systemu
operacyjnego Windows ma swoje źródło w wykorzystaniu interfejsu
Win32 API. Interfejs ten może być w pełni używany jedynie przez
32-bitowe jądro, w jakie wyposażone są systemy NT i Windows 95.
Wśród zalet płynących z zastosowania interfejsu Win32 API
wymienić należy obsługę plików o długich nazwach, 32-bitowy
instalowalny system plików, lepsze zarządzanie zasobami systemu.
Co z DOS-em
Być może jednym z największych osiągnięć autorów Windows NT
było całkowite wyeliminowanie systemu DOS.
Uwaga: Windows NT nie zawiera kodu DOS-u jako system
operacyjny, potrafi go jednak emulować. W przeciwieństwie do NT,
Windows 95 - w celu uruchomienia aplikacji przeznaczonych dla
DOS-u - wciąż bazuje na kodzie systemu DOS.
Pomimo tego, że Windows NT pozbawiony został elementów DOS-
u, wciąż pozwala on na uruchamianie większości programów, dla
tego systemu przeznaczonych. Aplikacje DOS-owe nie mogą jednak
żądać bezpośredniego dostępu do sprzętu ani też specjalnego rodzaju
sterowników. Programy takie działają w
oparciu o
wirtualne
środowisko DOS - tzw. wirtualna maszyna NT dla DOS-u - NTVDM
(NT Virtual DOS Machine). System NT przechwytuje wszystkie
odwołania do DOS-u i przekształca je w standardowe odwołania do
interfejsu Win32 API. Stąd też pewne aplikacje DOS-owe (np.
intensywnie współpracujące z
dyskiem twardym) w
środowisku
emulowanym przez NT będą działały szybciej, niż pod nadzorem
DOS-u (na tej samej maszynie). Z uwagi na fakt, iż wirtualna
maszyna NT dla DOS-u emuluje obsługę takich urządzeń, jak
sterownik myszy, sterowniki sieciowe, sterowniki CD-ROMów,
częstokroć udostępnia programom znacznie większy obszar pamięci
Wprowadzenie do Windows NT
83
konwencjonalnej, niż miałoby to miejsce w pracy z rzeczywistym
systemem MS-DOS.
Założenia projektowe serwera NT
Poniżej przedstawimy podstawowe założenia Windows NT ,
przyjęte przez zespół autorski jeszcze w fazie projektowej.
System operacyjny typu klient/serwer
Fundamentalnym założeniem w
pracach nad systemem
operacyjnym NT było przyjęcie struktury klient/serwer. Założenie
to oznacza, iż cały system operacyjny może zostać podzielony na
szereg małych, niezależnych od siebie jednostek, wzajemnie się
komunikujących przy użyciu określonego zestawu komunikatów.
Jednostka wymagająca określonej usługi będzie fakt ten
komunikowała jednostce, która jej może dostarczyć. Jednostka
zgłaszająca zapotrzebowanie pełni rolę klienta, obsługująca
natomiast jest serwerem. Dla przykładu programy użytkownika
zazwyczaj pełnią rolę klientów. Wymagają one obsługi ze strony
pewnych podsystemów, które dla programów użytkownika są
serwerami. Natomiast wspomniane podsystemy mogą zażądać
obsługi od innych części systemu, stając się tym samym ich
klientami. Cały pomysł polega na tym, aby każdy z fragmentów
systemu operacyjnego działał w swoim własnym, zastrzeżonym
obszarze pamięci (odseparowany od innych realizowanych
programów). T akie rozwiązanie zapobiega awarii całego systemu
przy uszkodzeniu pojedynczego serwera.
Jednolity 32-bitowy model pamięci
Jak wiadomo DOS został opracowany jako 16-bitowy system
operacyjny. Oznacza to, że jednorazowo adresowany jest tutaj
obszar pamięci o wielkości 16 bitów. Fakt ten stanowił istotny
mankament w Windows 3.x. 16-bitowa natura DOS-u wymagała,
aby wszystko było zapisywane w 64KB (16-bitowych) segmentach
programu. W odniesieniu do tablicy alokacji plików (FAT ) 16-
bitowe ograniczenie oznacza możliwość zaadresowania na
pojedynczym wolumenie jedynie 65536 klasterów. Gdy
84
Rozdział 1
opracowywano DOS fakt ten - ze względu na niewielką pojemność
oferowanych wówczas dysków - nie stanowił poważnego
ograniczenia. Jednakże dziś limit ten prowadzi do marnotrawienia
ogromnych obszarów pamięci dyskowych.
Uwaga: Aby zapewnić kompatybilność w wersji tablicy FAT w NT
(tzw. VFAT) zastosowano także tryb 16-bitowy do adresowania
klasterów, tym samym ograniczając wielkość pojedynczego
wolumenu do 65536 klasterów. Sposobem na ominięcie tego
ograniczenia w Windows NT jest zastosowanie całkowicie nowego
systemu plików - NTFS. W Windows 95 zdecydowano się na
wprowadzenie nowej, 32-bitowej wersji tablicy FAT. Niestety jest
ona całkowicie niekompatybilna z większością istniejących narzędzi
dyskowych.
Ponieważ Windows NT jest 32-bitowym systemem operacyjnym,
w celu uzyskania dostępu do obiektów wykorzystuje on adresy 32-
bitowe. Wśród zalet takiego rozwiązania wymienić należy
stosowanie 32-bitowego modelu pamięci jednolitej (flat), czemu
można przeciwstawić 16-bitową segmentową organizację pamięci
z
DOS-u. T akie rozwiązanie pozwala systemowi NT na
zaadresowanie do 4194394KB (4GB) pamięci.
M odel pamięci chronionej
W celu zapewnienia niezawodności systemu wprowadzono
w Windows NT (między innymi) model pamięci chronionej.
Windows 3.x odziedziczył strukturę pamięci po systemie DOS. Przy
takim rozwiązaniu wszystkie uruchamiane programy miały
zasadniczo dostęp do dowolnego miejsca w pamięci, włączając w to
obszary wykorzystywane przez system operacyjny. Niewłaściwie
funkcjonujący program mógł zapisać dane w przedziale pamięci,
wykorzystywanym przez inną aplikację, czy nawet przez sam
system operacyjny. Jedna źle napisana aplikacja była w stanie
doprowadzić do zawieszenia całego systemu. Co więcej, rozwiązania
zastosowane w Windows 3.x pozwalały na niemal swobodny dostęp
do każdej informacji znajdującej się w systemie, nie było więc mowy
o jakimkolwiek mechanizmie ochrony danych.
Wprowadzenie do Windows NT
85
W Windows NT każdy z procesów otrzymuje swoją własną, 32-
bitową przestrzeń adresową. Dostępny, 4GB obszar pamięci został
tutaj podzielony na dwie równe części, z których bezpośrednio
aplikacje mogą wykorzystywać jedynie pierwszą. Pozostałe 2GB
pamięci służą do wymiany danych pomiędzy poszczególnymi
elementami systemu. Dzięki temu, każdy proces zachowuje się tak,
jakby był jedynym, realizowanym w
systemie. Nie ma on
możliwości zarówno odczytu, jak i
zapisu danych poza
przydzielonym mu obszarem pamięci. T ym samym wyeliminowano
90% przyczyn (z Windows 3.x) zawieszania się systemu, tworząc
skuteczny system ochrony danych przed niepowołanym dostępem.
Uwaga: Niektóre z
16-bitowych aplikacji uruchamiane są
w obszarze pamięci dzielonej z innymi programami (część z nich
nawet wymaga takiego uruchomienia do poprawnej pracy). Z tego
powodu, domyślnie, wszystkie aplikacje 16-bitowe realizowane
w Windows NT są umieszczane w specjalnym obszarze pamięci
współdzielonej. Oznacza to, że potencjalnie aplikacje 16-bitowe są
w stanie zakłócić pracę innych aplikacji 16-bitowych.
Wielozadaniowość z wywłaszczaniem
Istnieją dwa zasadniczo różne typy wielozadaniowych w systemów
operacyjnych: współbieżne i wywłaszczające. W
komputerach
osobistych najczęściej stosowane jest pierwsze z wymienionych
rozwiązań (tak np. jest w Windows 3.x oraz Mac OS firmy Apple).
W środowiska wielozadaniowości współbieżnej system operacyjny
przekazuje kontrolę nad komputerem uruchamianej aplikacji,
umożliwiając tym samym jej poprawną pracę. Gdy aplikacja taka
kończy swoją pracę, zwraca kontrolę nad komputerem systemowi
operacyjnemu, który może ją przekazać następnej aplikacji. W celu
przerwania pracy programu w Windows 3.x wykorzystywana była
specjalna kolejka komunikatów, za pomocą której system
operacyjny informował aplikacje o tym, że powinny przekazać mu
kontrolę nad komputerem. W konsekwencji autorzy aplikacji
powinni im zapewnić możliwość regularnej weryfikacji
komunikatów i poprawnej reakcji na umieszczane tam informacje
86
Rozdział 1
(w szczególności, aby na żądanie systemu operacyjnego zwracały
mu kontrolę nad komputerem).
Inaczej funkcjonuje model wielozadaniowości z wywłaszczaniem.
T utaj kontrolę nad komputerem zawsze zachowuje mikrojądro.
Uruchamianym procesom są jedynie udostępniane określone
przedziały czasu, w których mogą być realizowane. Po upływie
wyznaczonego czasu, mikrojądro wywłaszcza realizowany proces
i przekazuje kontrolę następnemu.
Innym zagadnieniem, któremu warto poświęcić uwagę przy
omawianiu wielozadaniowości jest tzw. kod niewielowejściowy.
W systemach wielozadaniowych często istnieje potrzeba wykonania
pojedynczych segmentów kodu równocześnie przez więcej niż jeden
proces, a nawet przez kilka wątków tego samego procesu. Kod
umożliwiający taką procedurę jest nazywany kodem
wielowejściowym. Kod funkcji tej pozbawiony jest kodem
niewielowejściowym. Wynika stąd, że jeśli chcemy korzystać
z zalet pełnej wielozadaniowości, zarówno kod systemu
operacyjnego jak i kody poszczególnych aplikacji muszą być w
pełni wielowejściowe.
Uwaga: Dla porównania należy zauważyć, że pomimo tego, że
Windows 95 zapewnia wielozadaniowość z wywłaszczaniem, duże
fragmenty zawartych w nim procedur użytkownika i GDI napisane
są jako niewielowejściowe. Fakt ten wynikał z zamiaru zapewnienia
kompatybilności z wcześniejszymi programami. Takie rozwiązanie
prowadzi do sytuacji, w których, gdy dowolna aplikacja wymaga
dostępu do kodu, który nie jest wielowejściowy, wielozadaniowość
jest wyłączana. Dzieje się tak, aby zapobiec ewentualnym
blokadom w systemie, kiedy to kilka procesów wymaga dostępu do
tego samego fragmentu kodu, który jest niewielowejściowy.
W Windows NT takie ograniczenie nie występuje.
Przenośność
Jeszcze kilka lat temu sądzono, że zachowywanie kompatybilności
nowych procesorów Intela z rodziny x86 ze starszymi ich wersjami
(z procesorami 8086, 80286, 80386, i486 oraz Pentium) wyznaczy
w konsekwencji bariery dalszego rozwoju. Zarówno DOS jak
Wprowadzenie do Windows NT
87
i Windows były blisko związane z wymienioną rodziną procesorów -
ze względu na oprogramowanie, tworzone z myślą o uruchamianiu
na tychże procesorach, oprogramowanie w asemblerze x86 (w celu
osiągnięcia jak największej efektywności pracy). Wprawdzie
rozwiązania, które zastosowano w
ostatnio opracowywanych
procesorach, zdają się zaprzeczać takiemu poglądowi (czego
najlepszym przykładem może być procesor Pentium Pro), trzeba
jednak przyznać, że większy stopień przenośności tworzonego
oprogramowania zmniejszy rolę kompatybilności nowych
procesorów z ich poprzednikami.
Ostatecznym rozwiązaniem istniejącego problemu byłoby
stworzenie przenośnego systemu operacyjnego - tj. systemu, który
mógłby szybko i bez trudu być przenoszony na nowe generacje
procesorów, zaraz po ich pojawieniu się na rynku. Dla Microsoftu,
zdającego sobie sprawę ze znaczenia takiego rozwiązania i mającego
na względzie przyszły rozwój procesorów Intela z rodziny x86,
aspekt przenośności ma fundamentalne znaczenie. Dzięki temu
możliwe jest uruchomienie NT nie tylko na procesorach Intel x86,
ale także o architekturze RISC - takich, jak DEC Alpha AXP,
MIPS R4400 czy też Motorola PowerPC. U podstaw zapewnienia
przenośności systemu Windows NT leży abstrakcyjna warstw
sprzętowa - HAL. Pozwala ona na ukrycie różnic sprzętowych
przed oprogramowaniem systemowym wyższego poziomu. Dzięki
warstwie HAL każdy element sprzętu - z
punktu widzenia
pozostałej części systemu NT - wygląda jednakowo.
Skalowalność
W Windows NT skalowalność oznacza możliwość pełnego
wykorzystania układów wieloprocesorowych, połączonych w jeden
system. Kluczowym rozwiązaniem dla zapewnienia skalowalności
jest zastosowanie wieloprzetwarzania symetrycznego (SMP).
Przetwarzanie SMP pozwala na uruchomienie serwera NT na
maszynach zawierających od 1 do 32 procesorów i wyposażonych
w pamięć o wielkości do 4GB. System NT automatycznie, w sposób
dynamiczny, przydziela pojawiające się wątki aplikacji oraz wątki
systemowe do wykonania poszczególnym procesorom.
88
Rozdział 1
Należy zdawać sobie sprawę z faktu, iż skalowalność nie jest jedynie
limitowana możliwościami systemu operacyjnego. Zyski płynące
z
wieloprzetwarzania symetrycznego zależą także od
zastosowanego sprzętu i uruchamianych aplikacji.
Środowisko robocze\Kompatybilność
Środowisko robocze jest kluczem do kompatybilności. Większość
systemów operacyjnych (nie wyłączając DOS-u) ograniczona jest
pojedynczego środowiska roboczego (w systemie DOS mogą
pracować tylko programy DOS-u). Mankament ten nie odnosi się
oczywiście do systemu NT , który - w zależności od potrzeby -
potrafi zachowywać się nawet jak OS/2, POSIX, czy UNIX.
Lokalizacja
System Windows NT jest obecnie dostępny w wersjach przeznaczo-
nych dla Brazylii, Chin, Danii, Holandii, Finlandii, Francji,
Niemiec, Włoch, Japonii, Korei, Norwegii, Portugalii, Rosji,
Hiszpanii, Szwecji. W każdej z tych wersji starano się wykorzystać -
odpowiednie dla wersji narodowej - standardowe idiomy, formaty
zapisu dat, czasu, liczb i waluty, zasady interpunkcji itp.
Windows NT do reprezentacji znaków wykorzystuje standard
Unicode (zamiast popularnego w Stanach Zjednoczonych ASCII).
Stało się tak ze względu na fakt, że standard ASCII nie zawiera wielu
znaków niezbędnych przy tworzeniu wersji narodowych systemu.
Unicode został opracowany przez konsorcjum, w skład którego
wchodzili przedstawiciele wiodących producentów, włączając w to
takie firmy, jak Microsoft, Lotus, IBM czy Borland. Należy
zaznaczyć, że w standardzie ASCII, opartym na słowie 8-bitowym,
możliwe jest zakodowanie jedynie 256 znaków, podczas gdy
w Unicode, wykorzystującym słowo 16-bitowe - aż 65536 różnych
znaków.
Uwaga: Standard Unicode znajduje także zastosowanie w Windows
95. Gdy NT korzysta z Unicode wyłącznie do przechowywania
wewnętrznych danych, w
Windows 95, dla zapewnienia
kompatybilności, oprócz Unicode wykorzystywane są inne
standardy.
Wprowadzenie do Windows NT
89
Mimo iż Windows NT zapewnia możliwość korzystania ze zbiorów
ASCII, magazynuje i manipuluje wewnętrznymi strukturami danych
za pomocą kodów Unicode. Dzięki temu NT może być szybko
adoptowany do różnych języków i regionów.
Bezpieczeństwo
Microsoft zdecydował, że Windows NT będzie spełniał kryteria
bezpieczeństwa z poziomu C2, ustanowione przez amerykańską
agencję bezpieczeństwa (United States National Security Agency).
W przeciwieństwie do innych systemów operacyjnych (włączając
w to Windows 95), zastosowane mechanizmy bezpieczeństwa
danych obejmują swym zasięgiem wszystkie elementy systemu
operacyjnego, zapewniając tym samych ochronę na najwyższym
poziomie.
Odporność na błędy
Aby Windows NT został w pełni zaakceptowany, jako system
obsługujący zarówno stacje robocze jak i serwery, musi on w sposób
w pełni przewidywalny reagować na ewentualne zagrożenia.
Windows NT posiada wiele cech decydujących o jego odporności na
błędy i to na wielu poziomach. Można tu wymienić takie
mechanizmy, jak odzyskiwalny system plików (NT FS), tworzenie
kopii danych przechowywanych na dysku (mirroring) oraz
przechowywanie różnych fragmentów pliku na różnych dyskach
(stripping) z zapisem informacji nadmiarowej (RAID1 i RAID5),
rezerwowanie sektorów dysku), obsługa zasilacza awaryjnego (UPS).
Sieciowe systemy operacyjne
Windows NT może pełnić rolę zarówno lokalnego (OS)
i sieciowego systemu operacyjnego (NOS). Aby np. OS/2 stał się
sieciowym systemem operacyjnym wyposażono go w
LAN
Manager. W Windows NT integracja OS I NOS okazuje się zbędna.
90
Rozdział 1
Czym jest sieciowy system operacyjny?
T radycyjnie sieciowym systemem operacyjnym nazywamy zestaw
metod i protokołów używanych przez klientów znajdujących się
w sieci, do komunikacji z umieszczonymi tam serwerami. Jest to
oczywiście bardzo uproszczona definicja, ale z pewnością opisuje
ona podstawowe zadania, jakie powinien spełniać sieciowy system
operacyjny. Ogólnie można powiedzieć, że każdy sieciowy system
operacyjny koncentruje się wokół serwera lub grupy serwerów.
Microsoft ma jak zwykle inne podejście do sprawy systemów
sieciowych. W większości produktów tej firmy, przeznaczonych do
pracy w sieci, nie widać wyraźnego podziału na lokalny i sieciowy
system operacyjny. Windows NT nie jest tutaj wyjątkiem. T akie
podejście wydaje się być rozsądne w
świecie, w którym sieci
komputerowe stają się integralną częścią całego środowiska.