V Amsterdamu probíhá Open Source Summit Europe. Organizace Linux Foundation představuje novinky. Pod svá křídla převzala open source dokumentovou databázi DocumentDB.
Přesně před 34 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
86Box, tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 5.0. S integrovaným správcem VM. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Vláda Spojených států získala desetiprocentní podíl v americkém výrobci čipů Intel. Oznámili to podle agentur americký prezident Donald Trump a ministr obchodu Howard Lutnick. Společnost Intel uvedla, že výměnou za desetiprocentní podíl obdrží státní dotace v hodnotě 8,9 miliardy dolarů (zhruba 186 miliard Kč). Částka podle Intelu zahrnuje dříve přislíbené subvence 5,7 miliardy dolarů z programu CHIPS na podporu výroby čipů v USA,
… více »Organizace Apache Software Foundation (ASF) vydala verzi 27 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.
Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.
Wine 1.7.17 vyšlo 18. dubna s následujícími změnami:
Wine 1.7.18 vyšlo 2. května s následujícími změnami:
I když pod Wine v dnešní době funguje už snad většina aplikací pro Windows, častým problémem zůstává výkon. Ani nemusí jít o obecný problém Wine, jako spíš spoléhání původních vývojářů na to, že určité API Windows je a bude vždy natolik rychlé, aby bylo možné jej využívat natolik intenzivně, jak činí.
Jeden z uživatelů Wine, John Found, vyvíjí aplikaci, která dobře funguje pod Windows, pod Wine se ale potýká s obtížemi:
Nedávno jsem začal pracovat na vícevlákenné aplikaci používající mutexové funkce, konkrétně: WaitForSingleObject a ReleaseMutex. V benchmarcích jsem přišel na to, že tyto funkce jsou 50 až 100krát(!) pomalejší než na Windows. A to se jedná o situaci, kdy mutex používá jen jediné vlákno – na nic se tedy nečeká.
Testovací program zkompilovaný nativně pro Linux (používající knihovnu pthreads) je jen 1,5krát pomalejší (v porovnání se stejným programem, který mutexy nepoužívá vůbec), což je přijatelné.
Co mám tedy udělat, abych tyto funkce urychlil? Je to bug (který má být nahlášen a opraven), nebo nějaký fundamentální problém v architektuře? Měl bych implementaci mutexů řešit jinak?
Vincent Povirk popsal, že se problém skrývá v tom, jak se s mutexy musí pod Wine kvůli jejich možnostem pracovat:
To je kvůli tomu, že každé volání nad jaderným objektem probíhá přes RPC do procesu wineserver.
Sémantika věcí jako DuplicateHandle a všech různých dalších jaderných objektů, na které je možné čekat, musí být věrně přenesena do Wine. Takže i v případě, že jde o jediný objekt používaný jediným vláknem, by sis pro optimalizaci této situace musel být nějakým způsobem jistý, že nikdo nevytvořil v jiném procesu duplikát. Nebo bys musel dát winesevreru dostatek informací k duplikaci, zatímco bys mohl čekat/manipulovat s objektem bez volání RPC.
Takže si nejsem jistý, že jde o fundamentální problém v architektuře, ale je tu hodně věcí, na které je potřeba myslet. A nedoporučil bych řešení takových problémů novým vývojářům Wine.
John se zeptal, zda by mohl výkonu nějak pomoci volbou jiného typu synchronizačních primitiv. Sebastian mu nějaké alternativy doporučil:
[...] Mohl bys buď použít kritické sekce (které interně na Linuxu používají velmi rychlé futexy) nebo odlehčené read/write zámky (viz MSDN), jež používají volání wineserveru jen v případě, kdy blokují. Obě metody by rozhodně měly vést k lepšímu výkonu.
John potvrdil, že mu přechod ke kritickým sekcím zvedl výkon desetinásobně. Na Windows rozdíl tak znatelný nebyl.
Tentokrát z mailing listu Wine krátce odbočíme na mailing list linuxového jádra. V dubnu byl do jádra zařazen patch, který znemožňuje vytváření 16bitových segmentů na x86-64. Je to na první pohled nepodstatná věc, ostatně i v rámci Jaderných novin byla okomentována slovy: Jelikož běh 16bitového kódu na těchto systémech tak či tak moc dobře nefunguje a není jasné, jestli to vlastně někdo používá, tak se tato změna považuje za bezpečnou.
Pravdou je, že mezi běžnými aplikacemi pro Linux budeme jen stěží hledat nějakou, která by 16bitové segmenty potřebovala. Wine ale není úplně běžná aplikace... Nejprve se podívejme na informace připojené ke commitu, abychom pochopili, proč mají vývojáři jádra zájem na tom něco podobného zakazovat:
x86-64, modify_ldt: Zákaz 16bitových segmentů na 64bitových jádrech
Instrukce IRET, v případě, že se vrací do 16bitového segmentu, obnovuje pouze spodních 16 bitů ukazatele do uživatelského prostoru. Na 32bitových jádrech pro toto máme softwarovou obezličku („espfix“), ta ale závisí na nenulové bázi segmentu zásobníku, která není v 32bitovém módu dostupná.
Jelikož je 16bitová podora na 64bitových jádrech stejně tak nějak rozbitá (chybí režim V86) a většina (pokud je skoro všechny) 64bitových procesorů podporuje virtualizaci, jednoduše zamítejme pokusy o vytvoření 16bitového segmentu na 64bitovém jádře.
Krátce na to se ozval Brian Gerst s obavami o funkčnost 16bitových aplikací pod Wine:
Nachází se tento bug i na moderních CPU? Tato změna rozbíjí spouštění 16bitových aplikací pod Wine. Mám tu několik opravdu starých her, které bych si chtěl občas zahrát, a nemám tu kopii Win 3.11, abych si je dal do VM.
Diskuze pokračovala dál. Jaderní vývojáři by rádi tento únik informací odstranili, ačkoliv se někteří domnívají, že únik vyšších bitů není až tak závažný. Linuse pak zajímá to, jestli 16bitové aplikace opravdu někdo používá a opravdu to celé nějak funguje:
Pokud vím, tak 64bitová Windows 16bitové binárky nepodporují, takže jsem předpokládal, že ani Wine to na x86-64 neumí. Ne, že bych to očekával z nějakých technických důvodů.
NICMÉNĚ. Rád bych slyšel něco konkrétnějšího než „v poslední době jsem to nezkoušel“. Pravidlo „nerozbíjíme uživatelský prostor“ se vztahuje na skutečné *uživatele*, nikoliv na testovací programy.
Najdou se lidé, kteří opravdu používají staré 16bitové programy pro Windows pod Wine? Na tom právě záleží.
Na tuto otázku Linusovi odpověděl sám Alexandre Julliard:
Ano, stále máme mnoho uživatelů a stále dostáváme hlášení chyb u konkrétních 16bitových aplikací. Bylo by moc hezké, kdybychom je mohli na x86-64 nadále podporovat, hlavně kvůli tomu, že Microsoft to nedělá
Později se dokonce ukázalo, že tato změna v jádře rozbíjí i některé 32bitové aplikace pro Windows (problémový patch byl mezitím backportován do starších jader):
Vypadá to, že jsou rozbité i některé 32bitové programy, jelikož po přechodu na Linux 3.14.3 nemohu spustit svůj starý šachový program:
---- | % file CB70.exe | CB70.exe: PE32 executable (GUI) Intel 80386, for MS Windows | % LANG=C wine CB70.exe | modify_ldt: Invalid argument | modify_ldt: Invalid argument | modify_ldt: Invalid argument | modify_ldt: Invalid argument | modify_ldt: Invalid argument `----
Později se objevily také stížnosti na nefunkční Microsoft Office 2000. Jelikož se uživatelům a vývojářům snad podařilo jaderné vývojáře přesvědčit o důležitosti podpory 16bitových segmentů na x86-64, H. Peter Anvin začal pracovat na espfix pro x86-64, aby nebylo nutné podporu zrušit. Doufejme tedy, že nám i staré aplikace budou pod Wine nadále fungovat.
V USA už několik let probíhá soudní spor mezi firmami Oracle a Google kvůli „okopírování“ podoby javovských API na Androidu. Tento krok byl ze strany Googlu nezbytný pro to, aby původní javovský kód mohl beze změny fungovat i na Androidu. Oraclu se ale nelíbí to, že Google takto obešel nutnost licencovat si od Oraclu „technologie“ a využil tak stávajícího ekosystému kolem Javy bezplatně.
První rozhodnutí v tomto sporu bylo pro Google příznivé: deklarace API nepodléhají autorským právům. Oracle však nebyl s tímto závěrem spokojen, a proto se odvolal. Nyní odvolací soud rozhodl, že deklarace autorským právům podléhají, což nejeden softwarový projekt vyděsilo. Jinak tomu nebylo ani na mailing listu Wine:
Toto jsou opravdu znepokojivé zprávy. Jaké jsou dopady na Wine, pokud by to nakonec takto dopadlo?
Shachar Shemesh trochu vyjasnil situaci:
Hlavně to ještě nijak nedopadlo. Soud řekl, že otázka interoperability je předmětem „fair-use“, nikoliv platnosti autorských práv. V tomto ohledu jde z různých důvodů o porážku pro celé odvětví, ale nemusí to mít okamžitý dopad na Wine.
Dalším aspektem, pokud to takto dopadne, je pak to, že důsledky pro kohokoliv, kdo se snaží přistupovat k softwaru pod GPL, budou neméně závažné. Nejsem si jist, že by z toho měl MS prospěch. Jestli to nějak změní jejich postoj k Wine, je pak další otázka.
Stefan Dösinger následně odkázal na zajímavý článek vztahující se k rozhodnutí odvolacího soudu:
Doporučil bych všem přečíst si komentář od Bradleyho Kuhna. Myslím si, že za pozornost stojí i jeho doporučení přečíst si celé soudní rozhodnutí, a jelikož jsem tak sám neučinil, nebudu se k této věci dále vyjadřovat.
V odkazovaném blogovém zápisu mj. stojí, že odvolací soud zásadně překroutil tvrzení Google ohledně „okopírování“ deklarací. Zatímco Google říká, že se jeho deklarace v mnohém podobají, ale také se v mnohém liší, soud tvrdí, že se Google přiznal, že to zkrátka „obšlehnul“. Podstatné je však to, že soud netvrdí, že Google porušil nějaká práva: pouze říká, že nelze celou otázku shodit ze stolu slovy, že zde autorská práva nemají žádný dopad.
Omlouváme se za nepřítomnost přehledu změn v tomto vydání. Od příštího vydání bude přehled opět přítomen.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
(win16 segmenty)jsem chtel asi napsat 16-bit segmenty a win16 aplikace, nak se mi to spojilo