Windows 95/98/NT Microsoft Windows, aœ u§ 95, 98 nebo NT, jsou v souŸasn‚ dobØ nejrozç¡ýenØjç¡m operaŸn¡m syst‚mem na osobn¡ch poŸ¡taŸ¡ch. Zaj¡m  v s, jak to funguje v j dýe tohoto fenom‚nu? Chcete se dozvØdØt, proŸ Windows obŸas "tuhnou"? V n sleduj¡c¡m Ÿl nku si pýibl¡§¡me z klady jejich intern¡ch technik. Windows pod lupou Z kladem stabiln¡ho operaŸn¡ho syst‚mu je £zk  spolupr ce s procesorem, kterì je schopen operaŸn¡mu syst‚mu poskytnout zaj¡mav‚ slu§by. V souŸasnìch standardn¡ch procesorech Intel rozliçujeme Ÿtyýi re§imy (mody) pr ce: re lnì, chr nØnì, virtu ln¡ 8086 a re§im spr vy syst‚mu. Re lnì re§im existuje pouze pro zachov n¡ zpØtn‚ kompatibility se starç¡mi procesory. Pokud program bا¡ v tomto modu, procesor se chov  jako rychlejç¡ 8086 s nØkolika vylepçen¡mi a 32bitovou aritmetikou. M…§e adresovat pouze 1 MB pamØti, rozdØlenì na segmenty. V re ln‚m modu bا¡ napý¡klad MS-DOS a podobn‚ platformy. V dneçn¡ dobØ vçak u§ re lnì mod ztr c¡ vìznam a st le d…le§itØjç¡m, vìznamnØjç¡m a modernØjç¡m se st v  mod chr nØnì. OperaŸn¡ syst‚m pýi nØm m…§e vyu§¡vat vçech vìhod procesoru, nejnovØjç¡ch instrukc¡, str nkov n¡ a m…§e adresovat a§ 4 GB pamØti d¡ky 32bitov‚ technologii. Procesor vçak v neposledn¡ ýadØ umo§åuje nadefinovat mno§stv¡ oddØlenìch, na sobØ nez vislìch virtu ln¡ch adresovìch prostor…, kter‚ ve spojen¡ s funkcemi pro multitasking (jako jsou r…zn  privilegia, pýep¡n n¡ proces… atd.) zabraåuj¡ mo§nosti, aby se aplikace a OS navz jem ovlivåovaly a zp…sobily tak p d syst‚mu. Re§im virtu ln¡ 8086 umo§åuje, aby se aplikace napsan‚ pro tento procesor spouçtØly v r mci chr nØn‚ho re§imu. Tuto funkci vyu§¡vaj¡ napý¡klad Windows 9x - okno DOS. A koneŸnØ re§im spr vy syst‚mu dovol¡ n vrh ý…m syst‚mu prov dØt d…le§it‚ Ÿinnosti nez visle na OS. Multitasking Po kr tk‚ exkurzi procesorem se m…§eme vydat do j dra (kernelu) Windows. Windows jsou zalo§ena na multitaskingu, tak§e jejich nezanedbatelnou Ÿ st tvoý¡ i funkce pro spr vu a spouçtØn¡ v¡ce aplikac¡ najednou. Multitasking, kterì maj¡ Windows implementov n, je takzvanì preemptivn¡. P…vodn¡ anglick‚ slovo preemption (vedle jinjìch vìznam…) doslova znamen  "z bor", tedy pr vo operaŸn¡ho syst‚mu pozastavit kdykoliv prov dØn¡ urŸit‚ho toku nebo procesu, aœ u§ si to danì program pýeje, nebo ne. Procesy a vl kna OperaŸn¡ syst‚m Windows vytvoý¡ ka§d‚ aplikaci pýi spuçtØn¡ proces a prim rn¡ vl kno neboli prim rn¡ prov dØc¡ tok. Proces je pro syst‚m pýedstavitelem aplikace, slo§itØji ýeŸeno: je to instance spuçtØn‚ aplikace. Tento proces je s m o sobØ neŸinnì - jeho £kolem je vlastnit sv…j soukromì virtu ln¡ adresovì prostor a m¡t prov dØc¡ toky. Prov dØc¡ch tok… m…§e m¡t tolik, kolik umo§n¡ syst‚mov‚ prostýedky, nejm‚nØ vçak jeden. Pokud ukonŸ¡ svoji Ÿinnost vçechny toky, operaŸn¡ syst‚m nem  d…vod, proŸ udr§ovat neŸinnì proces v pamØti, a tak jej ukonŸ¡. Prov dØc¡ tok se star  o vykon v n¡ programov‚ho k¢du. M…§eme vytvoýit toky s r…znìmi £koly. Napý¡klad textovì editor vytvoý¡ speci ln¡ tok, kterì se nez visle star  o tisk, aby ostatn¡ toky mohly neruçenØ pracovat d l. StejnØ tak je dobr‚ pou§¡t v¡ce tok… pro pr…bاn‚ pýepoŸ¡t v n¡ tabulek v tabulkov‚m procesoru, kdy prim rn¡ tok m  na starosti editaci bunØk a u§ivatelsk‚ rozhran¡, zat¡mco sekund rn¡ tok propoŸ¡t v  na pozad¡ hodnoty. V 16bitovìch Windows se musela aplikace pýi vØtç¡ch nebo pomalejç¡ch akc¡ch periodicky pt t, zda u§ivatel nØco chce zmØnit, stornovat nebo podobnØ. V kladn‚m pý¡padØ bylo nutn‚ na chv¡li pýeruçit operaci a vyý¡dit po§adavek. Pokud se vçak napý¡klad kop¡roval velkì soubor po nØkolika bloc¡ch, mohly bìt odezvy na Ÿinnost u§ivatele a§ o nØkolik sekund zpo§dØn‚, proto§e zkop¡rov n¡ i jednoho bloku nØjakou dobu trv . R…zn  priorita R…zn‚ aplikace maj¡ r…zn‚ n roky na sv…j bØh, a proto je mo§n‚ mØnit programovØ prioritu toku a procesu. Priorita urŸuje, kolik procesorov‚ho Ÿasu je pýidØleno jednomu toku oproti ostatn¡m. Je tak mo§no specifikovat d…le§itost r…znìch program… - napý. pokud vytvoý¡te aplikaci, kter  se pýi startu syst‚mu usad¡ ve spodn¡m panelu a bude monitorovat vaçi Ÿinnost, bude rozumn‚ pýiýadit j¡ relativnØ malou prioritu. Naproti tomu aplikace KERNEL32 - velmi d…le§it  Ÿ st syst‚mu - m  prioritu vysokou. Reakce operaŸn¡ho syst‚mu je toti§ d…le§itØjç¡ ne§ reakce nØkterìch aplikac¡. V extr‚mn¡m pý¡padØ, kdy m  proces i tok nejvyçç¡ mo§nou prioritu, dojde k tzv. hladomoru (starvation) - 100 % procesorov‚ho Ÿasu je pýidØleno aplikaci a syst‚m t‚mØý nebا¡. V naprost‚ vØtçinØ program… vçak nen¡ týeba pou§¡t jinou prioritu ne§ norm ln¡. MØnØn¡ priorit pou§¡v  i s m syst‚m. Aplikace, kter  bا¡ na popýed¡ (se kterou pr vØ pracujete), vy§aduje rychlejç¡ odezvu na vaçe akce. Proto j¡ Windows zvìç¡ prioritu z jej¡ priority p…vodn¡. Ve Windows NT m…§ete toto zvìçen¡ priority (performance boost) dokonce zmØnit v System Properties. Napý¡klad vìvoj ý…m ve Visual C++, kteý¡ by chtØli tyto technologie pou§¡t, doporuŸuji naj¡t si v dokumentaci informace o funkc¡ch SetPriorityClass (zmØna tý¡dy priority cel‚ho procesu) a SetThreadPriority (relativn¡ priorita prov dØc¡ho toku). Jak to doopravdy bا¡ Kdy§ m  ka§d  aplikace vytvoýeny vçechny n le§itosti, zbìv  vçechno spustit. Tuto Ÿinnost zajiçœuje operaŸn¡ syst‚m v tØsn‚ spolupr ci s procesorem. Pro procesor je ka§dì prov dØc¡ tok tzv. £lohou (task). V z vislosti na priorit ch je pak ka§d‚mu toku pýidØlen odpov¡daj¡c¡ Ÿas procesoru. Syst‚m simuluje souŸasnì bØh aplikac¡ t¡m, §e vçem tok…m neust le dokola pýidØluje kr tk‚ Ÿasov‚ £seky pro pr ci - tzv. kvanta. Pokud napý¡klad dojde k situaci, §e nØkterì tok "zatuhne" v nekoneŸn‚ smyŸce, prov d¡ svou smyŸku pouze ve sv‚m Ÿase a nijak neohro§uje ostatn¡ aplikace. Jestli§e to u§ivatel zjist¡ a chce aplikaci ukonŸit, staŸ¡ vyjmout z ýetØzu jeden Ÿi v¡ce tok… patý¡c¡ch dan‚mu procesu, a vçe je v poý dku. Windows NT nav¡c umo§åuj¡ pou§it¡ v¡ce ne§ jednoho procesoru. PýidØluj¡ tak vìkonnì Ÿas v¡ce procesor… a celkovì bØh se viditelnØ zrychl¡. Windows 95 vçak tuto mo§nost nemaj¡. PamØœov  architektura Cel  filozofie pamØœov‚ architektury souvis¡ s multitaskingem. Bylo u§ ýeŸeno, §e ka§d‚mu procesu je pýidØlen virtu ln¡ adresovì prostor o velikosti 4 GB. Nepropadejte vçak pýedŸasnØ nadçen¡, neboœ uveden‚ Ÿ¡slo je pouze rozsah adres, kterì je d le transformov n na adresy fyzick‚. Tam u§ tolik prostoru nen¡, jeliko§ je ovlivnØn velikost¡ vaç¡ pamØti RAM. Pr vØ proto, §e ne ka§dì poŸ¡taŸ pýekypuje des¡tkami a stovkami MB, uplatåuj¡ Windows mechanismus str nkov n¡. Znamen  to, §e urŸit‚ Ÿ sti pamØti jsou ulo§eny na disku, odkud se v pý¡padØ potýeby nahraj¡ zpØt do pamØti. Tyto soubory, obsahuj¡c¡ Ÿ sti pamØti, nØkdy i o velikosti des¡tek MB, m…§ete Ÿasto naj¡t v koýenov‚m adres ýi nØkter‚ho ze svìch disk…. Mo§n  si ýeknete, proŸ je tedy poý d týeba tolik operaŸn¡ pamØti, kdy§ m te velkì disk? OdpovØÔ je prost  - disky jeçtØ st le nedos hly rychlosti skuteŸn‚ pamØti RAM, kter  je obrovsk . Pokud tedy provozujete Windows na poŸ¡taŸi s nØkolika m lo megabajty pamØti RAM, operaŸn¡ syst‚m mus¡ velkou Ÿ st potýebnìch dat neust le pýesouvat z pamØti na disk a opaŸnØ. Vìsledkem je nekoneŸnØ dlouh‚ Ÿek n¡ u hrŸ¡c¡ho pevn‚ho disku. Rozd¡l mezi 9x a NT Je vçeobecnØ zn mo, §e Windows NT jsou stabilnØjç¡ ne§ Windows 95/98. Tento fakt je zp…soben hned nØkolika rozd¡ly. Windows NT jsou navr§ena pro vìkonnØjç¡ poŸ¡taŸe, ne§ jak‚ se pýedpokl daj¡ u Windows 95. Jsou tedy sice v¡ce hardwarovØ n roŸn , ale mohou silnØji zatاovat procesor. Ochrana pamØti je zde dokonalejç¡ ne§ u ýady 9x - j dro je £plnØ chr nØno pýed n hodnìmi z pisy do pamØti a rovnا bا¡c¡ aplikace jsou navz jem dobýe odizolov ny. Pr vØ tyto funkce jsou sice technicky n roŸnØjç¡, ale podstatnØ zvyçuj¡ robustnost syst‚mu. Knihovna funkc¡ j dra je nav¡c u Windows 9x zmençena, napý¡klad t¡m, §e nØkter‚ funkce nic nedØlaj¡ a vrac¡ pouze nulu. Tìk  se to napý¡klad specifickìch funkc¡ pro r…zn‚ zabezpeŸovac¡ parametry proces…. Windows NT jsou na- vrhov na tak‚ jako server, tak§e u nich jsou nav¡c dalç¡ rozçiýovac¡ funkce. Na obr zc¡ch, kter‚ ukazuj¡ orientaŸn¡ rozdØlen¡ pamØti u obou druh… Windows, m…§eme n zornØ vidØt rozd¡l v ochranØ pamØti. Zat¡mco Windows NT maj¡ pamØœ perfektnØ oçetýenou, u Windows 9x existuj¡ oblasti, kter‚ lze omylem pýepsat a zp…sobit tak komplikace. Nav¡c ýada 95/98 mus¡ kv…li zpØtn‚ kompatibilitØ spouçtØt programy urŸen‚ pro DOS, kter‚ nejsou chr nØn‚mu re§imu pýizp…sobeny a kter‚ se mohou pokusit o operace, je§ naruç¡ operaŸn¡ syst‚m. Realita a vìhledy UdØlali jsme si m¡rnì a zjednoduçenì pýehled o j dýe operaŸn¡ho syst‚mu Windows. Ve skuteŸnosti je problematika komplikovanØjç¡, tis¡ce stran r…znìch knih a manu l… se zabìvaj¡ komunikac¡ mezi procesy, synchronizac¡, DLL (dynamickìmi) knihovnami a mnohìm dalç¡m. Samostatnou kapitolou jsou pak modern¡ procesory a jejich speci ln¡ multimedi ln¡ a internetov‚ instrukce. 32bitov‚ programov n¡ pro Windows poskytuje program torovi obrovskì prostor pro vytv ýen¡ dokonalìch, stabiln¡ch a pro u§ivatele pý telskìch aplikac¡. Vìvoj se st le §ene kupýedu a zanedlouho se objev¡ i nov  Windows 2000 - opØt dalç¡ vìvojovì krok v ýadØ vçudypý¡tomnìch oken. Tom ç T…ma