Soci (Soczó Zsolt) szakmai blogja

2016.08.19.

Windows Internals cikkeim

Filed under: Szakmai élet,Windows,Winternals — Soczó Zsolt @ 11:22

Annak idején írtam pár cikket a Windows belső működéséről, utóbbi időben többen kerestétek, mivel eltűntek az ms oldalairól.

Ezért most kiraktam ide őket, hogy bárki elérhesse.

2014.10.20.

Skydrive rant

Filed under: Szakmai élet,Windows,Windows 8 — Soczó Zsolt @ 15:13

Amitől időnként felszívom magam az mssel kapcsolatban, itt most konkrétan a skydrive programolóiról beszélek, az a finomságokra való nem odafigyelés.
Amikor a Windows 8-ba bekerült a SkyDrive, elkezdtem volna használni a fényképek tárolására-mentésére. Napokig nem volt rendes internetem, mivel teljes sávszélességgel töltötte fel a képeket, ami adsl esetén lassú és teljesen lefogja mindként irányban az internetet.

Nemrég volt skydrive akció, több tárhelyet kapsz, ha a fotók backupjára használod androidon. Feltelepítettem a mobilomra, és pontosan ugyanazt okozta, mint a desktop verzió: hálót lefog. A dropboxot évek óta használom, soha nem volt vele ilyen gond, valahogy azok be tudtak építeni sávszélesség visszafogást a kódba. Láma SkyDrive banda.

(Az egész apropója, hogy most készítettem pár képet a telefonnal, ami után RDP-n lehetetlenné vált dolgozni pár percre.)

2014.09.16.

Éjszakai gép felébredés megakadályozása

Filed under: Szakmai élet,Windows,Windows 7,Windows 8 — Soczó Zsolt @ 08:15

Elegem lett abból, hogy minden reggel ébren vár a gép, hiába altatom el este. Egyesével macerás letiltani az ébresztő eszközöket, ezért írtam egy kis egysoros powershell scriptet, ami mindet letiltja. Adminként kell futtatni:

powercfg -devicequery wake_programmable | foreach {powercfg -devicedisablewake $_}

2012.09.03.

Windows 8 Search – cool

Filed under: Szakmai élet,Windows,Windows 8 — Soczó Zsolt @ 16:00

A kutyafáját, ez végre jó lett! Eddig Win7 alatt a Google Desktop Search-öt használtam. Tavaly óta viszont azt kivonták a forgalomból, volt most nagy meglepetés Win8 telepítés után. Kipróbáltam egy 3rd party keresőt, egy k. szar volt. Aztán rácöccentettem a Win8 beépített keresőjét a teljes vinyóra.

1. Gyönyörűen csendben indexel, nem marja el agresszíven a hddt.
2. A találatai meglepően jók. Letöltöttem a szűz gépemre a sysinternals pakkot. Bemásoltam egy közönséges könyvtárba. Rá pár percre Windows gomb + F, procmon, két enter, és már futott is a Process Monitor.
Grat ms, ez tetszik, nekem ezek a kis apróságok kellenek a produktivitáshoz. Már csak az enterek számát kellene csökkenteni valahogy. :)

2012.08.28.

400 Bad Request – Request header too long

Filed under: IIS,SQL Server,Szakmai élet,Windows,Winternals — Soczó Zsolt @ 17:42

Reporting Services elérése közben jött a hiba, de IIS alatt is ugyanez lett volna a gond. A hiba oka, hogy a http.sys alapban 16kban korlátozza a http request hossszát, egy AD user access tokenje viszont nagyobb lehet ennél. Mivel a Kerberos auth (majdnem minden auth) a http headerben tolja át az auth infót, ha egy user nagyon sok csoportnak tagja az auth header nagyon nagy lehet. Esetünkben akinél jól ment 7k volt az össz kérés hossz, a beteg usernél 26 (Fiddlerrel néztük meg). Ez több mint 16, így természetes, hogy a http.sys kivágta.
A megoldás a limitek felemelése volt (MaxFieldLength és MaxRequestBytes registry értékek).
Bővebben az okról és a beállításokról itt. A beállítás a http stackre vonatkozik, user módú fogyasztótól (IIS, SQL Server, stb.) függetlenül.
Még egy dolog. A 2. cikk szerint újra kell indítani a http valamit. Ez látszólag szerviz, de nem az, hanem device driver. Mint ismert, 2003-tól és XP SP2-től a http.sys kernel módú driver fogadja a http kéréseket, ehhez írtak device drivert, mivel NT alatt így lehet kernel módban futtatni valamit. A service-ek között tehát nem látszik, hanem a Device Mangerben a Non Plug and Play kategória alatt lesz. Csak akkor hajlandó leállni, ha semmilyen user módú processz nem épít rá. Az összes http kiszolgáló erre épít, így az IIS és a Reporting Services is (meg az SQL Server http endpointjai, stb.). Esetünkben nem akart leállni, de a Reporting Services leállítása után azonnal leállt. Megúsztunk egy gép restartot, ami fájt volna, mivel ezen volt az SQL Server is.

2011.03.01.

Mitől ébred fel a gép?

Filed under: Szakmai élet,Windows,Windows 7 — Soczó Zsolt @ 09:04

Pár napja amikor elaltatom a gépet, azonnal felébred.

powercfg -devicequery wake_armed

Dell Wireless 1510 Wireless-N WLAN Mini-Card
Intel(R) 82567LM Gigabit Network Connection

Kiderült, hogy egy nemrég felrakott termék beállította a második hálókártyánál, hogy ébressze fel a gépet. Az volt a céljuk szerintem, hogy a wake on lan menjen, de ennél többet állítottak be, ez külön opció.

2009.11.28.

A Windows 7 megmentette a laptopomat a leégéstől

Filed under: Hardver,Szakmai élet,Windows,Windows 7 — Soczó Zsolt @ 10:28

Két hete vettem a fáradtságot, és felraktam az eddigi Windows 2008 helyére a Windows 7-et. (Kicsit nehezen szántam rá magam, mert minden OS váltás után vagy egy hét mire minden újra a helyére kerül.)
Hamarosan észrevettem, hogy nagyon belassul a gép. A Resource Monitor CPU fülén a Processes fejlécen látható egy érték, % Maximum Frequency. Ez azt jelzi, mennyire vette vissza a Windows (vagy a BIOS?, nem tudom) a proci frekvenciáját. A belassulások idején ez kb. 20%-on állt, és nem akar feljebb menni. Bosszantó, leszabályozza a Windows a proci sebességemet. Mivel nem elégedtem meg egy egyszerű k. Windows beszólással (másképp mehetnék HUP tagnak), utánanéztem a dolognak. Azt írják, ha a gép hűtésével van gond, akkor történhet ilyen. Volt, pl., akinek leállt a proci ventilátora.
Tesztként kikapcsoltam a BIOS-ban a SpeedStepet, ettől mindig 100%-on volt a sebesség, de egész nap süvített a gép, és lesütötte a t.met is.
Végül bekapcsoltam a kompresszort, és alaposan kifújattam a port a gépből. Azóta hideg a gép, mégis, ha kell, felhúzza a Windows 100%-ra a procisebességet (a BIOS-ban újra engedélyeztem a SpeedStepet).
Terjesszétek a jó hírt, ha belassul a gép, tessék alaposan kiporolni.

2009.06.09.

Windows memóriakezelés – 4. rész – Page File és Working Set

Filed under: Szakmai élet,Vista,Windows,Windows 2008 R2,Windows 7,Winternals — Soczó Zsolt @ 10:43

Megjelent ez a rész is, a sorozat talán legfontosabb része. A Page file és a Working Set viselt dolgai.

2009.05.19.

Windows memóriakezelés cikkem 2. része

Filed under: Windows,Windows 2008 R2,Windows 7,Windows Server 2008,Winternals — Soczó Zsolt @ 10:10

Megjelent a techneten, ebben a virtuális memória fizikai címekre leképezéséről írtam.

2009.05.14.

Windows 7 és Windows 2008 R2 konferencia jelentkezés

Filed under: Felhívás,Szakmai élet,Windows,Windows 2008 R2,Windows 7 — Soczó Zsolt @ 08:29

Kikerült a webre a jelentkezési felület, akit érdekel gyorsan jelentkezzen, mert a tegnap délutáni meghirdetés után elképesztő számban kezdtek el beömleni a jelentkezések, és 2 Lurdy terembe sajnos nem fog beférni minden jelentkező.

2008.08.13.

The requested operation could not be completed due to a file system limitation

Filed under: Szakmai élet,Vista,Windows,Windows Server 2008 — Soczó Zsolt @ 14:12

Ez egy érdekes hibaüzenet, amit NTFS fájlok írásakor kaphat néha az ember. A GetLastError ilyenkor a 665-ös hibát adja vissza.
SQL Servernél a snapshotok írásakor jöhet ez elő, otthoni felhasználásnál nagyobb fájlok torrentes letöltése esetén, amikor a torrent kliens mint pl. a uTorrent úgy van beállítva, hogy használja az NTFS sparse file funkcióját. Ha egy sparse fájlt nagyon sok kicsi darabban raknak össze, akkor állhat elő ez a hiba, nem lehet folytatni a fájlt.
Aszongya a tudomány:
” When a sparse file (used for snapshot database files) is populated Windows limits the amount of data that may reside in the file. Once the amount of data stored in the sparse file exceeds the limit further data storage in the file may be prevented.

· Windows 2003 – 64GB (Error 1450 returned)
· Windows 2008 and Vista – 16GB (Error 665 returned)

Forrás.
Ilyenkor én az xcopy /Z forrás cél módszert használom, így a másolás leáll ugyan egy idő után hibával, de a fájl jelentős részét (általában az egészet) sikerül visszanyerni. Aztán a torrent kliens majd befoltozza a lukakat. Így sosincs gondom nagyobb SDK vagy egyéb hasznosság torrentes letöltésekor.

2008.08.12.

Vista aktiválás furcsaság

Filed under: Szakmai élet,Vista,Windows,Windows Server 2008 — Soczó Zsolt @ 22:35

Van egy kis virtuális masinám, amiben Windows 2008 fut, ezt debugolom éjszakánként kernel módban.
Eljött az ideje, hogy aktiváljam, de az aktiválás azt mondta:
Activation Error – 0x8007232B, DNS name does not exist
Azanyád, rossz a net config? Nem, mert simán lehet böngészni a gépben. Google, kiderül, hogy ha rossz a product key, akkor is ilyet mond az aktiválás. Nem tudom, de szerintem ez van olyan kényes kérdés, amit illett volna jobba kidolgozni az MSnek.

2008.08.05.

Windows Internals vizsga – tapasztalatok

Filed under: Debugging,Könyvek,Szakmai élet,Vista,Windows,Windows Server 2008 — Soczó Zsolt @ 22:16

Voltam, láttam, visszamennék :) Ahogy várható volt ez nem az a vizsga, amit 2 nap tanulással le lehet tenni. A Windows Internals könyvből 3 fejezetet tudtam megemészteni ennyi idő alatt, így az azokkal kapcsolatos kérdésekre tudtam is kb. a válaszokat. Ha valaki elolvassa, megérti és kipróbálja a gyakorlatokat a könyvből, akkor szerintem a kérdések kb. 70%-ára tudni fogja a választ.
A maradék 30-hoz általános API programolási ismeretek, windbg igen alapos ismerete és a device driver programozás egyes részletei szükségesek. Emellett tudni kell kékhalált analizálni, érteni az IO műveleteket kernel módban, IRQ-kkal kapcsolatos debugolásokat, dumpokat elemezni, verifierrel vegzáni drivereket, paged, nonpaged, stb. memóriákat elemezni, heap corruption-öket debugolni, lefagyott vagy lerohadt user módú appokat debugolni, kernelből visszahívni user módba, szervizeket piszkálni, leak-eket analizálni, különböző utilokat ismerni (umdh, procexp, tlist, kernrate, sc, gflags, stb.), 64 biten 32 bites cuccok futtatása, UAC jobbra-balra, DEP, memory mapped files, IO completion portok, named pipe-ok, file-ok kezelése szinkron és aszinkron módon, Credential api, perfmon, pool tagging, kernel profilozás, power események kezelése device driverből, kernel struktúrák debugolása, azokból infók kibányászása (nt!_KWAIT_BLOCK, _DISPATCHER_HEADER, stb.), P&P eszközök debugolása, user és kernel módú szinkronizálás, aszinkron IO programozása driverben, kernel szálak kezelése, IRQL szintek és azok jellemzői, Deferred Procedure Call programozása, DMA kezelés, védett módba lépés különböző processzorokon, kézzel lekreseltetni a lefagyott oprendszert (dump céljából), checked buildű kernel hozzáadása éles géphez, filter driverek problémái, stb, stb. Most több nem jut az eszembe. Kb. 3/4 rész kernel, és 1/4 rész user mód volt benne. A kérdések legalább a fele a WinDbgről szól. Ezzel nem is lett volna baj, ő az új szerelmem már pár hónapja (sokkal többet tud, mint a vs debuggere), de én eddig user módban debugoltam. Igaz, hétvégén összehoztam egy kernel debug sessiont a 64 bites gépen, orgazmushoz közeli érzés CTRL-Break-kel megállítani az oprendszert, és beleesni a kernel debuggerbe. Majd ha e helyett már unalmat érzek, akkor érdemes elmenni erre a vizsgára (ez kicsit kétértelmű lett. :).
Szóval korrekt, de nehéz kérdések voltak.

Feltett szándékom, hogy azért is megértem mi történik a Windowsban, és megcsinálom a vizsgát, majd később, pénzért (ez most ingyenes beta volt). Ami nekem még előnyöm a MVP-ként a Windows forráskód hozzáférés, majd ha a kernelt tudom forrásszinten debugolni, az is egy újabb hőhullámot fog kiváltani. :) User mód már megvolt, az is egy élmény forrásszinten.

A tanuláshoz a következő könyveket és forrásokat szándékozok bevetni:

Első körben ennyi. Már csak pár évnyi éjszaka kell, és túl is vagyok rajtuk. :)

2008.07.17.

SQL Server 2008 Analysis Services Windows Server 2008-on vs. Windows Server 2003-on

Habár nem értek az Analysis Serviceshez (még, az SSIS után ez a következő falat), de ez a cikk igen érdekes. Nem annyira az SQL-es, inkább az operendszeres vonatkozásai miatt.
Az átlagfelhasználó az új Windowsokból csak az új shellt tapasztalja meg, meg, hogy több ram kell nekik. Ennek ellenére a háttérben keményen fejlesztik a rendszer magját, csak az nem annyira látványos, még, ha igen hasznos is.
A cikkben arról beszélnek, hogy a Windows 2008-ban új memóriakezelő van, ami sokkal jobban kezeli a sok, apró memóriafoglalást. Ez azonnal látszik, ha az Analysis Services-szel dolgoztatunk fel jelentős mennyiségű adatot, a 2008-on kapásból dupla olyan gyors lett a feldolgozás (tudom, minden teszt csal, de nem hiszem, hogy nagyot hazudnának).
A szerviznek meg lehet mondani, hogy előre allokálja le a memóriát, így 2003-on is hasonló teljesítményt érhetünk el, mint 2008-on.

Az egészből számomra az az érdekes, hogy gyorsabb Windows 2008-ban a memóriakezelés, amiből bármilyen app profitálni fog. Megvettük. :)

2008.04.10.

Vége a terminátor kliens /console kapcsolójának

Filed under: Szakmai élet,Vista,Windows,Windows Server 2008 — Soczó Zsolt @ 12:19

Van helyette /admin. Itt leírják, miért?

2008.04.03.

Vista restore – szeretem

Filed under: Szakmai élet,Vista,Windows — Soczó Zsolt @ 13:22

Tegnap szétesett a laptopban a vinyó. Szerencsére volt mentésem, jó, kb. egy hónapos, de volt. Complete backup volt, Vistából indítva egy külső vinyóra, közben nyugodtan dolgoztam, nem zavarta.

Ma a szervizes emberke kihozta az új vinyót, még írta a papírokat már futott is a restore. Nem kérdezett feleslegeseket, egyszerűen csak tette azt, amire terveztetett. Most már a visszaállított oprendszerről írok. Elégedett vagyok, na.

Ami viszont fura, hogy újra kellett aktiválni a Vistát, mert azt mondja már 3 dolog megváltozott a vasban. Az tény, hogy a tápot is kicserélték hétfőn, de azzal együtt is ez csak 2 változtatás (meg persze nem veszi figyelembe a tápot :). Külső hddk, DVD író gondolom nem ér. De akkor mi az anyja kínjáért akart aktiválni?

2007.12.17.

Miért nem látja a Windowsom mind a 4 Giga memóriát?

Filed under: Szakmai élet,Vista,Windows — Soczó Zsolt @ 22:29

Ezért.

2007.09.06.

Miért nem bootol a windows USB eszközről?

Filed under: Szakmai élet,Windows — Soczó Zsolt @ 21:58

Raymond Chen szerint:
“… during any hot-plug operation, the USB bus is completely reinitialized. Windows really doesn’t like it when it loses access to its boot device.”

Ennek ellenére persze vannak leírások, és van a BartPE, de nekem egy teljes, fullos Vista vagy XP Checked/Debug Build kellene egy USB drive-on. Tud valaki erre megoldást?

Arra a gagyi módszerre is gondoltam, hogy simán felmásolok egy már telepített Vistán az USB vinyóra, majd megrepairelem a Vista DVDről az USB drive-on levő Vista “telepítést”. Baromság?

2007.08.14.

Regionális jellemzők konfigurálása parancssorból

Filed under: Testing,Vista,Windows — Soczó Zsolt @ 13:25

Vistában már lehetséges, egyes programok tesztelésénél jól jöhet.

2007.07.26.

Miért nem lehet csak a file neveket bedobni egy textboxba a Windows Explorerből?

Filed under: Szakmai élet,Windows — Soczó Zsolt @ 16:54

Érdekes és rövid írás Raymond barátunktól.

Vistán van rá egy hekk is, ott van a cikkben, hasznos lehet annak, aki nem szereti a command line dir /B >a.txt-t, csak GUIban tud élni.

Powered by WordPress