Linux na svoji dobu/stari neni spatny kernel, ani architektura dle meho soudu neni uplne zla. Je treba ho vnimat trochu koncepcne do hloubky, nezapominat cim byl inspirovat a venovat se trochu historickemu kontextu.
Nevim jak si presne nejmenovany pan predstavuje modularitu jadra, ale dle meho soudu je koncepne linux kernel modularni naprosto fascinujicim zpusobem, jen si prosim racte spustit "make menuconfig" a zjistete si sam jaky je "stav modularity", myslim, ze budete velmi prekvapen.
Kernel jiz neni dnes 100% monoliticky tak jak byl v dobe sveho vzniku, objevuji se zde koncepcni prvky mikro-kernelove architektury jak bylo zamysleno napr. v projektu HURD, v tomto ohledu je treba zminit napr. FUSE.
Kazdy kdo jen trochu nahledl do jadra, chape, ze kazde nove jadro prinasi/dozravaji v nem nove technologie a samozdrejme upravuje/pridava, ale i odstranuje ovladace, je velmi zadouci, aby se ovladace dostavaly tedy primo do jadra, kde mohou "zit" svym zivotem a kazda nova verze jadra bude pro ne prijatelna.
Linux jadro je jeden z nejvetsich lidskych pocinu, ktere clovek stvoril, brano samozdrejme z hlediska IT ... je to zalezitost, ktera v tomto "trzne-absurdnim" svete nema obdoby. Spousta lidi to neni schopna pochopit/akceptovat.
Linux jadro je jeden z nejvetsich lidskych pocinu, ktere clovek stvoril, brano samozdrejme z hlediska IT ... je to zalezitost, ktera v tomto "trzne-absurdnim" svete nema obdoby.
Souhlasím, jsem za existenci Linuxu rád, protože jak jeho autoři tak samotné jejich dílo odvádí hodně skvělé práce. Ale nemohu nevidět nesporná negativa. Jedním z nich je bohužel to, že ne zcela respektují realitu - koncepce, kdy je za ideál považováno to, že každý ovladač bude součástí distribuce zdrojového kódu jádra je velmi nepružná a od praxe odtržená. Působí to spoustu naprosto zbytečných problémů, odrazuje spoustu firem od podpory Linuxu atd..Výsledky vidíme nejvíce v desktopovém nasazení - distribuce ovladačů je obtížná, ne - li pro některé výrobce nemožná. Zbytečně vypjatá ideologie tak podkopává jinak skvělé dílo.
No je tady ale i druha stranka veci - drivery od vyrobcu jsou casto velmi bidne kvality (staci se jen podivat na ty, kdy vyrobce po case uvolnil kod a snazil se o zacleneni do jadra). Radsi jsem v situaci, kdy je driveru mene, ale za to kvalitnejsich (takze si staci vybrat podporovany hardware).
Je zde podstatny rozdil - otevreny kod pri zaclenovani do jadra prochazi v podstate oponenturou od lidi, kteri jaderna rozhrani znaji, videli uz mnoho ovladacu, znaji nejcastejsi chyby a nejsou na danem ovladaci primo zainteresovani.
(samozrejme otevreny kod, ktery se povaluje nekde mimo jadro a nema snahy byt zaclenen do jadra, muze trpet uplne stejnymi problemy jako uzavreny kod).
Že by tím, že výrobci HW nechtějí dokumentovat, jak s jejich HW komunikovat? Víte, ono se docela špatně komunikuje s druhou stranou, když nevíte, jak ta druhá strana mluví. Ovladače pro standardizovaná rozhraní fungují bez problémů a často daleko lépe než ve Windows (třeba IPv6).
Výrobcům HW se často nevyplatí psát drivery pro Linux. Detaily zařízení mnohdy nesdělí, protože nechtějí odkrývat karty před konkurencí. V některých případech zřejmě ani nesmí informace poskytnout, protože je zákon nutí zabránit navýšení vysílacího výkonu, poškození telefonní sítě atd.
Zkuste se podívat, kolika se to naopak nevyplatí. Pro Adaptec je možná zajímavý trh linuxových serverů, ale pro většinu vžrobců je svět linuxových desktopů nezajímavý.
Ovladač jako součást zdrojového kódu jádra je velice pružná a praktická věc hlavně pro výrobce HW. Ušetří spoustu nákladů/úsilí na údržbu ovladačů u nových verzí OS - viz klasika přechod XP na visty. Nakonec i creative uvolnil kód pro xfi pod GPL, když předtím strávil měsíce laděním driveru pro windows (i když bůhví jaké byly skutečné důvody nekomunikace s OSS vývojáři). Firma dodá pár desítek až tisíc řádků kernelového kódu a nemusí se starat o GUI, instalátor, help atd. atd., ještě jí s tím na mailinglistu pomohou jaderní specialisté daného zaměření. Navíc obvykle stačí, když jen dodá základní dokumentaci, často pod NDA. Obvykle se najde nějaký dobrovolník, který potřebuje rozchodit ono zařízení (pro sebe, pro zaměstnavatele, atd.) Takto to funguje a funguje to docela efektivně.
Sám teď komunikuji s jednou firmou vyrábějící zvukovky a potřebuji jen občasné konzultace s jejich specialistou. Ten nemá moc času, protože se moří laděním driveru a GUI aplikace pro win.
Je spousta firem jejichz vyvojari pracuji primo na driverech ktere jsou v kernelu, tedy jsou cleny vyvojoveho tymu linux kernelu. Co vim tak SCSI (Tekram, Adaptec), Intel atd...
Myslim ze na CD k radicum Tekram je jen .txt soubor kde je neco ve smyslu "driver mas v kernelu, vole" :-)
Myslím, že se typicky snažíte udělat z nouze ctnost.
U spousty hardwaru se nedá očekávat, že vám výrobce dodá všechny informace, ba často vám zcela záměrně nedá žádné informace. Z nejrůznějších důvodů - nejčastěji proto, že je považuje za svoji konkurenční výhodu. Přitom by byl třeba ochoten dodat binární driver. Vykašlete se na ideologii a zamyslete se nad tím prakticky.
V případě serverů to s jádrem v současné podobě jde. Hardware není tak rozmanitý. Bohužel v případě notebooků a desktopových počítačů pro běžnou veřejnost je to někdy katastrofa právě z toho důvodu o kterém píši. My si poradíme, dokážeme podporovaný hw vybrat. Obyčejný zákazník ne, zakoupí cosi kdesi, připojí, nefunguje a automaticky prohlásí, že "ten Lunix je ale shit když to s ním nejde". Z jeho pohledu naprosto oprávněně - on tomu nerozumí a PC má proto, aby na něm pracoval či si hrál...Ideologické spory ho nezajímají. Tady - v realitě - bohužel Linux prohrává na celé čáře a je to škoda.
Vůbec nejde o ideologické spory, ale o ryze praktickou údržbu kernelu. Binární driver obsahuje spousty chyb a výrobce se na něj po nějaké (obvykle velice krátké) době vybodne - úplně stejně jako ve win. Avšak správci kernelu budou muset takový driver stále dokola obcházet, budou mít úplně svázané ruce, budou muset udržovat API jen pro daný driver, protože ostatní starší drivery již budou dávno přeportované na nová rozhraní podporující nové funkce.
Výrobce si usnadní život, bude se bít do prsou, jak podporuje všechny OS a přitom veškerá starost zůstane na hrbu správcům daného subprojektu kernelu. Vůbec se jim nedivím, že o takovou hru nestojí. Mají práce dost s OSS drivery.
Ještě detail - schválně se podívej, kolik reálné "konkurenční výhody" v těch ovladačích je. Budu mluvit za zvukovky, do čehož trochu vidím. Buď je skutečná vychytávka ve firmwaru, ten si konkurence stejně umí ze zařízení přečíst. Nebo je to v extra funkcích v user-space části windowsího ovladače (např. DSP efekty, patch baye, podpora nejrůznějších windowsích API). Ty ale v linuxu nejsou potřeba, protože pro ně existují specializované aplikace a tudíž jsou dostupné pro všechny zvukovky, nejen vybraných pár kousků.
To rozhodnuti o utajeni/zverejneni nedelaji technicti lidi, ale pravnici nebo manazeri, a ti o tom nic nevi. Takze pouzivaji sablonovite zduvodneni "cim vic je toho tajneho, tim je to lepsi".
Dalsi oblibeny duvod, proc nezverejnovat zdojaky driveru, jsou patenty. Kdyz konkurence neuvidi, ze je v tom binarnim driveru patentovana technologie, tak za to nezazaluje. (dokazat, ze hardware ci software zadny patent neporusuje, pri mnozstvi patentu nejde)
Kdysi mel prednasku na MFF nejaky vysoky manazer Intelu, a ten tvrdil, ze je z konkurencnich duvodu treba tajit i casovani instrukci a doby pristupu do pameti a mezi jadry.
Je to samozrejme nesmysl, ze by to pusobilo vyhodu konkurenci, pro AMD neni problem nakoupit Intelovske procesory a zmerit to; pro prosteho vyvojare to tak snadne neni (nehodlam utratit nekolik tisic za procesor jen kvuli mereni).
Ti lidi, co o tom utajovani rozhoduji, o tom opravdu nic nevi.
Ale nejčastější konkurenční výhodou je prostě dobře udělaný návrh digitální i analogové části, kvalitní obvody, zdroje, plošňák. A tomu žádný ovladač nepomůže.
To by mě zajímalo, jak si ten HW vyberete? Já s tím měl velké problémy. Pro Windows existuje HCL, kde je listovaná obrovská spusta certifikovaného HW. Když chci kvalitní HW, koupím něco uvedeného v HCL, u čeho zároveň budu mít dobrý pocit.
Ale co na Linuxu? Existuje pár databází, kde se Franta a Lojza svěřují, že si koupili krabičku A, a doma jim to fungovalo. Jenže to není testování ani certifikace, ale vyjádření nadšeného kupce, kterému doma v jeho podmínkách jely nějaké základní funkce, které zrovna náhodou vyzkoušel.
Kontaktujete sveho dodavatele a reknete mu, ze chcete bezet linux. Oni vam reknou, na jakem hw ho podporuji a to si koupite. Kdyz to nefunguje, kontaktujete dodavatele at to vyresi.
HW dodává Alza, AutoCont, Datart i TESCO. Prodávají krabičky přes pult, a kompatibilitu s různými OS neřeší. U Linuxu navíc prodejce ani nemá možnost zjistit, co je vlastně podporované.
Znovu srovnejte se situací ve Windows. V HCL, na krabicích produktů, na webu výrobců a při troše štěstí i na eshopu najdete informace o cerfikaci HW.
Vy už jste dávno utonul, protože se ukázalo, že pro Linux neexistuje autoritativní list certifikovaného HW. Tedy s výjimkou certifikací pro SLES, Red Hat a spol, kde se dozvíte, jaký server a jaký FC řadič pro SAN si můžete koupit (list o pár položkách).
Když to nepůjde, můžete riskovat, a zkusit HW s podporou jen od výrobce (je to zpravidla špatný nápad). V případě Linuxu můžete pouze riskovat. Nebo používat skenery s podporou "good", a mít tedy naskenovaný obraz barevně zkreslený, zubatý, nechat skener v průběhu skenování ztuhnout nebo narazit do koncové zarážky :))
Když to nepůjde, můžete riskovat, a zkusit HW s podporou jen od výrobce
To je opravdu skvela rada. Takze mi sdelujete, ze cely HCL je uplne na nic, protoze Microsoft stejne zadnou funkcnost nezarucuje. Vyborne, to jsme na tom stejne jako u Linuxu. To je ale saskarna, ten HCL, co? :P
Znáte výrobce HW, který vám opravdu zaručí, že konkrétní HW poběží? MS *certifikuje*, a to je něco trochu jiného. Zkuste si udělat jasno v terminologi.
v linuxu je navic problem ze drivery nejsou kompatibilni s jinymi ani minor revizemi kernelu, takze nemuzete upgradovat kernel pac by vam pak neslo FC pole.
V MS HCL je myslim 338 Vistou podporovanych scanneru, to i SANE je na tom mnohem lepe kdyz budu pocitat jenom ty "zelene" (plna podpora). Dost tezko si tedy vyberu Vistou nebo XPckami podporovany scanner, nemyslite?
Ted Lael prispecha se lzivym tvrzenim ze vyrobci HW nedodavaji pro linux drivery, nebo se na mesic odmlci jak to u nej byva zvykem. Clovek ktery nevi o hplip a podobnych pocinech by mu to mohl i sezrat.
A nesmime zapomenout ze vyrobci HW z nejakeho nepochopitelneho duvodu mohou dodavat linuxove drivery ktere nefunguji :-D
To determine product compatibility status for this site, we looked at whether:
* The product has earned the Certified for Windows Vista, Works with Windows Vista, or Games for Windows logo, which indicates that it has been tested for compatibility.
* The device manufacturer or software publisher states Windows Vista support for the product.
If none of the above information was available, we list the product as "Status Unknown." We will continue to research products with this status and to update the site with more complete information as we find it.
Cili, "Status unknown" je prirazen az kdyz neni ani zminka od dodavatele o podpore. Nestaci jenom chybejici overeni funkcnosti.
O co pak je horsi HPLIP, kde vyrobce prohasuje totez?
Důležité jsou tyhle věci.
1) Certifikace. MS má seznam požadavků, které musí HW splnit. K tomu musí projít testy. Pokud jsem si všiml, tak tohle na Linuxu nikdo nedělá (s výjimkou serverových distribucí, které mají certifikace konkrétních modelů serverů, pár FC řadičů atd, což je pro desktop irelevantní). Nejvýš se v někde dočtete, že Frantovi zařízení doma fungovalo. Dost možná ale fungovalo jen jemu, fungovaly jen ty dvě funkce co náhodou vyzkoušel, a hlavně je to naprosto nevěrohodný zdroj.
2) Jde o nezávislé posouzení parametrů, kvality a funkčnosti zařízení/driveru. Výrobci jsou prasata, a mrší HW i drivery. Když si koupíte HW bez certifikace, máte daleko větší pravděpodobnost problémů.
3) Tohle je klíčové. Uživatel si na jednom místě může před nákupem ověřit, která zařízení byla nezávisle a kvalifikovaně posuzována z hlediska parametrů, funkčnosti a spolehlivosti. Tohle na Linuxu úplně chybí.
Samozřejmě. Nechal jste si vyhledat kompatibilitu s 32-bitovými Windows. V detailu zařízení se můžete podívat i na podporu 64-bit Windows. Asi nepřekvapí, že skener kompatibilní s 32-bit Windows nemusí být nutně kompatibilní s 64-bit verzí.
333 skenerů, plus dalších 1371 multifunkčních zařízení (tedy tiskárna plus scanner). To je celkem 1704 zařízení.
SANE podporuje 248 zařízení se statusem Complete. K tomu dalších 459 ve stavu Good. Ovšem už stav Good znamená velké problémy. Viz namátkou níže co je "good". Já bych tomu řekl "katastrofa, nešťouchejte do toho ani klackem".
"The Halftoning works, but the quality is poor. On some devices, the pictures seems bluish. On low end systems under heavy system load the driver may lose data, which can result in picture corruption or cause the sensor to hit the scan bed. Printers (especially HP models) will start to print during scanning. ..." http://www.sane-project.org/man/sane-plustek_pp.5.html
Jak vidíte tak Windows podporuje 7x více scannerů, než SANE.
HPLIP:
The HP Linux Imaging and Printing project provides printing support for 1,860 printer models including Deskjets, Officejets, Photosmarts, Business Inkjets, LaserJets, LaserJet MFPs, Edgeline MFPs Edgeline MFPs, and PSCs.
POZOR, je to pouze jeden vyrobce, dalsi maji vlastni drivery!!
Nemyslite ze na linux ktery ma pry 1% trhu a nikdo o nej nema zajem, je to v porovnani s tak chtenymi windows vice nez velky uspech? I kdybych pocital pouze sane, tak linux s pry 1% ma jen o 6/7 horsi skore v plne podporovanych scannerech nez majoritni OS. Zkuste priste jine lzi, tohle uz nezabira.
HPLIP se týká tiksáren. Chcete tiskárny HP DeskJet počítat mezi scannery? :) Navíc je HPLIP akcí výrobce, bez nezávislé certifikace. HP samozřejmě podporuje i pro Windows řadu modelů, které nemá certifikované u MS. Takže jste dodal pěkné číslo, ale naprosto nesmyslné.
Ještě k tiskárnám: podpora tiskárny vyžaduje PCL nebo PS driver, a víc není třeba. Tedy dokud se nezačnete zajímat o shodu barev aka color management, vstupní a výstupní zásobníky, sešívačky, potisk transparentních fólií (vyžaduje pomalejší průchod média), potisk CD/DVD, tisk až do okraje stránky atd.
Co je více než úspěch? Existence PCL a PS tiskového filtru pro Linux? Těch pár podporovaných skenerů? Nebo fakt, že pro Linux prostě neexistuje seznam podporovaného HW?
Vy mluvíte o lžích? LOL. "V MS HCL je myslim 338 Vistou podporovanych scanneru, to i SANE je na tom mnohem lepe". Ve skutečnosti je v HCL pro Vistu dnes 333 skenerů a 1371 multifunkcí s funkcí skeneru, kdežto SANE podporuje přijatelným způsobem 248 zařízení. Když už veřejně a prokazatelně lžete, tak alespoň nekecejte o tom, že lžou ostatní. Jste pak za idiota.
Sane plne podporuje 248 scanneru, v HCL je jako compatible uvedeno 231 scanneru (asi jste prehledl, ze mate vypsany i Unsupported, pak by ta cisla sedela).
HPLIP je nezavisle reseno vyrobcem, ale to HCL v podstate taky. Unknown status je u zarizeni uveden az pokud neni ani proveden test u MS ani vyrobce neohlasi jestli to funguje. Cili staci iniciativa vyrobce a status je complete. Nehlede na fakt, ze ovladace pise vyrobce i pro Windows.
HPLIP se netyka jenom tiskaren ale i multifunkcnich zarizeni.
HPLIP je věcí výrobce. Výrobci již tradičně prasí HW i drivery. Uvádí se, že za cca 70% BSOD chyb můžou drivery (ze zbytku je velké procento selhání HW). Když si koupíte HW u kterého výrobce uvádí podporu vašeho OS, ve skutečnosti může být ta podpora velmi špatná. Zařízení nemá některé nutné parametry, je nespolehlivé, způsobuje selhání systému. Protože MS nechce omezovat svobodu výrobců, tak nezávisle certifikuje zařízení. Zařízení musí mít nějaké parametry, funkčnost a spolehlivost. Dokonce driver tuším musí projít nějakou analýzou kódu. Pokud bychom se nezabývali certifikací, tak lze prohlásit, že s Windows nějak funguje prakticky každé zařízení.
Více zde: http://www.root.cz/clanky/nove-ubuntu-ma-vazne-problemy-s-grafikami-intel/nazory/273055/
Ano, HPLIP se týká i skenování. Ovšem zdaleka ne všechna ta zařízení umí skenovat.
Nesouhlasim. Vyrobci by to meli vnimat jako vyhodu/usporu, ze se nekdo jiny stara o jejich ovladace. Cim dal tim vic jich to nastesti chape. Cast je zatvrzela a cast je nemile prekvapena, kdyz milostive dodaji zdrojaky svych driveru pro zarazeni do jadra a Linus jim je hodi na hlavu, protoze nestoji za nic (sveho casu Areca). Kazdy system (i Windows) stoji a pada s kvalitou ovladacu, proto povazuju nekompromisni politiku ohledne jadra za prospesnou.
A realita? >80% HPC jede na Linuxu, prestoze MS sponzoruje HPC konference a rozdava licence sveho clusterove systemu. Proc?
Ano, je to tak. Např. správce jaderné části alsy je velice přísný a kód musí být úplně vypíglovaný, aby jej přijal. Mnohokrát mi ho hodil na hlavu, než byl spokojený. V normální firmě by mu to management zatrhl, protože by se jim nelíbilo, že zvyšuje náklady na vývoj (a souhlasil bych s nimi). Stačilo srovnat s kódem, který pod GPL jako údajně funkční ovladač pro X-Fi uvolnili svého času draze placení vývojáři Creativu (nejde o poslední verzi). Rád jsem kód vyčistil dle jeho požadavků, protože jsem tu funkčnost v jádře chtěl, abych měl pořešenou správnou a kompletní funkčnost svého HW na hodně let dopředu.
Pokud víte, o čem mluvíte, tak se musíte sám smát. Linux je opisem prastarých unixů, navíc vyjma toho opisu neproběhl žádný pokus o design. Linus psal terminálový emulátor, a nakonec nějak napsal primitivní kernel se spoustou x86 kódu. Srovnejte s návrhem Windows NT, které vznikly v té samé době.
Modularita nespočívá v tom, že překládáte monolitické jádro s různými options.
Jádro Linuxu dnes umí moduly (ovšem nemá stabilní ABI), ale jinak nemá s mikrokernelem nic společného. Z rozšířených systémů mají mikrokernelu nejblíž asi Windows řady NT.
Ovladače vznikaly a budou vzniukat i mimo jádro. Je to technická i obchodní nutnost. Otázka je, jak se s tímto faktem Linux za ta dlouhá léta srovnal. Podle mě nic moc.
V čem je jádro Linuxu "jeden z nejvetsich lidskych pocinu"? Rozsahem ani kvalitou určitě ne. Způsobem financování (vývoj platí výrobci HW v hotových penězích) asi také ne. V čem to tedy je?
Na rozdíl od vás to vím. Windows NT jsou modifikovaný mikrokernel, protože klasický mikrokernel vede k nižšímu výkonu. Klasický mikrokernel v rozšířených systémech prakticky nenajdete (QNX není rozšířený systém).
Tak zjednodusene, at to pochopi i L.O.: to, ze je na tom obrazku z linku pojmenovanej microkernel jeden ctverecek jeste z NT jadra mikrokernel nedela... to by se stalo, az by zustal za tou carou co oznacuje kod bezici v kernelmode sam... ale on tam k sobe ma jeste windowmanager, graphic device interface a podobne veci.. ty z definice nemaji v mikrokernelu co delat.
OK, ještě jednou. Tentokrát by to mohl pochopit i anonymní troll. Windows NT používají *modifikovaný* mikrokernel. Ta modifikace spočívá v tom, že servery ze světa mikrokernelů (FS, networking a další) běží v kernel mode. Důvodem je fakt, že mode transition (přechod z user mode do kernel mode) je drahá operace. U tradičního mikrokernelu je počet mode transitions tak velký, že zabije výkon. V NT provedete mode transition (ideálně) jen jednou, a zbytek operace probíhá v kernel mode.
Kdybyste si přečetl můj link, nebo znal Windows NT, tak byste tohle věděl. Takhle ze sebe děláte osla.
Osel jste vy, mikrokernel znamena, ze jednotlive servery bezi v userspace. To proto, aby si nemohli sahat pod ruce. Tim, ze bezi v kernelspace si sahat pod ruce muzou, tudiz to neni mikrokernel.
Kdepak. To je rys, podle ktereho se mikrokernelu rika mikrokernel - minimum kodu beziciho v kernelmode, ktery dela jen to nejnutnejsi. Vse ostani jsou marketingove blaboly MS, kterym evidentne verite. A tim, ze je switchovani mezi kernelmode a usermode narocne, se tu moc neohanejte, protoze to neni pravda - jen to nekdo umi spravne implementovat a nekdo ne.
Takze si o tom priste neco zjistete, nez zas tu zacnete nepokryte lhat.
WindowsNtKernel is also not actually a microkernel, although it was marketed as a microkernel when microkernels were fashionable. For example, the NT executive (aka the kernel) is implemented above a hardware abstraction layer. In a true microkernel OS, the kernel itself is the hardware abstraction layer. And now, since the graphics and GUI components have been moved into kernel space, NT is even less of a microkernel OS.
Pokud si dobře pamatuji, celé to bylo "dotažen"o tak daleko, že nejaké vykreslování oken aplikací (nebo snad většina těch operací) běžela v kernel mode, takže když tam udělala aplikace něco špatně, zatuhl celý systém ...
To si pamatujete špatně. V kernelu běží větší část GDI, které kreslí po obrazovce. Aplikace tam nemůže udělat nic špatně, protože aplikace v kernel mode neběží. Na rozdíl od X11 serverů je navíc GDI multithreadové, a kernel NT reentrantní.
V kernelu běží větší část GDI, které kreslí po obrazovce. Aplikace tam nemůže udělat nic špatně, protože aplikace v kernel mode neběží. Na rozdíl od X11 serverů je navíc GDI multithreadové, a kernel NT reentrantní.
Prostě samá pozitiva.
A když jedna aplikace začne "vhodně" tuhnout (bod 2), tak znemožní práci s gui (a celým počítačem) kompletně. Nějak jsem tu reentrantnost a multithreading nezaregistroval ...
To co popisujete nemá s kernelem nic společného. Pokud ve vaší aplikaci dojde k masivním resource leaks, může to způsobit až DoS. To je ovšem společné většině systémů, tedy pokud si nenastavíte resource limity. Ovšem když píšete kód s masivními resource leaks, není důvod se tím chlubit po diskuzích :)
Když napíšete aplikaci, která bude celý čas vykreslovat čínské znaky pomocí X11, tak si nikdo jiný ani neškrtne. Máte úplně stejný DoS.
No, tak to mne zase PR microsoftu pobavilo, :-).
My nikdy nic, za všechno může programátor.
Já jsem nebyl autor, já jsem jen hledal nějaký bug v už napsané aplikaci. Která se jinak chovala normálně, žádné zbztečné zdroje systému nikdy nespotřebovávala (to by si původní autoři NEMOHLI dovolit). Pouze ladit v té šílenosti (VS) se to vážně nedalo ...
PS: původní chytrá rada byla "... se zkuste podívat na definici multithreadingu ... ", koukám, že už se na dálku našlo jiné řešení (programátor).
PPS: nevtipný pokus o moje ztrapnění popisem klávesových zkratek ve VS bych čekal od někoho hloupějšího, jednak o tom teď NEBYLA řeč a demagog tvého kalibru to nemá zapotřebí.
PPPS: projekt "buildnout" možné bylo, jinak by ta aplikace šla těžko prodávat. Ale určité symboly prostě ne a ne, :-)
No v tom odkazu zapoměl ten uživatel dodat, že to ladil ve VC4 na cílové platformě Windows 95. Protože podobné probémy tam tehdy byly. Ve Windows ve VC9 už nic takového pozorovat nelze. Možná ve Vistách, ale ty nehodnotím, protože to je stejný šunt jako Ubuntu 9. Pro mne vývoj Windows končí v XP a ty jsou naprosto v pohodě.
Jinak přístup na obrazovku jde přes syslock. Je to logický důsledek sdílení HW. Ale jen aktivní kreslení, sama aplikace samozřejmě zamykat obrazovku nemůže. Většinou se syslock drží velice krátkou dobu, a snad jednou v životě jsem pomocí nějaké komplikované GDI operace (bitblt) viděl syslock delší než dvě sekundy. Mohu ale potvrdit, že zastavená byla jen obrazovka, aplikace běželi dál. Třeba WinAmp hrál bez problémů.
To co píšu platí pro běžné prostředí. Ve Vistách to bude jinak, při kreslení na offscreen se syslock většinou nedrží. A Areo je přesně to prostředí, kde se to využívá.
I když to bylo dobré prostředí, tak VC2005 a VC2008 jsou tak o 100 tříd vejš. VC6, to je jako jezdit přerevoluční škodovkou. Bylo to dobré auto, to jo... na tehdejší dobu.
Používám VC2008 + Visual Assist X. Dobrá kombinace, editační prostředí je víceméně světová špička.
(VC2008 Express je zdarma, sice tam Visual Assist X nerozběháte, ale IntelliSense je celkem na dobré úrovni, i když né vždy napoví stoprocentně. Rozhodně tam nepotkáte uvedené problémy)
Windows NT mely neco jako mikrokernel mozna ve verzi 3.*, pak GUI presunuli do kernelu a maji v kernelu jeste vic veci nez Linux.
Zda se to nazve nebo nenazve mikrokernel je irelevantni, Windows vyhody mikrokernelu nemaji.
Priklad: pred casem jsem na Win XP programoval manipulaci se schrankou. Doslo k tomu, ze se v GUI neco deadlocklo. Windows sice bezely, ale v GUI se nedalo nic delat, ani vyvolat Task manager ne. Tak jsem pocitac musel resetovat. (to jsem tam byl prihlaseny jako obycejny uzivatel, ne admin). Na Linuxu, kdyz nektery program zatuhne GUI, tak staci zmackout CTRL-ATL-BACKSPACE, xserver se restartuje, pochcipaji pouze graficke programy, ktere byly ke xserveru pripojene, a pocitac bezi dal.
Ani čistý mikrokernel nemá výhody, které deklaruje. Když se zhroutí server běžící v user space, mikrokernel sice vesele běží dál, ale bez spadlé "drobnosti" typu networkingu, file systému apod. Což v praxi znamená, že je systém úplně stejně nepoužitelný. Aplikacím odpadnou sockety, file handlery atd., a dost možná se k systému ani nepřipojíte. Ale můžete se utěšit tím, že když už čistý mikrokernel nenabízí proklamované výhody, je alespoň o to pomalejší :)
Ten příklad je úplně mimo. Deadlock v GUI může úplně stejně nastat i v mikrokernelovém systému. Ve Windows by samozřejmě bylo možné mít hotkey pro restart grafických služeb. Jenže 1) GUI je ve Windows je o řád stabilnější, než na Linuxu; 2) většina věcí běží v GUI, a když o ně přijdete, tak se to stejně rovná rebootu.