Windowsi register

From ICO wiki
Revision as of 23:48, 12 October 2010 by Rkorgmaa (talk | contribs)
Jump to navigationJump to search

Tutvustus

Windowsi register on hierarhiline tsentraal andmebaas, kus hoiustatakse vajalikku informatsiooni süsteemi konfigureerimiseks ühele või enamale kasutajale, rakendustele või riistvaralistele seadmetele. Register sisaldab endas informatsiooni, mida Windows pidevalt jälgib operatsiooni käigus, nagu iga kasutaja profiile, masinasse salvestatud programme ja nende poolt salvestatavate faili tüüpidega, atrubuudilehe sätteid kaustade ja rakenduste ikoone, arvutis oleva riistvara olemas olu ja portide kasutust. Register asendab enamus tekstil baseeruvaid .ini faile mida kasutati 3.x ja MS-DOS konfiguratsiooni failides, nagu Autoexec.bat ja Config.sys.

Põhimõte

.INI failid hoiustasid iga rakenduse kasutaja sätteid eraldi failsis, kui Windowsi register hoiustab kogu rakenduse sätted standartses vormis ühes keskses varamus. See pakub mõningaid eeliseid INI failide üle. Kuna registrisse sisenemine ei vaja liigendamist, võib kirjutamine/lugemine olla kiirem kui INI faili. Lisaks saab raskelt sisestatud andmeid talletada registris erinevalt INI faili hoiustatud tekst informatsiooni asemel. Kasutaja põhiseid registri sätteid laetakse pigem kasutaja-eriomaselt rajalt kui read-only süsteemi asukohast, lubades mitmeid kasutajaid jagada sama masinat ja lubab programmidel töötada väiksema privileegiga kasutajate all. Varukoopiate ja nende taastamine on lihtsustadud, kuna registrile on võimalik ligi pääseda üle võrgu kasutades Remote Management/supporti. Meeles peab pidama, et Remote regisrty teenus peab jooksna ja tulemüüri seaded peavad seda lubama. Registrer omab funktsioone, mis parandavad süsteemi terviklikkust, kuna register on ülesehitatud kui andmebaas ja pakub andmebaasilikke funktsioone nagu atomic updates. Kui kaks protsessi üritavad uuendada sama registri väärtust samal ajal, siis ühe protsessi muutus ületab teist ning üleüldine andme terviklikkus jääb paika. Windows Vista ja Windows 7 pakuvad kandelisi uuendusi registrisse, pikendades aatomlikke garantiisid üle mitme võtme või/ja väärtuse muutuse koos traditsioonilise commit-abort semantikate.

Ülesehitus

Register sisaldab endas kahte põhi elementi: võti ja väärtus.

Registri võtmed on kaustadega sarnased - lisaks väärtustele saab iga võti omada alamvõtit, mis võib veel omakord omandada alamvõtmeid jne. Võtmeid refereeritakse süntaksiga Windowsi viite nimedega sarnaselt, kasutades kaldkriipse hierarhia tasandite märkimiseks. Iga alamvõtmel on kohustuslik nimi mis on täidetud string ja millel ei tohi sisalduda ühtegi kaldkriipsu või null märki ning mille tähe suurus on tähtsusetu.

Registri väärtused on nimi/andmed paar, mis on talletatud võtmesse. Väärtustele on viidatud eraldi registri võtmetes ning kõigil hoiustatud registri väärtustel on unikaalne nimi, mille tähe suurus ei ole oluline. Registri väärtuste nimedes võivad esineda kaldkriipse, kuid see teeb nende keeruliseks nende eristamise võtmete radadest kui kasutada mõnda legacy Windows Registry API funktsioone.

Registris on seitse eelmääratud root võtit:



  • HKEY_LOCAL_MACHINE ehk HKLM
  • HKEY_CURRENT_CONFIG ehk HKCC (ainult Windows 9x/ME ja NT-baseeruvatel Windowsi versioonidel)
  • HKEY_CLASSES_ROOT ehk HKCR
  • HKEY_CURRENT_USER ehk HKCU
  • HKEY_USERS ehk HKU
  • HKEY_PERFORMANCE_DATA (ainult NT-baseeruvatel Windowsi versioonidel, kuid nähtamatu Windows Registry Editoris)
  • HKEY_DYN_DATA (ainult Windows 9x/ME, ja nähtav Windows Registry Editoris)

Nagu teiste failide ja teenustega Windowsis on ka kõiki registri võtmeid võimalik piirata Accsess Control listiga(ACL). Erinevad kasutajad, programmid, teenused või eemalseisvad süsteemid võivad näha vaid mõningaid hierarhia osasi või erinevaid hierarhiaid samalt root võtmetelt.


Kasutus