SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

45
Systemy Operacyjne SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Architektura Windows

description

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Architektura Windows. Podstawowe elementy systemu Windows XP – w skrócie. Pamięć chroniona Pamięć wirtualna Wielozadaniowość Wieloprocesorowość równoległa Warstwa uniezależnienia od sprzętu (HAL) Technologia DirectX. Interfejsy systemu operacyjnego. - PowerPoint PPT Presentation

Transcript of SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Page 1: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Systemy Operacyjne

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Architektura Windows

Page 2: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawowe elementy systemu Windows XP – w skrócie

• Pamięć chroniona• Pamięć wirtualna• Wielozadaniowość• Wieloprocesorowość równoległa• Warstwa uniezależnienia od sprzętu (HAL)• Technologia DirectX

Page 3: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Interfejsy systemu operacyjnegoInterfejs sprzętowy• SterownikiInterfejs Programisty• API, funkcje systemoweInterfejs użytkownika• Shell• Powłoka• Tekstowy interpreter poleceń• Graficzny interfejs użytkownika (GUI)

Page 4: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnegoKomponenty nowoczesnego systemu

operacyjnego:

• Praca w trybie użytkownika– Systemowe procesy pomocnicze– Procesy usługowe– Aplikacje użytkownika– Podsystemy środowiskowe

Page 5: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnegoKomponenty nowoczesnego systemu

operacyjnego:

• Praca w trybie jądra– Centrum wykonawcze– Jądro systemu– Sterowniki urządzeń– Warstwa uniezależnienia od sprzętu– System okien i grafiki

Page 6: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Systemowe procesy pomocnicze(procesy usług dodatkowych lub dedykowanych)

– Proces logowania użytkownika– Menedżer sesji– Pozostałe procesy, które nie są uruchamiane przez

menedżera kontroli usług

Page 7: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Procesy usługowe(zapewniają usługi dla podsystemu win32)

– Mechanizm szeregowania zadań (ang. task manager)– Spooler (ang. simultaneous peripheral operations on-

line)– Dla Microsoft SQL Server lub Microsoft Exchange

Server – dodatkowe komponenty

Page 8: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Aplikacje użytkownika(pięć „rodzajów” ze względu na zgodność)

– Win32– Windows 3.1– MS-DOS– POSIX– OS/2 1.2

Page 9: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Podsystemy środowiskowe(umożliwiają aplikacjom użytkownika dostęp do wewnętrznych usług systemu)

– Win32– POSIX– OS/2

Page 10: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Centrum wykonawcze(podstawowe usługi systemu)

– Zarządzanie pamięcią– Zarządzanie procesami– Zarządzanie wątkami– Obsługa bezpieczeństwa– Procedury i przetwarzanie I/O– Komunikacja międzyprocesowa IPC

Page 11: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Jądro systemu(kernel – niskopoziomowe funkcje systemu)

– Szeregowanie wątków– Obsługa przerwań– Obsługa wyjątków – Synchronizacja międzyprocesowa

Page 12: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Sterowniki urządzeń(device drivers)

– Obsługa urządzeń różnego typu– Tłumaczenie wywołań funkcji I/O na konkretne

operacje I/O– Obsługa systemów plików– Obsługa sterowników sieciowych

Page 13: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Warstwa uniezależnienia od sprzętu(hardware abstraction layer - HAL)

– Obsługa urządzeń– Obsługa systemów plików– Obsługa sterowników sieciowych– Tłumaczenie wywołań funkcji I/O na konkretne

operacje I/O

Page 14: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• System okien i grafiki(obsługa graficznego interfejsu użytkownika, GDI oraz USER)

– Obsługa okien– Obsługa kontrolek interfejsu użytkownika– Rysowanie

Page 15: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Architektura uproszczona

Systemowe procesy

pomocnicze

Tryb użytkownika

Aplikacje użytkownika

Podsystemy środowiskowe

Biblioteki podsystemów

Centrum wykonawcze

Jądro Sterowniki urządzeń

Warstwa uniezależnienia od sprzętu

System okien i grafiki

Tryb jądra

Procesy usługowe

Page 16: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Podsystem Win32

– Proces podsystemu (csrss.exe) zapewnia: Windows nie może bez niego działać (OS2, POSIX mogą zostać

wyłączone)

Obsługa okien konsoli tekstowych Tworzenie i niszczenie procesów i wątków Częściowa obsługa procedur 16-bitowej maszyny wirtualnej

DOSa Kilka funkcji związanych z obsługą języków narodowych Kilka funkcji różnych (np. GetTempFileName,

DefineDOSDevice)

Page 17: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Podsystem Win32

– Sterownik urządzeń trybu jądra (win32k.sys) zapewnia: Menedżera okien (kontrola wyświetlania okien, zarządzanie

ekranem, obsługa I/O klawiatury, myszy itp, przekazywanie komunikatów do aplikacji)

Interfejs urządzeń graficznych GDI (funkcje do rysowania ogólnie)

– Biblioteki systemowe (kernel32.dll, advapi32.dll, user32.dll, gdi32.dll) Tłumaczenie udokumentowanych funkcji Win32 API na

odpowiednie wywołania nieudokumentowanych usług systemowych jądra z plików ntoskrnl.exe oraz win32k.sys

Page 18: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Podsystem POSIX(Portable Operating System Interface)

Obecność funkcji rozwidlania procesów (ang. fork)– Obsługa „twardych” dowiązań (ang. hardlinks)– Obsługa sygnałów, błędów urządzeń, wyjątków itp.– Obsługa przetwarzania strumieniowego– Obsługa czasu– Obsługa plików i katalogów– Operacje wejścia-wyjścia– Wsparcie dla API udostępnianego przez biblioteki

ANSI C– Zarządzanie procesami

Page 19: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Podsystem POSIX(Portable Operating System Interface)

– Windows 2000 implementuje tylko standard POSIX.1 w ograniczonym zakresie

– Żaden program uruchomiony w trybie POSIX nie może korzystać z innego podsystemu (np. win32)

– Skutek: niemożność przeniesienia na system Windows programów napisanych pod system Unix

– Microsoft wydał rozszerzenie podsystemu POSIX o nazwie Interix (ponad 2000 funkcji unixowych oraz ponad 300 unixopodobnych narzędzi i programów)

– MKS NuTRACKER firmy Mortice Kern Systems Inc (www.mks.com)

Page 20: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Podsystem OS/2(obsługa jedynie interfejsu OS/2 1.2)

– Obsługuje jedynie 16-bitowe aplikacje tekstowe– Obsługuje programy korzystające z mechanizmu

video I/O.– Microsoft rozprowadzał zastępczy podsystem powłoki

OS/2 1.2 Presentation Manager dla Windows NT– Pakiet ten nie obsługiwał aplikacji wymagających OS/2

2.x

Page 21: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Podsystemy w XP

Page 22: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze - funkcje

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Funkcje opublikowane i dostępne z trybu użytkownika. Nazywane są one usługami systemowymi i znajdują się w ntdll. Większość jest dostępna przez win32 API lub interfejsy innych podsystemów

– Funkcje dostępne jedynie z trybu jądra, opublikowane i udokumentowane w pakietach Windows 2000 DDK i Windows 2000 Installable File System (IFS) Kit.

– Funkcje udostępniane i dostępne z trybu jądra, ale nie udokumentowane w DDK lub IFS (np. funkcje sterownika video w trakcie rozruchu systemu).

– Funkcje zdefiniowane jako symbole globalne, ale nie udostępniane; są to wewnętrzne funkcje pomocnicze, wołane z poziomu ntoskrnl (np. zarządzanie IO lub pamięcią).

– Funkcje określone jako wewnętrzne dla modułu, które nie są symbolami globalnymi.

Page 23: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze - komponenty

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Menedżer konfiguracji – odpowiada za implementację i zarządzanie rejestrem systemowym

– Menedżer procesów i wątków – tworzenie i niszczenie procesów i wątków, funkcje zaimplementowane są niskopoziomowo w jądrze a na tym poziomie jest dodana semantyka i funkcjonalność

– Monitor bezpieczeństwa odwołań – wymuszanie polityki bezpieczeństwa na komputerze lokalnym, prowadzi na bieżąco kontrolę obiektów i zasobów

Page 24: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze - komponenty

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Menedżer I/O – implementacja niezależnych od sprzętu operacji IO oraz przekierowanie ich do odpowiednich sterowników urządzeń

– Menedżer Plug and Play – określa, które sterowniki są potrzebne do konkretnego działania i ładuje je, przyznaje zasoby (IRQ, DMA, itp.), dodatkowo wysyła komunikaty o zmianie stanu urządzeń

Page 25: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze - komponenty

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Menedżer energii – koordynuje zdarzenia związane z poborem mocy przez system i generuje komunikaty dotyczące zarządzania energią

– Procedury instrumentacji zarządzania Windows WDM (ang. WDM Windows Management Instrumentation) – pozwalają sterownikom na publikację informacji na temat wydajności i konfiguracji a także na odbieranie poleceń usług od WMI w trybie użytkownika

Page 26: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze - komponenty

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Menedżer pamięci podręcznej – zwiększanie wydajności dyskowych operacji IO poprzez składowanie danych w pamięci do których dostęp odbywał się niedawno

– Menedżer pamięci wirtualnej – implementuje pamięć która wirtualnie może być większa niż pamięć systemu komputerowego i udostępnia ją aplikacjom jak gdyby nigdy nic

Page 27: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze – funkcje pomocnicze

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Menedżer obiektów – tworzenie, niszczenie i zarządzanie obiektami Windows oraz udostępnianie abstrakcyjnych typów danych wykorzystywanych do reprezentacji zasobów systemu, takich jak procesy, wątki, obiekty synchronizacyjne itp.

– Mechanizm LPC – przekazywanie komunikatów pomiędzy procesem klienta a procesem serwera na tym samym komputerze. Jest to zoptymalizowana wersja RPC – przemysłowego standardu komunikacji procesów klientów i serwerów przez sieć

Page 28: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Centrum Wykonawcze – funkcje pomocnicze

(górna warstwa ntoskrnl.exe – części pracującej w trybie jądra)

– Funkcje biblioteczne – cała gałkologia, np. przetwarzanie łańcuchów znakowych, konwersje typów danych, itp.

– Procedury pomocnicze – przydział i dostęp do pamięci, obiekty synchronizacyjne – zasoby i szybkie muteksy

Page 29: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Jądro

(dolna warstwa procesów pracujących w trybie jądra)

– Zestaw funkcji ntoskrnl.exe zapewniających podstawowe mechanizmy

– Szeregowanie wątków, usługi synchronizacyjne– Obsługa przerwań i wyjątków– Niskopoziomowe fundamenty dla podstawowych

mechanizmów– Izolowanie Centrum Wykonawczego od sterowników

urządzeń

Page 30: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Jądro

(dolna warstwa procesów pracujących w trybie jądra)

– Niektóre funkcje są udokumentowane, aby można było pisać sterowniki

– Kod jądra jest napisany w C ze wstawkami asemblerowymi

– Nikt tego kodu nigdy nie widział – Dokładny opis pomijam (zbyt szczegółowo: obiekty kontrolne,

opóźnione wywołanie procedur, obiekty dyspozycyjne, wątki, zdarzenia, semafory, muteksy, stopery, APC)

Page 31: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Warstwa

uniezależnienia od sprzętu(hardware abstracition layer – moduł pracujący w trybie jądra: hal.dll)

– Ukrywa wszystko, co jest zależne od sprzętu

– Zapewnia niskopoziomowy interfejs do platformy sprzętowej

Nazwa pliku HAL Obsługa

Hal.dll Standardowy komputer PC

Halacpi.dll PC z ACPI

Halapic.dll PC z APIC

Halaacpi.dll PC z ACPI i APIC

Halmps.dll wieloprocesorowe

Halmacpi.dll j.w. tylko z ACPI

Halbork.dll Stacje Silicon Graphics

Halsp.dll Compaq SystemPro

Page 32: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Warstwa

uniezależnienia od sprzętu(hardware abstracition layer – moduł pracujący w trybie jądra: hal.dll)

– Instalowana jest tylko jedna wersja HAL w systemie (jako hal.dll), chociaż instalator ma ich kilka.Po zmianie sprzętu może się okazać, że wymagany jest inny HAL i dlatego system nie zadziała.

Nazwa pliku HAL Obsługa

Hal.dll Standardowy komputer PC

Halacpi.dll PC z ACPI

Halapic.dll PC z APIC

Halaacpi.dll PC z ACPI i APIC

Halmps.dll wieloprocesorowe

Halmacpi.dll j.w. tylko z ACPI

Halbork.dll Stacje Silicon Graphics

Halsp.dll Compaq SystemPro

Page 33: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Sterowniki urządzeń

(zewnętrzne moduły jądra, *.sys, praca w trybie jądra)

– Sterowniki urządzeń fizycznych (operacje na sprzęcie za pomocą HAL)

– Sterowniki systemów plików (odbierają żądania IO i tłumaczą je na żądania dla konkretnych urządzeń)

– Filtrujące sterowniki systemów plików (szyfrowanie dysków, kopie lustrzane, przechwytują IO i wykonują dodatkowe operacje przez przekazaniem wywołań dalej)

Page 34: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego• Sterowniki urządzeń

(zewnętrzne moduły jądra, *.sys, praca w trybie jądra)

– Sterowniki przekierowania sieciowego oraz serwery (transmisja żądań IO związanych z systemem plików w sieci)

– Sterowniki protokołów (obsługa TCP/IP, NetBEUI, IPX/SPX)

– Strumieniowe filtrujące sterowniki jądra (połączony zestaw sterowników dokonujący przetwarzania sygnału zawartego w danych, np. przy obróbce dźwięku lub obrazu

Page 35: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Rozszerzenia sterowników urządzeń(plug and play, power options, WDM – Windows Device Model)

– Sterownik magistrali – obsługa kontrolera, mostka lub innych urządzeń posiadających podległe magistrale, wykorzystywane przy PCI, PCMCIA lub USB

– Sterownik funkcji – główny sterownik, który zapewnia interfejs operacyjny dla swojego urządzenia, często jest jedynym, który wie najwięcej o urządzeniu i jego rejestrach, niskopoziomowy dostęp do sprzętu

Page 36: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Rozszerzenia sterowników urządzeń(plug and play, power options, WDM – Windows Device Model)

– Sterownik filtrujący – jest stosowany dla nadania urządzeniu dodatkowej funkcjonalności lub w celu modyfikacji żądań i odpowiedzi IO pochodzących od innych sterowników (bywa to używane do maskowania błędów sprzętowych)

Page 37: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

Page 38: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Procesy systemowe

– Proces jałowy (sprawdzanie, czy jest coś do zrobienia)

– Proces systemowy (wątki systemowe w trybie jądra)

– Menedżer sesji (smss.exe) (pierwszy proces trybu użytkownika, uruchamianie podsystemów win32 i winlogon; jeżeli któryś z nich zginie, smss wywołuje załamanie systemu, przełącza i monitoruje aplikacje)

– Podsystem win32 (csrss.exe)

Page 39: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

• Procesy systemowe

– Proces logowania (winlogon.exe) (obsługa procesu logowania: reakcja na klawisze Ctrl+Alt+Del, pobiera z rejestru klucz Winlogon i tworzy procesy wykonujące programy na jego podstawie; (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion); domyślnie uruchamia userinit.exe)

– Menedżer kontroli usług (services.exe) (start/stop usług trybu użytkownika wg klucza services w rejestrze, w rzeczywistości usługa = specyficzny program dla win32)

– Lokalny serwer bezpieczeństwa (lsass.exe) (uwierzytelnianie winlogon)

Page 40: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemu operacyjnego

Page 41: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Usługi rezydentne(Executive Services)

Wykonują operacje niedozwolone dla aplikacji użytkowych

• Menedżer pamięci wirtualnej (Virtual Memory Manager)

• Narzędzie uruchamiania procedur lokalnych(Local Procedure Call Facility)

• Menedżer procesów(Process Manager)

• Menedżer obiektów(Object Manager)

• Menedżer zabezpieczeń(Security Reference Monitor)

Chronionaoperacja

wywołanie systemowe n

funkcja systemowa n

Program użytkownika

Jądro systemu

Page 42: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Direct X

Page 43: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Architektura Windows NT 4.0

Page 44: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Pytania

Page 45: SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Resource Kitshttp://www.microsoft.com/technet/itsolutions/reskits/rktmain.mspxWindows 98, Windows NT 4.0,Windows 2000

Professional, Windows XP i inne (j angielski)http://www.microsoft.com/poland/windows2000/win2000prof/default.mspxWindows 2000 Professional (j. polski)

Direct Xhttp://www.microsoft.com/windows/directx/