1 / 45

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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.

odina
Download Presentation

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Architektura Windows

  2. 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

  3. Interfejsy systemu operacyjnego Interfejs sprzętowy • Sterowniki Interfejs Programisty • API, funkcje systemowe Interfejs użytkownika • Shell • Powłoka • Tekstowy interpreter poleceń • Graficzny interfejs użytkownika (GUI)

  4. Budowa systemu operacyjnego Komponenty nowoczesnego systemu operacyjnego: • Praca w trybie użytkownika • Systemowe procesy pomocnicze • Procesy usługowe • Aplikacje użytkownika • Podsystemy środowiskowe

  5. Budowa systemu operacyjnego Komponenty 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

  6. 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

  7. 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

  8. 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

  9. Budowa systemu operacyjnego • Podsystemy środowiskowe(umożliwiają aplikacjom użytkownika dostęp do wewnętrznych usług systemu) • Win32 • POSIX • OS/2

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Budowa systemu operacyjnego • Architektura uproszczona Systemowe procesy pomocnicze Procesy usługowe Aplikacje użytkownika Podsystemy środowiskowe Biblioteki podsystemów Tryb użytkownika Tryb jądra Centrum wykonawcze Jądro Sterowniki urządzeń System okien i grafiki Warstwa uniezależnienia od sprzętu

  16. 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)

  17. 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

  18. 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

  19. 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)

  20. 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

  21. Budowa systemu operacyjnego • Podsystemy w XP

  22. 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.

  23. 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

  24. 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ń

  25. 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

  26. 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

  27. 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ć

  28. 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

  29. 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ń

  30. 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)

  31. 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

  32. 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.

  33. 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)

  34. 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

  35. 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

  36. 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)

  37. Budowa systemu operacyjnego

  38. 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)

  39. 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)

  40. Budowa systemu operacyjnego

  41. 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)

  42. Direct X

  43. Architektura Windows NT 4.0

  44. Pytania

  45. Resource Kits http://www.microsoft.com/technet/itsolutions/reskits/rktmain.mspx Windows 98, Windows NT 4.0,Windows 2000 Professional, Windows XP i inne (j angielski) http://www.microsoft.com/poland/windows2000/win2000prof/default.mspx Windows 2000 Professional (j. polski) Direct X http://www.microsoft.com/windows/directx/

More Related