Zadania sterownika maszyny wirtualnej, urządzeń wirtualnych, sterowników urządzeń
- obsługują one urządzenia fizyczne i maja dostęp do wewnętrznych struktur systemowych
- sterowniki udostępniają standardowy zestaw funkcji do komunikacji z urządzeniem
1.2 Proces przydzielania zasobów w PnP
Kiedy uruchamiamy jest system, sterownik konfiguracji uruchamia moduły wyliczające, które tworzą listę zasobów sprzętowych i wypełniają ja informacjami z rejestru systemu. Następnie sterownik konfiguracji używa modułów przydzielających zasoby w celu ustalenia prawidłowej konfiguracji systemu.
1.3 Wartość klucza StaticVxd określa nazwę pliku zawierającego program obsługi urządzenia wirtualnego, które zostaje wczytane przez moduł wyliczający. Jeżeli ma wartość o nazwie StaticVxd, wartość DevLoader mówi, jaki program dynamicznie wczytuje urządzenie wirtualne. Wartość Driver zawiera nazwę pliku , który zostanie wczytany, gdy urządzenie wirtualne będzie potrzebne do systemu.
1.4 Korzyści z korzystania bibliotek dynamicznych
Rozszerzenie możliwości systemu.
1.5 Wielozadaniowość w aplikacjach 16/32 - bitowych Windows
16- bitowe, wszystkie aplikacje wykorzystywane są jako jeden wątek
32- bitowe, aplikacje posiadają jeden lub więcej wątków
1.6 Klasa okna i funkcje okienkowe
Klasa - określa wygląd okna i jego zachowanie
Funkcje - otrzymuje i przetwarza wszystkie informacje
2.1 Rozmiar wirtualnej przestrzeni adresowej procesu = 4GB
0-2GB dostępne dla procesora
2GB < zarezerwowane dla systemu
2.2 Stany w jakich znajduje się strona
Wolna - strona nie dostana
Zarezerwowana - strona zarezerwowana nie jest dostępna i nie jest jej przydzielona fizyczna pamięć, proces może rezerwować strony w celu późniejszego użycia
Przydzielona - strona nie została przydzielona pamięci fizycznej ( RAM lub na dysku) taka strona może mieć określone prawa np. tylko do odczytu, wykonanie programu, zapis
2.3 Związki między maszyną wirtualna, katalogiem stron, tablicą stron, deskryptorem stron
Deskryptor - określa położenie w pamięci fizycznej oraz prawa dostępu są grupowanie przez system w struktury nazwane tablicami strony. Tworząc wiele tablic stron system tworzy osobne przestrzenie adresowe. Adresy tablic przechowywane są w strukturze nazywanej katalogiem stron. Każda maszyna wirtualna posiada odrębny katalog stron.
2.4 Adres
31-22 numer tablicy stron w katalogu
21-12 numer deskryptora strony w tablicy stron
11-0 pozycja bajtu na stronie
3.1 Sposób wyznaczania wątku przez algorytm kolejkowania w Windows
Klasa i poziom priorytetu -> priorytet podstawowy
3.2 Algorytm kolejkowania:
- zapamiętuje stan wątku
- umieszcza wstrzymany stan wątku na koniec kolejki do której należy
- znajduje kolejke o najwyższym priorytecie w której jest gotowy wątek
- przesuwa gotowy wątek na czoło kolejki i wykonuje go
Wątki nie gotowe to
- utworzone jako wstrzymane
- zatrzymane w trakcie wykonywania
- wątki zatrzymane przez funkcje blokujące
3.3 Zwiększenie priorytetu wątku :
- gdy uaktywni się okienko
- gdy otrzyma meldunek
- gdy wątek zatrzymany przez funkcje blokująca zostanie wznowiony
3.4 Obiekty służące do synchronizacji wątków
Mutex - tylko jeden wątek może być właścicielem określonego obiektu typu mutex, co pozwala na wzajemne wykluczanie się dostępu do zasobów
Zdarzenie - informuje jeden lub więcej oczekujących wątków o tym że wystąpiło zdarzenie
Semafor - posiada licznik od 0 do ustalonej wartości maksymalnej , ograniczając liczbe wątków, które jednoczesnie mogą korzystać ze wspólnych zasobów.
Sekcja krytyczna - pozwala na dostęp do zasobów tylko jednemu tylko jednemu watkowi , ale musi być uzywana przez wątek jednego procesu.
3.5 Funkcje blokujące
Funkcje oczekujące - na zmiane kilku obiektów synchronizacji
Funkcje oczekujące na zmiane stane pojedynczego obiektu synchronizacji
Nie wolno używać f.b. w wątku który utworzył okno główne
3.6 Komunikacja między wątkami
Za pomocą zmiennych globalnych lub wskaźników
4.1 Mechanizmy komunikacji między procesami
Potoki (nazwane, bez nazwy), skrzynki pocztowe, meldunki
4.2 Potok bez nazwy - służy do jednokierunkowej wymiany danych miedzy procesami na komputerze lokalnym, można komunikowac się przez siec
Potok nazwany - sluzy do dwukierunkowej wymiany danych miedzy procesami na komputze lokalnym jak i zdalnym
- zapis i odczyt danych
- transakcje
Serwer potoku nazwanego musi być uruchomiony na komputerze z SO WinNT, serwer potoku bez nazwy może pracować z SO Win98
4.3 Skrzynka pocztowa - jest mechanizmem jednokierunkowej wymiany danych między procesami.
- przesylanie wiadomości odczyt danych
- uzyskiwanie dostępu do skrzynki pocztowej
- przesłanie wiadomości do serwera
- przesłanie wiad. Na komputerze lokanlnm do skrzynki na innym komputerze lub do wszystkich komputerów w grupie roboczej lub domenie
Wiadomośc nie może być dłuższ niż 400 bajtów
4.4 Bezpieczeństwo komunikacji
- klient podawany jest weryfikacji
- określa liste użytkowników lub liste grup
- ustawia prawa użytkowników
4.5 Obiekty synchronizacji procesów te same co do synchronizacji wątków za wyjątkiem sekcji krytycznej