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 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 1
    dnes 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Komunita Ladislav Hagara | Komentářů: 6
    včera 23:22 | Komunita

    Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.

    Ladislav Hagara | Komentářů: 3
    včera 22:33 | Nová verze

    Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 1
    včera 11:33 | Zajímavý článek

    Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.

    |🇵🇸 | Komentářů: 1
    včera 11:22 | IT novinky

    Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a

    … více »
    Ladislav Hagara | Komentářů: 12
    25.3. 19:11 | Komunita

    Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.

    Ladislav Hagara | Komentářů: 6
    25.3. 16:11 | Nová verze

    Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    25.3. 14:11 | Nová verze

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1162 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Funkce mmap

    21.8.2013 09:15 mig-31 | skóre: 2
    Funkce mmap
    Přečteno: 291×

    Chci si zeptat pro vlastni jistotu jestli spravne rozumim funkci mmap. Jedna se o mapovani casti pameti ARMv5 procesoru. Jestli spravne rozumim funkci mmap, tak v kodu co uvadim nize pointer map_base bude odkazovat na zacatek bloku pameti nebo na prvni registr o rozmeru 4096 v pripade,ze offset =0. V pripade,ze offset bude 4095 tak bude odkazovat na konec (posledni registr). Offset ma byt kladne cislo? C fd = open("/dev/mem", O_RDWR | O_SYNC)); map_base = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset); FreePascal fd := fpopen('/dev/mem', O_RDWR or O_SYNC)); map_base := fpmmap(0, 4096, PROT_READ or PROT_WRITE, MAP_SHARED, fd, offset);


    Řešení dotazu:


    Odpovědi

    Řešení 1× (Michy)
    21.8.2013 09:39 potato
    Rozbalit Rozbalit vše Re: Funkce mmap
    Výpisy kódu dávej prosím do <pre>.

    Offset musí samozřejmě být kladné číslo, protože se počítá od začátku souboru -- a soubor před začátkem (tedy na záporných posicích) nic neobsahuje. Navíc to musí být násobek velikosti stránky, což nejspíš 4096 i na ARM, takže 4095 není platná hodnota argumentu, dostaneš EINVAL error. Co je registr, nevím, v tvém popisu jsem při čtení dělal s/registr/bajt/g.
    21.8.2013 10:11 mig-31 | skóre: 2
    Rozbalit Rozbalit vše Re: Funkce mmap

    Diky za odpoved'. Omlovam se za nespravne formatovni. Prehledl jsem to. U ARMu velikost stranky je take 4096 (4k). Pod registem myslim bunku pameti. U ARMu registry jsou 32 bitove. Tak v pripade stranky o velikosti 4096 bytu budu mit namapovanych 1024 registru o velikosti 32 bitu.

     C 
      map_base = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 4096);
     FreePascal
      map_base = fpmmap(nil, 4096, PROT_READ or PROT_WRITE, MAP_SHARED, fd, 4096);
    

    Jestli sprvane chapu pri offsetu 4096 pointer map_base bude odkazovat na konec namapovane stranky pameti

    Řešení 1× (mig-31 (tazatel))
    21.8.2013 15:33 potato
    Rozbalit Rozbalit vše Re: Funkce mmap
    Při offsetu 4096 bude map_base ukazovat na začátek druhé stránky, tedy těsně za konec té první. Obecně prostě vždy dostaneš pointer na začátek nějaké stranky (nebo MAP_FAILED při selhání).
    21.8.2013 16:17 Sten
    Rozbalit Rozbalit vše Re: Funkce mmap
    Registry jsou malé bloky paměti v procesoru, v RAM se nevyskytují. S mmapem nemají nic společného. Pokud nepíšeš v assembleru nebo neoptimalizuješ nějaký extrémně kritický algoritmus (což nakonec stejně skončí psaním assembleru), tak se registry vůbec nemusíš zabývat, překladač totiž jejich používání vyřeší za tebe :-)

    Velikost stránky se týká stránkování RAM, což se používá pro odkládání paměti do swapu, zamykání paměti proti přepisu ap. Pokud nepíšeš linker nebo správu paměti pro jádro, tak ti většinou stačí vědět, že jedna stránka má délku vracenou funkcí getpagesize() (běžně je to 4 096 bajtů, ale může to být třeba i 4 MiB, záleží na architektuře a jejím nastavení) a násobky této hodnoty lze používat jako offset pro mmap.

    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.