abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 11
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 41
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 840 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Jaderné noviny - 24. 5. 2006

    5. 6. 2006 | Robert Krátký | Jaderné noviny | 4732×

    Aktuální verze jádra: 2.6.16.18. Citát týdne: Linus Torvalds. Linux Device Driver Kit. Vysvětlení Secmark. Virtualizace: a co teď? Nová obecná IRQ vrstva. Poskvrnění z uživatelského prostoru.

    Aktuální verze jádra: 2.6.16.18

    Aktuální verze jádra je 2.6.16.18, vydaná 22. května s jedinou opravou; problém v kódu netfilteru SNMP NAT umožňoval vzdálený DoS. 20. května vyšla 2.6.16.17 s větší várkou oprav.

    Aktuální předverze zůstává 2.6.17-rc4. V hlavním git repozitáři se však hromadí opravy a vypadá to, že -rc5 vyjde brzy.

    Aktuální -mm strom je 2.6.17-rc4-mm3. Mezi nedávné změny patří velká sada SATA patchů, souborový systém S/390, filtrování paketů Secmark, nová sada patchů pro migraci stránek, nový rámec pro podporu hardwarového generátoru náhodných čísel, konsolidační patch pro zápis/čtení ve struktuře file_operations (mezitím odstraněno - až do opravení několika problémů) a patche se jmenným prostorem UTS (vizte níže). Příští -mm bude obsahovat také genirq patche (vizte níže).

    Citát týdne

    Pánové, vývojář jádra, který nechápe, že uživatelský prostor je důležitý, by se měl přestat tvářit jako vývojář jádra a jít si radši hrát s nějakým hobby systémem typu Hurd. Tam můžete tvrdit, že "na uživatelském prostoru nezáleží".

    -- Linus Torvalds

    Linux Device Driver Kit

    Greg Kroah-Hartman se rozhodl, že je načase skoncovat s tím, jak se lidi Linuxu posmívají kvůli absenci řádné sady nástrojů pro vývoj ovladačů zařízení. Takže vytvořil první linuxový DDK. Součástí je čerstvé jádro 2.6.16.18, kompletní LDD3 a kopie veškeré jaderné dokumentace. Obraz CD lze stáhnout z kernel.org.

    Vysvětlení Secmark

    Secmark patche od Jamese Morrise už jsou v oběhu několik týdnů. Jde o nový mechanismus pro filtrování síťových paketů přes SELinux. Uvažoval jsem [Jonathan Corbet] o sepsání článku na toto téma, ale ukázalo se, že James to udělal dříve.

    Jde o oddělení označování a vykonávání. Konkrétně: iptables se použijí k vybrání a označení paketů a SELinux pak s pomocí značení na paketech vykoná bezpečnostní opatření. Využijí se tak možnosti souborů pravidel pro iptables, ale také pružnost filtrování a mocné komponenty jako třeba sledování spojení. Zároveň však zůstane na SELinuxu, aby se postaral o prosazení bezpečnostní politiky. Pravidla pro povolení přístupu mohou být smysluplně analyzována v rámci celkové analýzy pravidel SELinuxu.

    V článku naleznete detailní popis činnosti Secmarku spolu s návodem k použití.

    Virtualizace: a co teď?

    Serge Hallyn nedávno poslal novou verzi patche s jmennými prostory UTS. Tento kód, který je malou částí konceptu "odlehčené virtualizace" nebo kontejnerů", umožňuje, aby se různé kousky informací o systému (v podstatě jde o věci, které vám řekne uname) lišily u různých skupin procesů na stejném systému. Možná se to nezdá jako velká věc, ale coby součást technologie, které se dostalo schválení od několika projektů pracujících v této oblasti, vám to může přiblížit, jak by mohl být řešen celý širší problém.

    Andrew Morton odpověděl zprávou, ve které chválí způsob provedení, ale klade i jednu zásadní otázku:

    Obecně si myslím, že celý přístup, který virtualizuje OS, aby mohl provozovat několik nezávislých instancí uživatelského prostoru, je dobrý. Jde o rozšíření a posílení věcí, které už Linux dělá, a posouvá nás dále po cestě, po které jdeme už léta. Bude-li to provedeno správně, je dokonce možné, že by tyto funkce mohly vylepšit samotné jádro - lepší vrstvení, oddělení atd. [...]

    To všechno vede k otázce "co teď?".

    Obavy pramení z toho, že by vývojáři začlenili velké množství netriviálního kódu, zkomplikovali nemálo interních jaderných rozhraní, a stále neměli výsledek užitečný pro lidi pracující na kontejnerech. Skutečnost, že se vývojáři pracující v této oblasti dokázali shodnout na jmenných prostorech UTS, je povzbudivá, ale není to žádná záruka shody na komplikovanějších změnách. Existuje reálná možnost neurovnatelného sporu, který by celý probíhající proces vykolejil.

    Na druhou stranu by bylo dost náročné udržovat až do dokončení celý kód kontejnerů mimo jádro. Některé ze změn jsou relativně obsáhlé a agresívní. Spravovat je mimo jádro by nebylo zrovna zábavné. Stejně jako začleňování celé věci někdy v budoucnu, až by se dost vývojářů shodlo, že jsou hotovi.

    Projekty zabývající se virtualizací a kontejnery potřebují několik funkcí:

    • Zmiňované jmenné prostory UTS.
    • Virtualizaci PID, která izoluje jednotlivé skupiny procesů v systému a umožní opětovné použití ID procesů v různých kontejnerech.
    • Jmenné prostory pro meziprocesovou komunikaci SYSV (semafory, sdílená paměť a fronty zpráv).
    • Virtualizaci času, aby si mohl každý kontejner udržovat svoji představu o čase.
    • Virtualizaci hodnot uživatelských a skupinových ID.
    • Síťové jmenné prostory určené k tomu, aby měl každý kontejner určitou sadu síťových rozhraní, ke kterým bude mít přístup. Použije-li se tato funkce společně s IP aliasy, může být pro každý kontejner nastavena jiná IP adresa, a kontejnerům lze zabránit v přístupu k síťovému provozu ostatních kontejnerů.

    Je také potřeba možnost virtualizovat pohled na souborový systém prostřednictvím jmenných prostorů, ale tuto funkci má Linux již několik let. Některé z pokročilejších funkcí kontejnerů - například checkpointing za běhu a migrace procesů - budou vyžadovat další sadu háčků [hooks] hluboko v jádře.

    Skoro všechny kontejnerové koncepty potřebují pro zajištění použitelné izolace většinu položek z uvedeného seznamu. Takže je nutné nalézt způsob, jak tyto funkce dostat do jádra, aniž by se v půli cesty narazilo na neshodu, která by vše zablokovala - samozřejmě za předpokladu, že bude podpora kontejnerů obecně považována za žádoucí.

    Andrey Savochkin navrhl postup, který by mohl být dobrým krokem kupředu: nejprve implementovat síťové jmenné prostory. Jde o jednu z nejkomplexnějších funkcí a je potřeba ji implementovat tak, aby voněla i vytříbenému vkusu vývojářů síťového subsystému. Během této práce bude nutné vyřešit několik ošemetných záležitostí - například virtualizaci přístupu k /proc a sysfs. Protože je to možná nejtěžší část problému, bude to také místo, kde je největší pravděpodobnost výraznějších neshod.

    Vývojáři se často zaměří nejdříve na lehčí otázky, aby pak mohli získané znalosti uplatnit při řešení těžších částí problému. V tomto případě by však mohlo dávat smysl začínat s tím nejtěžším. Nebude-li nalezeno všeobecně přijatelné řešení, může se nechat podpora kontejnerů plavat dříve, než bude začleněno velké množství jiného kódu. Pokud by však zainteresovaní vývojáři dokázali implementovat něco, co by všechny potěšilo (nebo alespoň smrtelně neurazilo), měli by se už dostat přes každou pozdější překážku. V takovém případě by mohly být jednotlivé kousky skládanky bez obav postupně začleňovány.

    Nová obecná IRQ vrstva

    Linuxové jádro má za standardním API ukrytou obecnou vrstvu pro práci s hardwarovými přerušeními. Je s tím jen jeden problém: ne všechny architektury tuto vrstvu používají. Hlavně ARM se neúčastní. Práce s přerušeními je ve světě ARM komplikovaná záležitost závislá na druhu subarchitektury a vůbec nepasuje do stávajícího "obecného" kódu, takže se ARM drží svého vlastního kódu - i když se některé části s obecným subsystémem překrývají. I pro architektury, které jej používat mohou, má současný IRQ subsystém stále zřetelnější nedostatky.

    Pokus o změnu situace lze spatřovat v sadě patchů genirq od Thomase Gleixnera a Ingo Molnara. Tyto patche se pokoušejí vzít ponaučení z optimální práce s přerušeními na všech architekturách, přimíchat manýry padesáti (ano, padesáti) subarchitektur ARM a vytvořit nový, opravdu obecný a také schopnější IRQ subsystém. Je to velká sada patchů, která přepracovává množství velmi důležitého nízkoúrovňového kódu. Před začleněním do hlavního jádra se můžeme těšit na zajímavé diskuze.

    Po menším úklidu se patch pouští do skutečné práce vytvořením nové struktury irq_chip. Ta je založena na staré struktuře hw_interrupt_type, ale obsahuje poněkud delší seznam nízkoúrovňových operací. Pro následující věci teď může jádro žádat specifický řadič přerušení:

    • startup(): povolit přerušení a připravit řadič, aby ho mohl zpracovat.
    • shutdown(): kompletně vypnout přerušení.
    • enable(): povolit přerušení.
    • disable(): zakázat přerušení.
    • ack(): informovat řadič, že procesor začal přerušení zpracovávat.
    • end(): informovat řadič, že zpracování přerušení je dokončeno.
    • mask(): přiřadit určitému přerušení masku a zabránit jeho doručení.
    • mask_ack(): kombinace mask() a ack(), kterou lze na některých platformách optimalizovat.
    • unmask(): "odmaskovat" přerušení.
    • set_affinity(): svázat přerušení s určitým procesorem.
    • retrigger(): znovu vytvořit a znovu doručit přerušení.
    • set_type(): nastavit typ průběhu přerušení (popsáno níže).
    • set_wake(): povolit nebo zakázat funkci "probudit při přerušení".

    Mnohé z těchto metod dříve existovaly, ale funkce mask(), mask_ack(), unmask(), set_type() a set_wake() jsou nové. S touto sadou funkcí může jaderný kód spravovat řadičové čipy přerušení citlivěji.

    O úroveň výše má nyní stávající struktura irq_desc, která uchovává jaderné informace o všech specifických přerušeních, nový ukazatel na příbuznou strukturu irq_chip. Nová je také metoda handle_irq() ukazující na funkci, která se o dané přerušení ve skutečnosti stará. To je možná nejzásadnější změna od současného systému, který využívá jedinou funkci (__do_IRQ()), která zpracovává všechna přerušení. Jde o uznání faktu, že ne všechna přerušení jsou si rovna, takže nemá cenu se pokoušet se s nimi vypořádat v jediné velké funkci.

    Největším rozdílem mezi přerušeními je tzv. "typ průběhu" [flow type] - kombinace způsobu, jakým je přerušení signalizováno, a jak jej systém zpracovává. Genirq patche definují následující typy průběhu:

    • Přerušení spouštěná podle úrovně [level-triggered] jsou aktivní, dokud zařízení drží svou IRQ linku. Tato přerušení musí být při zpracování maskována a lze je odmaskovat, teprve když zařízení přerušení uvolní.
    • Přerušení spouštěná hranou [edge-triggered] jsou signalizována změnou v lince přerušení - z nízkého na vysoké napětí, z vysokého na nízké nebo obojí. Tato přerušení nemusí být při zpracování maskována, ale nejsou-li, mohou přijít další přerušení ještě předtím, než bylo zpracováno první. Takže jádro si musí udržovat přehled o "nevyřízených" přerušeních a obsluhovač přerušení musí běžet ve smyčce, dokud nebudou všechna přerušení odbavena.
    • "Prostá" přerušení nevyžadují žádné speciální zacházení a mohou být zpracována přímo.
    • Procesorová přerušení jsou vázána na jediný procesor. Jsou podobná prostým přerušením, avšak ještě jednodušší: protože obsluhovač poběží pouze na jednom procesoru, není třeba provádět zamykání.

    Stávající IRQ kód se snaží všechny uvedené případy řešit jednou velkou rutinou. Nový kód místo toho vytváří několik obslužných funkcí podle různých průběhů a pak nastaví tu správnou jako handle_irq() metodu v popisovači přerušení. Výsledkem je kód, který může být optimalizován pro specifické potřeby a kratší trasu kódem v systému přerušení jako celku. Má-li konkrétní hardwarová platforma zvláštnosti, se kterými stávající obsluhovače nepočítají, je relativně snadné vytvořit obsluhovač nový.

    Na úrovni jaderného API jsou změny poměrně malé; ovladače většinou není nutné měnit. Je tu však několik nových možností. Jednou z nich jsou nové parametry, které je možné předat funkci request_irq():

    • SA_TRIGGER_LOW a SA_TRIGGER_HIGH: považuj přerušení za spuštěné podle úrovně, přičemž přerušení nastávají buď při vysoké nebo nízké úrovni.
    • SA_TRIGGER_FALLING and SA_TRIGGER_RISING: považuj přerušení za spuštěné hranou.

    Tento dodatek se v API ve skutečnosti objevil už v 2.6.16, ale pouze architektura ARM pro něj měla podporu. S genirq podporují tyto parametry všechny architektury a příslušný obsluhovač průběhu bude volen interně. Jsou-li však přerušení sdílená, musí se všichni uživatelé shodnout na tom, jak bude spouštění řešeno.

    Typ průběhu IRQ lze také změnit přímo pomocí:

        int set_irq_type(unsigned int irq, unsigned int type);
    

    Kde type by mělo být jedno z IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_EDGE_BOTH, IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_LEVEL_LOW, IRQ_TYPE_SIMPLE nebo IRQ_TYPE_PERCPU. Volání této funkce má stejný účinek jako určení typy spouštění pomocí request_irq(), ale nabízí více možností. Kromě toho však nekontroluje kompatibilitu s jinými uživateli sdíleného přerušení, takže je tu jistý prostor pro zmatky.

    Některá zařízení umí generovat přerušení, která by měla systém probudit z uspání. Příkladem je funkce Wake-on-LAN u síťových adaptérů; dalším je probuzení prostřednictvím klávesnice. Jaderný kód může toto chování povolit nebo zakázat v řadiči přerušení:

        int set_irq_wake(unsigned int irq, unsigned int on);
    

    Pokud čipový řadič tuto funkci nepodporuje, bude vrácen chybový kód.

    Dosud se o těchto věcech příliš nediskutovalo. Největší námitkou je zatím tvrzení, že samostatné obsluhovače průběhu jsou zbytečně komplikovaným přídavkem. Rozhodnutí o začlenění genirg závisí pravděpodobně na tom, jestli budou vývojáři ARM ochotni se vzdát své vlastní implementace a přejít na novou, obecnou verzi. Bez toho by kód genirq, který obsahuje hodně práce zaměřené konkrétně na potřeby ARM, nebyl moc obecným řešením. Mezitím si genirq našlo cestu do -mm.

    Poskvrnění z uživatelského prostoru

    Jádro už dlouho používá termín "poskvrnění" [tainting] jako způsob upozornění, že se stalo něco, co mohlo ovlivnit stabilitu systému. Dojde-li k OOPS, bude výsledný výpis obsahovat informaci o stavu poskvrnění. Vývojáři pak mohou tuto informaci využít, aby se mohli zeptat, co se to vlastně dělo. Poskvrnění bylo původně přidáno kvůli signalizaci použití binárních modulů, ale od té doby se jeho využití rozšířilo i na další věci. Mezi události, které poskvrní jádro, teď patří násilné odstranění modulu, nahrání modulu bez správné (nebo odpovídající) informace o verzi nebo provoz SMP jádra na procesorech, které nejsou pro SMP uzpůsobeny. Výjimky při kontrole stroje a jisté druhy chyb při správě paměti také poskvrní jádro.

    Nedávný patch od Teda Ts'o rozšiřuje koncept poskvrnění zajímavým způsobem. Přidává nový soubor (/proc/sys/kernel/tainted); pokud do tohoto souboru uživatelský prostor zapíše, bude jádro označeno jako poskvrněné novou značkou "U". Účelem je podle Teda ošetřit případy kdy uživatelský prostor provádí něco nepěkného, co by mohlo jádro kompromitovat. Bylo nutné se ještě trochu vyptávat, než vyšla najevo celá pravda:

    Problém je, že Real-Time Specification for Java (RTSJ) **vyžaduje**, aby JVM poskytovalo třídy s funkcemi, které umožní přímý přístup k fyzické paměti; veškeré fyzické paměti. Test na splnění podmínek RTJS to dokonce kontroluje; vyžaduje, aby člověk testu poskytl adresu několika stovek megabajtů fyzické paměti k otestování. A ta naprosto nejúžasnější věc je, že ten zákazník, který chce RTJS kvůli splnění podmínek pro státní zakázky, by také rád SELinux.

    Představa nasazení SELinuxu na systému, ve kterém si Java může hrabat ve fyzické paměti, vyžaduje vskutku nemalou dávku kognitivní disonance. Ale Zákazník Má Vždycky Pravdu, takže Ted pracuje na tom, aby to fungovalo. Avšak ne zcela dobrovolně:

    Byl jsem tak otrávený, že mě RTJS specifikace nutí něco takového dělat, že jsem si chtěl pojistit, aby tím bylo jádro označeno jako poskvrněné. Lidi by to varovalo, že se mohlo stát něco libovolně ujetého, a že je stabilita systému vydána napospas kompetentnosti programátorů javových aplikací.

    Neozval se nikdo s tím, že by jádro nemělo být v takovém případě označeno jako poskvrněné. Naopak by možná bylo možné začlenit patch, který by v takovém případě nechal jádro vydávat hororové skřeky.

    Vypadá to, že panuje všeobecná shoda o smysluplnosti tohoto patche; nepochybně existuje spousta situací, ve kterých by činnost uživatelského prostoru mohla ovlivnit stabilitu systému. Objevil se požadavek na uložení zprávy z logu společně se značkou o poskvrnění, aby byl později zřejmý důvod její přítomnosti. Bylo také poukázáno na to, že některé distribuce používají značku "U" v jiných situacích (k označení přítomnosti "nepodporovaných" modulů) - i když není jasné, jestli tomu tak skutečně je. Střety kvůli využití značek by skutečně mohly způsobit zmatky, takže Dave Jones navrhl, aby alespoň byly všechny značky signalizující poskvrnění používané v kódu nezařazeném do jádra v hlavním jádře dokumentovány. Zůstává však otázkou, jestli nějaké takové značky vůbec existují.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    hwsoft avatar 5.6.2006 07:56 hwsoft | skóre: 19
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Ten novy kod pro obsluhu preruseni, se zda byt opravdu vyrazne lepsi, nez ten stavajici. Doufam, ze se brzy dostane do hlavniho stromu a ulehci to praci na embeded zarizenich.
    5.6.2006 10:08 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
    Rozbalit Rozbalit vše Kognitivní disonance
    Kognitivní disonance = stav, kdy nové vjemy a poznatky nezapadají do souboru dosavadních poznatků.

    ... to jen tak kdyby to nekdo (jako ja) musel hledat na neto o co jde ;-)
    5.6.2006 10:50 Costra | skóre: 3 | blog: Bláznovy žluté lepící papírky
    Rozbalit Rozbalit vše Re: Kognitivní disonance
    dik :)
    12.6.2006 16:37 AloneInTheDark | skóre: 21
    Rozbalit Rozbalit vše Re: Kognitivní disonance
    Diky, taky bych musel hledat. :)
    Any technology distinguishable from magic is insufficiently advanced.
    5.6.2006 10:40 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Ad RTJS - Já to tušil..
    5.6.2006 17:58 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Problém je, že Real-Time Specification for Java (RTSJ) **vyžaduje**, aby JVM poskytovalo třídy s funkcemi, které umožní přímý přístup k fyzické paměti; veškeré fyzické paměti.
    To je ten pokrok :-( - moderní OS zabrání programu hrabat se libovolně v paměti a ještě modernější mu to zase dovolí. Abych někde sehnal instalačky s nejnovějším DOSem.
    Quando omni flunkus moritati
    5.6.2006 18:21 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    No, ono udělat realtime systém, v němž straší garbage collector moc nejde :-D.
    When your hammer is C++, everything begins to look like a thumb.
    6.6.2006 11:03 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    gc jde dělat inkrementálně, takže "zaseknutí" lze rozsekat na libovolně krátké úseky. Potřeba je jen write barrier pro mutator, tj dalších cca 10-20 instrukcí při každé modifikaci pointeru. Na hard-rt asi ne, ale pro soft-rt (gamesky, interaktivní aplikace) se inkrementální gc běžně používá.
    Táto, ty de byl? V práci, já debil.
    6.6.2006 12:26 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Já nevím, čeho přesně se týká RTJS, ale podle požadavku na přímou manipulaci s pamětí jsem tipoval právě na hard-rt, tj. řízení CNC a podobně.
    When your hammer is C++, everything begins to look like a thumb.
    5.6.2006 17:51 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Mohl by mi někdo pls objasnit, co je to háček v jádře? Něco jsem vygooglil, ale stále nechápu.
    Quando omni flunkus moritati
    5.6.2006 18:03 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    http://en.wikipedia.org/wiki/Hooking
    5.6.2006 18:37 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    Děkuji pěkně.
    Quando omni flunkus moritati
    8.3.2007 10:00 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Jaderné noviny - 24. 5. 2006
    To s tým RTSJ je sila.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.