边腐边升 山西一农商行董事长多次被实名举报反获升职

Windows Vista, Windows Server 2003, Windows XP, Windows 2000 i Windows NT su svi dio Windows NT porodice Microsoftovih operacijskih sustava. Svi su preventivni, paralelno iskoristivi operacijski sustavi dizajnirani za rad s ili jednoprocesorski ili simetri?no multiprocesorski (SMP) zasnovanim ra?unalima. Za obradu ulazno/izlaznih (U/I) zahtjeva koristi paketno upravljan U/I koji rabi podatkovnu strukturu IRP koja predstavlja ulazno/izlazne pakete zahtjeva, i asinkroni U/I. Po?inju?i s Windowsima XP, Microsoft je zapo?eo ugradnju 64-bitne podr?ke u svoje operacijske sustave — prije ovoga su operacijski sustavi bili zasnovani na 32-bitnom modelu. Programi i podsustavi u korisni?kom na?inu rada imaju ograni?en pristup sustavskim sredstvima, dok jezgrin na?in rada ima neograni?en pristup sustavskoj memoriji i vanjskim ure?ajima. Jezgra operacijskih sustava u ovoj liniji je poznata kao hibridna jezgra - iako valja napomenuti da je ovaj naziv osporavan, nagla?uju?i da je jezgra u su?tini monolitna jezgra strukturirana kao mikrojezgra. Arhitektura se sastoji od hibridne jezgre, sloja za apstrakciju sklopovlja (HAL), pogonskih programa i izvr?nih komponenti (Executive), pri ?emu su svi oni u jezgrinom na?inu rada [1]. Servisi vi?e razine su ostvareni u izvr?nim komponentama.
Jezgrin na?in rada u Windows NT liniji se sastoji od podsustava sposobnih proslje?ivati U/I zahtjeve odgovaraju?em pogonskom programu koji se izvodi u jezgrinom na?inu rada rabe?i U/I upravitelj (I/O Manager). Dva podsustava ?ine korisni?ki na?in rada Windowsa 2000: podsustav okoline (Environment subsystem) (pokre?e aplikacije napisane za razli?ite vrste operacijskih sustava), i integralni podsustav (Integral subsystem) (funkcije specifi?ne za operacijski sustav koje djeluju u ime podsustava okoline). Jezgrin na?in rada u Windowsima 2000 ima neograni?en pristup sklopovlju i sustavskim sredstvima ra?unala. Jezgrin na?in rada sprje?ava servise i aplikacije u korisni?kom na?inu rada da pristupe kriti?nim podru?jima operacijskog sustava kojima ne bi smjeli imati pristup.
Izvr?ne komponente su?eljuju s podsustavima u korisni?kom na?inu rada. Barataju i s U/I, upravljanjem objekata, sigurno??u i upravljanjem procesa. Jezgra sjedi izme?u sloja za apstrakciju sklopovlja i izvr?nih komponenti kako bi omogu?ila multiprocesorsku sinkronizaciju, raspore?ivanje i otpremanje prijekida i niti, te rukovanje i otpremanje zamki i iznimaka. Jezgra je tako?er odgovorna za inicijalizaciju pogonskih programa ure?aja prilikom pokretanja OS-a. Pogonski programi u jezgrinom na?inu rada postoje na tri razine: pogonski programi najvi?e razine, pogonski programi srednje razine i pogonski programi niske razine. Windows Driver Model (WDM) postoji u me?usloju i ponajprvo je dizajniran kako bi bio kompatibilan binarno i na razini izvornog koda izme?u Windowsa 98 i Windowsa 2000. Pogonski programi najni?e razine su ili naslije?eni pogonski programi s Windowsa NT koji izravno upravljaju ure?ajem, ili pak mogu biti od PnP sklopovske sabirnice.
Korisni?ki na?in rada je sa?injen pod podsustava koji mogu proslje?ivati U/I zahtjeve odgovaraju?im pogonskim programima preko U/I upravitelja (koji djeluje u jezgrinom na?inu rada). Dva podsustava ?ine sloj korisni?kog na?ina rada Windowsa 2000: podsustav okoline i integralni podsustav.
Podsustav okoline je dizajniran kako bi omogu?io pokretanje aplikacija napisanih za razli?ite vrste operacijskih sustava. Podsustavi okoline ne mogu izravno pristupiti sklopovlju, i moraju zahtijevati pristup memorijskim sredstvima preko upravitelja virtualne memorije koji djeluje u jezgrinom na?inu rada. Tako?er, aplikacije se pokre?u na ni?em prioritetu od procesa u jezgrinom na?inu rada. Trenuta?no postoje tri glavna podsustava okoline: Win32 podsustav, OS/2 podsustav i POSIX podsustav.
Win32 podsustav okoline mo?e pokretati 32-bitne Windows aplikacije. Sadr?i podr?ku za konzolu i tekstualne prozore, te ga?enje i rukovanje te?kim grje?kama svih drugih sustava okoline. Tako?er podr?ava VDM-ove koji dopu?taju pokretanje MS-DOS i 16-bitnih Windows 3.x (Win16) aplikacija na Windowsima. Postoji specifi?ni MS-DOS VDM koji je pokrenut u vlastitom adresnom prostoru i koji emulira Intel 80486 s pokrenutim MS-DOS-om 5.
Win16 programi su, me?utim, pokrenuti u Win16 VDM. Svaki program pretpostavljeno se pokre?e u istom procesu, na taj na?in rabe?i isti adresni prostor, a Win16 VDM daje svakom programu vlastitu nit u kojoj je pokrenut. Me?utim, Windows 2000 dopu?ta korisnicima pokretanje Win16 programa u odvojenim Win16 VDM-ovima, ?to im dopu?ta da budu preventivno povi?ezada?eni s obzirom na to da ?e Windows 2000 preventirati cijeli VDM proces, a koji pak sadr?i svega jednu pokrenutu aplikaciju. OS/2 podsustav okoline podr?ava 16-bitne znakovno zasnovane OS/2 aplikacije i emulira OS/2 1.x, ali ne i 32-bitne ili grafi?ke OS/2 aplikacije kao ?to se koristi na OS/2 2.x ili naprednijem. POSIX podsustav podr?ava aplikacije koje su strogo napisane po ili POSIX.1 standardu ili srodnim ISO/IEC standardima.
Integralni podsustav se brine o specifi?nim funkcijama operacijskog sustava u ime podsustava okoline. ?ine ga sigurnosni podsustav, servis radne stanice i poslu?iteljski servis. Sigurnosni podsutav barata sigurnosnim ?etonima, dozvolama i odbijenicama pristupima korisni?kim ra?unima zasnovanim na sredstvenim permisijama, rukovodi zahtjevima za prijavu i zapo?inje autentikaciju prijave, te odre?uje koja sustavska sredstva Windows 2000 treba ispitati (audit). Tako?er upravlja aktivnim direktorijem. Servis radne stanice je API na mre?ni preusmjeriva?, koji omogu?uje ra?unalni pristup mre?i. Poslu?iteljski servis je API koji omogu?uje ra?unalu pru?anje mre?nih servisa.
Jezgrin na?in rada Windowsa 2000 ima neograni?en pristup sklopovlju i sustavskim sredstvima ra?unala i izvr?uje kod u za?ti?enom memorijskom podru?ju. Kontrolira pristup raspore?ivanju, prioretizaciji niti, upravljanju memorijom i me?udjelovanju sa sklopovljem. Jezgrin na?in rada sprje?ava servise u korisni?kom na?inu rada od pristupa kriti?nim podru?jima operacijskog sustava kojima ne bi smjeli pristupiti, te stoga procesi u korisni?kom na?inu rada vr?e zahtjeve jezgrinom na?inu rada za obavljanje takvih operacija u svoje ime.
Jezrin se na?in rada sastoji od izvr?nih servisa, koji se sastoje od mnogo modula koji obavljaju specifi?ne zada?e, jezgrinih pogonskih programa, jezgre i sloja za apstakciju sklopovlja (HAL - Hardware Abstaction Layer).
Izvr?ne komponente (Executive) su?eljuju sa svim podsustavima u korisni?kom na?inu rada. Barataju s U/I, upravljanjem objekata, te upravljanjem sigurno??u i procesima. Neformalno se dijeli na nekoliko podsustava, me?u kojima su upravitelj priru?nom memorijom, upravitelj konfiguracijom, U/I upravitelj, lokalni poziv procedura (LPC), upravitelj memorije, upravitelj objekata, sturktura procesa i nadglednik sigurosnih referenci (SRM). Zajedni?ki grupirani, komponente se mogu zvati izvr?ni servisi (interno ime Ex). Sustavski servisi (interno ime Nt), tj. sustavski pozivi, su tako?er ostvareni na ovoj razini, osim tek nekolicine koji izravno pozivaju u jezgru radi pobolj?anja performansi.
Upravitelj objektima (Object Manager - interno ime Ob) je posebni izvr?ni podsustav kroz koji prolaze svi drugi izvr?ni podsustavi, napose sustavski pozivi, kako bi pristupili Windows 2000 sredstvima, na taj ga na?in ?ine?i servisom za upravljanje infrastrukturom sredstava.
Upravitelj objektima se koristi u svrhu redukcije udvostru?enja funkcionalnosti upravljanja sredstvima u drugim izvr?nim podsustavima, ?to bi mo?ebitno moglo voditi ka programskim grje?kama i ote?ati razvoj Windowsa 2000.[2] S gledi?ta upravitelja objekata, svako je sredstvo objekt, bez obzira na to radi li se o fizi?kom sredstvu (poput datote?nog sustava ili vanjskog ure?aja) ili logi?kog resursa (poput datoteke). Svaki objekt ima strukturu ili tip objekta koji upravitelj objekata razumije.
Stvaranje je objekata dvofazni postupak, stvaranja i umetanja. Stvaranje uzrokuje alokaciju praznog objekata i rezerviranje bilo kakvih sredstava koje upravitelj objekata zahtijeva, kao ?to je (opcionalno) ime u prostoru imena. Ako stvaranje nije uspjelo, podsustav odgovoran za stvaranje popunjuje prazan objekt. [3] U kona?nici, ako podsustav ozna?i inicijalizaciju uspje?nom, instruira upravitelj objekata za umetanje objekta, ?to ga ?ini dostupnim preko njegova (opcionalnog) imena ili magi?nog kola?i?a zvanog ru?ica (handle). Od tog trenutka, ?ivotom objekta upravlja upravitelj objekata a na podsustavu je da dr?i objekt u radnom stanju sve dok mu upravitelj objekata ne signalizira da ga se rije?i.
Ru?ice su svrhom sli?ne UNIX datote?nim opisnicima, na na?in da svaka predstavlja referencu na jezgrino sredstvo kroz neprozirnu vrijednost. Sli?no, otvaranje objekta po imenu potpada u sigurnosnu provjeru, ali djelovanje kroz ve? postoje?u, otvorenu, ru?icu je ograni?eno tek na razinu pristupa zahtijevanu prilikom stvaranja ili otvaranja objekta.
Tipovi objekata definiraju procedure nad njima i bilo koje specifi?ne podatke. Na taj na?in, upravitelj objekata dopu?ta Windowsima 2000 da budu objektno orijentiran operacijski sustav, s obzirom na to da se tipovi objekata mogu shvatiti kao polimorfne klase koje definiraju objekte. Ve?ina podsustava se, dodu?e, s U/I upraviteljom kao istaknutom iznimkom, pouzdaje na pretpostavljenu implementaciju za sve tipove procedura.
Svaka instanca kreiranog objekta pohranjuje ime, parametre proslije?ene funkciji koja je kreirala objekt, sigurnosne atribute i pokaziva? na tip objekta. Objekt tako?er sadr?i proceduru za zatvaranje objekta i broj referenci na njega koji upravitelju objekata govori koliko drugih objekata referencira objekt, te stoga odre?uje mo?e li objekt biti uni?ten prilikom proslje?ivanja zahtjeva za zatvaranje. [4] Svaki imenovani objekt egzistira u hijerarhijskom prostoru imena objekata.
Daljnji izvr?ni podsustavi su sljede?i:
- Upravitelj priru?nom memorijom (interno ime Cc - od Cache Controller): usko koordinira s upraviteljem memorije, U/I upraviteljem i U/I pogonskim programima kako bi omogu?io zajedni?ku priru?nu memoriju za obi?ni datote?ni U/I. Jedinstvena je zna?ajka da Windowsov upravitelj priru?nih objekata djeluje nad datote?nim blokovima (radije nego nad blokovima ure?aja), omogu?uje dosljedno djelovanje izme?u lokalnih i udaljenih datoteka, te osigurava odre?en stupanj koherentnosti s memorijski preslikanim pogledima datoteka, jer su blokovi priru?ne memorije poseban slu?aj memorijski preslikanih pogleda i proma?aji priru?ne memorije su poseban slu?aj strani?ne grje?ke.
- Konfiguracijski upravitelj (interno ime Cm - od Configuration manager): implementira Windows registar.
- U/I upravitelj (interno ime Io): dopu?ta ure?ajima komunikaciju s podsustavima u korisni?kom na?inu rada. Translatira naredbe za ?itanje i pisanje iz korisni?kog na?ina rada u IRP-ove za ?itanje i pisanje koje pak proslje?uje pogonskim programima ure?aja. Prihva?a U/I zahtjeve datote?nog sustava i translatira ih u pozive specifi?ne za ure?aj, te mo?e inkorporirati pogonske programe ure?aja niske razine koji izravno barataju sklopovljem kako bi ili ?itali ulaz ili pisali izlaz. Tako?er uklju?uje upravitelj priru?ne memorije kako bi pobolj?ao performanse diskova ke?iranjem zahtjeva za ?itanjem i pisanjem na disk u pozadini.
- Lokalni poziv procedura (LPC) (interno ime Lpc - od Local Procedure Call): omogu?uje me?uprocesne komunikacijske portove sa semantikom povezivanja. LPC portovi se koriste od strane podsustava u korisni?kom na?inu rada kako bi komunicirali sa svojim klijentima, od strane izvr?nih podsustava za komunikaciju s podsustavima u korisni?kom na?inu rada, te kao osnovica za lokalni prijenos za MSRPC.
- Upravitelj memorije (interno ime Mm - od Memory Manager): upravlja za?titom memorije i strani?enjem memorije u i izvan fizi?ke memorije u sekundarnu pohranu, te ostvaruje op?enamjensku alokaciju fizi?ke memorije. Tako?er ostvaruje parser PE (Portable Executable) izvr?nih datoteka i omogu?uje njihovo preslikavanje i odpreslikavanje u jedinstvenom, atomi?kom koraku.
- Po?inju?i od Windows NT Server 4.0, Terminal Server Edition, upravitelj memorije ostvaruje takozvani sesijski prostor, niz memorije u jezgrinom na?inu rada koji je podlo?an zamjeni konteksta ba? kao i memorija u korisni?kom na?inu rada. Ovo omogu?uje paralelno pokretanje vi?estrukih instanci Win32 podsustava i GDI pogonskih programa u jezgrinom na?inu rada, unato? nedostatcima u po?etnom dizajnu. Svaki sesijski prostor dijeli vi?e procesa, koji se zajedni?ki naslovljavaju "sesijom".
- Kako bi se osigurao stupanj izolacije izme?u sesija bez uvo?enja novog tipa objekta, asocijacijom izme?u procesa i sesija upravlja nadglednik sigurnosnih referenci, kao atribut sigurnosnog predmeta (?etona - token), i koji se mo?e izmijeniti samo s posebnim privilegijama.
- Relativno neslo?ena i ad-hoc priroda sesija jest posljedica ?injenica da nisu bile dio izvornog dizajna, te da su trebale biti razvijene s minimalnim ometanjem glavne linije razvoja, i to od strane tre?e ruke (Citrix) kao preduvjet za njihov terminalski poslu?itelj proizvod za Windows NT, zvan WinFrame. Po?inju?i s Windows Vistom, me?utim, sesije su kona?no postale normalan dio Windows arhitekture. Vi?e nisu konstrukt upravitelja memorije koji ulazi u korisni?ki na?in rada neposredno kroz Win32, ve? su pro?irene u svepro?imaju?u apstrakciju koja utje?e na ve?inu izvr?nih podsustava. Ustvari, uobi?ajena poraba Windows Viste uvijek rezultira u vi?esesijskoj okolini.[5]
- Procesno ustrojstvo (interno ime Ps - od Process Structure): rukovodi stvaranjem procesa i niti, te ostvaruje koncept posla (job), skupine procesa koji se mogu poni?titi kao cjelina, ili nad kojima se mogu postaviti dijeljena ograni?enja (poput najvi?e zajedni?ki alocirane memorije, ili CPU vremena).
- PnP upravitelj (interno ime Pnp): upravlja priklju?i i koristi (Plug and Play) ure?ajima i podr?ava detekciju ure?aja i instaliranje tijekom podizanja sustava. Tako?er je odgovoran za zaustavljanje i zapo?injanje ure?aja na zahtjev - ovo se mo?e dogoditi kad sabirnica (poput USB ili FireWire sabirnice) dobije novi ure?aj i treba podi?i pogonski program kako bi ga podr?ala. Ve?im je dijelom ostvaren u korisni?kom na?inu rada, u servisu imena servis priklju?i i koristi, koji rukuje ?esto slo?enim zadatcima instaliranja odgovaraju?ih pogonskih programa, obavje?tavanja servisa i aplikacija po dolasku novih ure?aja, te prikaza GUI-ja korisniku.
- Upravitelj napajanjem (interno ime: Po - od Power Manager): barata doga?ajima vezanim za napajanje (ga?enje, pripremno stanje, hibernacija itd.) i obavije?tava pogonske programe pod utjecajem posebnim IRP-ovima (IRP-ovi napajanja).
- Nadglednik sigurnosnih referenci (SRM) (interno ime Se - od Security Reference Monitor): glavno tijelo za nametanje sigurnosnih pravila integralnog sigurnosnog podsustava.[6] Odre?uje mo?e li se pristupiti objektu ili sredstvu uporabom liste za upravljanje pristupom (ACL-ovima - Access Control List), koji su sami na?injeni od unosa za upravljanje pristupom (ACE-ova - Access Control Entry). ACE-ovi sadr?e sigurnosni identifikator (SID) i listu operacija koje ACE daje odabranoj skupini povjerenika - korisni?kom ra?unu, grupnom ra?unu, ili prijavnoj sesiji[7] - dozvole (dopusti, odbij, ispitaj) tom sredstvu.[8][9]
- Upravitelj prozora: odgovoran za iscrtavanje prozora i menija. Upravlja na?inom na koji je izlaz iscrtan na zaslonu i upravlja ulaznim doga?ajaima (poput onih s tipkovnice i mi?a), te proslje?uje poruke aplikacijama koje trebaju primiti taj ulaz.
- GDI - su?elje grafi?kog ure?aja (od Graphics Device Interface): odgovoran je za zadatke kao ?to su iscrtavanje crta i krivulja, renderiranje fontova i upravljanje paletama. Windows 2000 uvodi nativno alfa mije?anje u GDI.
Jezgra sjedi izme?u HAL-a i izvr?nih komponenti i omogu?uje multiprocesorsku sinkronizaciju, raspore?ivanje i otpremanje niti i prijekida, te rukovanje iznimkama i otpremanje iznimki; tako?er je odgovorna za inicijalizaciju pogonskih programa ure?aja prilikom pokretanja OS-a, potrebitih za njegov operativni rad. To jest, jezgra obavlja sve zada?e tradicionalne mikrojezgre - strogo razlikovanje izme?u izvr?nih komponenti i jezgre je najistaknutija zna?ajka izvornog mikrojezgrastog dizajna, i povijesni dizajn dokumenti dosljedno naslovljavaju komponentu jezgre kao "mikrojezgru".
Jezgra ?esto su?eljuje s upraviteljem procesa [10]. Razina apstrakcije je takva da jezgra nikad ne poziva izravno u upravitelj procesa, ve? samo obratno (osim za nekolicinu grani?nih slu?ajeva, iako jo? uvijek ne do razine funkcijske ovisnosti).
Windows 2000 rabi pogonske programe u jezgrinom na?inu rada kako bi omogu?io djelovanje sa sklopovskim ure?ajima. Svaki od ovih pogonskih programa ima dobro definirane sustavske postupke i nutarnje postupke koje izla?e ostatku operacijskog sustava. Kod u korisni?kom na?inu rada vidi sve ure?aje kao datote?ne objekte u U/I upravitelju, iako su samom U/I upravitelju ure?aji vi?eni kao objekti ure?aja, koje pak definira kao ili datote?ne, ure?ajne ili objekte pogonskih programa. Pogonski programi u jezgrinom na?inu rada postoje u tri sloja: pogonski programi najvi?e razine, pogonski programi srednje razine i pogonski programi niske razine. Pogonski se programi najvi?e razine, poput pogonskih programa datote?nog sustava za FAT i NTFS, pouzdaju na pogonske programe srednje razine. Pogonski se programi srednje razine sastoje od funkcijskih pogonskih programa - ili glavnog pogonskog programa za ure?aj - koji su opcionalno umetnuti izme?u filterskih pogonskih programa niske i visoke razine. Funkcijski se pogonski program tad pouzdaje na sabirni?ki pogonski program - ili na pogonski program koji servisira sabirni?ki upravlja?, prilagodnik, ili most - koji mo?e imati opcionalni filtriraju?i pogonski program sabirnice koji sjedi izme?u samog sebe i funkcijskog pogonskog programa. Pogonski se programi srednje razine pouzdaju na pogonske programe najni?e razine. Windows Driver Model egzistira u sloju srednje razine. Pogonski programi najni?e razine su ili naslije?eni Windows NT pogonski programi koji izravno upravljaju ure?ajem, ili su od PnP sklopovske sabirnice. Ovi pogonski programi ni?e razine izravno upravljaju sklopovljem i ne pouzdaju se na druge ure?aje.
Windows 2000 sloj za apstrakciju sklopovlja, ili HAL (od engl. Hardware Abstraction Layer), je sloj izme?u fizi?kog sklopovlja ra?unala i ostatka operacijskog sustava. Oblikovan je kako bi sakrio (tj. asptrahirao) razlike u sklopovlju i stoga omogu?io dosljednu platformu na kojoj se aplikacije mogu izvoditi. HAL uklju?uje sklopovski specifi?an kod koji upravlja U/I su?eljima, prijekidnim upravlja?kim sklopovima i vi?estrukim procesorima.
Posebice, "sklopovska apstrakcija" ne uklju?uje apstrakciju instrukcijskog skupa, koji pak potpada pod op?enitiju koncepciju prenosivosti. Apstrahiranje instrukcijskog skupa, kada je potrebno (poput rukovanja nekoliko ina?ica x86 instrukcijskog skupa, ili za emuliranje nedostaju?eg matemati?kog koprocesora), je obavljeno od strane jezgre, ili putem platformske virtualizacije.
Unato? svojoj svrsi i ozna?enom mjestu unutar arhitekture, HAL nije sloj koji u potpunosti le?i ispod jezgre na na?in na koji jezgra le?i ispod izvr?nih komponenti: sve poznate implementacije HAl-a na neki na?in ovise o jezgri, pa ?ak i o izvr?nim komponentama. Izvedbeno, ovo zna?i da jezgra i HAL dolaze u paru, posebno in?enjerirani za zajedni?ki rad.
- ^ MCSE Exam 70-215, Microsoft Windows 2000 Server. Chapter 1, Introduction to Microsoft Windows 2000, pg 7–18.
- ^ Mark Russinovich (October 1997). Inside NT's Object Manager. Introduction.
- ^ Mark Russinovich (October 1997). Inside NT's Object Manager. "Object Types".
- ^ Mark Russinovich (October 1997). Inside NT's Object Manager. "Objects".
- ^ Microsoft. "Active Directory Data Storage".
- ^ MSDN. Trustee definition.
- ^ Siyan, Kanajit S., 2000.
- ^ MSDN. ACE definition.
- ^ Inside Microsoft Windows 2000 (Third Edition). Microsoft Press. Pages 543–551.
- ^ Microsoft. "Impact of Session 0 Isolation on Services and Drivers in Windows Vista".
- Reference
- Finnel, Lynn (2000). MCSE Exam 70-215, Microsoft Windows 2000 Server. Microsoft Press. ISBN 1-57231-903-8.
- Russinovich, Mark. Listopad 1997. Inside NT's Object Manager. Windows IT Pro. Ina?ica izvorne stranice arhivirana 17. svibnja 2013. Pristupljeno 2. srpnja 2007.
- Microsoft. "Active Directory Data Storage". Retrieved May 9, 2005.
- Salomon, David; & Russinovich, Mark E. 2000. Inside Microsoft Windows 2000 (Third Edition). Microsoft Press. ISBN 0-7356-1021-5. Ina?ica izvorne stranice arhivirana 23. o?ujka 2005. Pristupljeno 2. srpnja 2007.CS1 odr?avanje: vi?e imena: authors list (link)
- Siyan, Kanajit S. (2000). "Windows 2000 Professional Reference". New Riders. ISBN 0-7357-0952-1.