12
Seminarski rad ______________________________________________________________ __ 4. PROCESI I THREAD-i U WINDOWS 2000 4.1 Osnovni pojmovi U cilju bolje organizacije procesorskog vremena i postizanju efikasnijeg pseudoparalelizma, Windows 2000 svoju funkcionalnost grupiše u 4 kategorije: jobs, procese, thread-e (prev. niti) i fiber-e (prev. vlakna). Job je najveća kategorija i predstavlja set procesa grupisanih kao cjelinu. Job ima tzv. kvotu koju čuva u posebnom objektu job-a. Kvota uključuje informacije o: maksimalno dozvoljenom broju procesa (čime se ograničava broj “child” procesa), vremenu korišćenja CPU-a po procesu i zbirno po tom poslu, maksimumu korišćenja memorijskog prostora po svakom procesu i zbirno. Job može još da postavi sigurnosna ograničenja na procese kao što je na primjer nemogućnost postizanja nivoa administratora pored posjedovanja odgovarajućeg pasvorda. Proces je, po definiciji, program u fazi izvršavanja. Zajedno sa thread-ima, procesi predstavljaju najvažniju kategoriju Windowsa 2000. U Windowsu 2000, zbog 32 bit-nog adresiranja, procesi imaju 4 GB adresnog prostora od kojeg se 2GB dodjeljuje korisniku a ostalo zauzima sam operativni sistem. Jedino u verzijama Advanced Server i Datacenter Server, korisnički dio zauzima 3 GB. Osnovni elementi jednog procesa su: - ID procesa - thread (jedan ili više) - lista handles-a, u tabeli za rukovođenje procesima koja se nalazi u kernel modu (procesi, rekli smo uključuju i sam sistem) - pristupni znak (engl. access token), koji predstavlja sigurnosnu informaciju pristupa, tj. vrstu zaštite. Proces se kreira preko Win32 API poziva funkcije koja kao argument uzima ime fajla kojeg korisnik hoće da startuje. Inicijalno se poziva funkcija CreateProcess koja ima 10 parametara i tada se automatski stvara prvi thread u tom ______________________________________________________________ _____________ 15

PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

4. PROCESI I THREAD-i U WINDOWS 2000

4.1 Osnovni pojmovi

U cilju bolje organizacije procesorskog vremena i postizanju efikasnijeg pseudoparalelizma, Windows 2000 svoju funkcionalnost grupiše u 4 kategorije: jobs, procese, thread-e (prev. niti) i fiber-e (prev. vlakna).

Job je najveća kategorija i predstavlja set procesa grupisanih kao cjelinu. Job ima tzv. kvotu koju čuva u posebnom objektu job-a. Kvota uključuje informacije o: maksimalno dozvoljenom broju procesa (čime se ograničava broj “child” procesa), vremenu korišćenja CPU-a po procesu i zbirno po tom poslu, maksimumu korišćenja memorijskog prostora po svakom procesu i zbirno. Job može još da postavi sigurnosna ograničenja na procese kao što je na primjer nemogućnost postizanja nivoa administratora pored posjedovanja odgovarajućeg pasvorda.

Proces je, po definiciji, program u fazi izvršavanja. Zajedno sa thread-ima, procesi predstavljaju najvažniju kategoriju Windowsa 2000. U Windowsu 2000, zbog 32 bit-nog adresiranja, procesi imaju 4 GB adresnog prostora od kojeg se 2GB dodjeljuje korisniku a ostalo zauzima sam operativni sistem. Jedino u verzijama Advanced Server i Datacenter Server, korisnički dio zauzima 3 GB. Osnovni elementi jednog procesa su:

- ID procesa- thread (jedan ili više)- lista handles-a, u tabeli za rukovođenje procesima koja se nalazi u kernel modu

(procesi, rekli smo uključuju i sam sistem)- pristupni znak (engl. access token), koji predstavlja sigurnosnu informaciju

pristupa, tj. vrstu zaštite.

Proces se kreira preko Win32 API poziva funkcije koja kao argument uzima ime fajla kojeg korisnik hoće da startuje. Inicijalno se poziva funkcija CreateProcess koja ima 10 parametara i tada se automatski stvara prvi thread u tom procesu. Novi thread-i se mogu stvoriti kasnije dinamički. Kreiranje procesa će biti kasnije u tekstu detaljnije izloženo. Treba još napomenuti da postoje tzv. foreground i background procesi. Foreground procesi su oni koji se izvršavaju startovanjem raznih akcija od strane korisnika dok su background procesi oni koji rade (čekaju) u pozadini i zato se zovu još i demonski procesi. Demonski su procesi npr. procesi mreže, čekanje poste, čekanje komande štampanja, itd. U Windowsu 2000 administrator može dodijeliti manualno više ili manje procesorske pažnje foreground ili background procesima tako što će u Control Panelu otvoriti System i na Tab-u Advanced odabrati Performance Options dugme. Zatim se bira jedna od opcija za optimizaciju performansi.

Thread je sastavni dio procesa. U Windowsu 2000, thread-i se uvijek nalaze u nekom stanju (ready, running, itd.) dok procesi ovdje nemaju stanja. Proces obično koristi više thread-a. Npr. kada se piše neki Word-ov dokument, jedan thread može da prihvata znake sa tastature, drugi da dinamički mjenja tekst (prikaz, automatski prelasci na novi red, itd.), treći da s vremena na vrijeme obavlja AutoSave akciju, itd.

Thread se kreira preko Win32 poziva funkcije CreateThread koja specificira adresu unutar adresnog prostora procesa u kojem se kreira. U ustaljenom režimu rada, thread-i se

___________________________________________________________________________15

Page 2: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

izvršavaju u korisničkom (user) modu. U trenutku sistemskog poziva, thread se prebacuje u kernel modu nasljeđujući pri tom sve predhodne osobine. S ovim u vezi, svaki thread ima 2 steka: korisnički (user) stek i kernel stek. Osnovni elementi jednog thread-a su: stanje, ID, stek, kontekst (u kojem se čuvaju registri kada thread nije aktivan), svoje privatno (zaštićeno) područje za čuvanje svojih lokalnih varijabli i ponekad ima (kao i proces) pristupni-sigurnosni znak.

Važna karakteristika thread-a je da je u stanju da pristupi bilo kom objektu koji je stvoren od strane nekog thread-a tog istog procesa u kojem se nalazi. Ako thread iz nekog procesa stvara neki objekat, pokazivac tog objekta se smješta u tabelu za rukovođenje procesima i toj tabeli može pristupiti bilo koji thread iz tog procesa jer sistem “ne zna” koji je thread stvorio koji objekat, zna samo iz kog procesa se taj objekat stvorio (sl. 3).

Pored thread-a koji rade u korisničkom prostoru, postoji i kategorija thread-a koji rade u kernel prostoru i nemaju nikakve povezanosti sa korisničkim procesima. Takvi thread-i se nazivaju demonskim thread-ima (eng. deamons).

Implementacija thread-a u operativnim sistemima može u opštem sulčaju biti u kernelu, u korisničkom dijelu, i tzv. hibridna implementacija. Svaka vrsta implementacije ima prednosti i mane. Tako npr. kod prve vrste, zbog frekventnijih sistemskih poziva, može doći do ovehead-a. S druge strane, kod implementacije u korisničkom prostoru, kada se desi page fault, kernel blokira čitav proces u kojem se nalazi odgovarajući thread. U ovom slučaju proces ne može da aktivira nijedan drugi thread sve dok thread koji se izvršava ne prekine sam sa izvršavanjem. Windows 2000 struktura predstavlja neku vrstu hibridne implemantacije thread-a kao kompromis između korisnički-implementiranih thread-a i kernel- implementiranih thread-a, u cilju korišćenja prednosti obije vrste. Windows 2000 koristi tzv. fiber-e (prev. vlakna).

slika 3

Fiber je isto što i thread s tim što on nema nikakve dodirne tačke sa sistemskim Win32 pozivima i napravljen je da radi isključivo u korisničkom prostoru. Fiber-i se rukovode programom koji ih stvara ili “run-time” sistemom. Svaki thread može da ima više

___________________________________________________________________________16

Page 3: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

fiber-a. Ukoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna ništa” o postojanju fiber-a jer on u stvari “vidi” izvršavanje thread-a. Pri tome se moglo, u pseudoparalelnom načinu rada, da se izmjene nekoliko vlakana a da sistem ne zna ništa o njima. Ne postoje pravi sistemski pozivi vlakana već samo Win32 API (user prostor) pozivi i to isključivo oni koji ne prave sistemske pozive.

4.2 Komunikacije između thread-a i njihova sinhronizacija

Da bi se ostvarila komunikacija između thread-a, Windows 2000 koristi sljedeća sredstva za komunikaciju: pipes, mailslot-ove, socket-e, pozive udaljenih procedura, i raspodjeljene (shared) fajlove. Ovdje ćemo više govoriti o Windows 2000 mehanizmima i sredstvima za sinhronizaciju thread-a.

Windows 2000 nudi brojne mehanizma za sinhronizaciju thread-a kao što su: semafori, muteksi, događaji (engl. event), itd. Svi ovi mehanizmi se primjenjuju na thread-e a ne na procese. Zbog ovoga, u slučaju blokiranja thread-a nekog procesa, drugi thread-i tog procesa (ako ih ima), mogu da se izvršavaju neometano.

Semafor se u Windows 2000 kreira od strane kernela koristeći API funkciju CreateSemaphore, inicijalizirajući mu početnu vrijednost i definišući mu maksimalnu vrijednost. Semafor u stvari predstavlja cjelobrojnu vrijednost koja se inkrementira kada je akcija nekog thread-a u kritičnom području a dekrementira se kada napusti kritični region.

Muteksi su takođe kernel objekti i predstavljaju u stvari sredstvo za zaključavanje (preko WaitForSingleObject API funkcije) i odključavanje (preko ReleaseMutex funkcije.) Semafori i Muteksi se dupliciraju i prosljeđuju između procesa tako da thread-i iz tih različitih procesa mogu da pristupe istom semaforu ili muteksu. Često se semafori i muteksi koriste kao sinionimi. Muteksi su i dobili ime od Mutual Exclusion što u stvari predstavlja gore navedenu sinhronizaciju u vezi kritičnih područja. Semafori, međutim vrše još dodatne druge vrste sinhronizacije.

Event-i su takođe kernel objekti i mogu da se nalaze u jednom od dva stanja: set i cleared. Event može biti manualno-resetirajući ili auto-resetirajući, u zavisnosti od načina prelaska iz jednog stanja u drugo.

Dva ili više thread-a se sinhronizuju tako što se u kernelu otvori isti muteks, semafor ili event. Druga je varijanta, koja inače predstavlja manje elegantno riješenje, da jedan proces stvori handle, da se taj handle duplicira i da se kopija preda drugom procesu.

4.3 Kreirenje thread-a

Kreiranje thread-a počinje kada neki drugi proces pozove CreateProcess, čime se inicira procedura iz fajla kernel32.dll koji se nalazi u user mod-u i koji je glavna karika u kreiranju procesa. Fajl koji treba da se izvršava se, kao parametar, daje na provjeru za koji je operativni sistem pisan. Ako je validan 32-bitni Win32.exe fajl, provjerava se registar da li je ovaj fajl poseban na neki način (zahtjeva nadgledanje debbuger-a i slično), tj. da li posjeduje neke dodatne atribute. Poslije se poziva sistemska funkcija NtCreateProcess koja će kreirati objekat praznog procesa i unijeće taj objekat u polje objekt manager-a gdje se čuvaju imena objekata. Process manager stvara mogućnost kontrole procesa za ovaj objekat i dodjeljuje mu

___________________________________________________________________________17

Page 4: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

ID procesa, kvote, i druga polja (kao što smo rekli, ovi parametri se drže u posebnom, ovom, objektu procesa). Kreira se i objekat section koji čuva informaciju o adresnom prostoru procesa. Sada kernel32.dll izvršava drugi sistemski poziv NtCreateThread kojim se kreira inicijalni (početni) thread sa oba steka: korisnički i kernel stek. Veličina steka je data u zaglavlju fajla koji treba da se izvrši. Kernel32.dll dalje šalje informaciju podsistemu Win32 okruženja prosljeđujući mu vezu sa procesom i thread-ima. Proces i thread-i su ubačeni u tabele ovog podsistema (okruženja) tako da on ima spisak svih procesa i thread-a. Napominjemo da se pregled trenutno aktivnih procesa i thread-a može dobiti koristeći Ctrl+Alt+Del. U ovom trenutku se na ekranu pojavljuje pješčani sat koji ukazuje na to da se nesto dešava i u međuvremenu se kursor može iskoristiti u druge svrhe. Sada thread pokreće run-time system proceduru koja kompletira njenu inicijalizaciju, tj. dovršava proces stvaranja thread-a. Na sličan način se stvaraju i drugi thread-i. Run-time system procedura određuje prioritete izvršavanja thread-a (u korisničkom prostoru), ukazuje učitanim DLL- ovima da je novi thread stvoren i drugo. Ono, na kraju, počinje sa izvršavanjem glavnog programa procesa (za šta je u stvari i kreiran). U toku boot-ovanja, kreiraju se tzv. start-up ili sistemski procesi a to su: idle i System. Ovo zapravo nijesu procesi u pravom smislu riječi jer se ne izvršavaju u user modu i nemaju adresni prostor. Proces Idle ima ID = 0 i grupiše idle thread-e. Proces System ima ID = 8, grupiše thread-e definisane od strane kernela i inicira stvaranje prvog “pravog” procesa tako što će startovati smss.exe gdje se nalazi Session Manager.

4.4 Upravljanje redosledom izvršavanja thread-a u Windows 2000 (engl. scheduling)

Scheduling u Windowsu 2000 predstavlja upravljanje saobraćajem izvršavanja thread-a (ne vodeći računa kojem procesu pripada koji thread). Scheduler “ne zna” koji thread pripada kojem procesu. Postoje dva važna Win32 API poziva koja omogućavaju podešavanje prioriteta i na taj način čine ulazne veličine scheduling algoritma. Prvi poziv je na funkciju SetPriorityClass koji određuje parametre prioriteta za svaku thread procesa. Ovaj poziv vraća 6 dozvoljenih vrijednosti prioriteta: realtime, high, above normal, normal, below normal, i idle.

Drugi poziv je na funkciju SetThreadPriority koja dodjeljuje relativne prioritete thread-a jednih u odnosu na druge. Ova funkcija ima 7 mogućih vrijednosti: time critical, highest, above normal, normal, below normal, lowest, i idle. Ako se kombinuju ove vrijednosti u kao na sljedećoj tabeli, imaćemo 42 kombinacije. Vrijednosti na ovoj tabeli su ulazi scheduling algoritma. Vrijednosti sa ove tabele se nazivaju baznim prioritetima.

Win32 prioriteti klase procesaWin32 priorite-ti threadi

Realtime High AboveNormal

Normal Below normal

Idle

Time crititcal 31 15 15 15 15 15Highest 26 15 12 10 8 6Above normal 25 14 11 9 7 5Normal 24 13 10 8 6 4Below normal 23 12 9 7 5 3Lowest 22 11 8 6 4 2Idle 16 1 1 1 1 1

___________________________________________________________________________18

Page 5: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

Pored baznih prioriteta, thread-i imaju i svoje trenutne vrijednosti prioriteta. Sistem posjeduje niz od 32 vrijednosti (od 0 do 31) koje se unose u tabelu. Scheduling algoritam pretražuje niz od najvećeg broja ka najmanjem. Ukoliko ima više thread-a istog visokog nivoa prioriteta, prvo njih pusti na izvršavanje sve dok se završi taj nivo pa tek onda prelazi na niži nivo.

Postoje 4 grupe u tabeli prioriteta: real-time prioriteti (od 16 do 31), user prioriteti (od 1 do 15), zero page thread (prioritet 0) i idle (virtualni prioritet-1).

Prioritet real-time u stvari se zove tako samo jer je viši od korisničkog. Ovi thread-i su rezervisani samo za sistem i njima mogu biti dodijeljeni i promjenjeni prioriteti jedino od strane sistem administratora. User thread-i se koriste od strane korisnika i on sam može da im odredi prioritete. Kod ove kategorije thread-a, interesantna je dinamička promjena prioriteta u zavisnosti od raznih okolnosti saobraćaja. Zero prioritet je predviđen za thread koji radi u pozadini i sakuplja “prazan hod” u korišćenju CPU-a. Uloga ovog thread-a je da nulira stranice za rukovođenje memorijom. U slučaju totalnog mirovanja sistema, prisutan je samo thread idle.

Kao što smo napomenuli, thread-i prioriteta 1-15 mogu da mjenjaju trenutne vrijednosti prioriteta. Do ovakvih situacija može doći npr. kada thread čeka na izvršenje neke I/O operacije da bi nastavila dalje sa traženjem I/O. U tom slučaju, tom thread-u se povećava prioritet u zavisnosti od vrste I/O transakcije koja se radi. Uobičajene vrijednosti su: 1 za disk, 2 za serijsku komunikaciju, 6 za tastaturi, za zvučnu karitcu i drugo. Postoje i druge situacije kada se thread-ima dodaje na prioritetu ali takođe postoji i mogućnost smanjenja prioriteta.

Scheduling algoritam za Windows 2000 ima jednu važnu osobinu da kada se kreira neki korisnički prozor, svim thread-ima tog prozora se dodjeljuje veći kvantum od vrijednosti uzetih sa registara. Kvantum predstavlja dužinu procesorske pažnje po thread-u. Uobičajeni kvantum za Windows 2000 Professional je 20 ms.

___________________________________________________________________________19

Page 6: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

5. MS-DOS U WINDOWS 2000

Kao što je već pomenuto, Windows 98 omogućavao da se svi MS-DOS programi izvršavaju. Windows 2000 ima veoma ograničene mogućnosti u pogledu izvršavanja MS-DOS aplikacija i programa što zbog svoje potpune 32 bit-ne osnove a što zbog načina organizacije memorijske strukture i sistema zaštite.

Kada se u Windowsu 2000 startuje MS-DOS program, startuje se Win32 proces i učitava se zajedno sa MS-DOS programom za emulaciju ntvdm (NT Virtual DOS Machine) koji je zadužen za nadgledanje MS-DOS programa i manipulisanje njegovim sistemskim pozivima. Ovaj program je smešten visoko u adresnom prostoru procesa, tamo gdje je inače smešten i operativni sistem u procesu, tako da MS DOS program nije u stanju da direktno adresira ka ovom programu. U slučaju interakcije MS-DOS programa sa sistemom, program pravi sistemski poziv. U ovom isčekivanju, ntvdm nalaže Windows-u 2000 da reflektuje sve MS-DOS sistemske pozive nazad ka tom programu. Sistemski poziv prosto “odskoči” od operativnog sistema i biva uhvaćen od strane emulatora. Sada emulator shvata sta je program htio da uradi i napravi sistemski poziv da se taj posao završi.

Problemi sa MS-DOS programima nastaju posebno kada je u pitanju program koji npr. direktno piše u video RAM ili čita direktno sa tastature a to su stvari koje su nemoguće u zaštićenim sistemima. Proces izvršavanja DOS programa u Windows 2000 okruženju je i figurativno prikazan na sl. 4

slika 4

6. PODIZANJE (BOOT-OVANJE) WINDOWS-A 2000

___________________________________________________________________________20

Page 7: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

Proces podizanja sistema (engl. booting) kreira inicijalni proces za startovanje sistema. Postoji i hardverski boot proces kojemu je uloga čitanje prvog sektora prvog diska (određenog BIOS-om) i uskakanje u taj sektor. Ovaj sektor se naziva Master Boot Record. Ovo je jedan asemblerski izveden program koji dalje čita tabelu particija da vidi koja od particija sadrži operativni sistem koji se butuje. Kada pronađe operativni sistem, program čita prvi sektor te particije i uskače u taj sektor. Taj se sektor naziva boot sector. Sada program u ovom sektoru pretražuje da nađe fajl ntldr. Ukoliko nađe ovaj fajl, program ga učitava u memoriju i izvršava ga. Fajl ntldr učitava Windows. Inače postoje nekoliko verzija boot sector-a u zavisnosti od načina na koji je particija formatirana a može biti: FAT16, FAT32, ili NTFS. Fajl ntldr sada čita fajl Boot.ini koji je jedina informacija o konfiguraciji koja se ne nalazi u registrima. Ntldr sadrži i mnoge druge parametre kao što su: koliko CPU-a i RAM-a da koristi, da li korisničkim procesima da dodijeli 2GB ili 3GB itd. Dalje, ntldr fajl sada učitava hal.dll i ntoskrnl.exe (koji inače predstavlja operativni sistem jer su tu smješteni kernel i executive) kao i bootvid.dll (standardni video drajver za prikazivanje u toku butovanja). On dalje čita registre da bi vidio koji su još drajveri potrebni da bi se završilo podizanje sistema (drajveri za tastaturu i miš, itd.). Pošto završi sa učitavanjem ovih drajvera, prosljedjuje kontrolu fajlu ntoskrnl.exe. Ovime se operativni sistem startovao i on dalje poziva ekzekutivne komponenete da izvrše daljne inicijalizacije. Npr. memory menager namješta inicijalnu tabelu stranica, plug-and-play manager pretražuje koji su I/O uređaji prisutni i za njih učitava drajvere, itd. U toku svih ovih procesa, na ekranu se pojavljuje pokretna traka. Na kraju, kreira se prvi korisnički (user) proces tzv. session manager. Kada je ovaj proces kreiran, boot-ovanje je završno.

Session manager pravi prave sistemske pozive ne koristeći podsistem Win32 okruženja. On dalje startuje program csrss.exe, ubacuje mnoge objekte u object manager i otvara važne DLL-ove. Kada završi ove poslove, kreira demon login-a winlogon.exe. Učitani demon kreira authenication manager-a Lsass.exe i roditeljski proces svih procesa services.exe. Proces services.exe sada pretražuje registre da bi vidio koji su demonski procesi potrebni za korisnički prostor i počinje sa stvaranjem tih procesa. U ovoj fazi se takođe učitavaju i neki drajveri koji nijesu bili predhodno učitani. Primjećuje se da je u fazi poslije unošenja lozinke prvog korisnika, hard disk veoma aktivan.

Winlogon.exe uzima unos sa korisničkog login-a i upoređuje ga sa onim u registrima tako da zna koji će shell startovati. Winlogon.exe zapravo startuje userinit.exe koji ima jedini zadatak da startuje standardni Windows-ov shell explorer.exe sa svojim child procesima koji stvaraju sve vizuelne interaktivne aplikacije. Pomenuti proces je šematski prikazan na sl.5.

smss.exe

csrss.exe

winlogon.exe

services.exe

lsass.exe

___________________________________________________________________________21

Page 8: PROCESI I NITI U WINDOWS 2000 · Web viewUkoliko se jedan fiber blokira, ono stavlja sebe u red blokiranih fiber-a i bira drugi fiber za izvršavanje. Operativni sistem “ne zna

Seminarski rad ________________________________________________________________

userinit.exe

explorer.exesl

___________________________________________________________________________22