abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    18.7. 14:22 | Nová verze

    HollowByte je zranitelnost typu Denial of Service (DoS) v kryptografické knihovně OpenSSL. Útočník může odesíláním škodlivého payloadu o velikosti pouhých 11 bajtů zaplnit paměť serveru. OpenSSL před ověřením dat vyhradí nepřiměřený blok paměti (až 131 KB). Server pak čeká na data, která nepřišla. Zranitelnost je opravena ve verzích OpenSSL 4.0.1, 3.6.3, 3.5.7, 3.4.6 a 3.0.21.

    Ladislav Hagara | Komentářů: 0
    18.7. 13:44 | Komunita

    Ve španělské A Coruñě probíhá GUADEC 2026, tj. letošní konference vývojářů a uživatelů desktopového prostředí GNOME. Videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 0
    18.7. 13:22 | Komunita

    Společnost Collabora ve spolupráci s Valve vyvíjí Holo Core, tj. port Arch Linuxu pro ARM64 procesory (AArch64), který bude pohánět VR headset Steam Frame. Pro testování Arch Linuxu pro AArch64 jsou k dispozici binární balíčky, zdrojové kódy i kontejner pro Docker nebo Podman.

    Ladislav Hagara | Komentářů: 1
    18.7. 13:00 | IT novinky

    Mikroprocesor Zilog Z80 byl oficiálně uveden na trh před 50 lety, tj. v červenci 1976. Výroba mikroprocesoru skončila v roce 2024.

    Ladislav Hagara | Komentářů: 0
    18.7. 02:55 | Bezpečnostní upozornění

    Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.

    Ladislav Hagara | Komentářů: 3
    17.7. 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    17.7. 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    17.7. 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 7
    17.7. 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 3
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2179 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: staticka vs dynamicka alokace pameti

    26.6.2010 21:57 ext3fs
    staticka vs dynamicka alokace pameti
    Přečteno: 2873×
    Ahoj,

    chtel bych se zeptat zkusenejsich na rozdil mezi statickou a dynamickou alokaci pameti (v jazyce C, ale otazka je spis globalni) z hlediska bezpecnosti beziciho procesu.

    Pominme nyni problemy s hlidanim (a osetrenim) prace s dynamickou pameti. Nyni mi jde konkretne o pripad, kdy dochazi systemu kriticky pamet a v tom chce program alokovat dalsi. Program pamet nedostane tak muze:

    a/ spadnou, b/ je to nejak osetreno, ale bez pameti stejne nemuze pokracovat tak se ukonci, c/ stejne jako za b/ stim ze ukoncovani nemusi kvuli nedostatku pameti dopadnou dobre.

    Davate prednost dynamicke alokaci nebo staticke? Urcite to je pripad od pripadu. Minimalne je statiska pamet daleko rychlejsi (pokud se pouziva casto...odpada malloc/free).

    Je mozne brat statisky pridelenou pamet v urcitych stavech systemu (malo pameti) jako bezpesnejsi reseni? Chapu, ze pokud neni pamet, tak system muze reagovat jakkoli...

    Odpovědi

    26.6.2010 22:58 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Zásadní problém statických proměnných je v tom, že velikost zásobníku je omezená a v některých případech může být to omezení dost zásadní. Typicky programátor představu, že na zásobníku je místa dost, přehodnotí v okamžiku, kdy zkusí napsat první multithreadovou aplikaci.
    27.6.2010 09:42 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Váš dotaz zavání tím, že se pokoušíte řešit špatný problém (nebo správný problém špatným nástrojem).

    Statická alokace se k ošetření nedostatku paměti používá jen velmi vyjímečně, pak je ale kladen důraz na to, aby tato část programu byla co nejmenší a měla co nejmenší potřebu práce s pamětí.

    Obvyklejší řešení je prostě nechat program ukončit (s nějakou hláškou), nebo nechat program čekat, až paměť bude. Pokud je v OS programů více, tak se obvykle nastavují kvóty.

    Jinak má statická alokace blahodárný účinek na výkon, často se používá model prealokace velkého kusu paměti a jeho interní rozparcelování v programu namísto alokace spousta malých kousků. Teoreticky byste tento model mohl využít pro zajištění dost paměti např. pro ten ukončovací kód.
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.6.2010 13:19 ext3fs
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Pisu ted malou aplikaci pro sledovani procesu. Jedna z funkci je sledovani co se stalo/deje prave v pripade kdy system z nejakeho duvou zacne "havarovat" (malo pameti, vysoky load, zasekly proces co bere veskere CPU,atd..). V nekterych pripadech (coz se mi nekolikrat stalo) system zacne strilet procesy a nez na to clovek prijde je system v nefunkcnim stavu a v logu ani zminka. Uz se mi stalo, ze jsem prisel k serveru RHEL (x86_64, 4G RAM, 16G swap) kde byly odstreleny vsechny procesy krom initu, udev, a par systemovych demonu. /var/log/* naprosto bez stop nejake priciny. Napadlo mne zkusit si napsat nejake "hlidatko" procesu / systemu, ale prave resim jak zajistit aby tetno proces bezel co nejdele v pripade nouze. Jedna moznost je pohrat si s /proc/PID/oom_adj a pak se postarat o maximalni pametovou hospodarnost. Proto jsem se ptal na tu statickou alokaci.
    27.6.2010 13:53 __dark__
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Tak si alokuj 16MB RAM pri startu tvoji aplikace a používej jenom tuto paměť (vlastní memory management). Podle mě to není problém napsat, otázka je, co od té tvoji aplikace očekáváš, a které další knihovny budeš používat.
    27.6.2010 22:00 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti

    Pokud jádro zabilo syslog, tak ve /var/log samozřejmě nic nebude. Musíte se podívat do protokolu jádra (dmesg). Ale i ten je kruhový, takže ho možná budete chtít nafouknout (parametr jádra při bootu nebo překladu).

    Pokud se opravdu bojíte OOM, tak prostě vypněte memory overcommitment (/proc/sys/vm/overcommit_memory), ale pak asi bude vašim aplikacím těsno.

    Pro vás ale asi opravdu bude nejlepší nastavit hlídači -17 do oom_adj, aby přežil. Pro účely ladění byste si mohl nastavit /proc/sys/vm/oom_dump_tasks, abyste získal přehled o všech procesech v době zabití.

    28.6.2010 07:45 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Pisu ted malou aplikaci pro sledovani procesu.

    Kanón na vrabce. Dejte si do cronu ps po minutě a pak na to kápnete hned. (Vím z vlastní zkušenosti.)

    Dalším logickým krokem bude opravit tu špatnou aplikaci, která bortí systém. To většinou zabere :-)

    Pokud chcete něco monitorovat, pořiďte si nagios (nebo jiný systém). Nepište si vlastní věci.
    V nekterych pripadech (coz se mi nekolikrat stalo) system zacne strilet procesy a nez na to clovek prijde je system v nefunkcnim stavu a v logu ani zminka.
    Jako prevence by Vás mohly zajímat cgroups (control groups). Umožňují nastavit paměťovou kvótu tak aby se jeden proces nemohl rozpínat na úkor druhých.
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.6.2010 10:05 ext3fs
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Sledovani je jen jedna vec, dalsi je znovu spusteni/restart procesu pokud z nejake priciny spadne/nebezi, nebo vykonani jine akce.

    Kanon na vrabce mi pripadne spis ten Nagios. Nemam s nim sice takove zkusenosti, za to se Zabbixem nekolikalete a prave takovy Zabbix to co potrebuji neumi a nebo umi, ale velmi slozite a jen castecne. Proc v urcitych situacich misto demona o velikosti par desitek KB pouivat moloch co potrebuje php, sql server, atp...?
    28.6.2010 17:57 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Sledovani je jen jedna vec, dalsi je znovu spusteni/restart procesu pokud z nejake priciny spadne/nebezi, nebo vykonani jine akce.

    Kanon na vrabce mi pripadne spis ten Nagios. Nemam s nim sice takove zkusenosti, za to se Zabbixem nekolikalete a prave takovy Zabbix to co potrebuji neumi a nebo umi, ale velmi slozite a jen castecne.
    Samozřejmě záleží na tom co si přejete dělat. Pokud chcete jen odhalit škůdce tak IMHO nejpřímočařejší cesta je to 'ps' jak jsem navrhoval.

    Pokud chcete dlouhodobě sledovat dostupnost služeb, mít nad tím nějaké hlášení problémů, případně samočinné pokusy o restart... tak na to je (opět IMHO) vhodný nástroj ten Nagios. Klidně do něj můžete jako plugin zaintegrovat ten svůj úžasnej nezničitelnej program ale myslím si že to bude fungovat zrovna tak dobře s něčím obyčejným. Každopádně máte už ale hotovou veškerou hlídací a rozhodovací logiku a nemusíte vynalézat kolo.
    Proc v urcitych situacich misto demona o velikosti par desitek KB pouivat moloch co potrebuje php, sql server, atp...?
    Vždycky když jsem měl takovéto tendence si něco malého psát tak jsem se prve porozhlédl jestli to už někdo nevyřešil předemnou. Konfiguraci Nagiosu pokud ho neznáte budete věnovat X dní a zrovna tak ten čas byste strávil psaním toho démona. Problém je, že pak když budete chtít "ještě tohle a ještě támto" tak v Nagiosu to už uděláte raz dva, zatímco ten démon budete zase X dní přepisovat, testovat, atp. Takže v delší trati se Vám přestane vyplácet udržovat ten bastl.

    PHP ani SQL server pokud vím to nepotřebuje, pouze Apache pokud chcete web front end.

    In Ada the typical infinite loop would normally be terminated by detonation.
    27.6.2010 09:45 petris_ | skóre: 12
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Je to uplne jedno, protoze pri bezne konfiguraci se pouziva lina alokace pameti, takze neni rozdil, jestli si vezmete prazdnou stranku zvetsenim heapu pres brk a nebo tim, ze pouzijete promennou z B, C nebo D sekce, jejiz stranka jeste nebyla pouzita a nebo zvetsenim zasobniku o stranku.
    27.6.2010 15:57 klusik | Plzeň
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Zdravím,

    rozdíly mezi S a D si přečtěte v dalších komentářích, co chci napsat já je, že v C musíte vždy (pokud nejste čuník programátorský ;)) hlídat meze a všechno kolem jen SÁM :-)

    Stejně tak přetečené, stejně tak přidelení (nepřidělení) volné paměti a všechno. Ono to vypadá jako buzerace, ale je to o tom, že co si uděláte, to máte. Ne vždy potřebujete velké a superkomplexní věci a proto používáte C a ne třeba Javu nebo C#. Nevýhoda toho je, že si musíte všecko ohlídat. ;)

    Hodně zdaru.
    Prostě já ;) www.klusik.cz
    27.6.2010 19:16 ext3fs
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    To je pochopitelne, ze je potreba dyn.pamet hlidat. Mne slo spis o to, jestli je mozne tu statickou brat tak, ze je alokovana v dobe spusteni procesu a proces s ni muze pracovat v kazde situaci a nikdo mu ji nevezme. Protoze v pripade, ze vrati malloc() NULL, tak se konci...
    28.6.2010 01:30 petris_ | skóre: 12
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Mne slo spis o to, jestli je mozne tu statickou brat tak, ze je alokovana v dobe spusteni procesu a proces s ni muze pracovat v kazde situaci a nikdo mu ji nevezme.
    Ne, vizte http://www.abclinuxu.cz/poradna/programovani/show/307603#3
    28.6.2010 09:51 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Sprave pameti je vcelku jedno jestli pouzijete statickou, nebo dynamickou pamet - chova se k nim stejne.
    Pokud chcte mit jistotu, ze alokovana pamet (at uz staticky, nebo dynamicky) bude k dispozic, tak by slo na zacatku behu programu (kdy je jeste pameti urcite dost) alokovat si vetsi kus pameti (pro vlastni potrebu) a do cele alokovane pameti zapsat pokud mozno nahodna data (tim se zaruci, ze tu pamet dostanete) - tuhle pamet vam uz nikdo nevezme (pokud proces nezabije OOM killer) a budete ji mit do konce behu programu k dispozici.
    28.6.2010 09:59 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Neco o sprave neinicializvane pameti se da najit treba v jadernych novinkach
    1.7.2010 11:39 x22
    Rozbalit Rozbalit vše Re: staticka vs dynamicka alokace pameti
    Na zabezpecenie, ze pamat nikto nevezme (neodswapuje) su volania mlock() a mlockall(). OOM killera to nezastavi, mozno naopak zvysi sance, ze sa proces stane obetou.

    Založit nové vláknoNahoru

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

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