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í
×
    dnes 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 4
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 13
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 4
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    7.10. 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    Občas není od věci vyslovit něco, za co se upaluje nebo ukamenovává. Nic není totiž tak jednoduché, aby byla pravda vždy jediná a na první pohled zřejmá.


    NAVRCHOLU.cz
    Kategorie zápisků
    Aktuální zápisy

    inotify-cxx

    5.9.2006 21:04 | Přečteno: 1190× | Software | Výběrový blog

    Jako vedlejší efekt jednoho projektu, na kterém pracuji, vzniká i jednoduché C++ rozhraní k technologii inotify. Pro ty, kdo o inotify ještě neslyšeli: umožňuje sledovat události ve filesystému. Rozhraní pro C++ si nyní můžete stáhnout a použít ho pro své potřeby.

    Nejdřív bych chtěl říct pár slov o tom, co vůbec je inotify. Je to technologie (umístěná v jádře), která umožňuje sledovat události, které nastanou v souborovém systému. Lze tak např. zjistit, že nám někdo "pod rukama" změnil soubor, že vytvořil nebo zrušil adresář, odpojil filesystém apod. Funguje tak, že se "pověsí" na inode a sleduje, co se tam děje.

    Donedávna se v Linuxu k tomuto účelu používala technologie dnotify. Ta má však různé nepříjemné vlastnosti. Nejhorší z nich je nutnost mít na každý sledovaný adresář samostatný souborový deskriptor. Jednak je počet deskriptorů omezený, a také sledování je trochu problém - buď se musí sledovat každý deskriptor zvlášť (při větším počtu problém), nebo používat epoll(), poll(), anebo select(), základním prostředkem byl však signál SIGIO. Při větším počtu sledovaných adresářů si tento mechanismus vezme poměrně dost paměti v jádře. Navíc jsou problémy s výměnnými médii atd.

    inotify většinu problémů odstraňuje. Souborový deskriptor stačí jeden, přes něj se pak aktivuje libovolný počet (do výše limitu) sledovaných cest (adresářů i souborů), klidně každá s jinou maskou (filtrem). Události se ukládají do fronty (společné pro souborový deskriptor), odkud je lze vybrat voláním read(). Pro sledování deskriptoru lze použít libovolnou metodu (buď přímo read(), nebo epoll(), poll(), select(), případně signál).

    inotify-cxx je C++ rozhraní, které má za cíl zjednodušit použití inotify v programech psaných v C++. Skládá se ze tří tříd. Základní je Inotify, která obaluje souborový deskriptor, kromě toho spravuje také sledované cesty (viz dále) a má vlastní frontu událostí. Dále je tam třída InotifyWatch, představující sledovací "hook". Poslední je pak InotifyEvent, což je událost přijatá z inotify.

    Celé to funguje tak, že si stačí vytvořit instanci (nebo více, podle potřeby) třídy Inotify. Pak se vytvoří potřebný počet instancí InotifyWatch a ty se přidají do Inotify. Pro sledování je zatím k dispozici pouze jediná metoda, a to WaitForEvents(), která blokuje do okamžiku, než přijdou nějaké události. Mám v plánu přidat tam další mechanismy sledování. Ohlásí-li WaitForEvents() přijetí událostí, jsou tyto uloženy ve frontě a lze je získávat metodami GetEvent(). Pro pouhé přečtení události (bez odebrání z fronty) lze použít PeekEvent().

    V tuto chvíli se jedná o velice časnou verzi rozhraní, kterou budu na základě svých potřeb (a samozřejmě i požadavků jiných uživatelů) dále rozšiřovat a vylepšovat. Nicméně pro odzkoušení to dávám k dispozici již nyní - hlavně proto, že bych chtěl trochu zpopularizovat inotify, což je jedna z moderních věcí, přidaných do jádra teprve nedávno. Račte stahovat.

    Rozhraní je k dispozici pod třemi licencemi - GPL, LGPL a X11. Ať si každý zvolí "tu svoji" licenci, pod kterou to bude používat. Ještě upozorním na nutnost mít jednak jádro 2.6.13 a pozdější, a také hlavičkové soubory pro inotify (obsahují rozhraní pro syscall a také definici datové struktury a označení bitů masky událostí).

    Odkazy:

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    5.9.2006 22:14 michal00 | skóre: 14 | blog: OpenStreetMap
    Rozbalit Rozbalit vše Re: inotify-cxx
    čosi ako inotifyd z inotify-tools (čosi ako cron daemon čakajúci nie na čas ale na eventy súborov) plánuješ ?

    mohlo by to ľahko vyriešiť napríklad toto
    Luk avatar 5.9.2006 22:48 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: inotify-cxx
    No, přímo v plánu to nemám. Ale je to dobrá inspirace, a dost možná by se mi to také k něčemu hodilo. Popřemýšlím o tom, a třeba k tomu jednou dojde ;-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.