SO2 - Procesy, wątki, zadania



Podobne dokumenty
Systemy operacyjne i sieci komputerowe Szymon Wilk Etapy uruchamiania systemu 1

Rejestr HKEY_LOCAL_MACHINE

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Działanie systemu operacyjnego

System operacyjny MACH

LEKCJA TEMAT: Zasada działania komputera.

SPIS TREŚCI: KARTY GRAFICZNE... 15

Komputery przemysłowe i systemy wbudowane

PAMIĘĆ OPERACYJNA...107

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

System operacyjny MS-DOS

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jądro systemu operacyjnego

Działanie systemu operacyjnego

WINDOWS NT. Diagram warstw systemu Windows NT

1. Podstawy...P Polecenia podstawowe...p... 18

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Działanie komputera i sieci komputerowej.

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Budowa systemów komputerowych

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Wprowadzenie do systemów operacyjnych

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

System plików. Warstwowy model systemu plików

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

DHL CAS ORACLE Wymagania oraz instalacja

System komputerowy. System komputerowy

profili Twój aktualny profil i kliknij na przycisk Kopiuj, po czym wpisz nazwę dla nowego profilu (będzie ona widoczna przy uruchamianiu systemu).

Struktury systemów operacyjnych

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

4. Podstawowa konfiguracja

Program Rejestr zużytych materiałów. Instrukcja obsługi

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

EXSO-CORE - specyfikacja

Zarządzanie pamięcią w systemie operacyjnym

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

Zarządzanie pamięcią operacyjną

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Warstwy systemu Windows 2000

TM PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Klient-Serwer Komunikacja przy pomocy gniazd

Przewodnik technologii ActivCard

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Podstawy sieci komputerowych. Technologia Informacyjna Lekcja 19

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Zarządzanie pamięcią operacyjną

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer.

Architektura komputerów

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

1 Instalowanie i uaktualnianie serwera SQL Server

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Podstawy Rejestru systemu. Poddrzewa

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

ROZSZERZANIE MOŻLIWOŚCI...

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 13 ARCHITEKTURA SYSTEMU WINDOWS. Opracował Sławomir Zieliński

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Komunikacja między sterownikami przez protokół ADS

Seria wielofunkcyjnych serwerów sieciowych USB

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

PROGRAM DO ARCHIWIZACJI NOŚNIKÓW KOPII ELEKTRONICZNEJ

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

Podstawy projektowania aplikacji biznesowych w systemie SAP R/3

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

System plików warstwa logiczna

dr inż. Jarosław Forenc

Technologia informacyjna. Urządzenia techniki komputerowej

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Ustawienia personalne

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Schematy zarzadzania pamięcia

Komunikacja i wymiana danych

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Ćwiczenie Nr 4 Administracja systemem operacyjnym z rodziny Microsoft Windows

architektura komputerów w. 8 Zarządzanie pamięcią

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Kopiowanie przy użyciu szyby skanera. 1 Umieść oryginalny dokument na szybie skanera stroną zadrukowaną skierowaną w dół, w lewym, górnym rogu.

Urządzenia wejścia-wyjścia

Transkrypt:

SO2 - Procesy, wątki, zadania Procesy, wątki, zadania Program to statyczna sekwencja instrukcji zapisana w pliku dyskowym zamieniająca się w instancję programu w momencie załadowania do pamięci operacyjnej komputera. Proces stanowi całość zasobów, z których korzystają wątki składające się na pojedynczą instancję programu. Zawiera on następujące składniki: Rys. 1. Proces wraz z jego zasobami

SO2 - Procesy, wątki, zadania Prywatną wirtualną przestrzeń adresową, Kod i dane programu w wirtualnej przestrzeni adresowej, Listę uchwytów zasobów systemowych -semaforów, portów I/O, plików dostępnych dla wątków procesu Kontekst bezpieczeństwa -znacznik dostępu (access token) identyfikujący użytkownika, grupy bezpieczeństwa i poziomy zaufania związane z procesem PID -unikalny identyfikator procesu Przynajmniej jeden wykonywany wątek Wątki poza prywatnym obszarem działają we wspólnej pamięci adresowej procesu i tylko w tej pamięci (ew. w pamięci współdzielonej w momencie jej dołączenia do procesu). Zadania (jobs) zarządzają grupami procesów, kontrolują ich atrybuty nakładają ograniczenia i zapamiętują informacje transakcyjne o działaniu procesów Windows 2000 pracuje w 32 bitowej przestrzeni adresowej (4GB) z czego dolna połowa jest przeznaczona na procesy i ich prywatne przestrzenie adresowe, a górna służy na potrzeby systemu operacyjnego.

SO2 - Procesy, wątki, zadania Rys. 2. Rozkład przestrzeni adresowej Windows 2000 Ze względu na wielu klientów Windows 2000 Serwer (Advanced i Datacenter) mogą przeznaczyć aż 3GB na procesy użytkowników. Mechanizm pamięci rozszerzonej (Address Windowing Extension) pozwala działać 32 bitowej aplikacji w pamięci fizycznej 64GB poprzez odwzorowanie w postaci okienek na przestrzeń 2GB.

SO2 - Procesy, wątki, zadania Jeżeli pamięć fizyczna jest mniejsza niż dopuszczalna granica to system zarządzania pamięcią zrzuca część zawartości pamięci na dysk w formie stron i przywołuje je w miarę potrzeb procesu. W systemach operacyjnych definiuje się do 4 trybów pracy procesora (pierścieni ochrony), różniących się prawami dostępu do zasobów. Rys. 3. Pierścienie ochrony Windows 2000 wykorzystuje tryb jądra (0) -wykonuje się kod systemu operacyjnego (usługi systemowe, sterowniki urządzeń). Dostęp do przestrzeni systemowej możliwy jest tylko w trybie jądra.

SO2-Architektura Windows 2000 Windows 2000 wykorzystuje tryb użytkownika (3) -wykonuje się kod aplikacji użytkownika. Wszystkie strony w przestrzeni adresowej użytkownika są dostępne w tym trybie. Strony oznaczone tylko do odczytu nie są zapisywalne w zadanym trybie. Architektura Windows 2000 Rys. 4. Uproszczony schemat budowy Windows 2000

SO2-Architektura Windows 2000 Typy procesów użytkownika: Systemowe procesy pomocnicze -stałe procesy uruchamiane poza managerem kontroli usług taki jak proces logowania ( Winnt\ System32\ Winlogon.exe ), manager sesji ( Winnt\ System32\Smss.exe ), lokalny serwer bezpieczeństwa Local Security Authentication Server ( Winnt\ System32\ Lsass.exe ) Procesy usługowe działające w tle, poprzez manager kontroli usług SCM (Service Control Manager) zapewniające usługi Win32 takie jak proces szeregowania zadań (Task Manager), zarządzania kolejkami zadań (Spooler), usługi baz danych MsSQL Server, Oracle, internetowe usługi informacyjne (IIS) itp. SCM znajduje sie w pliku Winnt\ System32\ Services.exe. Aplikacje użytkownika -mogą być typu Win32,Windows 3.1, MS-DOS, POSIX lub OS/2 1.2 Podsystemy środowiskowe -zestaw funkcji tworzących środowisko systemu operacyjnego zawartego w Windows 2000: Win32, POSIX, OS/2

SO2-Architektura Windows 2000 Biblioteki podsystemów -dynamiczne biblioteki DLL współdzielone przez działające aplikacje i procesy usługowe tłumaczące funkcje API na wewnętrzne usługi systemowe Windows 2000 i wysyłające komunikaty do odpowiedniego podsystemu środowiskowego. Jądro -szeregowanie wątków, obsługa przerwań, wyjątków, synchronizacja pracy wieloprocesorowej Sterowniki urządzeń- (device drivers) -sterowniki sieciowe, systemy plików, sterowniki urządzeń -tłumaczące wywołania I/O na konkretne operacje sprzętowe w środowisku wielodostępnym. Warstwa interfejsu sprzętowego HAL (Hardware abstraction level) stanowi pośredniczącą warstwę kodu dla odwołań jądra, sterowników urządzeń i centrum wykonawczego do konkretnego sprzętu. System okien i grafiki (Win32 USER i GDI) określa zarządzanie oknami, kontrolkami i rysowaniem na ekranie

SO2-Architektura Windows 2000 Podstawowe pliki systemowe Windows 2000: Ntoskrnl.exe -jądro i centrum wykonawcze, Ntkrnlpa.exe - jak wyżej ale dla obsługi 64GB pamięci fizycznej, Hal.dll -warstwa uzależnienia sprzętowego, Win32k.sys -część podsystemu Win32 działająca w trybie jądra, Ntdll.dll -łączniki do funkcji centrum wykonawczego Kernel32.dll, Advapi.dll, User32.dll, Gdi32.dll -podstawowe biblioteki podsystemu Win32. ps2ss.exe - podsystem Os2 psxss.exe -podsystem POSIX Csrss.exe -podsystem Win32 (dawniej Client/ Server Run-Time Subsystem)

SO2-Architektura Windows 2000 Rys.4 Dokładniejszy schemat budowy Windows 2000

SO2-Architektura Windows 2000 Dostępne podsystemy można odczytać w rejestrze Windows HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\SubSystems. Każdy plik wykonywalny jest przypisany do jednego podsystemu i ma to zapisane w nagłówku, przez co może uruchomić odpowiedni podsystem w momencie wykonania. Znacznik typu można odczytać poleceniem exetype np: c:\> exetype \winnt\system32\notepad.exe. zawartym np. w Windows 2000 Resource Kit Podsystem Win32 zawiera: Środowisko (Csrss.exe) obsługa okien konsoli, tworzenie, likwidacja wątków i procesów, obsługa 16-bitowej maszyny wirtualnej DOS, funkcje pomocnicze, ustawienia narodowe Sterownik w trybie jądra (Win32k.sys) zarządzanie wyświetlaniem okien, myszką, klawiaturą, przekazywanie komunikatów użytkownika GDI -interfejs graficzny -rysowanie linii, tekstu i inne operacje graficzne Biblioteki systemowe (Kernel.dll, Advapi.dll, User.dll, Gdi32.dll) -tłumaczą wywołania API na wewnętrzne usługi jądra. Sterowniki urządzeń graficznych -sterowniki kart grafiki, drukarek, miniportów wideo

SO2-Architektura Windows 2000 Podsystem POSIX implementuje tylko standard POSIX IEEE 1003.1-1990. Programy te nie mogą tworzyć okien, wątków, implementować gniazd. Podsystem uruchamia się automatycznie, przy wywołaniu pierwszej aplikacji POSIX. Do kompilacji i linkowania takich aplikacji trzeba używać odpowiednich plików nagłówkowych i bibliotek dostarczanych w pakiecie Platform SDK. Plik wykonuje się pośrednio, poprzez program Posix.exe oraz z wykorzystaniem biblioteki Psxdll.dll. Podsystem OS2 zapewnia interfejs OS2 1.2. Obsługuje tylko 16-bitowe aplikacje tekstowe i programy korzystające z mechanizmu video I/O. Nie ma możliwości bezpośredniego dostępu do sprzętu w przestrzeni I/O. Podsystem jest uruchamiany automatycznie, przy pierwszym wywołaniu aplikacji typu OS2. Aplikacje korzystają z 32-bitowej przestrzeni wirtualnej Windows 2000 odwzorowywanej na 16-bitową przestrzeń adresową OS2. Nie można uzyskać dla procesów priorytetów powyżej 15 (zakres Windows 0-31).

SO2-Architektura Windows 2000 Centrum wykonawcze i jądro Ntoskrnl.exe zawiera: Manager konfiguracji -zarządzanie rejestrem systemowym, Manager procesów i wątków -tworzy i niszczy procesy i wątki przy pomocy funkcji jądra. Monitor bezpieczeństwa -kontrola i ochrona obiektów, Manager I/O -przekierowuje żądania wejścia/ wyjścia do odpowiednich sterowników Manager Plug & Play -rozpoznaje urządzenia PnP, przyznaje porty, przerwania IRQ, kanały DMA, zasoby adresów pamięci. Manager energii koordynuje zarządzanie energią we współpracy ze sterownikami urządzeń Instrumentacja zarządzania WDM -odbieranie informacji o ustawieniach sterowników i poleceń usług z trybu użytkownika Manager pamięci podręcznej -podręczne składowanie danych w szybkiej pamięci Manager pamięci wirtualnej -zarządzanie pamięcią wirtualną procesu przekraczającą rozmiary pamięci fizycznej.

SO2-Architektura Windows 2000 Sterowniki urządzeń Działają na poziomie jądra w jednym z 3 kontekstów: w kontekście wątku użytkownika w kontekście systemowego wątku trybu jądra w wyniku przerwania (poza kontekstem aktywnego procesu czy wątku) Typy sterowników urządzeń: sterowniki urządzeń fizycznych -nadające i odbierające dane z zewnętrznych urządzeń dla komputera lub z sieci, sterowniki systemów plików -tłumaczące odwołania do plików na konkretne operacje sprzętowe I/O Filtrujące sterowniki systemów plików -nakładają dodatkowe przetwarzanie Sterowniki przekierowań sieciowych -sterowniki plików przekazujące i odbierające żądania obsługi z siecią, Sterowniki protokołów sieciowych (TCP/IP, Net BUI, IPX.SPX itp.) Strumieniowe filtrujące sterowniki jądra -łańcuchy przetwarzania danych strumieniowych -nagrywanie, odtwarzania audio i wideo

SO2-Architektura Windows 2000 Procesy systemowe Proces bezczynności (jałowy) -pojedynczy wątek dla danego procesora wykonywany w czasie jałowym Proces systemowy -zawiera wątki systemowe trybu jądra Manager sesji (Smss.exe) -pierwszy proces użytkownika tworzony w systemie Windows 2000 -kończy inicjalizację jądra. Ustawia zmienne środowiskowe, uruchamia podsystem Win32 (Csrss.exe) i proces Winlogon.exe. Smss pełni rolę monitora między aplikacjami i programami uruchomieniowymi. Jego dane konfiguracyjne są w rejestrze Windows HKLM\SYSTEM\CurrentControlSet\Control\SessionManager. Podsystem Win 32 (Csrss.exe) Proces logowania (Winlogon.exe)- odbiera żądania logowania i wylogowania się użytkownika. Uruchamia proces Userinit.exe inicjalizujący środowisko użytkownika, wykonuje skrypt logowania, mapuje napędy i uruchamia proces powłoki Explorer.exe. Winlogon uaktywnia się sekwencją klawiszy Ctrl+Alt+Del.

SO2-Architektura Windows 2000 Procesy systemowe (c.d.) Manager kontroli usług SCM (plik Services.exe) i jego pochodne procesy usługowe np: svchost.exe (kod serwera usług), spoolsv.exe (usługa spoolera), regsvc.exe (usługa zdalnego rejestru), mstask.exe ( usługa szeregowania zadań). Usługi są plikami wykonywalnymi Win32, zwykle działającymi w tle, które oddziałują z SCM w celu rozruchu usługi, pauzy, zatrzymania usługi, opisania swojego stanu. Są zdefiniowane w rejestrze pod adresem HKLM\ SYSTEM\ CurrentControlSet\ Services. Lokalny serwer bezpieczeństwa (Lsass.exe) Odbiera żądania uwierzytelniania od Winlogon.exe i sprawdza zgodność hasła użytkownika z zapisem w aktywnym katalogu i bazie SAM. Generuje znacznik dostępu z profilem bezpieczeństwa użytkownika i przekazuje do Winlogon w celu wpisania do procesu powłoki systemowej. Następne procesy go dziedziczą.

Rys. 5. Historia zarządzania pamięcią w Windows

Rys. 6. Historia zarządzania pamięcią w Windows

Zarządzanie pamięcią wirtualną Windows 2000 obejmuje następujące zagadnienia: Odwzorowanie wirtualnej przestrzeni adresowej procesu do pamięci fizycznej w postaci zbioru roboczego ( working set ). Stronicowanie części pamięci na dysk w momencie zapotrzebowania na nią poprzez inne działające wątki lub kod systemu. Windows 2000 Professional i Server zarządzają 4 GB pamięci fizycznej ze względu na 32bitowe adresowanie. Advanced Server i DataCenter Server obsługują odpowiednio 8GB i 64 GB przy zachowaniu tej samej przestrzeni wirtualnej 4 GB dla procesów. Manager pamięci udostępnia ponadto następujące usługi: Rezerwowanie i deklarowanie stron w wirtualnej przestrzeni adresowej procesu, Blokowanie stron wirtualnych w pamięci fizycznej pamięć z kopiowaniem przy zapisie obiekty odwzorowania plików ( file mapping objects ) określane też jako segmenty pamięci lub obiekty sekcji ( section objects ).

Rys. 7. Obraz wirtualnej przestrzeni adresowej Windows 2000

Rezerwowanie stron pamięci polega na określeniu potrzebnych zakresów adresu wirtualnego procesu i wpisaniu ich do deskryptorów adresu wirtualnego VAD danego procesu bez zużywania zasobów systemowych. Deklaracja umożliwia dostęp do stron pamięci przez dany proces, możliwość odwzorowania w postaci obiektu sekcji, jeśli są współdzielone z innymi procesami. Rezerwację i deklarację wykonuje funkcja API VirtualAlloc (Ex), a ich zwalnianie funkcja VirtualFree(Ex). Nieużywane strony są przesuwane z zestawu roboczego do listy stron zmodyfikowanych, a później odsyłane na dysk. Blokowanie stron pamięci uniemożliwia ich przesunięcie na dysk na czas trwania blokady. Wykonują to funkcje API na poziomie aplikacji ( VirtualLock) lub funkcje trybu jądra w sterownikach ( MmProbeAndLockPages, MmLockPagableCodeSection, MmLockPagableDataSection itp.). Pamięć współdzielona ( shared memory ) jest widoczna więcej niż dla jednego procesu, obecna w różnych, wirtualnych przestrzeniach adresowych

Rys. 8. Współdzielenie pamięci przez procesy. Każdy z procesów ma własne strony danych, ale niezmodyfikowane dane i polecenia programu są współdzielone. Do implementacji pamięci wspólnej służą obiekty sekcji traktujące ją jak strony pliku odwzorowywanego w pamięci fizycznej. Obiekty sekcji tworzone są przez funkcję API CreateFileMapping, a po uzyskaniu nazwy inne procesy mogą je otwierać poprzez OpenFileMapping. Sterowniki urządzeń manipulują obiektami sekcji za pomocą funkcji jądra ZwOpenSection, ZwMapViewOfSection.

Kopiowanie przy zapisie zaoszczędza pamięć fizyczną. Odwzorowywany obiekt sekcji zawierający strony do odczytu i zapisu nie tworzy od razu swojej kopii dla danego procesu. Strony do odczytu nie potrzebują kopii a te do zapisu dopiero w momencie samego zapisu Rys. 9. Mechanizm kopiowania przy zapisie Tłumaczenie adresów wirtualnych (32 bity) na adresy fizyczne pamięci odbywa się z wykorzystaniem wpisów do tzw. tabeli stron.

Stosuje się 2-poziomową strukturę tabeli stron, a w systemach powyżej 4GB strukturę 3-poziomową. Rys. 10. Odwzorowywanie adresów wirtualnych do pamięci fizycznej

Rys. 11. Składniki wirtualnego adresu 32-bitowego Etapy tłumaczenia adresu wirtualnego: Załadowanie adresu fizycznego katalogu stron procesu (PDE) do rejestru procesora CR3 po wejściu w kontekst procesu Wybór odpowiedniej tabeli stron (PTE) poprzez odczyt wpisu katalogu stron na podstawie indeksu z 10-ciu najstarszych bitów adresu wirtualnego

Etapy tłumaczenia adresu wirtualnego (cd): Wybór strony pamięci na podstawie kolejnych 10-ciu bitów adresu wirtualnego. Każda z tabel zawiera 1024 strony pamięci po 4096B. Wybrana strona może znajdować się w pamięci operacyjnej (aktualna) lub być przeniesiona na dysk (nieaktualna). Przy próbie dostępu natychmiast wywoływana jest aktualizacja strony. Jeżeli strona została zaktualizowana określa się właściwy bajt pamięci fizycznej poprzez 12 najmłodszych bitów adresu wirtualnego. Każdy z wpisów katalogu stron i tabeli stron ma rozmiar 4 bajtów. Tabele stron dotyczą w połowie danego procesu (512 stron), a w drugiej systemu operacyjnego (512 stron). Każdy proces posiada własny zestaw tabel stron tego procesu. Strony opisujące przestrzeń systemową są współużytkowane przez wszystkie procesy. Strony systemowe są odwzorowywane przez proces w miarę jego potrzeb, więc dla każdego procesu i w każdym momencie stan ich rozwinięcia może być inny.

Rys.12. Tłumaczenie adresu wirtualnego

Rys. 13. Tabele stron systemu i procesów

Rys. 14. Wpisy do tabeli stron

Wpisy do tabeli stron U -udostępniony, strona była już odczytywana lub zapisywana Cd -pamięć podręczna wyłączona dla tej strony D -strona zmieniona po zapisie Gl -globalny, translacja zastosowana do wszystkich procesów L -duża strona (4MB) dla Ntoskrnl i Hal O -właściciel, kod użytkownika ma dostęp do strony V -ważny, strona jest w pamięci fizycznej Wt -Ważny, zapis na dysk W -zapis, strona do zapisu lub tylko do odczytu

Obiekty sekcji (section object) albo obiektem odwzorowania pliku (file mapping object) Reprezentuje blok pamięci współużytkowany przez 2 lub więcej procesów, w razie potrzeby umieszczany w przestrzeni wymiany na dysku Może także odwzorowywać zwykły plik dyskowy do przestrzeni adresowej procesów. Można wtedy używać pliku jako wielkiej tablicy przez odwzorowanie różnych widoków obiektu sekcji i zapis/odczyt z pamięci Typ obiektu -segment Atrybuty treści obiektu: Maksymalny rozmiar do jakiego może wzrosnąć sekcja (cały plik) Zabezpieczenie strony Plik stronicowania/ plik odwzorowywany Bazowy/ bez bazy jeśli sekcja pojawia się na różnych adresach wirtualnych procesów Usługi obiektu sekcji Tworzenie segmentu Otwieranie segmentu Odwzorowanie/ usunięcie widoku Zapytanie segmentu

Obiekty sekcji Rys. 15. Struktury danych dla obiektów sekcji

Obiekty sekcji Dla każdego otwartego pliku jako obiektu sekcji istnieje przyporządkowana mu struktura wskaźników sekcji zapewniająca kontrolę dostępu do pliku i jego buforowanie. Obszar sterowania odrębny dla plików danych i plików wykonywalnych jest połączony ze wskaźnikami obiektu sekcji Podsekcje opisują osobno odwzorowanie dla każdej z sekcji pliku (odczyt, zapis, kopiowanie przy zapisie itp.). Obszar sterowania odwołuje się do systemu zarządzania stronami pamięci w celu odwzorowania sekcji na odpowiedniej stronie