SERVIS<>
052008<><>

Windows Registry baza podataka

Nežni segment Windowsa

Šta je to, čemu služi (a uz to i ne radi?!)

Jednostavna definicija mogla bi se svesti na centralizovanu hijerarhijsku konfiguracionu bazu koja sadrži parametre u vezi s operativnim sistemima 32-bitne i 64-bitne Windows porodice, pa i Mobile platforme. Registry u sebe pohranjuje gotovo sve informacije o radu samog OS-a, upotpunjen je stavkama prijavljenog hardvera, a sadrži i postavke korisnika sistema, kao i zapise zasebnih aplikacija. Sve promene koje se vrše u Control Panelu biće reflektovane u Registryju, a isto važi i za banalne postavke pozadine desktopa ili podrazumevanih fontova. Kao takvo, jezgro operativnog sistema omogućava prilagođavanje rada računara sa jedinstvene lokacije, što umnogome olakšava život IT administratorima. Činjenica da se editovanju može pristupati i preko lokalne mreže predstavlja još jedan plus, a ne smemo zaboraviti ni potencijalno razgraničavanje prava korisnika sistema. Naime, administrator može dozvoliti običnim smrtnicima prosto iščitavanje vrednosti određene grane, odobriti upisivanje u druge, a u nekim slučajevima postaviti i specijalne dozvole kako bi se premostio jaz između potpune kontrole i samog čitanja. Ovakva podešavanja bilo bi znatno teže postići uz nekadašnji princip korišćenja INI fajlova. Raštrkanost po sistemu i neusaglašenost strukture ovih konfiguracionih zapisa bili su jedan od glavnih uzroka za kreiranje registra, koji je i dan-danas aktuelan.

Struktura registra

Dva osnovna pojma čine Windows konfiguraciono jezgro – ključevi i podaci sa vrednostima. Za razmatranje ovih stavki najbolje je zaputiti se direktno na Regedit, alat kojim se napredniji korisnici služe za n+1 radnji. Prvi pomenuti element predstavljaju unosi u formi stabla na levoj strani, pandan folderima fajl sistema. Svaki od ključeva može imati podključeve, koji opet mogu sadržati svoje podključeve itd. Verovali ili ne, dubina ovakvog stabla može dostići čak 512 nivoa. Osnovne logičke grupe u podnožju unosa My Computer nazivaju se košnice (Hives) i predstavićemo vam ih hijerarhijskim redom kojim su prikazane u editoru.

Prva u nizu je „KEY_CLASSES_ROOT”, lokacija koja se najčešće obeležava prostim HKCR. Ovde se mogu pronaći podaci o registrovanim aplikacijama na temu fajl asocijacija i dodeljenih OLE (Object Linking and Embedding) klasa. Za razliku od ostalih grana koje u prvom nivou sadrže tek nekolicinu unosa, HKCR u svom podnožju lista sve postojeće klase i tipove fajlova sa informacijama o njihovom tipu, programima kojima se otvaraju, identifikacionom kodu itd. Uzmimo za primer podključ „.jpeg” koji određuje svojstva vezana za ovaj popularni grafički format. U vidu daljih podključeva ovde se najčešće nalaze „OpenWithList”, „OpenWithProgids”, „PersistentHandler” i „ShellNew”, koji opet u sebi sadrže određene vrednosti. Prvi unos, recimo, ima podključeve koji su upravo aplikacije koje podržavaju izabrani format, a elemente ove liste možete videti prilikom izbora „Open With” nakon desnog klika na grafički fajl. Naredni pojam vezuje se za identifikacioni kôd srodnog programa, dok je poslednja karakteristika zadužena za dodavanje novih fajlova ove vrste na Desktop, preko desnog klika i menija New.

HKEY_CURRENT_USER” (HKCU) čuva sve postavke korisnika koji je trenutno prijavljen na sistem. U suštini, ova grana predstavlja samo skup logičkih veza ka klasi „HKEY_USERS” (HKU), sa odgovarajućim podključem za svaku od osoba koje imaju nalog na datom računaru. Iako po prirodi predstavljaju skup prečica, ovde se na jednom mestu nalaze podešavanja mrežnih konekcija, štampača, sistemskih promenljivih, programskih grupa, pa i samih aplikacija instaliranih za konkretnog korisnika.

„HKEY_LOCAL_MACHINE” (HKLM) predstavlja gotovo identičnu strukturu kao i prethodno opisana grana, samo sa nešto širim „vidokrugom”. Naime, ovde su sva podešavanja lokalnog sistema, uključujući unose instaliranih programa i samog OS-a, ali i hardverska strana priče sa podacima vezanim za sistemsku memoriju, kontrolu izvršavanja i drajvere za uređaje. Primarna razlika između ovog i „CURRENT_USER” grananja leži u tipu naloga korisnika. Ukoliko se radi o nalogu sa ograničenim pravima, aplikacije neće biti u mogućnosti da zapisuju na system-wide lokaciji kao što je ova, već će sve potrebne stavke smeštati u ličnu granu korisnika. Princip po kome programi koriste ovaj mehanizam je dvosmeran i ponovo zavisi od prava. Prilikom čitanja, strane aplikacije će prvo tražiti svoje unose u „HKEY_CURRENT_USER\ Software\ ime_izdavača\ ime_aplikacije\ konkretni_podatak”, recimo „HKCU\ Software\ Ghisler\ Total Commander\ InstallDir”. Ukoliko takav element ne postoji na ovoj lokaciji, traži se pod okriljem grane „HKEY_LOCAL_MACHINE”. Prilikom upisa informacija koristi se identičan princip, samo sa zamenjenim prioritetima – aplikacija prvobitno zapisuje u HKLM, pa koristi HKCU tek ukoliko je prvi onemogućen. Od jedinstvenih ključeva unutar HKLM-a mogu se naći „SAM” (Security Account Manager) zadužen za grupe i korisnike, „SECURITY” pod kojim leže lokalne polise, „SYSTEM” koji kontroliše drajvere i strartup, i konačno „HARDWARE”, sa podacima koji se ponovno kreiraju sa svakim uključivanjem računara.

Za „HKEY_USERS” već smo rekli da predstavlja „sabirni centar” za postavke svih korisnika. Prilikom podizanja sistema i logovanja učitavaju se podaci samo za konkretnog korisnika. Prvi od podključeva ove grane, „.DEFAULT”, koristi se u situacijama kada nema ulogovanih lica, dok su SID (Security Identifier) ključevi, označeni oznakom „S” i pozamašnim nizom brojeva, predviđeni za korisničke naloge.

„HKEY_CURRENT_CONFIG”, alijas HKCC, takođe je logička veza kao i HKCU. Hardverski profil računara smešten je pod glavnim ključem ove grane, ali u suštini predstavlja prečicu ka „HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Hardware Profiles\ Current”. Promena vrednosti na bilo kojoj lokaciji odražava se i na drugu, te je ova grana postavljena samo radi lakšeg nalaženja.

Možemo pomenuti još dve košnice, iako XP i Vista nemaju preterane koristi od njih: „HKEY_DYN_DATA” i „HKEY_PERFORMANCE_DATA”. Potonja se ne može videti unutar Regedita, ali je dostupna preko Windows API funkcija, dok prva datira iz Windows 9x edicija i pruža informacije o hardveru koje se prikupljaju po podizanju sistema.

Drugi deo priče o strukturi registra čine podaci sadržani u konkretnim granama, analogno predstavljeni na desnoj strani Regedita. Određeni su nazivom, tipom podataka koje predstavljaju i adekvatnom brojnom, tekstualnom ili logičkom vrednošću. Postoji čak jedanaest tipova podataka različitih po vrednostima koje su u stanju da u sebe prime i po dužini koju će zauzimati u bazi. Ovaj broj odnosi se na sve postojeće formate koji se mogu naći u hederu „Winnt.h” (recimo, uključivanjem u Visual Studio C++), ali za obično „ručno” dodavanje može se koristiti njih pet: „REG_BINARY” (za binarne podatke), „REG_SZ” (UNICODE ili ANSI tekstualni zapisi), „REG_DWORD” (32-bitni broj u Little-endian formatu), „REG_MULTI_SZ” (višestruki stringovi) i „REG_EXPAND_SZ” (tekstualni podaci koji mogu sadržati sistemske promenljive).

Editovanje na više načina

Popularni Registry tvikeri rade upravo automatizovan proces „čeprkanja” po registru sistema, te se može reći da su to u stvari grafički front-endovi za uprošćen rad sa Registryjem. S obzirom na to da je česta provera stanja putem Regedita krajnje nepraktična, većina korisnika radije će se opredeliti za ovakve aplikacije koje će im prekratiti muke u tom pogledu. Zadržimo se ovde ipak na principima ručnog editovanja, ali pre nego što se zaputite na Run: Regedit, vrlo je bitno istaći važnost pažljivog rukovanja ovim alatom. Jedna-dve nepromišljene promene mogu da anuliraju godine finog održavanja baze, te ukoliko ne znate čemu određena vrednost ili ključ služi, nemojte ih menjati niti brisati.

Pojedini elementi koje vidite na levoj strani Regedita mogu se izvesti u zaseban tekstualni fajl. Rezultujući zapis se potom lako može menjati iz tekst editora, ukoliko za to postoji potreba, a njegovo pridruživanje bazi postiže se dvostrukim klikom. Ukoliko želite da deo baze odstranite ponovo putem REG fajlova, dovoljno je da ispred konkretne linije jednostavno dodate znak minus, ali ovakvu praksu treba izbegavati.

Uzmimo za primer jednu od relativno čestih potreba za modifikovanja Registryja – odstranjivanje unosa koje su deinstalirani programi zaboravili. Zamislimo fiktivnu situaciju u kojoj ste se odlučili da famozni ACDSee pošaljete u zasluženu penziju. Rutina za odstranjivanje programa kao i obično nije posao odradila do kraja, te prvo treba posetiti i obrisati lokaciju „HKEY_LOCAL_MACHINE\ SOFTWARE\ ACD Systems\ ACDSee\” i identičan ključ pod „HKCU”. Zamislimo takođe da je naziv programa zaostao u Add/Remove Programs, pa se treba zaputiti na „HKLM\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Uninstall”, gde ćete nesumnjivo naći neke unose davno zaboravljenih i odstranjenih programa. Birate ključ s leve strane, Delete i – voila, kontrolna tabla ponovo je čista i uredna.

Iako ni ovo nisu banalne radnje, pravilno postavljanje dozvola znatno je kompleksnije. Sistem se zasniva na korisnicima sa administratorskim privilegijama i bez njih i, kao što smo već pomenuli, potpunoj kontroli nad pojedinim granama, prostom čitanju ili specijalnim slučajevima koji su još složeniji. Promena dozvola određenog ključa vrši se putem Permissions iz menija desnog klika, izborom konkretne grupe ili svih korisnika, pa obeležavanjem odgovarajućih polja za (ne)odobravanje pristupa.

 
Osnovnoj promeni vrednosti, bilo dodavanjem, izmenom ili brisanjem postojećih elemenata, može se pristupiti i direktno iz komandne linije. Ukoliko, na primer, želite da pridružite zasebni REG fajl postojećoj bazi, neophodno je da unesete „regedit.exe /s naziv_fajla.reg”. Na ovaj način spajanje sadržaja fajla sa bazom biće u pozadini, dok je izostavljanjem parametra „/s” za to neophodno izdati dozvolu. Sufiks „/c” služi za kreiranje novog unosa, „/d” za odstranjivanje postojećih, „/e” je za eksportovanje, a s obzirom na to da se ovim putem ne postiže ništa više nego regularnim pristupom Regeditu, nećemo se dalje zadržavati na ovom segmentu editovanja.

Bekapovanje baze

Iako postoji više načina na koje se ova operacija može obaviti, opisaćemo najbezbolniji. Kreiranje sigurnosne kopije registryja u operativnom stanju je praksa koju bi trebalo ispoštovati, pošto jedan pogrešan korak može biti dovoljan za atrofiranje sistema. Sam postupak je krajnje jednostavan i neznatno se razlikuje za XP i Vista sisteme.

Za rasprostranjeniji ogranak porodice, Windows XP, potrebno je odobriti System Restore ukoliko je on isključen. Preostaje unošenje „%SystemRoot%\ system32\ restore\ rstrui.exe” u Run dijalog, odabir Create a restore point i dodavanje adekvatnog opisa bekapa. Postupak vraćanja na ovu radnu kopiju je manje-više isti, samo što se na formi System Restore treba zaputiti na Restore my computer to an earlier time, gde se ujedno bira i konkretno sačuvana konfiguracija.

U slučaju Viste, najbrži način da stignete do lokacije My Computer: Properties: System Protection je kuckanjem „systempropertiesprotection” u start meniju. Izaberite disk na kojem želite da napravite bekap, pokrenite Create i ponovo priložite deskripciju sačuvane tačke. Restauracija se i u ovom slučaju vrši na istom mestu, jednostavnim izborom System Restore i konkretnog datuma.

• • •

Predstavili smo strukturu, način rada i postupak manipulisanja sadržajem Registryja. Prednosti ovako centralizovane baze su višestruke, ali bogme ima i problema. Na pozitivnoj strani je standardizacija prilikom čuvanja podataka iz različitih aplikacija, mogućnost primene grupnih polisa, lako izvoženje postojećih unosa i dodavanje novih putem zasebnih konfiguracionih fajlova, pa i mogućnost editovanja sa drugog računara, pod uslovom da je Remote konekcija uspešno postavljena. Pristup bazi je znatno brži nego što je slučaj sa editovanjem tekstualnih fajlova, a ovde se mogu pohranjivati i „bogatiji” sadržaji (simbolički linkovi, UNICODE stringovi, sistemske promenljive itd.). Ipak, jedan od najvećih problema jedinstvene baze jeste bojazan od oštećenja, koje bi drastično usporilo rad računara ili čak onemogućilo njegovo podizanje. Sledeći od nedostataka ogleda se u čestoj praksi loše deinstalacije programa, koja ostavlja tragove i dodatno opterećuje sistem uvećavanjem baze, a ni prebacivanje zasebnih konfiguracija programa ne teče uvek glatko.

Bilo kako bilo, Registry predstavlja nezaobilazan pojam u radu sa MS prozorima. Ukoliko delite računar sa ukućanima koji nisu preterano vični tehnici, na ovom mestu možete ograničiti njihovo haranje po potencijalno rizičnim lokacijama, postaviti zabrane menjanja internet bezbednosnih opcija, pa i zaključati Wallpaper čisto iz zabave. Objasnili smo vam osnove Registryja, a za kraj vas ponovo podsećamo da pažljivo baratate sa ovim nežnim segmentom OS-a. Blagovremeno bekapovanje i pravilno održavanje pospešuju stabilan rad bez usporavanja i u teoriji pružaju odgovor na reinstalaciju sistema na svakih nekoliko meseci, ali ponovo – ukoliko ne znate čemu nešto služi u bazi – ostavite ga, ’leba ne jede... možda tek malo memorije.

Miloš KNEŽEVIĆ

 
 AKCIJE
SK Case Chase: Kućište „ZX Spectrum”

 NOVE TEHNOLOGIJE
Nokia Morph

 PRIMENA
Animacija lica

 NA LICU MESTA
Izložba „Antidepresiv”
EUROPRIX Multimedia Awards 2008 (najava)
Olympus konferencija
Chiron OpenHouse Day
PDS i D-Link dilerski skup
E-trgovina 2008
Netgear Reseller trening

 KOMPJUTERI I FILM
Indijana Džons i kraljevstvo kristalne lobanje
Iron Man

 SERVIS
Windows Registry baza podataka
Šta mislite o ovom tekstu?
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera