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í
×
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    31.5. 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 10
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 3
    31.5. 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    31.5. 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 15
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    Jaderné noviny - 22. 8. 2007

    30. 8. 2007 | Robert Krátký | Jaderné noviny | 3587×

    Aktuální verze jádra: 2.6.23-rc3. Citáty týdne: Marc Perkel, Al Viro. Distribuované ukládání dat. Dávkování síťových přenosů. Podpora starších GCC.

    Obsah

    Aktuální verze jádra: 2.6.23-rc3

    link

    Aktuální předverze je (k 22. 8. 2007) i nadále 2.6.23-rc3; verze 2.6.23-rc4 má v tuto chvíli už trošku zpoždění. Minulý týden do hlavního git repozitáře proudily další opravy.

    Aktuální verze -mm stromu je 2.6.23-rc3-mm1. Mezi nedávné změny patří dlouho očekávaný ovladač ath5k (na mac80211 založená podpora pro bezdrátové adaptéry Atheros 5xxx), spousta patchů pro x86_64 a nový patch s jmennými prostory PID.

    Aktuální stabilní verze řady 2.6 je 2.6.22.4, vydaná 20. srpna. Obsahuje jediný patch - bezpečnostní opravu signálové zranitelnosti, která za určitých okolností umožňovala poslání libovolného signálu setuid procesu.

    Starší jádra: 2.6.20.16 bylo vydáno 16. srpna s pár desítkami oprav. Na další aktualizaci 2.6.20 se teď pracuje; půjde o velkou sadu patchů s pěknou řádkou oprav.

    Citáty týdne: Marc Perkel, Al Viro

    link

    Proč dokáže DOS smazat nekonečný počet souborů, ale rm ne? Protože rm byl napsán v editoru "vi", který způsobuje poškození mozku - a proto se rm ani po 20 letech nedaří dohnat del.

    -- Marc Perkel má odpověď pro všechno.

    Když říkáš, že jsou to kritici, kdo by měl vyplnit mezery v tvojí nepřesvědčivé argumentaci, tak tím na nikoho dojem neuděláš; arogance tu není nedostatek a ta tvoje není ani originální.

    -- Al Viro

    Distribuované ukládání dat

    link

    Jevgenij Poljakov nepatří mezi vývojáře, kteří by se nechali snadno odradit. Napsal pro jádro spoustu zajímavého kódu - včetně implementace síťových kanálů, systému pro asynchronní šifrování, subsystému kevent, vrstvy pro správu paměti "síťový strom" a kódu netlinkového konektoru. Ze všech těchto patchů se do hlavního jádra dostal pouze netlinkový konektor - a to bylo v roce 2005. Přesto teď Jevgenij představil k posouzení další pořádnou sadu patchů. Ani tentokrát nemíří nějak nízko: chtěl by nahradit většinu funkcí poskytovaných mapovačem zařízení, iSCSI a vrstvami síťových blokových zařízení [network block device (NBD)].

    Nový subsystém nazývá distribuované ukládání [distributed storage, DST]. Cílem je umožnit spolehlivé a jednoduché vytváření úložných sítí s vysokým výkonem.

    Na nejnižší úrovni implementuje DST jednoduchý síťový protokol, který umožňuje export blokových zařízení po síti. Počet podporovaných operací je velmi nízký: blokové čtení a zápis a požadavek "jak velký je tvůj disk?". Ale účelem je, aby byl rychlý, neblokoval a dokázal fungovat bez kopírování dat. Implementace bez kopírování umožňuje provádět I/O operace bez jakýchkoliv alokací paměti - i když síťový subsystém možná provede nějaké alokace pro sebe.

    Zabudováno není ani žádné kontrolování integrity dat; spoléhá se na síťovací kód, že se o tyto věci postará. Stejně tak není podporováno žádné zabezpečení. Je-li blokové zařízení exportováno v rámci DST, je exportováno pro každého, kdo má k danému hostiteli přístup. V budoucnu by určitě šly doplnit exportní seznamy, ale prozatím by hostitelé exportující disky přes DST neměly být přístupné odnikud kromě nejbližší lokální sítě.

    Vrchní vrstva kódu DST umožňuje vytváření lokálních disků. Obyčejné ioctl() volání vytvoří lokální disk ze vzdáleného, což je vlastně stejná funkčnost, jakou nabízí NBD. Jevgenij však tvrdí, že výkon je lepší než při použití NBD, protože se používá neblokované zpracovávání, nejsou potřeba žádná uživatelská vlákna a žádné busy-wait smyčky. Jednoduchý mechanismus pro obnovení po pádu znovupřipojí vzdálené hostitele.

    Kromě toho však může být kód DST využit k propojení několika zařízení - jak lokálních, tak vzdálených - do větších polí. V současné době jsou dispozici dva algoritmy: lineární a zrcadlový. V lineárním poli je každé zařízení přidáno na konec něčeho, co vypadá jako velké blokové zařízení. Zrcadlový algoritmus replikuje data na každé zařízení, aby poskytl redundanci a obecně rychlejší výkon při čtení. Existuje infrastruktura pro sledování toho, které bloky musí být aktualizovány na každé komponentě zrcadleného pole, takže pokud některé zařízení na chvíli vypadne, může být po naběhnutí zase rychle uvedeno do aktuálního stavu. Zajímavé je, že tyto informace nejsou ukládány na každé komponentě; je to prezentováno jako funkce, která umožní odstranit část zrcadleného pole, již lze pak připojit samostatně coby aktuální obraz pole. Blokové informace v této verzi zatím také nejsou nikde nastálo ukládány, takže pád DST serveru by znamenal, že obnova nekonzistentního zrcadleného pole by byla velmi obtížná, spíše nemožná.

    Ukládací pole vytvořená pomocí DST mohou být exportována a použita v jiných polích. Takže série disků umístěných na rychlé lokální síti může být zkombinována ve stromové struktuře do jednoho velkého pole redundantních disků. V tuto chvíli ještě není napsána podpora pro vytváření RAID vyšších úrovní. Podpora více algoritmů je také v TODO, i když Jevgenij se vyjádřil v tom smyslu, že Reed-Solomon kódy používané v tradičních RAIDech nejsou pro distribuovaná pole dostatečně rychlá. Místo toho navrhl použít WEAVER kódy.

    DST zatím vypadá jako mapovač zařízení a MD vrstvy, což jsou věci, které už Linux podporuje. Jevgenij však říká, že DST kód je lepší v tom, že všechno zpracovávání provádí neblokovacím způsobem, které funguje s více síťovými protokoly, má automatickou konfiguraci, nekopíruje data a umí operace provádět bez alokací paměti. Nulová alokace je důležitá v situacích, kde hrozí zatuhnutí - a to je při používání vzdálených úložných zařízení často. Aby byl celý DST stack zabezpečen proti zatuhnutí při alokacích paměti, byla by potřeba podpora v síťovací vrstvě. Ale, jak se dalo čekat, Jevgenij má pár nápadů, jak to provést.

    Tato sada patchů je zjevně ve velmi raném stadiu; než by bylo možné to použít v produkčním prostředí a s daty, na kterých někomu záleží, bude potřeba ještě dost práce. Podobně jako všechny Jevgenijovy patche, i DST obsahuje množství zajímavých nápadů. Pokud se podaří vyřešit zbývající detaily, mohl by se kód DST nakonec dostat do stavu, kdy by to bylo užitečné doplnění linuxového uložného subsystému.

    Dávkování síťových přenosů

    link

    V jádru většiny síťových ovladačů je metoda hard_start_xmit(), která je volána pro každý přenášený paket. Tato metoda při běžném použití získá potřebné zámky a vloží paket do přenosové fronty adaptéru. Je pravidlem, že se odchozí pakety nehromadí v jádře; když jsou připraveny vyrazit, tak jsou jeden po druhém předány ovladači. Existují však situace, kdy není možné pakety předat okamžitě. Pokud je například přenosová fronta právě plná, podrží paket síťový subsystém, dokud pro něj není místo. Jakmile je ovladač schopen opět pro zařízení přijímat pakety, obnoví se postup "jeden po druhém".

    Vývojáři síťového subsystému pořád hledají způsoby, jak z kódu vyždímat trochu lepší výkon. Krišna Kumar se při pohledu na popsané chování zeptal: proč ovladači neposílat seznam nahromaděných paketů v jediném volání? Takové dávkování přenosových operací by mohlo minimalizovat úsilí vynaložené na zamykání a režii přípravy zařízení, takže by byl celý přenos paketů efektivnější. Za tím účelem Krišna poslal několik verzí sady patchů s SKB dávkováním.

    Implementace SKB dávkování vyžaduje pár změn ovladačového API - ale jsou malé a potřebují je pouze ovladače s podporou dávkování. Prvním krokem je nastavení bitu NETIF_F_BATCH_SKBS v poli features struktury net_device. Příznak řekne síťovému stacku, že ovladač umí dávkové přenosy.

    Prototyp hard_start_xmit() vypadá takto:

        int (*hard_start_xmit)(struct sk_buff *skb, struct net_device *dev);
    

    Tento prototyp se nemění, ale ovladač, který dal najevo, že pro dev akceptuje dávkování, může narazit na to, že bude jeho metoda hard_start_xmit() volána s skb nastaveným na NULL. Hodnota NULL značí, že je k přenosu připravena dávka paketů; ta se nachází v (novém) seznamu dev->skb_blist. Takže (velmi zjednodušená) podoba funkce hard_start_xmit() u ovladače, který umí dávkování, bude vypadat asi takto:

        driver_specific_locking_and_setup();
        if (skb)
    	ret = send_a_packet(internal_dev, skb);
        else {
    	while ((skb = __skb_dequeue(dev->skb_blist)) != NULL) {
    	    ret = send_a_packet(internal_dev, skb);
    	    if (ret)
    	        break;
            }
        }
        driver_specific_cleanup();
    

    V reálu to může být trochu komplikovanější - zvláště pokud ovladač implementuje optimalizace jako například potlačování přerušení o dokončení, dokud nebyl odeslán poslední paket dávky. Ale jádro změny je tu popsáno - moc toho není.

    V tuto chvíli se vývojáři stále snaží určit, jaký výkonnostní dopad by patch měl. Zvláště je zajímá, jak si dávkování vede ve srovnání s TCP segmentation offloading, což je v podstatě také mechanismus pro dávkování přenosu. U patche tohoto druhu budu velmi záležet na výkonnostních testech; pokud budou výsledky dobré, bude patch pravděpodobně začleněn.


    Následující obsah je © KernelTrap

    Podpora starších GCC

    link

    21. srp, originál

    Nedávné hlášení o chybě vedlo k debatě o případném ukončení podpory verzí GCC starších než 4.0. Adrian Bunk poznamenal: V současné době podporujeme 6 různých stabilních řad gcc a možná už přišel čas uvažovat o tom, že přestaneme podporovat ty starší. Potřebují ještě nějaké architektury gcc < 4.0? Russell King připomněl, že na některých architekturách je GCC 3.x stále vhodnější než 4.x: Rád bych v dohledné budoucnosti udržel podporu pro gcc 3.4.3 na ARM. Z mého pohledu jsou verze 4.x pro ARM vývojovou záležitostí. 3.4.3 je také rychlejší a o dost méně ukecaná než gcc 4.

    Na otázku, kolik vývojářů jádra stále ještě používá starší verze, Linus Torvalds odpověděl, že na tom nezáleží: NEJDE tu o 'vývojáře jádra'. Jde o libovolné lidi, kteří jádra testují. Když jim to ztížíme, proděláme na tom. Takže ne, já hlasuji pro zachování podpory starých verzí gcc, pokud by nešlo o něco naprosto fatálního.

           

    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ář

    30.8.2007 00:21 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Jevgenij Poljakov z vývojářů, kteří by se nechali snadno odradit.
    V téhle větě pravděpodobně chybí sloveso.
    Quando omni flunkus moritati
    30.8.2007 00:28 Jiří J. | skóre: 34 | blog: Poutník | Brno
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Už jsem to tu chtěl napsat :-)
    Luboš Doležel (Doli) avatar 30.8.2007 00:43 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Díky, opraveno.
    30.8.2007 02:51 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše OT Upozorňování na překlepy
    Prosím, je opravdu nutné psát informace o překlepech do diskuze? Nebylo by vhodnější kontaktovat autora e-mailem? Vždyť takový příspěvek v diskuzi nemá žádného smyslu.

    (Prosím, abyste na můj OT příspěvek nereagovali.)
    30.8.2007 03:00 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    (Prosím, abyste na můj OT příspěvek nereagovali.)
    Když jsi položil otázku, dostaneš odpověď. Pokud jsi tak toužil po tom, aby ti nikdo neodpovídal, neměl ses ptát.

    Ano, je to nutné.
    Quando omni flunkus moritati
    30.8.2007 08:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    Prosím, je opravdu nutné psát informace o překlepech do diskuze? Nebylo by vhodnější kontaktovat autora e-mailem? Vždyť takový příspěvek v diskuzi nemá žádného smyslu.
    A je opravdu nutné, aby se takovýhle příspěvek (jako ten váš) objevil pod každým druhým článkem? Vždy s jediným argumentem – "mne to nezajímá".
    Prosím, abyste na můj OT příspěvek nereagovali.
    Příspěvek týkající se komentovaného článku vám vadí, a sám napíšete příspěvek, který se článku netýká vůbec? To mi připadá přinejmenším podivné.
    Luboš Doležel (Doli) avatar 30.8.2007 10:11 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    Kontaktovat autora by opravdu nebylo lepší, protože autor článku a zpráviček své dílo upravovat nemůže. A je sice pravda, že Robert může, ale ten je teď na dovolené - takže psát jemu by nepomohlo.
    30.8.2007 13:49 r
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    chtelo by to u clanku/zpravicek link na formular, kde by se to reportovalo a system by to uz predal nekomu kdo to muze zmenit (jednodussi nez psat email a nesvinilo by to diskuzi dole)
    Pavel Dobeš avatar 30.8.2007 22:55 Pavel Dobeš | skóre: 21 | Praha
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    Ale zase by to reportovalo hodne lidi, zatimco tady to je pouze jeden, ten prvni
    Windows? A kdo to ještě používá?
    30.8.2007 23:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    A dalších deset se pohádá, jestli to má být v diskusi nebo ne. Takže to vyjde nastejno… :-)
    31.8.2007 13:15 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: OT Upozorňování na překlepy
    Chceš-li řešit něco o diskuzi na abclinuxu, řeš to na abclinuxu a nespamuj mi na e-mail!
    Quando omni flunkus moritati
    Honza Balák avatar 30.8.2007 01:16 Honza Balák | skóre: 23 | blog: Jaxův linuxový zápisník | Předklášteří
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Docela mě pobavil ten první citát :-).
    <null>
    30.8.2007 02:49 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Mna pobavil ten druhy :)
    30.8.2007 07:51 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Mně naopak připadá neskutečně hloupý. Ne kvůli prvoplánovému útoku na editor vi, ale kvůli tomu, že je hluboce pomýlený.
    30.8.2007 19:17 mrkef
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    nejíš maso, nepoznáš vtip...
    30.8.2007 21:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Vtipná je jen ta část o vi, ta mi nevadí. Vadí mi část o rm a zpracování příkazové řádky, protože ta svědčí o tom, že autor toho příspěvku kritizuje něco, čemu nerozumí, jen proto, že tomu nerozumí.
    30.8.2007 22:26 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    tym by som si nebo taky isty, kedze sa stazoval na kernel ml...
    30.8.2007 23:37 thingie
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Což on to asi ví. Jenom je teda fakt, že to vyznělo trochu trapně, když člověk ví jak se věci mají.

    Na druhou stranu, seriózně (to jako že se teď všichni naserou :o)), proč člověk musí používat obezličky, když chce smazat víc souborů?
    31.8.2007 00:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007

    Jak vidno z té diskuse, není to chyba principu, ale implementace… Mimochodem, než někdo začne tvrdit, že v současných Linuxech je problém smazat přes wildcard 10000 souborů, měl by si aspoň zkusit

      mkdir x ; cd x
      touch {0..9}{0..9}{0..9}{0..9}
      rm * && echo OK
    

    aby zjistil, že měl tu konstantu zvolit větší…

    2.9.2007 00:54 judas | skóre: 7 | Bratislava
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    touch abcdefgh{0..9}{0..9}{0..9}{0..9}
    2.9.2007 01:02 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    $ touch abcdefgh{0..9}{0..9}{0..9}{0..9}
    $ rm abcdefgh*
    $ echo $?
    0
    $
    
    nemalo to byt este o nieco dlhsie?
    2.9.2007 01:25 judas | skóre: 7 | Bratislava
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    $ touch abcdefgh{0..9}{0..9}{0..9}{0..9}
    -bash: /usr/bin/touch: Argument list too long
    $ getconf ARG_MAX
    131072
    2.9.2007 01:37 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    $ touch abcdefgh{0..9}{0..9}{0..9}{0..9}
    $ touch abcdefghi{0..9}{0..9}{0..9}{0..9}
    zsh: argument list too long: touch
    $ getconf ARG_MAX
    131072
    $
    
    zazrak!
    2.9.2007 06:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Nejspíš to zkoušíte každý na jiné platformě.
    2.9.2007 10:18 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    obavam sa, ze bajt je vsade rovnaky

    ked sa niekomu chce, moze zistit ako sa lisi argument list od zsh a bash :)
    $ touch abcdefgh{0..9}{0..9}{0..9}{0..9}
    bash: /usr/bin/touch: Argument list too long
    
    2.9.2007 10:44 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    žeby zsh nerátalo \0 do dĺžky reťazca ? :-)
    2.9.2007 10:56 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    zsh moze ratat co chce, aj tak to nezalezi od neho ci dostane od execu E2BIG, alebo nie...
    2.9.2007 12:12 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Byte je všude sice všude stejně dlouhý, ale 'char *' už třeba ne…
    2.9.2007 12:18 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    nechapem co s tym maju pointery
    2.9.2007 12:19 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Viz dřívější diskuse na toto téma - stačí si uvědomit, jak bude pole 'char* argv[]' v paměti uloženo.
    2.9.2007 12:46 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    suborov je tu len 10k, mam x86_64 jadro a zsh to dokaze, bash nie

    k tej diskusii -- nemyslim si, ze sa tam musia zmestit pointery, argv je obycajne pole pointerov na char* a da sa teda velmi jenoducho dopocitat z jedineho pointeru na samotny blok pamate (o velkosti ARG_MAX)

    ale bola by to zaujimave vediet preco jedno ide a druhe nie (zeby bash zle pocital?)
    2.9.2007 12:48 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    teda, nie zas tak obycajne -- pole pointerov zakoncene (void *) NULL
    2.9.2007 12:57 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    nemyslim si, ze sa tam musia zmestit pointery, argv je obycajne pole pointerov na char* a da sa teda velmi jenoducho dopocitat z jedineho pointeru na samotny blok pamate (o velkosti ARG_MAX)

    To by mne zajímalo jak. Musel byste dát nějaký horní limit na velikost jednoho parametru a jednotlivé řetězce ukládat s příslušným odstupem. Pokud by byl ten limit dostatečně velký, aby neomezoval reálnou použitelnost systému, byl by takový způsob uložení ještě výrazně neefektivnější než ten, který se skutečně používá (samostatné pole pointerů).

    2.9.2007 12:59 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007

    A také by mne zajímalo, jak byste bez toho pole pointerů chtěl zajistit, že bude fungovat klasické

      while (argc > 0) {
        ...
        argc--; argv++;
      }
    
    2.9.2007 13:33 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    pri konstrukcii argv by sa samozrejme pocitalo argc, pretoze main() ho potrebuje
    2.9.2007 13:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Jde mi o to procházení pomocí argv++. Vzhledem k tomu, jak funguje pointerová aritmetika, tam to pole pointerů prostě mít musíte.
    2.9.2007 14:02 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    ale kto hovori, ze argv musi byt sucastou toho bloku pamate? ja nie. nechajme to
    2.9.2007 14:41 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Opravdu si zkuste pořádně rozmyslet, co přesně znamená deklarace 'char* argv[]' a jak se pak vyhodnocuje 'argv[n]'.
    2.9.2007 14:51 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    a vy zase skuste najst ten dovod kvoli ktoremu so toto vymyslel -- argv je konstruovane v uplne samostatnom bloku pamate a teda nemusi byt v bloku vyhradenom argumentom.

    mne netreba vysvetlovat co je char **argv...
    2.9.2007 15:03 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Možná jsem to dostatečně nezdůraznil, ale ten limit 128 KB se vztahuje jednak na celkovou velikost těch řetězců, jednak na pole pointerů na ně. Můžete si to buď ověřit empiricky nebo se podívat do zdrojáků.
    2.9.2007 15:16 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    ano, to je mozno sucasna implementacia, ale ja som len vyjadril nazor, ze nie je nemozne to spravit inak...
    2.9.2007 15:22 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Neviděl bych moc smyslu v odstranění jednoho z těch limitů, pokud by druhý zůstal.
    2.9.2007 15:29 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    samozrejme, je lepsie to spravit uplne nezavisle od limitov
    2.9.2007 13:32 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    pravda, s dostatocne velkym limitom je to neefektivne. ale inac je to mozne -- prvy argument je program, posledny moze byt prazdny retazec (ziadne odstupy medzi retazcami netreba) a da sa to vsetko velmi lahko dopocitat
    2.9.2007 13:39 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Uvědomte si, co podle specifikace C znamená 'argv[2]': je to pointer, který najdete o 2*sizeof(char*) dál, než začíná pole. Navíc i kdybyste nějakým zvráceným způsobem zařídil, že to bude fungovat, znamenalo by to, že časová náročnost vyhodnocení argv[n] bude záviset na velikosti toho pole.
    2.9.2007 14:09 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    ano, samozrejme, je to pole pointerov. odpoved na to iste vyssie. bol to len napad, na ziadne zdrojaky som nepozeral.
    5.9.2007 15:16 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    $ getconf ARG_MAX
    131072
    
    $ more config.sys
    shell=c:\dos\command.com /p /e:3000
    
    Same shit.
    Táto, ty de byl? V práci, já debil.
    xsubway avatar 30.8.2007 09:06 xsubway | skóre: 13 | blog: litera_scripta_manet
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    tak jsem si ty dva pany (Marc, Al) progooglil a podle fotek by (mozna) spolu (asi) nesli ani na koblihu ... :-D

    (ps: ale oba vyroky jsou, svym zpusobem, zajimave ;-) )
    30.8.2007 02:50 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Adrian Bunk si snad robi srandu nie? Asi ocividne nevidi kolko roznych ci uz linuxovych distribucii alebo *BSD systemov prave vyuziva GCC 3.x, pretoze GCC 4.x je proste problemove pre nelinuxove systemy a rozne architektury.
    30.8.2007 21:26 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    "Asi ocividne nevidi kolko roznych ci uz linuxovych distribucii vyuziva GCC 3.x, pretoze GCC 4.x je proste problemove pre nelinuxove systemy"

    a to je argument preco vyvojari linuxu nemaju nadalej podporovat 6 verzii gcc, pretoze BSD pouziva tie verzie?

    a co sa ti zda take srandovne na jeho otazke?
    30.8.2007 02:57 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    http://undeadly.org/cgi?action=article&sid=20070829001634

    Aktuální verze -mm stromu je 2.6.23-rc3-mm1. Mezi nedávné změny patří dlouho očekávaný ovladač ath5k (na mac80211 založená podpora pro bezdrátové adaptéry Atheros 5xxx), spousta patchů pro x86_64 a nový patch s jmennými prostory PID.

    Krasa ako ukradli kod a zmenili licenciu, zevraj tomuto sa vravi open source.
    30.8.2007 07:11 Zdenek
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    http://linux.slashdot.org/linux/07/08/29/0241234.shtml

    We are GNU! Resistance is futile! Prepare for asimilation! ;-)
    michich avatar 30.8.2007 08:41 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    1. Ten patch, který licenci mění na "pouze GPLv2" nebyl vůbec aplikován.
    2. Zdrojáky původního ovladače mají všechny v hlavičce kromě BSD licence uvedeno:
      Alternatively, this software may be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation.
    30.8.2007 10:32 pharook
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Přečti si ten thread celý, když už na něj odkazuješ.

    - Jiří Slabý je jeden z vývojářů.

    - Většina kódu je dual licencována, Jiří si vybral GPL.

    - Ano, problém je, že většina, ale ne všechen, několik souborů je jen pod BSD licencí, což ale naznačuje spíš na Jiřího přehlédnutí, než záměr.

    - Jedná se o pouhý Jiřího post do konference, který byl notabene poměrně rychle umravněn. Nikdo nic neukradl, natož neukradli.

    - Že tahle kauza vyvolala vcelku neopodstatněný oheň a síru party Theo de Raadta na veřejném webu, přestože když před pár měsíci došlo k opačné situaci (linuxoví vývojáři civilně, byť veřejně, upozornili na GPL kód, který opravdu skončil v CVS BSD - tedy ne jen v konferenci), byli Theem zpruzeni nade všechny meze, že to řeší zbytečně hlasitě a "nelidsky", a linuxová strana by si od Thea možná zasloužila už druhou omluvu, je druhá věc.
    30.8.2007 14:15 MiK[3]Zz
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Takze ten GPL kod ako vravis nebol zobraty a nebola tam prepisana len cast o licencii...

    Co sa tyka Jiriho Slabeho, tak upravoval subory, ktore neboli licencovane dualne, ale len pod BSD licenciou a on si surovo dovolil odtranit licenciu a pridat GPL, to sa mi zda ako drzost.
    3.9.2007 00:18 pharook
    Rozbalit Rozbalit vše Re: Jaderné noviny - 22. 8. 2007
    Takze ten GPL kod ako vravis nebol zobraty a nebola tam prepisana len cast o licencii...
    Nevím, zda rozumím správně (může to být mojí špatnou slovenštinou), ale GPL kód skončil v CVS BSD pod BSD licencí bez souhlasu autorů.
    Co sa tyka Jiriho Slabeho, tak upravoval subory, ktore neboli licencovane dualne, ale len pod BSD licenciou a on si surovo dovolil odtranit licenciu a pridat GPL, to sa mi zda ako drzost.
    Ano. Drzost - nebo přehlédnutí, dle mého pravděpodobnější. Důvod jsem zmínil. To může ale zřejmě objasnit jen autor.

    Založit nové vláknoNahoru

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