Byla vydána listopadová aktualizace aneb nová verze 1.107 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.107 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Pornhub zveřejnil podrobné statistiky za rok 2025. V části věnované zařízením a technologiím se lze dočíst, že 87 % přenášených dat směrovalo na telefony, 2 % na tablety a 11 % na desktopy. Operační systém Linux běžel na 6,3 % desktopů. O 22,4 % více než před rokem. Firefox má na desktopu 8,4 % podíl.
Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak dorazte na prosincovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. O čem budou tentokrát strahováci referovat? Téměř každý už si všiml významného zdražení RAM a SSD, jsou zde ale i příjemnější zprávy. Průša uvádí
… více »Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) podporuje vyjádření partnerů ze Spojeného království, kteří upozorňují na škodlivé aktivity společností Anxun Information Technology (též „I-S00N“) (pdf) a Beijing Integrity Technology (též „Integrity Tech“) působících v kyberprostoru a sídlících v Čínské lidové republice (ČLR). Tyto společnosti jsou součástí komplexního ekosystému soukromých subjektů v ČLR,
… více »Společnost Pebble představila (YouTube) prsten s tlačítkem a mikrofonem Pebble Index 01 pro rychlé nahrávání hlasových poznámek. Prsten lze předobjednat za 75 dolarů.
Společnost JetBrains v listopadu 2021 představila nové IDE s názvem Fleet. Tento týden oznámila jeho konec. Od 22. prosince 2025 již nebude možné Fleet stáhnout.
Byl vydán Mozilla Firefox 146.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 146 bude brzy k dispozici také na Flathubu a Snapcraftu.
Před rokem převzala Digitální a informační agentura (DIA) vlastnictví a provoz jednotné státní domény gov.cz. Nyní spustila samoobslužný portál, který umožňuje orgánům veřejné moci snadno registrovat nové domény státní správy pod doménu gov.cz nebo spravovat ty stávající. Proces nové registrace, který dříve trval 30 dní, se nyní zkrátil na několik minut.
IBM kupuje za 11 miliard USD (229,1 miliardy Kč) firmu Confluent zabývající se datovou infrastrukturou. Posílí tak svoji nabídku cloudových služeb a využije růstu poptávky po těchto službách, který je poháněný umělou inteligencí.
Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.
Aktuální vývojové jádro je 4.0-rc6, vydané 29. března. Podle Linuse se: "to pomalu uklidňuje, opravy přicházejí ze všech stran. Opravili jsme regresi výkonu NUMA a všeobecně to vypadá dobře. Měli jsme jisté problémy s i915 a dvouchybou u KVM, takže jsem si na chvíli myslel, že půjde o vydání, které si vyžádá rc8, ale možná to nebude nutné."
Stabilní aktualizace: 3.19.3 byla vydána 26. března; verze 3.14.37 a 3.10.73 následovaly den poté.
Tento patchset navrhuje řešení. Podpora pro negativní počet procesorů umožňuje škálovat až k O(-NR_CPUS). Čím více máte procesorů tím výše škálujete, až k bodu, kdy software ukončí akci dříve, než ho napíšete (za předpokladu, že máte okolo -1024 CPU). Programování je ještě jednodušší, protože se nemusíte zabývat tolika procesory.
Mějte na paměti, že tento patchset je zatím jen návrh. Žádné sestavení nebylo testováno a ještě nemám potřebný hardware.
32bitový kód je starý, plný otravných háčků, neustále padá, když pracujeme na nových funkcích pro 64 bit. A upřímně, nikoho už 32 bit nezajímá. Pokud vás ano, děláte chybu a měli byste jít s dobou. Běžte ven, zhluboka se nadechněte a projděte se. Jako první věc po návratu se *podívejte* *do* *kalendáře*. Je čas se říct starému 32bitovému písku pápá. Kupte si 64bitový procesor. Žijte trochu. Staňte se součástí skutečného světa.
Tradiční Unixový systém má mnoho výhod, ale šetrnost ke kódu knihoven nebývá jednou z nich. Jádrem problému je použití globálních struktur a mechanismů, se kterými nelze pracovat nezávisle za pomoci aplikaci nebo jakékoli knihovny, kterou by mohly používat; tabulka souborových deskriptorů a vektory pro manipulaci se signály představují jen dva příklady. Nedávno zveřejněný patch se snaží řešit část tohoto problému, ale mohl by vést k větší, dlouhodobější změně, kterak řídit procesy v Linuxu.
Vezměme si například knihovnu, která podřebuje vytvořit podřízený proces pomocí fork() a dostat upozornění, jakmile proces existuje. Knihovna nemůže volat wait(), aniž by blokovala celý proces volání a zasahovat do podřízených procesů, vytvořených jinde v žádosti. Příjem asynchronních oznámení pomocí SIGCHILD má podobný problém: K dispozici je pouze jeden popisovač SIGCHILD, takže jeho zachycení v knihovně se střetává s použitím signálu aplikací. Potřeba zabránit podobným konfliktům kódem aplikace může výrazně omezit možnosti knihovny.
Patch CLONE_FD Joshe Tripletta se pokouší tento konkrétní problém řešit. Přidává novou vlajku, CLONE_FD, k variantě clone_() systémového volání (clone4()); Je-li vlajka přítomna, vrátí clone4() souborový deskriptor, odkazující k procesu, který právě vytvořil. Ve výchozím nastavení se s deskriptorem nedá příliš pracovat, ale je-li zároveň nastavena vlajka CLONE_AUTOREAP, chování systému se změní.
Když skončí proces vytvořený pomocí CLONE_AUTOREAP, dojde k jeho okamžitému vyčištění, místo aby čekal v zombie stavu na voláníwait() rodičovského procesu. Toto chování může být užitečné samo o sobě, pokud se rodič nestará o to, kdy potomek ukončí svou činnost. Pokud rodič čeká na potomkův exit, může vytvořit procesní souborový deskriptor s pomocí CLONE_FD - tak bude umožněno čtení deskriptoru v okamžiku, kdy dojde k ukončení procesu. Viditelná bude struktura:
struct clonefd_info {
uint32_t code; /* Signal code */
uint32_t status; /* Exit status or signal */
uint64_t utime; /* User CPU time */
uint64_t stime; /* System CPU time */
};
S pomocí tohoto mechanismu může funkce knihovny vytvořit proces a počkat na jeho dokončení, aniž by došlo k narušení řízení procesu jinde v programu. Tím se řeší problém nutnosti sdílet mechanismus pro řízení informací o ukončení procesu odstraněním onoho sdílení a dochází k proměně běžícího procesu v určitý typ souboru, který může být sledován a řízen výlučně kódem, který o něm ví.
Toto řešení mělo malý háček ve způsobu provádění řešení: V systémové volání clone již není místo pro žádné další vlajky. Josh proto vytvořil nové, které se jmenuje clone4(). V C knihovně vypadá interface takto:
int clone4(uint64_t flags, size_t args_size, struct clone4_args *args,
int (*fn)(void *), void *arg);
Pole flags drží vlajky v provozu. Tradiční vlajkyclone(), i ty nové. Jako v případě clone() zavolá po svém vytvoření proces potomka fn(arg). Argument args vypadá takto:
struct clone4_args {
pid_t *ptid;
pid_t *ctid;
unsigned long stack_start;
unsigned long stack_size;
unsigned long tls;
int *clonefd;
unsigned clonefd_flags;
};
Většina těchto polí odpovídá argumentům, předaným volání clone(); jen byla přesunuta do samostatné struktury. Pole clonefd a clonefd_flags jsou nová. První označuje místo pro uložení vytvořeného souborového deskriptoru po předání CLONE_FD, druhé smí držet vlajky O_CLOEXEC a O_NONBLOCK, které se použijí na tento deskriptor.
velikost struktury clone4_args musí být předána odděleně skrze args_size. Pokud je třeba v budoucnu ke struktuře přidat pole, umožní předaná velikost kernelu rozhodnout, která verze struktury je používaná a podle toho reagovat.
Pro úplnost, takto vypadá celé systémové volání (z knihovny C):
int clone4(unsigned flags_high, unsigned flags_low,
unsigned long args_size,
struct clone4_args *args);
Na této úrovni se clone4() chová jako fork(), vrací se do obou procesů (rodiče i potomka), ovšem s jinými hodnotami.
Tato funkce je celkem užitečná, ale popis opravy obsahuje mimo jiné tuto zajímavou poznámku:
Souborový deskriptor CLONE_FD jednoznačně identifikuje proces systému (in a race-free way) držením odkazu k task_struct. V budoucnu možná zavedeme API rozhraní, která podporují použití procesních souborových deskriptorů místo PID.
ID (PID) procesu podléhají úzkému souběhu: proces by se mohl ukončit a být nahrazen jiným, se stejným PID: V systému se spoustou běžících procesů a rozdílných aktivit je šance na krátkodobé využití PID vysoká, zvlášť, když se počet dostupných PID nezvýšil nad tradičních 32 768. Souborový deskriptor, připojený k procesu v době vzniku není předmětem "race condition", měl by tedy být bezpečnější při práci pro jiné procesy.
Přidání systému pro řízení souborově deskriptorových systémových volání je úkolem do budoucnosti, prozatím řeší akutní problémy CLONE_FD. Tento patch si prozatím odbyl dvě kola oprav, dočkal se několika významných změn, ale jeho hlavní funkčnost se nezdá být kontroverzní. Ještě to vypadá na jedno kolo revizí, potom by se tahle funkce mohla dostat do vývojového cyklu 4.2.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
podřebuje vytvořit podřízený procesNo, lepší než potřísněný proces
...
Přidává novou vlajkuAle fuj... hezky česky je to „příznak“...
Slovo „flagy“ není česky – „příznak“ se v tomhle smyslu používá úplně normálně.