Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Podobné dokumenty
Metody připojování periferií

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Procesy a vlákna (Processes and Threads)

Základní typy struktur výpočetních systémů

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Stručný obsah. Rejstřík 463

Metody připojování periferií BI-MPP Přednáška 2

11. Implementace ovladače ve Windows

Virtualizace. Lukáš Krahulec, KRA556

11 Návrh programového vybavení

Stavba operačního systému

České vysoké učení technické v Praze Fakulta elektrotechnická. Katedra měření. Diplomová práce. SW implementace uzlu Master sběrnice Measurement Bus

Pokročilé architektury počítačů

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

Pokročilé architektury počítačů

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

Činnost počítače po zapnutí

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Logická organizace paměti Josef Horálek

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Management procesu I Mgr. Josef Horálek

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

operační systém vjj 1

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Služba ve Windows. Služba (service) je program

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

a co je operační systém?

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

udev a kamarádi... Středisko UN*Xových technologií

Principy operačních systémů. Lekce 6: Synchronizace procesů

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

Von Neumannovo schéma

Operační systémy. Přednáška 2: Procesy a vlákna

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Ukázka zkouškové písemka OSY

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Implementace systémů HIPS: historie a současnost. Martin Dráb

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Windows a real-time. Windows Embedded

Operační systémy. Přednáška 1: Úvod

Principy operačních systémů. Lekce 1: Úvod

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Ukazky Zdroje:... 17

Petr Holášek / 1 of 21

Operační systémy (OS)

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

OS řady Microsoft Windows

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Instalace a konfigurace web serveru. WA1 Martin Klíma

Přidělování paměti I Mgr. Josef Horálek

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Základní informace. Operační systém (OS)

Poslední aktualizace: 21. května 2015

Téma 5. Ovladače přístrojů Instrument Drivers (ID)

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

Systémy pro sběr a přenos dat

Metody připojování periferií

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

VirtualBox desktopová virtualizace. Zdeněk Merta

Co mi to tu vlastně běží?

PREPROCESOR POKRAČOVÁNÍ

ČESKÉ VYSOKÉ UČENÍ TECHNICKE V PRAZE. Fakulta elektrotechnická. Katedra měření. Diplomová práce. Základní programové vybavení pro tester CAN

Soft-PLC systémy ICP DAS se softwarem ISaGRAF

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Uživatelská příručka

Operační systémy. Operační systém - programové vybavení počítače, jehož úlohou je z{kladní řízení

HelenOS ARM port. Pavel Jančík Michal Kebrt Petr Štěpán

Komunikace procesoru s okolím

Principy činnosti sběrnic

Téma 3. Procesy a vlákna

Operační systémy. Tomáš Hudec.

Intelligent Platform Management Interface (IPMI) Pavel Slavíček

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

09. Memory management. ZOS 2006, L.Pešička

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Příloha A: Operační systémy Windows NT

Činnost operačních systémů. Beránek Pavel 1. KŠPA

vjj 1. Priority. Dispatcher

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

B4B35OSY: Operační systémy

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Zpracování signálu z obrazového senzoru s využitím OS Linux pro embedded zařízení

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Poslední aktualizace: 25. května 2017

2 Hardware a operační systémy

Programovatelné automaty SIMATIC S7 a S5

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

aniel Dvořák, Martin Mičan Liberec Windows Server 2012/R2 Migrační scénáře

Rozdělení operačních systémů

Metody připojování periferií

Téma 10: Správa hardwarových zařízení a ovladačů II

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Transkript:

Ovladače Windows A4M38KRP Str. 1

Struktura OS Windows Str. 2

Typy ovladačů Str. 3

Typy ovladačů Virtual Device Driver User mode ovladač Virtualizace HW pro DOS aplikace Legacy Driver Pro zařízení nepodporující PnP, typicky se nahrává se při startu systému Class Driver Pro zařízení s obdobnou funkcionalitou (např. HID) Podporuje společné rysy Mini Driver Podporuje specifické vlastnosti nepodporované class ovladačem Monolitic Function Driver Standardní ovladač konkrétního zařízení Filter Driver Umožňuje modifikovat funkce standardního ovladače Str. 4

Základní pojmy IRP Driver object Device object Driver/Device extension URB I/O request packet Struktura sloužící ke komunikaci mezi ovladači respektive mezi operačním systémem a ovladačem. Funguje na principu posílání zpráv. Objekt reprezentující vlastní ovladač. Obsahuje ukazatele na funkce provádějící obsluhu IRP a na funkce zajišťující zavedení a odstranění ovladače z paměti. Dále obsahuje ukazatel na Driver extension a na Device object. Objekt reprezentující data (instanci) daného ovladače. Obsahuje ukazatel na Driver object a ukazatel na Device extension. (Pokud bude v systému více stejných zařízení, tak pro ně bude existovat jeden Driver object a pro každé zařízení jeden Device object). Ukazatel na námi definovanou strukturu, do které si můžeme uložit potřebné informace (proměnné), které potřebujeme mít globálně k dispozici po celou dobu běhu zařízení. USB request block Struktura pomocí které ovladač komunikuje (předává data) s nižším USB ovladačem (ovladač sběrnice). Jako parametr je předána s IRP do zásobníku nižšího ovladače. Str. 5

Spolupráce ovladačů Upper Filter Driver Dostane IRP dříve Může implementovat rozšiřující funkce Může být použit pro obejití chyb Lower Filter Driver Dostane IRP později Může modifikovat např. pořadí prováděných operací Str. 6

Proces zavedení ovladače Ovladače pro Windows Str. 7

Driver objekt Ovladače pro Windows Device Object je spravován komponentou I/O Manager Driver Extension pointer struktura obsahuje globální data driveru adresu funkce AddDevice, vytvářející Device objekt HW Database název zařízení v registrech umožňuje uložit konfigurační info pro ne PnP zařízení FastIoDispatch pro drivery filesystému Major Function tabulka ukazatelů na funkce, obsluhující standardní požadavky Str. 8

Rutiny ovladače Str. 9

Driver Entry WDM Driver inicializuje Driver Object a končí Ne WDM ovladač navíc detekuje hardware vytváří device objekty dokončuje konfiguraci Inicializace WDM Driver objektu adresa Driver Unload adresa AddDevice adresy pro zpracování PnP, Power a SystemControl žádostí Driver Unload Úklid po Driver Entry např. uvolnění paměti apod. Str. 10

Add Device NTSTATUS AddDevice (PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo) { PDEVICE_OBJECT fdo; NTSTATUS status = IoCreateDevice(DriverObject, sizeof(device_extension), NULL, FILE_DEVICE_UNKNOWN, FILE_DEVICE_SECURE_OPEN, FALSE, &fdo); PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fdo->deviceextension; IoRegisterDeviceInterface(pdo, &GUID_DEVINTERFACE_SIMPLE, pdx->deviceobject = fdo; pdx->pdo = pdo; IoInitializeRemoveLock(&pdx->RemoveLock, 0,0,0); pdx->devstate = STOPPED; pdx->devpower = PowerDeviceD0; pdx->syspower = PowerSystemWorking; fdo->flags = DO_BUFFERED_IO DO_POWER_PAGABLE; pdx->lowerdeviceobject = IoAttachDeviceToDeviceStack(fdo, pdo); fdo->flags &= ~DO_DEVICE_INITIALIZING; return STATUS_SUCCESS; } Str. 11 NULL, &pdx->ifname);

Prostředí jádra Io rutiny (I/O manager) Ovladače pro Windows funkce používané při komunikaci mezi drivery Ps rutiny (Process Structure Module) funkce pro vytváření a řízení vláken jádra Mm rutiny (Memory Manager) funkce pro mapování virtuální a fyzické paměti Se rutiny (Security Reference Monitor) funkce pro řízení a sledování bezpečnosti Rtl rutiny (Run time library) náhrada standardních ANSI knihoven Zw rutiny část API32 pro přístup k registrům a souborům Ke rutiny (Kernel) funkce pro synchronizaci Hal rutiny (Hardware Abstraction Layer) Str. 12

Interrupt Request Level Aktivita s danou IRQL nemůže být přerušena aktivitou s nižší nebo stejnou IRQL Ovladače pro Windows Passive level uživatelské procesy většina rutin ovladače Dispatch Level scheduler DPC rutiny ovladače StartIo rutina nefunguje stránkování (i pro vyšší levely) IRQ Level obsluha přerušení Str. 13

Synchronizace Objekty jádra Event, semaphore Mutex Timer Spin Lock podpora i v symetrickém multiprocesorovém systému Opakovaný pokus téhož CPU o získání již vlastněného Spin Locku způsobí DeadLock Po získání Spin Locku automaticky přechod na Dispatch Level nefunguje stránkování CPU čekající na SpinLock prakticky jen obsluha přerušení Čas, po nějž CPU vlastní SpinLock, by měl být minimální prakticky jen obsluha přerušení Str. 14

PnP stavy a žádosti Str. 15