Direkt címzés Virtuális címzés I/O – port címek, DMA Processzor címzés Direkt címzés Virtuális címzés Szegmens – szegmens + offset Lapozás – laptábla dir + laptábla + offset I/O – port címek, DMA Megszakítás + kivétel Memória Fizikai cím Cím
memória szegmens limit (G) --- 1MB-4GB G 386 processzor címzés LDT Szegmentálás Limit memória szegmens limit (G) --- 1MB-4GB G granularity 0 - byte / 1 - 4K lap D/B Prog. 0-286 kód / 1-386 kód --- adat 1-64 K-nál nagyobb szegm. P Present DPL descriptor privilege level 0-3 S segment 1 - memória / 0 - egyéb Típus szegmens típus (EO, R/O) A accessed
Windows virtuális memóriakezelés Lapozás (4kB) (4kB) D dirty A accessed (10 mpként törlõdik, LRU módszer) U/S user/supervisor 0 - supervisor R/W read/write 1- írható P present 1-memória (4kB) Opcionális lapozó A virtuális 8086 mód és a valós mód Védelmek – memória, eszközök
A Windows felépítése WDM Win32 Driver Model
A regisztrációs adatbázis Lokális editor RPC editor
Mini – univerzális driver szerkezet Bus és op.rendszer független W32 driver modell Rétegszerkezet Nincs hook (WDM) Mini – univerzális driver szerkezet Bus és op.rendszer független Dinamikus, többször tölthető VxD VDD VTD VPD Hardver Bus mini Bus class Device mini Device class Legacy virt Alkalmazás NTKern.VXD
Konfiguráció menedzser PnP konfigurációk (IRQ, Port, DMA) Több konfiguráció HW fa (pl.): Plug and Play SCSI Gyökér "Régi" hang BIOS PCI ISA busz Képernyőcsatoló DMA Párhuzamos PCMCIA busz Soros Billentyűzet-vezérlő I/O CD-ROM Merevlemez Hálózat
Az alkalmazás memóriatérképe HW regiszterek Lefoglelt erőforrások Konfiguráció menedzser A VM Az alkalmazás memóriatérképe HW regiszterek Lefoglelt erőforrások
Multiprogramozás Kooperációs (W3.1) Előre kiértékelt
Installálható fájlrendszer menedzser NTFS VFAT VCDFS Network redirektor Egyéb FS Dinamikus cache (VCACHE) Többszálúság 32 bites lemezcímzés
Cluster - a legkisebb címezhető lemezegység A lemezek Cluster - a legkisebb címezhető lemezegység Partíció – lemezként viselkedő rész Elsődleges – önálló fizikai lemezként Kiterjesztett – logikai meghajtónév Kötet – lemezként kezelhető lemezadathalmaz Dinamikus lemezkezelés (2000/XP) Rejtett adatbázis a kötetek adataival. Alapkötet – Elsődleges partíció vagy logikai meghajtó az alaplemezen Dinamikus kötet – esetleg több lemezre átnyúló kötet Egyszerű – egyetlen lemez egy vagy több összekapcsolt területe Átnyúló – több lemezen lévő kötet Csíkozott – több lemezen egyenletesen elosztva (nem hibatűrő) Tükrözött – duplán tárol RAID-5 – három vagy több lemezen paritásadatok is a helyreállításhoz
MBR - A lemez első szektora, amelyről a rendszerindítás elkezdődik. FAT MBR - A lemez első szektora, amelyről a rendszerindítás elkezdődik. Particiós tábla – méret, típus elhelyezkedés LBR - a lemezadatokra vonatkozóan FAT (File Allocation Table) Minden clusterhez egy 12/16/32 bites szám (clusterméret /lemezméret) Címek láncolt listája File vége Következő cluster cím Üres cluster Hibás cluster Könyvtár bejegyzés Fájlnév 8 Kiterjesztés 3 Attributum 1 Idő 2 Dátum 2 Fat kezdet 2/4 Méret 4 FAT adat DIR kezdő cluster
Az NTFS lemez struktúrája MFT fájlok MFT eleje másolat Az MFT (Master File Table) leképez minden fájlt a lemezen Header Attributumok alapinformációk sorszám mutató az első attributumra mutató az utolsó utáni attributumra fájl adatok és mutatók további adatokra Header Adatok Attributum típus, név, jelzők, az adatok helye Adatok – rezidens – nem rezidens – LCN abszolút címmel – VCN cluster offset
MFT attribútumok $VOLUME_VERSION Volume verzió $VOLUME_NAME Volume név $VOLUME_INFORMATION NTFS verzió és dirty flag $FILE_NAME File vagy directory név $STANDARD_INFORMATION File idő adatok és hidden, system, read-only flagek $SECURITY_DESCRIPTOR Védelmi információ $DATA File adatok $INDEX_ROOT Directory tartalom $INDEX_ALLOCATION $BITMAP Tartalomtérkép $ATTRIBUTE_LIST nemrezidens attribútum header
Minden fájl MFT alapfájlok MFTnév Rekord Leírás $MFT Master File Table—NTFS magja $MFTMIRR 1 Az MFT első 16 rekordjának másolata $LOGFILE 2 Tranzakció log-file $VOLUME 3 volume serial number, létrehozás ideje, dirty flag $ATTRDEF 4 Attributum definiciók . 5 A lemez gyökérkönyvtára $BITMAP 6 A lemez cluster térképe $BOOT 7 A lemez Boot rekordja $BADCLUS 8 A hibás clusterek $QUOTA 9 Felhasználói kvóták (NT 5.0) $UPCASE 10 Kisbetűs és nagybetűskarakterek kapcsolatai
A Windows alaprendszer USER32 saját üzenetsor USER16 közös üzenetsor GDI32 True Type raszterizáló nyomtatási alrendszer a háttérben spooler (EMF) Extended Communication Port GDI16 W3.1 grafika Bezier görbék EMF KERNEL32 kivétel kezelés 16-32 bit konverzió (thunking) virtuális memóriakezelés dinamikus swap file KERNEL16
Objetum-orientált szemlélet A felhasználói felület Objetum-orientált szemlélet Dokumentumcentrikus feldolgozás Társítás Active Desktop - Browser Az OLE fejlődése Szerver Adat Objektum
II. Component Object Model Az OLE I. Az OLE fejlődése Task-task kapcsolat (Clipboard, DDE) OLE 1.0 OLE 2.0 OOP software technológia II. Component Object Model Az alkalmazásoktól független lefordított programelem DCOM - Distributed COM COM+ tranzakciós szerverekhez III. A COM technológia Az objektum – osztály – példány Kliens szerver kialakítás Kiszolgálók Egyszerű – egyetlen adatinterface Automation – marshalling is ActiveX – események is Type Library / Microsoft Active Template Library – nyelvfüggetlen leírás Objektumok és programszálak Regisztrációs adatbázis (GUID) Ügyfél CoClass Kiszolgáló Interface1 Interface2
A Registry SYSTEM.DAT USER.DAT SYSTEM.DA0 USER.DA0 Editor - REGEDIT.EXE Értékek - név Adattípusok - string, bináris
A Registry HKEY_LOCAL_MACHINE Config Display System Számmal azonosított konfigurációk HKEY_CURRENT_CONFIG Enum A hardware eszköz felderítõ adatai Hardware A Hyper Terminal soros port és modem adatai Network Hálózati adatok Security Hálózati biztonsági adatok Software Installált software-k konfigurációs és OLE adatai Classes HKEY_CLASSES_ROOT File név kitejesztés .XXX ShellNew Névdefiníció NullFile ... Névdefiníció Shell Open Command Print DefaultIcon Description Név, verziószám... Az aktuális felhasználó adatai HKEY_CURRENT_USER/Software/Description Microsoft A Microsoft termékek adatai
Az adatok egy része a memóriában HKEY_DYN_DATA pl. Statisztikai adatok System A rendszer indítás konfigurációja, driver töltés, operációs rendszer tulajdonságok csoportokba gyűjtve CurrentControlSet Az indítási folyamat vezérlése két csoportban Control A rendszer indításához szükséges inform. ComputerName A gép neve a hálózatban FileSystem A file rendszer IDConfigDB Az aktuális konfiguráció száma KeyboardLayouts A DLL-ek listája Resources Multimédia eszközök NetworkProvider Elérhetõ szereverek Nls Nemzeti nyelv PerfStatus A rendszerstatisztikák Print Nyomtatási adatok Environments driverek és eszk. Monitors nyomt felüógyelõk Printers nyomtatók Providers hálózati ny. lehetõs. Session Manager Op. rend. Adatok Nem támogatottprogramok TimeZoneInformation Idõzona adatok Update Update installáció VMM32 A VxD-k nevei Services Alap Kernel driverek Az adatok egy része a memóriában HKEY_DYN_DATA pl. Statisztikai adatok A Registry
HKEY_USERS .Default User profile létrehozására A Registry HKEY_USERS .Default User profile létrehozására AppEvents Hanghatás adatok ControlPanel beállítások Keyboard layouts Network az akt. és az elõzõ hálózati kapcs. RunMRU A leggyakoribb programok SoftWare A felhasználó software beállításai HKEY_LOCAL_MACHINE/Software StreamMRU A leggyakoribb dokumentumok Számozott felhasználói adatok HKEY_CURRENT_USER A fenti struktúrában. A felhasználói adatok érvényesek a gép adatokkal szemben.