Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.
Národní bezpečnostní tým CSIRT.CZ koordinovaný sdružením CZ.NIC přichází se službou Strážci internetu, která má sjednotit způsob hlášení doménových jmen zneužívaných k páchání trestné činnosti. Službu mohou uživatelé využívat také prostřednictvím rozšíření do prohlížeče. Nový nástroj podporuje jak hlášení vyžadující autorizaci, tak anonymní reporting, u kterého však nebude možné zapojit takovou míru automatizace jako u
… více »Firefox pro iOS přichází s integrovaným blokováním reklam. Funkce je ve výchozím nastavení vypnutá a lze ji aktivovat v Settings > Browsing > Ad Blocker.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.
Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.
Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším
… více »Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.
Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.
Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.
Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.
Kolem omezení velikosti paměti, kterou je schopen adresovat procesor a čipová sada, kolik z toho je k dispozici v operačním systému a kolik paměti může používat proces panuje značný chaos. Nejlépe to je vidět na, periodicky opakujících se, otázkách typu "mám v počítači 4 GiB paměti a systém vidí jen 3,5 GiB" a bohužel i v odpovědích na tyto otázky.
Fyzická adresa by se dala přirovnat k poštovní adrese- určuje konkrétní buňku fyzické paměti. Za běhu systému bude táž fyzická adresa ukazovat vždy na stejnou buňku*. Fyzický adresní prostor je pak rozsahem fyzických adres, které lze použít. Je důležité vědět, že ve fyzickém adresním prostoru můžou být díry a/nebo místa vyhrazená pro mapování paměti hardware. Pokud je instalováno méně fyzické paměti než je fyzický adresní prostor pak logicky některé fyzické adresy ukazují do prázdna.
Virtuální adresní prostor si lze představit jako pestrobarevnou koláž. Na některých místech jsou díry, jinde jsou různě rozesety přilepené stránky fyzického adresního prostoru. Některé obsahují kód jiná data. Jinde jsou nalepené poznámky "Kdyby se tuto stránku někdo snažil přečíst tak na toto místo načti tento úsek tohoto souboru."{1} nebo "Kdyby se na tuto stránku někdo snažil zapsat tak najdi volnou stránku fyzické paměti a přilep ji sem"{2}. Každá stránka má navíc "semafor" určující, zda se na dané místo smí zapisovat, číst či provádět kód. Teď si představte, že virtuálních prostorů je ve stejné chvíli spoustu (zjednodušeně řečeno- kolik procesů tolik virtuálních prostorů) a že jednotlivé stránky fyzické paměti můžou být přilepeny v žádné nebo také v mnoha nebo dokonce všech virtuálních prostorech. Hodnota semaforu stejné fyzické stránky může být v různých virtuálních prostorech různá.
Když už jsem si to tak hezky zadefinoval s tou koláží, tak nemůžu odolat abych do celého obrazu nepřidal ještě lapidární popis fungování správy paměti
VP nového procesu vznikne jako kopie VP rodičovského procesu přičemž na všechny stránky, kde je namapována paměť se přilepí nálepka "Kdyby se sem někdo pokusil zapsat tak tuto fyzickou stránku zkopíruj, kopii přilep na toto místo a zápis proveď do této kopie."{3}. Toto je velice užitečný mechanizmus přezdívaný COW neboli Copy on Write. Umožní procesům sdílet stránky fyzické paměť až do doby, dokud se nezmění. Co proces tedy konkrétně ve svém prostoru má? Je to závislé na operačním systému ale základ je podobný. Chtě nechtě tam je jádro včetně jeho datových struktur. Dále knihovny, které program využívá (semafor povolí provádění ale ne zápis protože stejnou knihovnu může sdílet více procesů), soubory mapované do paměti, kód samotného procesu a konečně paměť, kterou si proces naalokoval. Když si proces vyžádá od operačního systému paměť, tak správce paměti najde volný rozsah VIRTUÁLNÍCH stránek a dá na ně nálepky {2}. Takové paměti se říká comitted. Při samotné alokaci tedy vůbec nedochází k využití fyzické paměti. K tomu dojde až když si proces na přidělenou paměť "šáhne". Lze tedy napsat aplikaci, která vyčerpá veškerý VIRTUÁLNÍ adresní prostor procesu i když bude spousta volné fyzické paměti k dispozici. Mnohem častěji ale vzniká opačný problém- všechny procesy dohromady využijí celou volnou zásobu FYZICKÉ paměti. Správce paměti v takové situaci vybere fyzické stránky, které nebyly dlouho použity, začne je odtrhávat z VP procesů, zapisovat na disk a lepit místo nich nálepky {1}. <joke>Počítač se zpomalí a uživatel restartuje Firefox a vše se vrátí do normálu</joke>. Izolace procesů a jádra a sdílených knihoven je realizována pomocí semaforů. Izolace procesů mezi sebou je realizována jednoduše tím, že ve virtuálním prostoru jednoho procesu nejsou namapovány fyzické stránky jiného procesu tudíž k žádné interakci nemůže dojít. Pokud aplikace šáhne na místo virtuální paměti, kde je díra nebo kde to nedovolí semafor tak program havaruje se známou hláškou Segmentation fault v Linuxu nebo s hláškou, která vzbuzuje mezi běžnými uživateli Windows neskutečné asociace (paměť na adrese XYZ nelze přečíst/zapsat, nebo něco v tomto smyslu).
Už zde je schovaný první (řádně zakořeněný) mýtus: n-bitový procesor dokáže (prý z definice tohoto pojmu) přímo adresovat 2^n bajtů paměti. To je prosím nesmysl. Neplatilo to v době 8bit procesorů (které vesměs adresovaly 2^16 bajtů) a neplatí to ani dnes. Na x86 platformě procesory adresují 2^36 bajtů a na x86_64 mají současné procesory strop 2^48 (AMD) nebo 2^40 (Intel).
Tady se začínají komplikace. A také jeden mýtus, který se šíří jako mor: 32bit operační systém může využít maximálně 4 GiB (nebo 3,něco GiB podle varianty mýtu) paměti. Tento mýtus má tak tuhý kořínek jelikož přesně tak se chovají desktopové varianty Windows. Je zajímavé sledovat, jak politické rozhodnutí nějaké firmy má vliv na všeobecné povědomí. V principu má 32bit OS na x86 platformě přístup díky PAE (v linuxu se často vídá pojem HIGHMEM) přístup k celé šířce fyz. adresního prostoru procesoru tedy 36 itů. Přináší to ale různá úskalí a komplikace. Například klasická 32bit PCI umí adresovat jen spodních 32 bitů a odtud plyne nutnost použití tzv. bounce bufferů - jedno dodatečné kopírování dat v paměti navíc. Všechny ovladače s tím musí samozřejmě počítat. Občas se říká, že samotné PAE přináší navíc i výkonnostní réžii, ta je ale v praxi na moderních procesorech minimální. Je třeba si uvědomit, že paměťový model x86_64 je v podstatě nástavbou PAE. Windows XP a Vista používají PAE na počítačích s NX bitem implicitně nezávisle na množství paměti. O 64bit operačních systémech nemá cenu se moc bavit- tam kde rozhoduje marketing umělá omezení jsou (Vista Home Basic - 8 GiB, Premium 16 GiB), tam kde nerozhoduje tam se omezení kryji s možnostmi řadiče paměti.
Tady není moc nad čím dumat. Na x86 je adresa veliká 32bitů a to je omezení velikosti virtuální paměti. Jaký smysl má větší fyzický prostor než virtuální? Smysl je v tom, že několik procesu se svými virtuálními adresními prostory může pokrýt celý fyzický prostor. Na x86_64 platformě je z technických důvodů v současných implementacích horní hranicí 48 bitů přestože adresy jsou 64bitové.
*) V případě poštovní adresy nemusí ležet podobná čísla popisná blízko sebe. Stejně tomu je i u fyzické adresy v počítači. O tom, kde (na kterém paměťovém modulu nebo dokonce čipu) konkrétně leží daná fyzická adresa rozhoduje řadič paměti (translace není mnohdy tak triviální jak by se mohlo na první pohled zdát třeba v případe použití interleavingu nebo při dual channel složenyým z modulů různé velikosti nebo při promíchání single sided a double sided modulů).
Tiskni
Sdílej:
Slušný BIOS pak fyzickou paměť přemapuje výše. Pokud máte 4 GiB paměti a BIOS z ní kus sebere a přemapuje nad 4 GiBA pokud to neudela, tak to nemusi byt nutne problem BIOSu, ale treba limitace chipsetu (radice pameti). Alespon u nekterych Intelich chipsetu se tento problem uvadi.
Darwin xxxs-macbook.local 9.2.2 Darwin Kernel Version 9.2.2: Tue Mar 4 21:17:34 PST 2008; root:xnu-1228.4.31~1/RELEASE_I386 i386
ale myslím že je označena v configu jako HIGHMEM 2GB.
Tohle jsem do zápisku nedával protože mi to přišlo, že tohle se řešilo tak před pěti léty... 