Systemy Operacyjne SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Architektura

  • Slides: 45
Download presentation
Systemy Operacyjne SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Architektura Windows

Systemy Operacyjne SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Architektura Windows

Podstawowe elementy systemu Windows XP – w skrócie • • • Pamięć chroniona Pamięć

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

Interfejsy systemu operacyjnego Interfejs sprzętowy • Sterowniki Interfejs Programisty • API, funkcje systemowe Interfejs

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)

Budowa systemu operacyjnego Komponenty nowoczesnego systemu operacyjnego: • Praca w trybie użytkownika – –

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

Budowa systemu operacyjnego Komponenty nowoczesnego systemu operacyjnego: • Praca w trybie jądra – –

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

Budowa systemu operacyjnego • Systemowe procesy pomocnicze (procesy usług dodatkowych lub dedykowanych) – Proces

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

Budowa systemu operacyjnego • Procesy usługowe (zapewniają usługi dla podsystemu win 32) – Mechanizm

Budowa systemu operacyjnego • Procesy usługowe (zapewniają usługi dla podsystemu win 32) – Mechanizm szeregowania zadań (ang. task manager) – Spooler (ang. simultaneous peripheral operations online) – Dla Microsoft SQL Server lub Microsoft Exchange Server – dodatkowe komponenty

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

Budowa systemu operacyjnego • Aplikacje użytkownika (pięć „rodzajów” ze względu na zgodność) – – – Win 32 Windows 3. 1 MS-DOS POSIX OS/2 1. 2

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

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

Budowa systemu operacyjnego • Centrum wykonawcze (podstawowe usługi systemu) – – – Zarządzanie pamięcią

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

Budowa systemu operacyjnego • Jądro systemu (kernel – niskopoziomowe funkcje systemu) – – Szeregowanie

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

Budowa systemu operacyjnego • Sterowniki urządzeń (device drivers) – Obsługa urządzeń różnego typu –

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

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

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

Budowa systemu operacyjnego • System okien i grafiki (obsługa graficznego interfejsu użytkownika, GDI oraz

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

Budowa systemu operacyjnego • Architektura uproszczona Systemowe procesy pomocnicze Procesy usługowe Aplikacje użytkownika Podsystemy

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ń Warstwa uniezależnienia od sprzętu System okien i grafiki

Budowa systemu operacyjnego • Podsystem Win 32 – Proces podsystemu (csrss. exe) zapewnia: §

Budowa systemu operacyjnego • Podsystem Win 32 – Proces podsystemu (csrss. exe) zapewnia: § Windows nie może bez niego działać (OS 2, 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. Get. Temp. File. Name, Define. DOSDevice)

Budowa systemu operacyjnego • Podsystem Win 32 – Sterownik urządzeń trybu jądra (win 32

Budowa systemu operacyjnego • Podsystem Win 32 – Sterownik urządzeń trybu jądra (win 32 k. 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 (kernel 32. dll, advapi 32. dll, user 32. dll, gdi 32. dll) § Tłumaczenie udokumentowanych funkcji Win 32 API na odpowiednie wywołania nieudokumentowanych usług systemowych jądra z plików ntoskrnl. exe oraz win 32 k. sys

Budowa systemu operacyjnego • Podsystem POSIX (Portable Operating System Interface) Obecność funkcji rozwidlania procesów

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

Budowa systemu operacyjnego • Podsystem POSIX (Portable Operating System Interface) – Windows 2000 implementuje

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. win 32) – 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 Nu. TRACKER firmy Mortice Kern Systems Inc (www. mks. com)

Budowa systemu operacyjnego • Podsystem OS/2 (obsługa jedynie interfejsu OS/2 1. 2) – Obsługuje

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

Budowa systemu operacyjnego • Podsystemy w XP

Budowa systemu operacyjnego • Podsystemy w XP

Budowa systemu operacyjnego • Centrum Wykonawcze - funkcje (górna warstwa ntoskrnl. exe – części

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

Budowa systemu operacyjnego • Centrum Wykonawcze - komponenty (górna warstwa ntoskrnl. exe – części

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

Budowa systemu operacyjnego • Centrum Wykonawcze - komponenty (górna warstwa ntoskrnl. exe – części

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ń

Budowa systemu operacyjnego • Centrum Wykonawcze - komponenty (górna warstwa ntoskrnl. exe – części

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

Budowa systemu operacyjnego • Centrum Wykonawcze - komponenty (górna warstwa ntoskrnl. exe – części

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

Budowa systemu operacyjnego • Centrum Wykonawcze – funkcje pomocnicze (górna warstwa ntoskrnl. exe –

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ć

Budowa systemu operacyjnego • Centrum Wykonawcze – funkcje pomocnicze (górna warstwa ntoskrnl. exe –

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

Budowa systemu operacyjnego • Jądro (dolna warstwa procesów pracujących w trybie jądra) – Zestaw

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ń

Budowa systemu operacyjnego • Jądro (dolna warstwa procesów pracujących w trybie jądra) – Niektóre

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)

Budowa systemu operacyjnego • Warstwa uniezależnienia od sprzętu (hardware abstracition layer – moduł pracujący

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

Budowa systemu operacyjnego • Warstwa uniezależnienia od sprzętu (hardware abstracition layer – moduł pracujący

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

Budowa systemu operacyjnego • Sterowniki urządzeń (zewnętrzne moduły jądra, *. sys, praca w trybie

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)

Budowa systemu operacyjnego • Sterowniki urządzeń (zewnętrzne moduły jądra, *. sys, praca w trybie

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, Net. BEUI, 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

Budowa systemu operacyjnego • Rozszerzenia sterowników urządzeń (plug and play, power options, WDM –

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

Budowa systemu operacyjnego • Rozszerzenia sterowników urządzeń (plug and play, power options, WDM –

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)

Budowa systemu operacyjnego

Budowa systemu operacyjnego

Budowa systemu operacyjnego • Procesy systemowe – Proces jałowy (sprawdzanie, czy jest coś do

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 win 32 i winlogon; jeżeli któryś z nich zginie, smss wywołuje załamanie systemu, przełącza i monitoruje aplikacje) – Podsystem win 32 (csrss. exe)

Budowa systemu operacyjnego • Procesy systemowe – Proces logowania (winlogon. exe) (obsługa procesu logowania:

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_MACHINESOFTWAREMicrosoftWindows NTCurrent. Version); 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 win 32) – Lokalny serwer bezpieczeństwa (lsass. exe) (uwierzytelnianie winlogon)

Budowa systemu operacyjnego

Budowa systemu operacyjnego

Usługi rezydentne (Executive Services) Wykonują operacje niedozwolone dla aplikacji użytkowych • Menedżer pamięci wirtualnej

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)

Direct X

Direct X

Architektura Windows NT 4. 0

Architektura Windows NT 4. 0

Pytania

Pytania

Resource Kits http: //www. microsoft. com/technet/itsolutions/reskits /rktmain. mspx Windows 98, Windows NT 4. 0,

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/windows 2000/win 2000 prof/default. mspx Windows 2000 Professional (j. polski) Direct X http: //www. microsoft. com/windows/directx/