Modułowa architektura systemu Windows NT

Hardware Abstraction Layer (HAL) - abstrakcyjna warstwa sprzętowa; warstwa systemu operacyjnego Windows NT znajdująca się między warstwą NT Executive a rzeczywistym sprzętem. Warstwa ta zawiera w sobie programowe odzwierciedlenie wszystkich zależności systemu operacyjnego od sprzętu (interfejs I/O, kontroler przerwań, komunikacja między procesorami). Warstwa wykonawcza (executive) wywołuje te same procedury warstwy HAL niezależnie od sprzętu, na którym fizycznie pracuje Windows NT. W HAL zaszyte są informacje specyficzne dla danego sprzętu (platformy sprzętowej).

Hardware Abstraction Layer (HAL) - abstrakcyjna warstwa sprzętowa; warstwa systemu operacyjnego Windows NT znajdująca się między warstwą NT Executive a rzeczywistym sprzętem. Warstwa ta zawiera w sobie programowe odzwierciedlenie wszystkich zależności systemu operacyjnego od sprzętu (interfejs I/O, kontroler przerwań, komunikacja między procesorami). Warstwa wykonawcza (executive) wywołuje te same procedury warstwy HAL niezależnie od sprzętu, na którym fizycznie pracuje Windows NT. W HAL zaszyte są informacje specyficzne dla danego sprzętu (platformy sprzętowej).

Kernel - jądro; jest rdzeniem (sercem) modułowej architektury i zarządza większością podstawowych operacji systemu Windows NT. Jądro systemu jest małych rozmiarów i zostało zaprojektowane tak, aby zapewnić jak największą wydajność systemu. Jądro jest odpowiedzialne za nadzorowanie pracy wątków (threads), synchronizację pracy wieloprocesorowej, obsługę sytuacji wyjątkowych (exeption handling) związanych z działaniem sprzętu oraz realizację funkcji niskiego poziomu związanych z konkretnym typem sprzętu, na którym uruchamiany jest system operacyjny. Realizacja programowa jądra, prawie jako jedyna w Windows NT, jest niewywłaszczalna (not preemptable) i nie może być kontekstowo przełączalna. Jądro może być jednocześnie uruchomione na wszystkich procesorach wieloprocesorowej konfiguracji spełniając funkcję synchronizacji dostępu do sekcji krytycznych.

Executive - warstwa wykonawcza (zarządzająca); warstwa, która zarządza interfejsem między jądrem a środowiskiem użytkownika (environment subsystem). Executive świadczy jednolite usługi dla różnych podsystemów znajdujących się w środowisku użytkownika. W warstwie zarządzającej znajdują się takie elementy jak: Object Manager, Virtual Memory Manager, Process Manager, Local Procedure Call Manager, I/O Manager oraz Security Reference Monitor. Warstwa ta steruje przepływem komunikatów (messages) między poszczególnymi elementami składowymi systemu Windows NT.

Object Manager - moduł zarządzania obiektami; ustala jednolite reguły dla nazewnictwa, przechowywania, zabezpieczania obiektów przed nielegalnym do nich dostępem i bezpiecznego współdzielenia obiektów.

Virtual Memory Manager - moduł zarządzania pamięcią wirtualną; przekształca adres wirtualny w przestrzeni adresowej procesu na adres fizyczny stron znajdujących się w rzeczywistej pamięci komputera. Takie działanie ukrywa rzeczywistą strukturę fizycznej pamięci przed wykonującymi się wątkami. W ten sposób wątki otrzymują wymaganą ilość pamięci i są chronione przed wzajemnymi uszkodzeniami. Wątek jednego procesu, bez odpowiednich praw dostępu, nie może ani podejrzeć ani zmodyfikować pamięci należącej do innego procesu.

Process Manager - moduł zarządzania procesami i wątkami; jego zadaniem jest zawieszanie i odwieszanie pracujących wątków oraz zapisywanie i odczytywanie informacji o procesach i wątkach pracujących w Windows NT.

Local Procedure Call Manager - moduł zarządzania wykonywaniem lokalnych procedur; zarządza komunikacją między aplikacją a środowiskiem użytkownika (environment subsystem). W systemie Windows NT pomiędzy aplikacjami a środowiskiem określona jest relacja typu klient/serwer. Aplikacja (klient) chcąc skontaktować się ze środowiskiem (serwer) wywołuje procedury obsługi poprzez wysyłanie odpowiednich komunikatów. Środowisko obsługuje te komunikaty poprzez wywoływanie odpowiednich wewnętrznych procedur obsługi (LPC - Local Procedure Call). Komunikacja ta jest bardzo podobna do zdalnych wywołań występujących w komunikacji poprzez sieć komputerową (RPC -Remote Procedure Call), ale jest optymalizowana na komunikację między dwoma procesami uruchomionymi na tym samym komputerze.

I/O Manager - moduł zarządzający operacjami wejścia/wyjścia; część warstwy wykonawczej odpowiedzialna za wszystkie operacje wejścia i wyjścia w systemie operacyjnym. Głównym zadaniem tego elementu jest zarządzanie komunikacją pomiędzy różnymi sterownikami (drivers). Moduł ten obsługuje sterowniki systemów zbiorów (file systems drivers), sterowniki urządzeń zewnętrznych (hardware device drivers), sterowniki urządzeń sieciowych (network device drivers) oraz zawiera w sobie moduł zarządzania pamięcią podręczną (cache manager). Komunikacja tego modułu z wszystkimi sterownikami przebiega w jednakowy sposób, niezależnie od różnorodności sprzętu i operacji obsługiwanych przez te sterowniki.

Security Reference Monitor - moduł kontroli bezpieczeństwa odwołań; jest to element warstwy wykonawczej odpowiedzialny za wymuszanie badania poprawności dostępu oraz generowanie procedury dostępu do systemu operacyjnego zdefiniowanej w podsystemie bezpieczeństwa uprawnień (local security authority subsystem). W systemie wielozadaniowym jakim jest Windows NT aplikacje dzielą się różnymi zasobami systemu operacyjnego (np. pamięć, urządzenia wejścia/wyjścia, zbiory, procesory). W związku z tym moduł kontroli bezpieczeństwa odwołań musi zapewnić, że aplikacje nie mogą dostać się do żądanych zasobów bez wcześniejszej kontroli uprawnień tych aplikacji. Windows NT spełnia bardzo surowe wymagania bezpieczeństwa. Rząd USA przyznał temu systemowi kategorię C2.

Environment subsystem - środowisko użytkownika; zbiór procesów - podsystemów (subsystems) systemu operacyjnego Windows NT emulujących środowiska różnych systemów operacyjnych. Windows NT zaprojektowano w taki sposób, że umożliwia on różnym aplikacjom na pracę pod tym systemem i dopasowanie się do jego graficznego środowiska. Każdy z podsystemów pracuje jako oddzielny proces w trybie użytkownika. Błąd w jednym podsystemie nie powoduje utraty dostępu do innego podsystemu. Każdy z podsystemów jest zabezpieczony przed zewnętrznymi błędami. Wyjątek stanowi podsystem Win32, który w momencie awarii odcina wszystkim podsystemom dostęp do klawiatury, myszy oraz monitora. Środowisko użytkownika zawiera następujące podsystemy: MS- DOS VDM (Virtual DOS Machine), Win16 VDM, OS/2, POSIX i Win32. Z wyjątkiem podsystemu Win32, każde z w.w. środowisk jest opcjonalne i ładowane tylko w momencie, gdy aplikacja użytkownika wymaga odpowiednich usług.

MS-DOS VDM (Virtual DOS Machine) - jest to aplikacja podsystemu Win32, która daje użytkownikowi wirtualny komputer z procesorem 80386 lub 80486 z zainstalowanym systemem MS-DOS 5.0, 625 kB wolnej pamięci, wykorzystanie pamięci jako extended (XMS) i expanded (EMM LIM 4.0), DPMI 0.9 oraz dostęp do systemu zbiorów Windows NT oraz dysków sieciowych. Nie ma limitu na liczbę równolegle działających sesji DOSowych. Każda sesja uruchamiana jest w oddzielnej przestrzeni adresowej i jest zabezpieczona przed uszkodzeniem przez inne aplikacje pracujące w systemie Windows NT.

Win16 VDM - jest to środowisko pracy 16-bitowych aplikacji systemu Microsoft Windows. Aplikacje typu Win16 (wszystkie aplikacje okienkowe, które pracują pod systemem MS Windows 3.1) pod systemem Windows NT mają interfejs do kontaktu z użytkownikiem wyglądający podobnie jak pod Windows 3.1. Wirtualny komputer, na którym uruchomione są 16-bitowe Windows Win16 VDM) pracuje w trybie wielozadaniowości z wywłaszczaniem (preemptive multitasking) z punktu widzenia innych procesów pracujących w systemie operacyjnym. Jednakże poszczególne aplikacje uruchamiane w Win16 VDM pracują w trybie wielozadaniowości bez wywłaszczenia (non-preemptive multitasking).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200