WINDOWS NT. Diagram warstw systemu Windows NT



Podobne dokumenty
dr inż. Jarosław Forenc

System plików przykłady. implementacji

System plików przykłady implementacji

Wykład 7. Zarządzanie pamięcią

Działanie systemu operacyjnego

Zarządzanie pamięcią operacyjną

Działanie systemu operacyjnego

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Działanie systemu operacyjnego

System plików. Warstwowy model systemu plików

dr inż. Jarosław Forenc

Sektor. Systemy Operacyjne

Działanie systemu operacyjnego

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

Schematy zarzadzania pamięcia

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

Systemy operacyjne III

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

Zarządzanie pamięcią operacyjną

Systemy operacyjne system przerwań

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

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

16MB - 2GB 2MB - 128MB

Architektura systemu komputerowego

Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc. systemy plików (NTFS, ext2)

Prezentacja systemu RTLinux

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

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

Systemy plików FAT, FAT32, NTFS

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

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

dr inż. Jarosław Forenc

Perspektywa historyczna Podstawy projektu Elementy systemu. Podsystemy środowiskowe System plików Interfejs programowy.

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Struktury systemów operacyjnych

SYSTEMY WEJŚCIA-WYJŚCIA

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

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

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

Zarządzanie zasobami pamięci

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

1. Pliki i ich organizacja

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

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

Zarządzanie pamięcią w systemie operacyjnym

Architektura komputerów

Wprowadzenie do systemów operacyjnych

Od programu źródłowego do procesu

Wybrane zagadnienia elektroniki współczesnej

Systemy wejścia-wyjścia. wyjścia

System plików. System plików. Operacje plikowe. Inne operacje. Typy plików. Typy dostępu do plików

System operacyjny MACH

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Technologie informacyjne (2) Zdzisław Szyjewski

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

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

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

ARCHITEKTURA PROCESORA,

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

SO2 - Procesy, wątki, zadania

O systemach operacyjnych. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

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

System plików. Definicje:

Procesy, wątki i zasoby

System komputerowy. System komputerowy

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura systemów komputerowych

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

Jądro systemu operacyjnego

Systemy operacyjne. Paweł Pełczyński

Urządzenia wejścia-wyjścia

Architektura systemów informatycznych

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

Komputery przemysłowe i systemy wbudowane

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

Budowa systemów komputerowych

Systemy operacyjne III

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

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

Systemy Operacyjne Pamięć wirtualna cz. 2

dr inŝ. Jarosław Forenc

Charakterystyka systemów plików

System plików. Atrybuty pliku. Typy plików. Pojęcie pliku (ang. file) Zadania systemu operacyjnego. Struktura pliku. Dariusz Wawrzyniak 1

System plików. Systemy operacyjne System plików 1. Pojęcie pliku (ang. file)

Pamięć wirtualna w AS/400

Podstawy. Pamięć wirtualna. (demand paging)

Systemy Operacyjne i Sieci Komputerowe

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

System plików przykłady implementacji. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści.

Stronicowanie w systemie pamięci wirtualnej

Zarządzanie procesami i wątkami

Architektura komputerów

Transkrypt:

WINDOWS NT Diagram warstw systemu Windows NT logon process OS/2 application Win16 application Win32 application MSDOS application POSIX application security subsystem OS/2 subsystem Win16 VDM MSDOS VDM POSIX subsystem authentication package security-account manager Win32 subsystem user mode executive I/O manager file system cache manager. device drivers object manager securityreference monitor process manager kernel virtual memory manager local procedure call facility network drivers hardware abstraction layer (HAL) kernel mode hardware Windows NT str. 1

Hardware abstraction layer (HAL) warstwa oprogramowania ukrywająca różnice sprzętowe przed wyższymi warstwami systemu operacyjnego dostarcza interfejsu używanego przez jądro, zarządcę (ang. executive) i sterowniki urządzeń Jądro używa dwóch rodzajów obiektów dispatcher (np. zdarzenia, mutex-y, semafory, wątki czy zegary) i control (np. asynchroniczne wywołania procedur, przerwania, procesy czy profile) procesy i wątki każdy proces zawiera jeden lub więcej wątków stany wątków gotowy, bezczynny, działający, oczekujący, nowy i zakończony strategia karuzelowa, kolejka wielopoziomowa ze sprzężeniem zwrotnym planista używa 32 poziomów priorytetów do ustalenia porządku wątków z każdym poziomem związana jest jedna kolejka wybierany jest wątek o najwyższym priorytecie, gotowy do wykonania priorytet wątku jest zmniejszany zawsze po wykorzystaniu kwantu czasu procesora a zwiększany gdy proces wychodzi ze stanu oczekiwania procesy z klasy real-time mają większe priorytety i prawo wywłaszczania procesów klasy variable procesy działają w trybie użytkownika lub w trybie jądra Windows NT str. 2

wyjątki i przerwania sprzętowe i programowe błękitny ekran śmierci oznacza wyjątek w trybie jądra dla którego nie ma funkcji obsługi 32 poziomy przerwań 8 używanych przez jądro i 24 reprezentujące przerwania sprzętowe przez HAL Zarządca dostarcza zbiór usług, których mogą używać podsystemy odpowiedzialne za poszczególne środowiska zarządzanie obiektami, zarządzanie pamięcią wirtualną, zarządzanie procesami, umożliwienie lokalnego wywoływania procedur, zarządzanie I/O i monitorowanie bezpieczeństwa Windows NT to system obiektowy używa obiektów dla wszystkich swoich encji i serwisów (np. obiekty katalogów, linków symbolicznych, zdarzeń, procesów i wątków) Zarządca obiektów obiekt może być używany tylko po otrzymaniu uchwytu interfejsu do obiektu idealne miejsce do sprawdzania uprawnień i bezpieczeństwa każdy użytkownik w momencie zalogowania się do systemu otrzymuje żeton dostępu (zawierający dane identyfikujące) umożliwiający korzystanie z pewnego zbioru obiektów utrzymuje informacje o tym jakie obiekty są używane przez jakie procesy każdy obiekt zawiera licznik odwołań (ilość uchwytów) i licznik Windows NT str. 3

referencji (system często używa wskaźników zamiast uchwytów); gdy któryś z liczników zmaleje do zera obiekty (tymczasowe) są usuwane z pamięci obiekty stałe reprezentują encje fizyczne, np. napędy dyskowe itp. do manipulacji obiektami służy standardowy zbiór metod np. create, open, close, delete itp. obiekty mogą posiadać nazwy przestrzeń nazw obiektów jest globalna i umożliwia ich dzielenie każdy proces utrzymuje tablicę obiektów zawierającą m.in. prawa dostępu do obiektu Zarządca pamięci wirtualnej wymagamy od sprzętu umiejętności odwzorowywania pamięci wirtualnej do fizycznej, mechanizmu stronicowania i możliwości dzielenia ramek pamięci fizycznej stronicowanie na żądanie, strona wielkości 4KB, strony przydzielone procesom, które nie są w pamięci fizycznej przechowywane są w pliku wymiany adresy 32-bitowe, zatem do 4GB pamięci wirtualnej dla każdego procesu górne 2GB, identyczne w każdym procesie są używane tylko w trybie jądra dwustopniowa alokacja pamięci rezerwacja przestrzeni adresowej procesu + potwierdzenie alokacji przez przydział przestrzeni w pliku wymiany przestrzeń wirtualna nowo tworzonego procesu jest dostępna dla procesu rodzica pamięć Windows NT str. 4

reprezentowana przez obiekty, które można dzielić (za pomocą uchwytów) segmenty pamięci mogą być dzielone przez wiele procesów każdy proces ma katalog stron (ang. page directory), który zawiera 1024 pozycje (PDE) rozmiaru 4B każda; każda taka pozycja wskazuje na tablicę stron, która zawiera 1024 pozycje tablicy stron (PTE) rozmiaru 4B każda; każda PTE wskazuje na 4KB ramkę pamięci fizycznej (całkowity rozmiar wszystkich tablic stron procesu to 4MB) 32-bitowy adres wirtualny jest dzielony na trzy części: 31 21 11 P D E P T E o f f s e t 10 bitów 10 bitów 12 bitów wskaźnik do pojedynczego bajta w pamięci fizycznej składa się z 20 bitów z PTE (która ma 4B) i 12 bitów przesunięcia (z adresu wirtualnego) pozostałe 12 bitów w PTE służy do opisania atrybutów (RO, RW) i stanu strony (poprawna, wyzerowana, wolna, oczekująca, zmodyfikowana lub zła) dla stron dzielonych PTE w każdym z procesów wskazuje na pozycję prototypową zamiast bezpośrednio na ramkę dzięki temu każda zmiana na stronie wymaga poprawienia zapisu w jednym miejscu Windows NT str. 5

zarządca pamięci wirtualnej utrzymuje bazę danych odwzorowań strona ramka; dla każdej ramki pamięci fizycznej ma wskaźnik do PTE zawierającej wskaźnik do danej ramki błąd braku strony powoduje sprowadzenie strony do pierwszej wolnej ramki (wziętej z listy) oraz sprowadzenie kilku stron sąsiednich (przy założeniu lokalności odwołań pozwala to ograniczyć liczbę braków stron) gdy nie ma wolnych ramek używany jest algorytm FIFO do zabrania ramek procesom, które używają więcej stron niż wynosi minimalny rozmiar ich zbioru roboczego domyślny rozmiar zbioru roboczego to 30 ramek, ale system monitoruje błędy braku strony procesów, żeby określić jego prawidłowy rozmiar Zarządca procesów dostarcza usług tworzenia, usuwania i używania wątków oraz procesów nie posiada informacji o zależnościach rodzic-dziecko ani o hierarchii procesów te dane są przeniesione do systemów obsługujących poszczególne podsystemy (np. Win32) Lokalne wywoływanie procedur (LPC) mechanizm przekazywania wiadomości używany do odwoływania się do usług poszczególnych podsystemów (architektura klient-serwer) Windows NT str. 6

Zarządca wejścia-wyjścia utrzymuje informację o dołączonych systemach plików i zarządza buforami podręcznymi (na żądania operacji I/O) współpracuje z zarządcą pamięci wirtualnej (plik wymiany) i kontroluje nadzorcę pamięci podręcznej CM (obsługującego cały system I/O) umożliwia zarówno synchroniczne jak i asynchroniczne przesyłanie danych tłumaczy otrzymane żądania do standardowej postaci (zwanej I/O request packet IRP), a następnie przekazuje je do sterowników odpowiednich urządzeń w celu zrealizowania po zakończeniu operacji dostaje IRP od odpowiedniego sterownika rozmiar pamięci podręcznej zmienia się dynamicznie (w zależności od ilości wolnej pamięci) zarządca pamięci wirtualnej rezerwuje do połowy górnej pamięci wirtualnej na pamięć podręczną systemu nadzorca pamięci podręcznej mapuje pliki na tę przestrzeń adresową i wykorzystuje działanie zarządcy pamięci wirtualnej do obsługi operacji wejścia-wyjścia na plikach pamięć podręczna jest podzielona na bloki 256KB każdy blok zawiera zmapowany w pamięci fragment pliku każdy blok pamięci podręcznej jest opisany przez blok kontrolny adresu wirtualnego (VACB) Windows NT str. 7

dla każdego otwartego pliku nadzorca pamięci podręcznej utrzymuje tablicę indeksów VACB każde żądanie otrzymane przez zarządcę I/O jest kierowane do nadzorcy pamięci podręcznej, chyba że jest to specyficzne żądanie bez pamięci podręcznej skierowane przez zarządcę pamięci wirtualnej na skutek błędu braku strony process I/O I/O manager cache manager cached I/O file system data copy VM manager page fault disk driver noncached I/O w celu poprawy wydajności nadzorca pamięci podręcznej utrzymuje krótką historię przeprowadzonych operacji i stara się przewidzieć przyszłe typowe operacje I/O przeprowadzane są blokami wielkości 64KB (16 stron) Windows NT str. 8

domyślnym zachowaniem nadzorcy pamięci podręcznej jest dokonywanie zapisu pamięci na dysk co 4-5 sekund (chyba, że proces zadecyduje inaczej) Podsystemy poszczególnych środowisk podsystemy środowiskowe są procesami poziomu użytkownika korzystającymi z usług dostarczanych przez główny system Win32 w celu uruchamiania programów przeznaczonych dla innych systemów operacyjnych np. 16-bitowych Windows, MS-DOS, POSIX lub pewnych aplikacji 16-bitowego OS/2 używają mechanizmu LPC do komunikacji, system dba o to aby odpowiednie wywołania trafiały do odpowiednich podsystemów Win32 główne środowisko pracy uruchamia wszystkie procesy, decyduje czy aplikacja powinna zostać wykonana w innym środowisku i inicjuje takie wykonanie zarządza klawiaturą, myszką i środowiskiem graficznym każdy proces ma własną kolejkę wejściową źle działające procesy nie mogą blokować systemu wszystkie obiekty są sprawdzane przed użyciem Windows NT str. 9

MS-DOS virtual dos machine (VDM) aplikacja Win32 emulująca instrukcje procesora Intel 486, MS-DOS ROM BIOS, programowe przerwanie 21; bazuje na MS-DOS 5.0, dostarcza programom co najmniej 620KB pamięci aplikacje dos-owe, które potrzebują bezpośredniego dostępu do urządzeń (fizycznych) nie będą działać Win16 środowisko dostarczane również przez VDM + dodatkowe oprogramowanie Windows on Windows aplikacje Win16 polegające na wewnętrznej strukturze 16-bitowego systemu mogą nie działać prawidłowo tylko jedna aplikacja może działać w jednym czasie, aplikacje są jednowątkowe i zajmują ten sam obszar przestrzeni adresowej oraz dzielą kolejkę wejściową POSIX środowisko dla aplikacji przestrzegających standardu POSIX.1 aplikacje mogą być uruchamiane przez Win32 lub przez inne aplikacje POSIX aplikacje mają dostęp do dowolnego systemu plików; na plikach obowiązują prawa dostępu i struktura katalogów takie jak w Unixie Windows NT str. 10

OS/2 pierwotnie miało to być domyślne środowisko dla WindowsNT dostarcza tylko ograniczonej funkcjonalności OS/2 tylko znakowe aplikacje OS/2 1.x mogą działać na NT i tylko na architekturze Intel prawdziwe aplikacje OS/2 mogą działać przy użyciu środowiska MS-DOS Podsystemy logowania i bezpieczeństwa umożliwia identyfikację użytkowników na podstawie hasła generuje żetony dostępu do zasobów reprezentujące użytkowników systemu System plików ewolucja: FAT16 (wewnętrzna fragmentacja, max. 2GB, brak ochrony) FAT32 (rozwiązane problemy z rozmiarem i fragmentacją, ale kłopoty z wydajnością) NTFS (zawiera rozwiązania wspomagające odzyskiwanie danych, zapewnienie bezpieczeństwa danych, odporność na błędy, duże pliki i systemy plików, zwielokrotnione strumienie danych, wsparcie dla UNICODE, kompresja) NTFS wolumen jako podstawowa encja NTFS może zajmować część dysku (logiczną partycję), cały dysk lub nawet rozciągać się na kilka dysków Windows NT str. 11

nie działa na pojedynczych sektorach dyskowych, ale na klastrach (ang. cluster), które składają się z kilku sektorów (potęga 2) rozmiar klastra jest konfigurowany w momencie tworzenia systemu plików NTFS (typowe rozmiary: 1 sektor dla wolumenów do 512MB, 1KB dla wolumenów do 1GB, 2KB dla wolumenów do 2GB, 4KB dla wolumenów większych) logiczne numery klastrów (LCNs) jako adresy dyskowe Pliki plik nie jest prostym strumieniem bajtów (jak w Unixie), ale obiektem z wewnętrzną strukturą składającym się z atrybutów każdy atrybut pliku jest niezależnym strumieniem bajtów, który może być tworzony, usuwany, odczytywany i zapisywany plik zawiera atrybuty standardowe (np. nazwa(-y), czas utworzenia, deskryptor kontroli dostępu) + atrybuty charakterystyczne dla poszczególnych rodzajów plików (np. katalogi zawierają atrybuty implementujące indeks nazw plików w katalogu) najbardziej powszechne (zwykłe) pliki zawierają atrybut nienazwany zawierający dane pliku atrybuty mogą różnić się rozmiarem każdy plik jest opisany przez jeden lub więcej rekordów w tablicy przechowywanej w specjalnym pliku zwanym master file table (MFT) plik ten ma kopię (MFT2) umożliwiający odzyskanie danych utraconych przez uszkodzenie MFT Windows NT str. 12

małe atrybuty, tzw. rezydentne są przechowywane w MFT duże atrybuty (nierezydentne), takie jak nienazwane atrybuty z danymi są przechowywane w jednym lub kilku ciągłych obszarach na dysku, a wskaźniki to każdego z tych obszarów są przechowywane w rekordach MFT dla pliku z dużą ilością atrybutów (np. bardzo fragmentowanego) rozmiar MFT może być za mały (nie zmieszczą się wszystkie wskaźniki) taki plik jest opisany przez rekord zwany bazowym rekordem pliku, który zawiera wskaźniki do rekordów, które zawierają dodatkowe wskaźniki i atrybuty każdy plik na wolumenie NTFS ma unikalny identyfikator 64-bitowy numer referencyjny (48 bitów to numer rekordu w tablicy MFT + 12 bitów to numer sekwencyjny zwiększany podczas każdego użycia rekordu tablicy MFT) Katalogi hierarchiczna, drzewiasta struktura katalogów każdy katalog używa struktury danych zwanej B+ drzewem do przechowywania indeksu plików w katalogu każda pozycja w katalogu zawiera nazwę pliku i jego numer referencyjny oraz znacznik czasowy ostatniej zmiany i rozmiar pliku (wzięte z rekordu MFT) wszystkie metadane o wolumenie NTFS są przechowywane w specjalnych plikach: Windows NT str. 13

!"$mft MFT; zawiera też informacje o sobie!"$mftmirr MFT2; plik zawierający kopię pierwszych 16 pozycji z MFT!"$logfile zapis transakcji w systemie plików; używany do reperacji systemu plików!"$volume zawiera nazwę wolumenu, wersję NTFS, która posłużyła do utworzenia wolumenu i bit poprawności!"$attrdef jakiego typu atrybuty są używane na wolumenie i jakie operacje mogą zostać przeprowadzone na każdym z nich!"$bitmap które klastry na wolumenie są przypisane do plików, a które są wolne!"$boot zawiera kod startowy dla NT (jeżeli wolumen jest startowy); musi być umieszczony w szczególnym miejscu na dysku, aby mógł zostać odnaleziony przez program ładujący!"$badclus zawiera informację o wszystkich złych klastrach na wolumenie; używany do reperacji systemu plików!"$upcase zawiera informację o konwersji nazw plików do znaków UNICODE-u Windows NT str. 14