Programowanie systemowe. Architektura systemu Windows
Download

Programowanie systemowe. Architektura systemu Windows

Advertisement
Download Presentation
Comments
jud
From:
|  
(278) |   (0) |   (0)
Views: 45 | Added: 10-11-2012
Rate Presentation: 0 0
Description:
System Windows 2000 . system operacyjny wielozadaniowy z wywlaszczaniem i wielowatkowy uslugi bezpieczenstwa i sieciowe sa uslugami podstawowymipodsystemy srodowiskowe umozliwiaja uruchamianie (w trybie znakowym) starszych aplikacji napisanych dla system
Programowanie systemowe. Architektura systemu Windows

An Image/Link below is provided (as is) to

Download Policy: Content on the Website is provided to you AS IS for your information and personal use only and may not be sold or licensed nor shared on other sites. SlideServe reserves the right to change this policy at anytime. While downloading, If for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.











- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -




1. Programowanie systemowe. Architektura systemu Windows

2. System Windows 2000 system operacyjny wielozadaniowy z wywlaszczaniem i wielowatkowy uslugi bezpieczenstwa i sieciowe sa uslugami podstawowymi podsystemy srodowiskowe umozliwiaja uruchamianie (w trybie znakowym) starszych aplikacji napisanych dla system?w DOS, Windows 3.x i OS/2 zastosowanie abstrakcyjnej warstwy sprzetowej (Hardware Abstraction Layer, HAL), pozwala na przygotowanie systemu na platforme Intel i inne platformy bazujace na procesorach RISC

3. Architektura Windows

5. Moduly systemu Windows 2000 Warstwa abstrakcji sprzetu (Hardware Abstraction Layer, HAL) Ma bezposredni dostep do sprzetu i zapewnia warstwie jadra interfejs niezalezny od maszyny Umozliwia pisanie programowania jadra w spos?b w spos?b niezalezny od maszyny, sprzyja przenosnosci systemu operacyjnego na r?zne platformy sprzetowe Procedury HAL moga byc wywolywane z bazowego systemu operacyjnego (jadro), lub przez sterowniki urzadzen (modul Menadzer I/O)

6. Moduly systemu Windows 2000 Warstwa abstrakcji sprzetu (Hardware Abstraction Layer, HAL)

7. Windows 2000. Modul jadra: Odpowiada za szeregowanie zadan, harmonogram realizacji watk?w, obsluge sytuacji wyjatkowych i synchronizacje pracy wieloprocesorowej Jadro kieruje watki do wykonania na dostepnym procesorze Kazdy watek ma przydzielany priorytet, watki o wyzszych priorytetach moga wywlaszczac watki o nizszych priorytetach modul jadra nie jest stronicowany (nonpageable), strony (rozmiar: 4KB) nie sa usuwane z pamieci (zapisywane w pliku tymczasowym PAGEFILE.SYS) kod modulu nie jest wywlaszczalny, natomiast pozostale oprogramowanie np. stosowane w modulach wykonawczych Windows 2000 jest wywlaszczalne (preemptive) modul jadra zarzadza dwoma klasami obiekt?w: obiektami dyspozytora obiektami sterujacymi

8. Windows 2000. Modul jadra (2) Funkcje jadra dostarczaja podstawowe mechanizmy (takie jak szeregowanie watk?w lub uslugi synchonizacji) uzywane przez komponenty modulu wykonawczego oraz niskopoziomowe wsparcie sprzetowe, zalezne od architektury (przerwania i dysponowanie wyjatkami) systemu (procesora). Kod jadra napisany jest przede wszystkim w jezyku C. Wykorzystywany jest takze asembler w przypadku zadan wymagajacych dostepu do specjalnych instrukcji i rejestr?w procesora. Modul jadra jest odpowiedzialny za szeregowanie zadan, jezeli komputer ma konfiguracje wieloprocesorowa, to w celu synchronizacji pracy procesor?w modul ten korzysta z interfejsu procesora wirtualnego, realizowanego przez HAL.

9. Windows 2000. Modul jadra (3) Modul jadra nie jest stronicowany (nonpageable) ? co oznacza, ze strony (ustalone jednostki pamieci o wielkosci 4kB) nalezace do tego modulu, nie sa usuwane z pamieci (nie sa tymczasowo zapisywane w dyskowym pliku wymiany Pagfile.sys). Kod tego modulu nie jest wywlaszczalny (jego wykonywanie nie moze byc przerwane), chociaz pozostale oprogramowanie, np. stosowane w modulach wykonawczych Windows 2000, jest wywlaszczane. Modul jadra moze byc wykonywany r?wnoczesnie na wszystkich procesorach komputer?w wieloprocesorowych i sam synchronizuje dostep do swoich krytycznych miejsc w pamieci. Procedury realizujace strategie wykorzystywania zasob?w usunieto z tego modulu i zaimplementowano w modulach wykonawczych Windows 2000. Stwarza to mozliwosc zachowania modulu w prostej i niezmienionej postaci, gdyby w przyszlych wersjach Windows 2000 strategie jego funkcjonowania ulegly zmianie. W module jadra podejmowane sa niekt?re decyzje o wyborze momentu usuniecia procesu z pamieci.

10. Windows 2000. Obiekty jadra. Obiekty dyspozytora

11. Windows 2000. Obiekty jadra. Obiekty sterujace

12. Windows 2000. Obiekty jadra (1) Obiekt jadra ? blok pamieci zaalokowany i uzywany bezposrednio przez jadro, blok jest struktura danych, kt?rej skladowe przechowuja informacje o obiekcie. r?zne rodzaje obiekt?w, pewne skladowe (jak deskryptor bezpieczenstwa lub licznik dostep?w) wystepuja we wszystkich rodzajach obiekt?w jadra, ale wiekszosc jest specyficzna dla konkretnych rodzaj?w obiekt?w Obiekty powstaja i sa udostepniane w wyniku wywolania odpowiednich funkcji (struktury danych sa dostepne tylko dla jadra)

13. Windows 2000. Obiekty jadra (2) Zliczanie uzyc Obiekty jadra sa wlasnoscia jadra, a nie procesu. Obiekt jadra moze zyc dluzej niz proces, kt?ry go stworzyl - gdy proces tworzacy obiekt jadra konczy dzialanie, obiekt jadra moze pozostac (inny proces moze go uzywac) Kazdy obiekt jadra jest wyposazony w licznik uzyc informujacy ile proces?w uzywa konkretnego obiektu jadra, gdy licznik uzyc osiaga 0, jadro niszczy obiekt

14. Windows 2000. Obiekty jadra (3). Bezpieczenstwo. Obiekty jadra moga byc chronione za pomoca deskryptora bezpieczenstwa, kt?ry opisuje, kto utworzyl obiekt i kto moze miec do niego dostep (deskryptory bezpieczenstwa sa wykorzystywane zwykle przy tworzeniu aplikacji serwerowych) Niemal wszystkie funkcje tworzace obiekty jadra maja wsr?d argument?w wskaznik do struktury SECURITY_ATTRIBUTES Przyklad (CreateMapping) HANDLE CreateFileMapping( HANDLE hFile, PSECURITY_ATTRIBUTES psa,//deskryptor bezpieczenstwa DWORD flProtect, DWORD dwMaximusSizeHigh, DWORD dwMaximumSizeLow, PCTSTR pszName)

15. Windows 2000. Obiekty jadra (4). Bezpieczenstwo. PSECURITY_ATTRIBUTES psa = NULL Utworzenie obiektu jadra ze standardowym zabezpieczeniem, czyli: Tw?rca obiektu i czlonkowie grupy administrator?w maja pelny dostep do obiektu, pozostali nie maja zadnego dostepu Struktura SECURITY_ATTRIBUTES ma postac: typedef struct _SECURITY_ATTRIBUTES {DWORD nLength; LPVOID lpSecurityDescriptor; BOOL bInheritHandle; } SECURITY_ATTRIBUTES

16. Windows 2000. Obiekty jadra (5). Tablica procesu. Podczas inicjalizacji procesu system alokuje tablice uchwyt?w dla tego procesu ? tablica jest przeznaczona wylacznie na obiekty jadra Element tablicy procesu zawiera (m.in ?): Wskaznik do bloku pamieci obiektu jadra Maska dostepu (wartosc DWORD z bitami flag) Flagi (Wartosc DWORD z bitami flag)

17. Windows 2000. Obiekty jadra (6). Tworzenie i zamykanie obiektu jadra Tworzenie obiektu jadra Po utworzeniu procesu ? jego tablica uchwyt?w jest pusta Wszystkie funkcje tworzace obiekty jadra zwracaja uchwyty (HANDLE), kt?re moga byc uzywane przez dowolny watek dzialajacy w ramach tego samego procesu, wartosc uchwytu jest odpowiednim indeksem w tablicy z uchwytami (np. w Windows 2000 zwracana wartosc jest numerem bajt?w od poczatku tablicy uchwyt?w, a nie indeksem) Poniewaz wartosc uchwytu jest ?indeksem? w tablicy uchwyt?w danego procesu, nie moze byc ona uzywana przez inne procesy. Funkcje tworzace obiekty jadra np. CreateThread, CreateFile, CreateFileMapping, CreateSemaphore Zamykanie obiektu jadra stosuje sie funkcje BOOL CloseHandle(HANDLE hobj) Jesli uchwyt jest prawidlowy, to licznik uzyc danego obiektu jadra jest zmniejszany o 1 (jesli staje sie r?wny 0 ? obiekt jest usuwany)

18. Windows 2000. Obiekty jadra. (7) Wsp?luzytkowanie obiekt?w jadra przez r?zne procesy Metody wsp?luzytkowania obiekt?w jadra: Dziedziczenie uchwyt?w Zmiana flag uchwytu Obiekty nazwane Duplikowanie uchwyt?w obiekt?w

19. Windows 2000. Obiekty jadra (8). Dziedziczenie uchwyt?w obiektu Mozliwe, gdy jeden proces jest procesem potomnym drugiego Rodzic/przodek moze umozliwic potomkowi dostep do swoich obiekt?w jadra Czynnosci: (1)Tworzac obiekt nalezy poinformowac, ze dostep do niego bedzie dziedziczny: SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); sa.lpSecurityDescriptor = NULL; Sa.bInheritHandle = TRUE; // zmianan uchwytu na dziedziczony HANDLE hMutex = CreateMutex(&sa, FALSE, NULL); (2) Utworzenie procesu potomnego o okreslenie, ze bedzie on dziedziczyl uchwyty (tzn. bInhertitHandles powinno byc r?wne TRUE (zazwyczaj: r?wne FALSE) BOOL CreateProcess(..., BOOL bInheritHandles, ...) Odziedziczone zostana wszystkie uchwyty, kt?re maja ustawione dziedziczenia, liczniki uzyc tych obiekt?w zostana zwiekszone o 1. Uwaga: (1) Odziedziczone uchwyty w potomku znajduja sie w tych samych miejscach tablicy, co w przodku, a zatem ich wartosci sa takie same (2) Dziedziczenie odbywa sie tylko w momencie utworzenia procesu potomnego (jesli proces przodka utworzy potem nowy obiekt z dziedzicznym uchwytem, to potomek go nie otrzymuje)

20. Windows 2000. Obiekty jadra (9). Zmiana flag uchwytu Sytuacja: rodzic chce, by tylko niekt?re procesu potomne dziedziczyly jego obiekt(y) z dziedzicznym uchwytem Zmiana ustawienia flagi dziedziczenia uchwytu moze byc osiagnieta dzieki funkcji: BOOL SetHandleInformation( HANDLE hObject, //uchwyt DWORD dwMask, //maska okreslajaca, //kt?ra flaga ma zostac zmieniona, sa flagi: // HANDLE_FLAG_INHERIT ? dziedziczenie uchwytu //HANDLE_FLAG_PROTECT_FROM_CLOSE //- ochrona uchwytu przed zamknieciem DWORD dwFlags //informuje, jakie wartosci powinno przyjac ustawienie FLAG ) Przyklad: Wlaczenie flagi dziedziczenia: SetHandleInformation(hobj, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT); Przyklad: Wylaczenie flagi dziedziczenia: SetHandleInformation(hobj, HANDLE_FLAG_INHERIT, 0);

21. Windows 2000. Obiekty jadra (10) Obiekty nazwane Wielu obiektom mozna nadac nazwy ostatni parametr w funkcjach tworzacych obiekty pszName (wartosc NULL ? obiekt anonimowy, wartosc <> NULL ? obiekt nazwany) Aby obiekt nazwany m?gl byc dziedziczony przez r?zne procesy, trzeba uzyc metod dziedziczenia albo funkcji DuplicateHandle Dostep do obiektu ? w oparciu o nazwe np. wywolanie operacji tworzenia obiektu z nazwa juz istniejaca (jesli prawa dostepu zezwalaja na uzycie obiektu i nazwa dotyczy tego samego typu obiektu, to proces uzyskuje dostep). Mozna stosowac funkcje typu: Create* - udostepnia lub tworzy obiekt Open* - pr?buje udostepnic juz istniejacy obiekt

22. Windows 2000. Obiekty jadra (11). Duplikowanie nazw Kopiowanie uchwytu o odpowiedniej wartosci procesu zr?dlowego, do tablicy uchwyt?w procesu docelowego BOOL DuplicateHandle(HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, PHANDLE phTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOption) hSourceProcessHandle, hTargetProcessHandle ? uchwyty obiekt?w jadra typu Proces (wzgledem procesu wywolujacego funkcje DuplicateHandle) hSourceHandle ? uchwyt obiektu jadra dowolnego typu (podana dla procesu hSourceProcessHandle) phTargetHandle ? adres zmiennej HANDLE, do kt?rej trafi indeks pozycji z kopia informacji o uchwycie zr?dlowym (podana dla procesu hTargetProcessHandle) Ostatnie 3 parametry okreslaja wartosc maski dostepu i flagi dziedziczenia dwOption moze przyjmowac wartosc 0 lub byc kombinacja nastepujacych flag: DUPLICATE_SAME_ACCESS (uchwyt docelowy ma te sama maske dostepu, co uchwyt procesu zr?dlowego, parametr dwDeskredAccess jest ignorowany) i DUPLICATE_CLOSE_SOURCE (zamkniecie uchwytu w procesie zr?dlowym, licznik uzyc obiektu nie ulega zmianie)

23. Modul wykonawczy Windows 2000 G?rna warstwa aplikacji Ntoskrnl.exe (dolna warstwe stanowi jadro). Na modul wykonawczy skladaja sie nastepujace typy funkcji: Funkcje eksportowane ? to znaczy takie, kt?re moga byc wolane z warstwy uzytkownika. Funkcje te nazywane sa uslugami systemowymi. Ich eksport wykonywany jest poprzez biblioteke Ntdll. Wiekszosc z tych uslug jest dostepna poprzez API Win32 lub poprzez API innego podsystemu srodowiskowego. Istnieje jednak kilka uslug niedostepnych poprzez udokumentowane funkcje podsystemu. Funkcje, kt?re moga byc wolane tylko z trybu jadra. Zostaly one wyeksportowane i udokumentowanie w Windows 2000 DDK. Funkcje wyeksportowane, kt?re mozna wolac z trybu uprzywilejowanego, lecz nieudokumentowanie w Windows 2000 DDK. Funkcje zdefiniowane jako symbole globalne, nieeksportowane. Grupa ta to funkcje wolane wewnatrz Ntoskrnl, czyli na przyklad funkcje wspierajace wewnetrznego menadzera I/O lub funkcje wspierajace wewnetrznego menadzera pamieci.

24. Podstawowe komponenty modulu wykonawczego(1) Menadzer konfiguracji ? komponent odpowiedzialny za implementacje i zarzadzanie rejestrem systemowym Menadzer procesu i watku ? komponent odpowiedzialny za tworzenie i usuwanie (przerywanie dzialania) proces?w i watk?w. Komponent ten wykorzystuje wsparcie dla tego typu dzialan zaimplementowane w jadrze Windows 2000. Modul wykonawczy uzupelnia niskopoziomowe obiekty jadra dodatkowa semantyka i funkcjami. Monitor bezpieczenstwa ? egzekwuje polityke bezpieczenstwa na lokalnym komputerze. Chroni on zasoby systemu operacyjnego poprzez ochrone i audytowanie dzialajacych obiekt?w. Menadzer I/O ? komponent implementuje niezalezne od sprzetu wejscie/wyjscie oraz jest odpowiedzialny za dyspozycje sterownikami urzadzen. Menadzer Plug and Play (PnP) ? okresla wymagany sterownik dla konkretnego urzadzenia po czym laduje ten sterownik. Menadzer zasilania ? koordynuje zdarzenia zwiazane z zasilaniem oraz generuje notyfikacje zarzadzania zasilaniem I/O przeznaczone dla sterownik?w urzadzen. Kiedy system jest w stanie idle, odpowiednio skonfigurowany menadzer zasilania moze zredukowac pob?r mocy poprzez uspienie CPU. Nad zmianami zasilania urzadzen zewnetrznych czuwaja sterowniki tych urzadzen. Sa one jednak koordynowane przez menadzera zasilania.

25. Podstawowe komponenty modulu wykonawczego(2) Funkcje Windows Management Instrumentation ? umozliwiaja sterownikom urzadzen publikowanie informacji wydajnosciowych oraz konfiguracyjnych oraz otrzymywanie polecen z uslugi WMI ? trybu uzytkownika. Konsumentem informacji WMI moze rezydowac na maszynie lokalnej lub poprzez siec na maszynie zdalnej. Menadzer pamieci podrecznej (cache) ? poprawia wydajnosci wejscia/wyjscia plikowego, poprzez przechowywanie danych dopiero co odczytanych w pamieci gl?wnej dla szybkiego dostepu do nich oraz poprzez op?znianie zapisu ? gromadzenie danych w pamieci przeznaczonych do zapisu na dysku. Menadzer pamieci wirtualnej ? komponent implementujacy pamiec wirtualna, czyli schematu zarzadzania pamiecia dostarczajacego duzej, prywatnej przestrzeni adresowej dla kazdego procesu. Przestrzen ta moze byc rozszerzana poza pamiec fizyczna, jaka jest aktualnie dostepna. Menedzer Obiekt?w (Object Manager) Wywolanie Procedury Lokalnej (Local Procedure Call)

26. Windows 2000. Moduly wykonawcze. Menedzer obiekt?w (Object Manager) zasoby systemu operacyjnego sa implementowane jako obiekty obiekt to abstrakcyjna reprezentacja zasobu obiekt opisuje stany wewnetrzne i parametry zasoby, oraz zbi?r metod (dzialan lub procedur), jakie moga byc zastosowane do uzyskania dostepu do zasobu i sterowania zasobem menedzer obiekt?w udostepnia hierarchicznym system nazewnictwa wszystkich obiekt?w w systemie Traktujac wszystkie zasoby jak obiekty, Windows 2000 moze stosowac jednolite metody realizacji nastepujacych zadan: tworzenie obiektu ochrona obiektu monitorowanie, kto uzytkuje dany zas?b (klienci obiekt?w) monitorowanie zasob?w wykorzystywanych przez dany obiekt

27. Windows 2000. Moduly wykonawcze. Menedzer obiekt?w. Przyklady typ?w Windows 2000 katalog plik typ obiektu proces watek sekcja i segment (opisuja pamiec) port semafor i zdarzenie powiazanie symboliczne

28. Windows 2000. Moduly wykonawcze. Menedzer obiekt?w (2) (Object Manager)

29. Menedzer obiekt?w (Object Manager) (3) Obiekty systemu Windows 2000 mozemy podzielic na dwie: obiekty wykonawcze. Obiekty wykonawcze sa obiektami implementowanymi przez r?zne komponenty modulu wykonawczego (menadzer proces?w, menadzer pamiecie, podsystem I/O, itd). obiekty jadra. Obiekty jadra to zbi?r prostych obiekt?w zaimplementowanych w jadrze Windows 2000. Obiekty te nie sa widoczne z kodu trybu uzytkownika. Moze z nich natomiast korzystac modul wykonawczy. Obiekty jadra dostarczaja podstawowych mozliwosci, takich jak np. synchronizacja, o kt?re opiera sie budowa obiekt?w wykonawczych. Wiele obiekt?w wykonawczych zawiera (kapsulkuje) jeden lub wiecej obiekt?w jadra.

30. Obiekty wykonawcze zawierajace obiekty jadra

31. Windows 2000.Moduly wykonawcze. Monitor Systemu Bezpieczenstwa (Security Reference Monitor) zastosowany do zaimplementowania systemu bezpieczenstwa w systemie Windows 2000 przechodza przez niego zadania utworzenia lub dostepu do obiektu i okresla on, czy dostep do zasobu jest dozwolony wsp?lpracuje z podsystemem bezpieczenstwa trybu uzytkownika, stosowanym do weryfikacji identyfikator?w uzytkownik?w przy logowaniu do Windows 2000 obiekt Windows 2000 jest zaopatrzony w deskryptor bezpieczenstwa, liste kontroli dostepu ACL (Access Control List) lista sklada sie z element?w zwanych wpisami kontroli dostepu ACE (Access Control Entries) ACE zawiera SID (Security Identyfier) uzytkownika lub grupy, jest to wewnetrzny numer opisujacy uzytkownika i grupe jednoznacznie dla komputer?w pracujacych w systemie Windows 2000 Gdy uzytkownik zaloguje sie w komputerze, jest tworzony dla niego znacznik bezpieczenstwa dostepu SAT (Security Access Token), zawierajacy SID uzytkownika i SIDy wszystkich grup, do kt?rych nalezy uzytkownik SAT ? przepustka na okres danej sesji uzytkownika, sluzy do weryfikacji wszystkich dzialan uzytkownika

32. Windows 2000. Moduly wykonawcze. Menedzer proces?w. zarzadza obiektami proces?w i watk?w tworzy i usuwa obiekty procesu implementuje API tworzenia watk?w w ramach procesu strategie i zasady funkcjonowania watk?w i proces?w zaimplementowano w podsystemach srodowiskowych, a nie poprzez Menedzera proces?w proces sklada sie z: wirtualnej przestrzeni adresowej, zestawu zasob?w wlasnych procesu zestawu watk?w wlasnych procesu watek jest szeregowalna jednostka z wlasnym zestawem rejestr?w, stosem w module jadra i blokiem srodowiska

33. Moduly wykonawcze. Menedzer pamieci wirtualnej. obsluguje mechanizm pamieci wirtualnej w systemie odwzorowuje wirtualna przestrzen adresowa na strony pamieci fizycznej komputera kazdemu procesowi jest przydzielana wirtualna przestrzen adresowa i wielkosci 4 GB (pierwsze 2 GB ? rezerwowane dla programu uzytkownika, pozostale 2 GB ? jako pamiec systemowa

34. Moduly wykonawcze. Wykonanie procedury lokalnej. Podsystemy sodowiskowe: serwery, aplikacje z niego korzystajace: klienci Modul wykonawczy Wywolanie procedury lokalnej zapewnia komunikacje klienta i serwera poprzez wymiane komunikat?w

35. Windows 2000. Moduly wykonawcze. Menedzer I/O. zarzadza wszystkimi funkcjami we/wy w Windows 2000 komunikuje sie ze sterownikami r?znych urzadzen stosowana jest warstwowa architektura sterownik?w kazdy modul sterownika w warstwie realizuje okreslona funkcje podejscie warstwowe umozliwia latwa wymiane modulu sterownika bez oddzialywania na pozostale moduly sterownik?w Menadzer I/0 Menedzer Pamieci Cache System Plik?w Sterowniki Sieciowe Sterowniki Urzadzen

36. Podsystemy srodowiskowe procesy dzialajace w trybie uzytkownika zadanie: umozliwienie systemowi NT wykonywania program?w opracowanych dla innych system?w operacyjnych: 16 bitowy Windows MS DOS POSIX znakowe aplikacje 16-bitowego systemu OS/2 kazdy podsystem srodowiskowy zawiera interfejs programowania aplikacji (API) lub przeznaczone dla aplikacji srodowisko System NT korzysta z podsystemu Win32 jako gl?wnego srodowiska operacyjnego, kt?ry jest uzywany do rozpoczynania wszystkich proces?w gdy ma nastapic wykonanie aplikacji: podsystem WIn32 wywoluje zarzadce pamieci wirtualnej, aby zaladowal kod aplikacji zarzadca pamieci zwraca podsystemowi Win 32 informacje o rodzaju kodu wykonywalnego jesli to nie jest rdzenny kod wykonywalny Win32, to sprawdzane jest, czy dziala odpowiedni podsystem srodowiskowy i ? jesli podsystem nie jest wykonywany ? nastepuje jego uruchomienie w trybie uzytkownika podsystem Win 32 tworzy proces do wykonania aplikacji i przekazuje sterowanie wlasciwemu podsystemowi srodowiskowemu

37. Podsystemy srodowiskowe. Srodowisko Win 32 gl?wny podsystem systemu -- Win32 wykonuje aplikacje Win32 i zarzadza wszystkimi funkcjami klawiatury, myszki i ekranu kazdy proces systemu Win32 ma wlasna kolejke wejsciowa zarzadca okien przydziela wszystkie operacje wejscia do kolejek wejsciowych odpowiednich proces?w stosowana jest wielozadaniowosc z wywlaszczaniem sprawdza waznosc obiekt?w przed uzyciem ? zapobiega wykorzystywaniu niewaznych lub blednych uchwyt?w

38. Podsystemy srodowiskowe. Srodowisko Win 32 (2)

39. Podsystemy srodowiskowe. Srodowisko systemu MS DOS realizowany przez maszyne wirtualna systemu DOS (ang. virtual DOS machine, VDM), kt?ra dziala na podstawie kodu zr?dlowego systemu MS-DOS 5.0 i pozostawia programom uzytkowym co najmniej 620KB wolnej pamieci maszyna VDM jest procesem uzytkowym, kt?ry podlega stronicowaniu i planowaniu przydzialu procesora wg. regul dotyczacych wszystkich watk?w systemu NT VDM jest wyposazona w : jednostke wykonywania rozkaz?w, kt?ra wykonuje lub emuluje rozkazy procesora Intel 486 procedury emulowania funkcji ROM BIOS systemu MS-DOS, oraz uslug osiaganych przez programowe przerwanie ?int 21? moduly sterujace wirtualnych urzadzen ekranu, klawiatury i port?w komunikacyjnych powloka polecen systemu NT ? tworzy okno wygladajace jak srodowisko systemu MS-DOS powloka moze wykonywac programy 16-bitowe i 32-bitowe w celu wykonania aplikacji systemu MS-DOS, powloka uruchamia proces VDM, kt?ry ma wykonac program aplikacji DOSowej aplikacje systemu MS-DOS, kt?re bezposrednio odwoluja sie do sprzetu, nie nadaja sie do wykonywania pod systemem Windows NT ekspedytor systemu NT wykrywa petle op?zniajace i przerwy, wystepujace w programach DOSowych i automatycznie optymalizuje zuzycie czasu, co powoduje, ze tak napisane aplikacje dzialaja nieprawidlowo

40. Podsystemy srodowiskowe. Srodowisko 16-bitowego systemu Windows WDM zawiera srodowisko wykonawcze Win16, nazywane ?okna w oknach? (ang. Windows on Windows, WOW) Win16 dostarcza: procedur jadra systemu Windows 3.1 namiastek procedur (ang. stubs) zarzadcy okien i funkcji interfejsu GDI namiastki wywoluja odpowiednie podprogramy systemu Wi32, kt?re zamieniaja adresy 16-bitowe na 32-bitowe aplikacje, kt?re zaleza od 16-bitowego zarzadcy okien lub interfejsu GDI moga nie dzialac ? WOW nie realizuja naprawde 16-bitowego interfejsu API w danej chwili moze dzialac tylko jedna aplikacja Win16, wszystkie aplikacje Win16 sa jednowatkowe, pozostaja w tej samej przestrzeni adresowej i dziela te sama kolejke wejsciowa --> aplikacja, kt?ra przestanie pobierac dane z kolejki zablokuje wszystkie inne aplikacje Win16 (jak w Windows 3.x) --> aplikacja Win16 moze uszkodzic przestrzen adresowa innych aplikacji Win16

41. Podsystem POSIX ma wykonywac aplikacje normy POSIX, kt?re spelniaja standard POSIX.1, majacy za podstawe system Unix aplikacje POSIX moga byc rozpoczynane przez podsystem Win32, lub inna aplikacje POSIX elementy wykorzystywane przez aplikacje POSIX serwer realizujacy podsystem POSIX (PSXSS.EXE) dolaczana dynamicznie biblioteka (PSXDLL.DLL) zarzadca sesji operatorskiej (POSIX.EXE) srodowisko POSIX narzuca podobne do unixowych prawa dostepu do drzew katalog?w pewne elementy podsystemu Win32 nie zrealizowane w podsystemie POSIX (pliki odwzorowywane w pamieci, operacje sieciowe, graficzne)

42. Podsystemy srodowiskowe. Podsystem OS/2 ograniczone wsparcie aplikacje znakowe systemu OS.2 1.x mozna wykonywac tylko w wersji NT na procesory Intel x86 aplikacje pracujac w systemie OS/2 w trybie rzeczywistym moga dzialac na wszystkich platformach, wykorzystujac srodowisko MS-DOS

43. Podsystemy rejestracji i bezpieczenstwa uwierzytelnienie tozsamosci poprzez rejestracje w systemie pakiet uwierzytelniania (ang. authentication package) sprawdza tozsamosc za pomoca informacji pobranych od podsystemu rejestracji lub z serwera sieciowego (sprawdza poprawnosc hasla) nastepnie podsystem bezpieczenstwa generuje odpowiadajacy uzytkownikowi zeton dostepu, kt?ry zawiera prawa dostepu, ograniczenia ilosciowe i identyfikatory grup zetony dostepu ? sluza do reprezentowania uczestnik?w w systemie. podczas odwolania do obiektu w systemie (np. pr?by uzyskania odpowiedniego uchwytu) zeton dostepu jest przekazywany monitorowi bezpieczenstwa odwolan, kt?ry dokonuje kontroli praw dostepu i limit?w

44. Rejestr Rejestr jest wewnetrzna baza danych, zawierajaca informacje na temat konfiguracji systemu. Jesli podczas instalacji aplikacji, czy uruchamiania program?w systemowych, wymagane sa jakies zmiany konfiguracyjne, nastepuje modyfikacja zapis?w w Rejestrze. Rejestr systemu Windows 2000 ma postac strukturalnej bazy danych, zorganizowanej w formie hierarchicznie ulozonych drzew. Struktura taka ulatwia przegladanie informacji i zarzadzanie nimi. Rejestr wykorzystuje sie do: Podawania informacji konfiguracyjnych podczas uruchamiania komputera Przechowywania og?lnych danych konfiguracyjnych systemu Zarzadzania parametrami konfiguracyjnymi sterownik?w urzadzen Przechowywania nowych informacji konfiguracyjnych, zwiazanych z instalowanymi aplikacjami, czy narzedziami Pomocy administratorom przy modyfikacji konfiguracji systemu Windows 2000 Budowa rejestru: klucze pelniace funkcje kontener?w dla parametr?w opisujacych system. Klucze moga zawierac podrzedne podklucze, podobnie jak to ma miejsce w przypadku katalog?w i podkatalog?w. W celu zachowania wstecznej kompatybilnosci z 16-bitowymi aplikacjami Windows i ich programami instalacyjnymi, w Windows 2000 zachowano r?wniez obsluge plik?w INI. Na ponizszym rysunku zostal przedstawiony bardziej szczeg?lowy schemat, zawierajacy komponenty systemu Windows 2000, kt?re korzystaja z jego Rejestru.

45. Rejestr (2)

46. Rejestr (3) Element Setup z powyzszego rysunku to program instalacyjny Windows 2000 (Instalator), kt?rego zadaniem jest posadowienie na komputerze systemu lub program?w instalacyjnych innych aplikacji. Programy instalacyjne dodaja od Rejestru informacje dotyczace ladowania r?znych modul?w programowych. . Program detekcyjny Ntdetect.com (Recognizer) uruchamiany jest podczas startu systemu operacyjnego. Sprawdza on konfiguracje sprzetowa komputera i rozpoznaje dolaczone do niego urzadzenia peryferyjne (np. klawiature, karte grafiki, urzadzenie wskaznikowe, czy karty sieciowe) i zapisuje te informacje w Rejestrze. Sa one wykorzystywane w nastepnych fazach uruchamiania systemu dla zainicjowania pracy sterownik?w rozpoznanych wczesniej urzadzen. Jesli w systemie opartym na architekturze firmy Intel jakies urzadzenie nie zostanie przez program detekcyjny rozpoznane, jego sterownik nie bedzie uruchomiony, W takim przypadku zwiazane z nim protokoly sieciowe, czy uslugi nie beda dostepne. Jadro systemu Windows 2000 pobiera ono z Rejestru informacje na temat kolejnosci ladowania sterownik?w urzadzen. W druga zas strone przekazuje dane dotyczace wersji i nazwy systemu operacyjnego. Sterowniki urzadzen wymieniaja z Rejestrem informacje konfiguracyjne, jak na przyklad parametry niezbedne do ich zaladowania. Sterowniki zapisuja tam dane na temat uzywanych przez siebie zasob?w systemowych, jak przerwania, kanaly DMA, porty I/O, czy adresy pamieci. Umieszczenie tych informacji w jednej bazie Rejestru pozwala uniknac konflikt?w sprzetowych w systemie. Narzedzia administracyjne to r?zne programy, jak na przyklad Active Directory Users and Computers, kt?ra zapisuja w Rejestrze informacje dotyczace kont uzytkownik?w oraz ich ustawien. System Windows 2000 zawiera program Winmsd.exe, za pomoca kt?rego mozna przegladac zapisy Rejestru w celach diagnostycznych.

47. Wybrane zmiany w XP Zmiany wprowadzone w jadrze systemu Windows XP sa male w stosunku do zmian, jakie mialy miejsce w przypadku system?w Windows NT 4.0, a Windows 2000 (wewnetrzny numer wersji system?w jest tego potwierdzeniem ? Windows 2000 to NT 5.0; Windows XP to NT 5.1, a nie 6.0) Cele zmian: uczynienie Windows XP systemem bardziej: niezawodnym, skalowalnym i lepiej dostosowanym do istniejacych potrzeb. Przystosowanie do potrzeb nadchodzacej rodziny system?w Windows .NET Server, poniewaz systemy te beda korzystac z jadra XP (z odpowiednimi, dodatkowymi funkcjami).

48. Wybrane zmiany w XP (2) Skalowalnosc i osiagi Zmiany w jadrze, zapewniajace lepsza skalowalnosc w systemach wieloprocesorowych, wsparcie dla pracy wielu uzytkownik?w, wiekszych aplikacji, wiekszych plik?w i wiekszego zapotrzebowania na pamiec. Poprawki te maja wieksze znaczenie dla srodowiska serwerowego i dlatego beda one pelnic wieksza funkcje w systemach Windows .NET Server. Wiekszy rozmiar mapowanych plik?w Wieksze sterowniki urzadzen oraz przestrzen systemu Windows 2000 ograniczalo rozmiar sterownik?w urzadzen do 220 MB (w Windows NT 4.0 bylo to 100 MB). W XP sterowniki moga miec rozmiar az do 960 MB Podniesiony limit dla rejestru Efektywniejsze oczyszczanie aktywnego zbioru stron Windows XP wprowadza nowy mechanizm ochrony sekcji krytycznych zwany push lock. Szybsze wywolywania systemowe Do wywolan systemowych, Windows XP uzywa w tym celu pary instrukcji SYSENTER/SYSEXIT, kt?rych zadaniem jest przejscie do i z trybu jadra dla wywolan systemowych, o ile system dziala na procesorze Pentium II lub wyzszym. Instrukcje te wymagaja mniej takt?w zegara do wykonania w zwiazku z czym podnosza predkosc dzialania kody korzystajacego z wywolan systemowych.

49. Prefetch Prefetching jest procesem pobierania stron danych i kodu do pamieci z dysku zanim beda one potrzebne, przechowywane sa w katalogu C:\Windows\ Prefetch Na czym polega przyspieszyc dzialanie? Podczas typowego startu aplikacji porzadek czytania jest taki, ze niekt?re strony pobierane sa z jednej czesci pliku, nastepne z innej, inne jeszcze moga pochodzic z zupelnie innego pliku czy z katalogu. Skakanie powoduje ruch glowicy dysku, a co za tym idzie op?znienia. Poprzez pobranie danych z pliku lub katalogu naraz zanim nastapi dostep do innego pliku oszczedza sie lub eliminuje czas traconych na ruchach glowicy. Aby zminimalizowac czas szukania, co trzy dni lub inny zadany okres, podczas bezczynnosci systemu Task Scheduler organizuje liste plik?w i katalog?w znajdujacych sie w katalogu Prefech. Uruchamia takze defragmentatora dysku ww. katalogu. W ten spos?b nastepne operacje pobrania beda jeszcze bardziej efektywniejsze poniewaz wszystkie dane jakie trzeba bedzie czytac znajduja sie na dysku w porzadku w jakim beda czytane.

50. Win XP. Wsparcie dla architektury 64-bitowej Edycja 64-bitowa Windows XP jest pierwszym naprawde 64-bitowym systemem z serii Windows NT. Dziala np. na procesorze Intel Itanium. Przeniesienie kodu do architektury 64-bitowej wymagalo przepisania prawie calego kodu jadra, HAL?a, menadzera pamieci, modulu przelaczania kontekstu itd. W wyniku otrzymano system, kt?ry zewnetrznie niemal nie r?zni sie od swojego 32-bitowego odpowiednika. Najbardziej znaczaca r?znica pomiedzy systemami 32- i 64- bitowymi jest rozmiar przestrzeni adresowej. 32 bity dostarczaja 4GB przestrzeni adresowej, natomiast 64 bity 17 miliard?w GB( 16 exabajt?w). Spos?b w jaki ta przestrzen jest podzielona i zaprojektowana jest calkiem r?zny. 32-bitwe Windows dziela przestrzen adresowa na polowe ? 2GB dla proces?w uzytkownika i 2 GB dla przestrzeni systemowej, Windows 64-bitowy zapewnia 7152 GB dla kazdego procesu uzytkownika (0.0000416 % calosci), reszte przeznacza na tablice stron, kod systemu operacyjnego dane itd. Aplikacje moga przetwarzac wieksza ilosc danych w plaskiej przestrzeni adresowej bez rozwiazan typu AWE (address windowing extensions) wprowadzone do Windows 2000, zeby umozliwic aplikacja korzystanie z wiecej niz 2 GB pamieci. Mozliwe staje sie uruchamianie wiekszych program?w, pula systemowa jest wieksza, mozliwe staje sie cache?owanie wiekszej ilosci danych. Wprowadzono takze nowy schemat partycjonowania dysk?w zwany GUID Partition Table (GPT), kt?ry posiada wiele zalet w stosunku do znanego wczesniej MBR.

51. Win XP. Wsparcie dla architektury 64-bitowej (2)

52. Win XP:Ochrona przed awariami Przywracanie Systemu - pojawilo sie w Windows Me i sluzy przywracania systemu to ostatnio znanej stabilnej konfiguracji. Serwis robi domyslnie co 24h backup (punkt przywracanie) newralgicznych plik?w systemu takich jak rejestr, rejestr uzytkownika, ustawienia IIS oraz rejestr obiekt?w COM. Wszystkie dane umieszcza w katalogu \System_Volume_Information\_restore{XXX-XXX-XXX}, gdzie X reprezentuje systemowy identyfikator. Wewnatrz katalogu znajduja sie zapisane zmiany wprowadzone np. do rejestru. Gdy wystapia jakiekolwiek problemy z nowo zainstalowana aplikacja mozma skorzystac z Kreatora Przywracania i powr?cic do stanu sprzed instalacji danego programu. Przywracanie sterownik?w, ochrona i ostatni dobry. Podczas instalacji nowych driver?w Hardware Installation Wizard (HIW) zachowuje kopie zastepowanych sterownik?w, tak wiec jesli wystapia jakiekolwiek problemy ze sprzetem po instalacji mozna w prosty spos?b przywr?cic poprzedni sterownik.

53. Win XP. System plik?w W Windows XP wprowadzono takze kilka zmian dotyczacych systemu plik?w: XP wspiera DVD-RAM tak jak inne urzadzenia CD czy DVD. DVD-RAM moze byc formatowany z wykorzystaniem systemu plik?w FAT-32. EFS (Encrypting File System) nie jest juz oddzielnym driver?em ale zostal zintegrowany z NTFS. Umozliwia dostep do zaszyfrowanych plik?w wielu uzytkownikom, czyniac mozliwym wsp?ldzielenie zaszyfrowanych plik?w. Wprowadzone nowy modul defragmentacji dysk?w. NTFS moze podmontowywac nosniki tylko do odczytu i ma lepsze zabezbieczenia.

54. Win XP. Bootowanie i wykonywanie z ROM Windows XP wspiera booting i wykonywanie kodu aplikacji z pamieci ROM. Podczas gdy system operacyjny i sterowniki urzadzen sa kopiowane z ROM do RAM i tak wykonywane, to aplikacje uzytkownika moga byc wykonywane bezposrednio z ROM. Ta funkcjonalnosc zostala dodana z powodu nadchodzacych osadzonych wersji Windows NT (dla urzadzen przenosnych) opartych na jadrze XP.

55. Win XP. Nowe API autoryzacji Windows XP nie wprowadza zadnych istotnych zmian to podsystemu bezpieczenstwa dzialajacego w trybie jadra, za to w trybie uzytkownika dodano nowe API zwane AuthZ. AuthZ moze byc uzyte przez aplikacje zarzadzajace zasobami takie jak serwer baz danych, kt?re chronia obiekty korzystajac ze standardowego modelu bezpieczenstwa Windows, ale r?wniez wymagaja duzej efektywnosci dzialania. Zamiast reprezentacji kontekst?w bezpieczenstwa za pomoca token?w w trybie jadra, AuthZ reprezentuje je za pomoca struktur trybu uzytkownika. Takie podejscie nie wymaga prowadzenia wywolywan systemowych, a dla polepszenia wydajnosci AuthZ moze r?wniez cache?owac wyniki zapytan sprawdzajacych dostep.

56. Win XP. Winsock Chociaz Winsock (Windows Sockets) nie przeszly znaczacych zmian od wersji 2000 to XP wprowadza pewne interesujace zmiany do API. Np. funkcje: getaddrinfo i getnameinfo rozszerzaja translacje adres?w na nazwy i odwrotnie, jednoczesnie zastepujac stare funkcje gethostbyname oraz gethostbyaddr. Obie wspomniane funkcje obsluguja r?wniez IPv6. W nowym API znalazly sie r?wniez funkcje sluzace do transmisji danych wprost z plik?w bez potrzeby kopiowania ich do pamieci np. funkcja TransmitPackets. Pozwala to na przyspieszenie transmisji danych. W Windows XP dodano r?wniez obsluge IPv6.

57. Win XP. Dodatkowe oprogramowanie zawarte w systemie Poza tymi oraz jeszcze wieloma innymi zmianami w sklad Windows XP wchodza nowe wersje Windows Media Player, Bibliotek DirectX. Dodano program do nagrywanie obraz?w ISO na nosniki typu CD-R/W. W XP Professional znajduje sie IIS wersja 5.1 (Internetowe uslugi sieciowe) oraz zdalny pulpit, kt?ry pozwala prowadzic zdalne sesje z innej maszyny.


Other Related Presentations

Copyright © 2014 SlideServe. All rights reserved | Powered By DigitalOfficePro