Windows juhend: Kuidas paigaldada täiendavaid draivereid: Difference between revisions
Line 1: | Line 1: | ||
= Mis on driver = | = Mis on driver = | ||
Driver on arvuti programm mis laseb teistel kõrgtasemeprogrammidel suhelda arvuti riistvaraga ja liidestab välisseadmeid operatsioonisüsteemiga. Tavaliselt suhtleb draiver komponendiga läbi siinide või teiste ühenduskanalite, mis on riistvaraga ühenduses. Kui kõrgem programm tahab komponendilt midagi, siis ta annab draiverile käsu ja draiver annab komponendile riistvara spetsiifilise käsu. Kui komponent tahab programmile andmeid saata, siis käib see samuti läbi draiveri. Seadme driverid on riistvarale loodud ja iga operatsioonisüsteemi jaoks eraldi | Driver on arvuti programm mis laseb teistel kõrgtasemeprogrammidel suhelda arvuti riistvaraga ja liidestab välisseadmeid operatsioonisüsteemiga. Tavaliselt suhtleb draiver komponendiga läbi siinide või teiste ühenduskanalite, mis on riistvaraga ühenduses. Kui kõrgem programm tahab komponendilt midagi, siis ta annab draiverile käsu ja draiver annab komponendile riistvara spetsiifilise käsu. Kui komponent tahab programmile andmeid saata, siis käib see samuti läbi draiveri. Seadme driverid on riistvarale loodud ja iga operatsioonisüsteemi jaoks eraldi. | ||
= Eesmärk = | |||
Driverid lihtsustavad programmeerimist, olles nagu tõlk riistvara seadme ja aplikatsioonide või operatsioonisüsteemi vahel mis seda kasutab. Programmeerijad saavad kirjutada kõrgtaseme programmi koodi mis ei ole spetsiifilise riistvaraga piiritletud. | |||
= Kernel-mode ja user-mode = | |||
Driverid saavad töödata Kernel-Mode'is ja User-Mode'is. Kui avada aplikatsioon mis jookseb User-Mode'is siis windows loob selle apliktsiooni jaoks uue protsessi. Protsess annab sellele aplikatsioonile privaatse virtuaalse aadressi ruumi ja privaatse viida tabeli. Kuna aplikatsiooni virtuaalne aadressiruum on privaatne , siis see programm ei saa muuta andmeid mis kuuluvad teisele programmile. Iga programm töötab isolatsioonis, ja kui see programm kokku jookseb siis teiste programmide ja operatsioonisüsteemi tööd see ei mõjuta. Lisaks privaatsusele on User-Mode virtuaalne aadressiruum limiteeritud. Protsessoril, mis töötab User-Mode'is, ei puudub ligipääs privaatsetele aadressidele mis on reserveeritud operatsioonisüsteemi jaoks. Virtuaalse aadressi ruumi limiteerimine User-Mode aplikatsioonides ennetab kriitilisete operatsiooni süsteemi andmete muutmist ja võimalike kahjude tekitamist aplikatsioonide poolt. | |||
Kogu kood mis töötab Kernel-Mode'is jagab ühte virtuaalset aadressi ruumi. See tähendab, et Kernel-Mode driver ei ole isoleeritud teistest driveritest ja operatsioonisüsteemist. Kui Kernel-Mode driver juhuslikult kirjutab valele virtuaalsele aadressile, siis andmed, mis kuuluvad operatsioonisüsteemile või teisele driverile võivad hävida. Kui Kernel-Mode driver kokku jookseb, jookseb kogu operatsiooni süsteem kokku. | |||
Revision as of 12:11, 9 October 2011
Mis on driver
Driver on arvuti programm mis laseb teistel kõrgtasemeprogrammidel suhelda arvuti riistvaraga ja liidestab välisseadmeid operatsioonisüsteemiga. Tavaliselt suhtleb draiver komponendiga läbi siinide või teiste ühenduskanalite, mis on riistvaraga ühenduses. Kui kõrgem programm tahab komponendilt midagi, siis ta annab draiverile käsu ja draiver annab komponendile riistvara spetsiifilise käsu. Kui komponent tahab programmile andmeid saata, siis käib see samuti läbi draiveri. Seadme driverid on riistvarale loodud ja iga operatsioonisüsteemi jaoks eraldi.
Eesmärk
Driverid lihtsustavad programmeerimist, olles nagu tõlk riistvara seadme ja aplikatsioonide või operatsioonisüsteemi vahel mis seda kasutab. Programmeerijad saavad kirjutada kõrgtaseme programmi koodi mis ei ole spetsiifilise riistvaraga piiritletud.
Kernel-mode ja user-mode
Driverid saavad töödata Kernel-Mode'is ja User-Mode'is. Kui avada aplikatsioon mis jookseb User-Mode'is siis windows loob selle apliktsiooni jaoks uue protsessi. Protsess annab sellele aplikatsioonile privaatse virtuaalse aadressi ruumi ja privaatse viida tabeli. Kuna aplikatsiooni virtuaalne aadressiruum on privaatne , siis see programm ei saa muuta andmeid mis kuuluvad teisele programmile. Iga programm töötab isolatsioonis, ja kui see programm kokku jookseb siis teiste programmide ja operatsioonisüsteemi tööd see ei mõjuta. Lisaks privaatsusele on User-Mode virtuaalne aadressiruum limiteeritud. Protsessoril, mis töötab User-Mode'is, ei puudub ligipääs privaatsetele aadressidele mis on reserveeritud operatsioonisüsteemi jaoks. Virtuaalse aadressi ruumi limiteerimine User-Mode aplikatsioonides ennetab kriitilisete operatsiooni süsteemi andmete muutmist ja võimalike kahjude tekitamist aplikatsioonide poolt. Kogu kood mis töötab Kernel-Mode'is jagab ühte virtuaalset aadressi ruumi. See tähendab, et Kernel-Mode driver ei ole isoleeritud teistest driveritest ja operatsioonisüsteemist. Kui Kernel-Mode driver juhuslikult kirjutab valele virtuaalsele aadressile, siis andmed, mis kuuluvad operatsioonisüsteemile või teisele driverile võivad hävida. Kui Kernel-Mode driver kokku jookseb, jookseb kogu operatsiooni süsteem kokku.