O meni:

Sem še relativno mlad inženir informatike (IT), ki se ima za racionalista in kritičnega misleca. Najbolj me zanimajo dogodki po svetu (novice, politika), zgodovina, znanost (sploh vesolje)

Windows XP in ‘ProcessIdleTasks’ ukaz

Ta post je mišljen za vse tiste “dinozavre”, ki tako kot jaz še vedno uporabljate Windows XP, ki je mimogrede star že več kot 13 let. V njem pa opisujem kako ročno zagnati ukaz “ProcessIdleTasks” in dodal razlago tega, kaj se zgodi, ko to narediš. Spodaj sem dodal še primer .bat fajla, ki ga jaz uporabljam za zagon “ProcessIdleTasks” ukaza (za malo bolj obširno razlago glej: What does “Rundll32.exe advapi32.dll,ProcessIdleTasks” do? na TechNet forumu; čeprav tudi moja razlaga spodaj ni slaba! 🙂 ), ki ga lahko začnete uporabljati tudi sami, samo skopirati morate kodo spodaj.

Verjetno ste nekateri uporabniki XP-ja (vsaj tisti, ki ste bolj g33k-ish tip ljudi) že opazili, da ima Windows XP pod %windir%\ direktorijem (to je standarden environment variable; za foro copy & paste “%windir%” – brez quotes – v Start Menu >> Run in pritisni ENTER) nek čuden direktorij z imenom “Prefetch“; celoten “path” pa je vsaj ponavadi (torej če je OS na C:\ drajvu) “C:\WINDOWS\Prefetch\”

Če pogledate v ta direktorij boste videli da je notri polno fajlov kot npr. “NTOSBOOT-B00DFAAD.pf“, “EXPLORER.EXE-29461B08.pf“, “IEXPLORE.EXE-3AA8CDEA.pf“, “FIREFOX.EXE-2776FA4E.pf” itd., in pa še en zelo pomemben fajl je notri in sicer datoteka “Layout.ini” (če odprete slednjega, boste videli, da je to navaden TXT fajl, ki vsebuje t.i. “directory tree”). Na eni strani imamo torej ogromno (mislim da je limit števila fajlov 128) od 2 kB do 90 kB velikih zgoraj omenjenih fajlov s končnico .pf, katerih prvi del je ime procesa (recimo temu programa za laike), na katerega se nanašajo ti fajli, na drugi pa “mapo diska” (ali particije). Aja no, od tistih .pf datotek je pri meni največji sicer res celo malo čez 100 kB (in edini, ki je večji od 100 kB) in sicer “VLC.EXE-014FC814.pf“, to pa zato, ker VLC media player poleg Windows (external) modulov in kodekov rabi res ogromno svojih lastnih modulov (ali po domače DLL fajlov; lahko gre pa tudi za druge tipe, npr. OCX in COM komponente ipd., ampak to je že druga zgodba…), ki so locirani v pod-direktoriju od VLC programa), ki jih mora naloadat v RAM ob vsakem zagonu, ker VLC uporablja lasten audio/video kodeke.

V principu “prefetching koncept” (glej tudi Google za windows xp prefetch iskalni niz) deluje tako, da operacijski sistem optimizira disk (a to naredi samo ko je OS v mirovanju, zato tudi beseda “Idle”…) oz. z drugimi besedami premakne direktorije in delčke/fragmente (sectors & clusters) datotek – od teh pogosto uporabljanih programov – na primernejše oz. idealne lokacije na disku na disku, tako da je njihov zagon kar se da hiter. Ampak kot že rečeno, to Windows XP naredi samo ko računalnik dalj časa ni v rabi.

In pri nekaterih uporabnikih, ki računalnik prižgejo, ga nekaj časa uporabljajo, potem ga pa ugasnejo (ali dajo v Sleep/Stand-By), operacijski sistem tako sploh nima prilike optimizirati disk layouta. No in tako smo končno spet nazaj pri bistvu tega posta: s tem “force disk optimization” (ali kot že rečeno “ProcessIdleTasks”) ukazom dosežemo preprosto to, da “prisilimo” OS, da optimizacijo diska izvede takrat, ko mi to hočemo, ne pa da operacijski sistem čaka, da bo PC dlje časa neuporabljan. Za še več o vsem tem si preberi še kakšno drugo stran (poleg tiste iz Microsoft TechNet foruma), ki jo vrne Google Search za iskalno kombinacijo windows xp process idle tasks.

Tu spodaj pa je tisti primer .bat fajla, ki ga uporabljam (pribl. 1x na mesec) za zagon tega ukaza:

echo off
pause
echo Are you sure you want to run ProcessIdleTasks?
C:
cd\
cd C:\WINDOWS\system32\
rundll32.exe advapi32.dll,ProcessIdleTasks

Če bi radi sami uporabili to kodo zgoraj samo prekopirajte vse v navaden .txt fajl in ga shranite z .bat končnico. Pri tem bodite pozorni, da nimate Explorer (pod Tools >> Folder Options… >> View tab) našitiman na “Hide extensions for known file types” – kar je mimogrede izredno slaba praksa, ki jo vsem močno odsvetujem, ker na ta način so že mnogi “okužili” (npr. “Open_This.exe.png” fajl vam prikaže kot “Open_This.png“; mislili boste skratka da odpirate neko sliko, v resnici pa boste zagnali izvršljivo EXE datoteko, zelo verjetno virus, trojan ali worm) svoje in dalje še druge računalnike – ker potem vam bo datoteko shranilo kot npr. “Nek_Fajl.bat.txt” in ne kot “Nek_Fajl.bat“, kot bi si želeli in kar je nujno za zagon BAT fajlov (oz. za to, da .bat fajl pokliče CMD.exe, da stopi v “akcijo”)

Tadej

Advertisements


Oddajte komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

Komentirate prijavljeni s svojim WordPress.com računom. Odjava / Spremeni )

Twitter picture

Komentirate prijavljeni s svojim Twitter računom. Odjava / Spremeni )

Facebook photo

Komentirate prijavljeni s svojim Facebook računom. Odjava / Spremeni )

Google+ photo

Komentirate prijavljeni s svojim Google+ računom. Odjava / Spremeni )

Connecting to %s